(Click to open topic with navigation)
When Moab is used to manage resources across multiple clusters, there is a greater need to track and enforce the resource sharing agreements between the resource principals.
The Moab Accounting Manager is an accounting management system that provides usage tracking, charge accounting, and allocation enforcement for resource or service usage in cloud and technical computing environments. It acts like a bank in which credits are deposited into accounts with constraints designating which entities may access the account. As resources or services are utilized, accounts are charged and usage recorded. MAM supports familiar operations such as deposits, withdrawals, transfers, and refunds and provides balance and usage feedback to users, managers, and system administrators. See 5.5 Accounting, Charging, and Allocation Management for more information.
MAM can be used as a real-time debiting system in which jobs are charged at the moment of completion. When used in a multi-site (grid) environment, MAM facilitates trust by allowing lending organizations to manage what the costing rules are for usage of their resources and job submitters to determine how much their job will cost them before they start, ensuring all parties can agree to the transaction and giving each party a first-hand accounting record.
If the clusters are within a common administrative domain and have a common user space, then a single Moab Accounting Manager will suffice to manage the project allocation and accounting. This works best in Master/Slave grids.
The following steps provide an example of setting up the Moab Accounting Manager to manage the allocation and accounting for a multiple cluster grid within a single administrative domain.
First you will need to install Moab Accounting Manager and its database on one or more head nodes. The following is a sample installation. See Installing Moab Accounting Manager in the Moab HPC Suite Installation and Configuration Guide for more information.
# Install Prerequisites (Perl with suidperl, PostgreSQL, libxml2, ...) [root] yum install perl perl-suidperl postgresql postgresql-libs postgresql-devel postgresql-server libxml2 libxml2-devel ncurses-devel readline-devel openssl # Unpack the tarball [root] passwd adaptive [adaptive] mkdir ~/src [adaptive] cd ~/src [adaptive] gzip -cd mam-9.0.1.tar.gz | tar xvf - [adaptive] cd mam-9.0.1 # Install [adaptive] ./configure [adaptive] make [root] make deps [root] make install # Configure, create and bootstrap the database [root] service postgresql initdb [postgres] echo "host all all 192.168.1.1 255.255.255.255 trust" >>var/lib/pgsql/data/pg_hba.conf [postgres] /usr/local/pgsql/bin/postmaster -i -D /usr/local/pgsql/data >var/log/pgsql 2>&1 & [postgres] createuser adaptive [adaptive] createdb mam [adaptive] psql mam < hpc.sql # Startup the mam server daemon [root] cp contrib/init.d/mam/redhat /etc/init.d/mam [root] chmod +x /etc/init.d/mam [root] service mam start