Moab Workload Manager

2.2 Building and Installing Moab

After reading this section you will be able to:

  • install the Moab server.
  • install end-user commands on remote systems.

This section assumes a working knowledge of Linux or Unix based operating systems, including use of commands such as:

  • tar
  • make
  • vi
Note Some operating systems use different commands (such as gmake and gtar instead of make and tar).

2.2.1 Moab Server Installation

Before installing Moab, view the Prerequisites to verify your platform is supported.

By default, the Moab home directory is configured as /opt/moab, the Moab server daemon is installed to /opt/moab/sbin/, and the client commands are installed to /opt/moab/bin/. $MOABHOMEDIR is the location of the etc/, log/, spool/, and stat/ directories. The default location for moab.cfg, moab-private.cfg, and moab.lic is /opt/moab/etc/ and is the recommended location for the license and configuration files.

$MOABHOMEDIR is required whenever the Moab binary is started or when client commands are used. Adaptive Computing recommends putting $MOABHOMEDIR in a global location, such as /etc/profile, /etc/bashrc, or /etc/environment.

Note Moab contains a number of architectural parameter settings that you can adjust for non-standard installations. See Appendix D - Adjusting Default Limits and make any needed changes prior to using make install.

To install Moab

  1. Untar the distribution file.
  2. > tar -xzvf moab-6.0.0.tar.gz
  3. Navigate to the unpacked directory.
  4. > cd moab-6.0.0
  5. Configure the installation package.
  6. You can customize the location of the Moab home directory, the server daemon, the client commands, and configure Moab to use a resource manager when using the ./configure command. For a complete list of options, use ./configure --help.

    An example of some commonly used options for ./configure is provided below.

    > /configure --prefix=/usr/local --with-homedir=/var/moab --with-torque=/var/spool/torque/
    

    In the above example:

    • The install directory (--prefix option) is configured as /usr/local and the home directory (--with-homedir option) is configured as /var/moab/.
    • The Moab server daemon installs to /usr/local/sbin/.
    • The Moab client commands install to /usr/local/bin/.
    • The Moab tools files install to /usr/local/tools/.
    • Moab is configured to work with the TORQUE resource manager.

    All Moab executables are placed in $MOABHOMEDIR/bin (such as /moab-6.0.0/bin/) until the installation is performed.

    Note If you choose the default path (/opt/moab/), the administrator must update $PATH manually to include the new default folders.
    Note You can install the Moab init script, allowing Moab to start automatically when the machine is booted, by using --with-init.
  7. Install Moab.
    Note Moab should be installed by root. If you cannot install Moab as root, please contact Customer Support.
    > sudo make install
    A default moab.cfg file will be created in the Moab home directory.
  8. Copy the license file.
  9. > cp moab.lic $MOABHOMEDIR/moab.lic

    The license file should be placed in the same directory as moab.cfg (which is /opt/moab/ by default) before starting Moab. To verify the current status of your license, use moab --about.

    Moab checks the status of the license every day just after midnight. At 60 and 45 days before, and daily from 30 days before license expiration to and including the license expiration date, Moab sends an e-mail to all level 1 administrators informing them of the pending Moab license expiration. A log record is also made of the upcoming expiration event. For the notifications to occur correctly, administrator e-mail notification must be enabled and moab.cfg must contain e-mail addresses for level 1 administrators:

    ADMINCFG[1] USERS=u1,u2,u3[,...]
    
    USERCFG[u1] u1@company.com
    USERCFG[u2] u2@company.com
    USERCFG[u3] u3@company.com
    
    MAILPROGRAM DEFAULT
    Note Moab has an internal license that enables some functionality for a limited time for evaluation purposes. If you want to enable adaptive energy management, dynamic multi-OS provisioning, grid management, and other features, or if you want to evaluate Moab for a longer period, contact evaluation support. Use mdiag -S -v to see which features your license supports.
  10. Start Moab.
  11. > moab
    Note moabd is an alternate method of starting Moab that sets the MOABHOMEDIR and LD_LIBRARY_PATH environment variables before calling the Moab binary. It is safe and recommended if things are not installed in their default locations, but can be used in all cases.

2.2.2 Moab Client Installation

Moab has several client commands that are used at remote locations to check various statistics. You can choose to copy all, or only a subset, of the client commands to a remote location. Below is a suggested list of client commands to install on end-user accessible nodes.

Command Description
display detailed job summary
submit a job
display job queue
display immediate resource availability
display estimated job start time
display usage statistics
create personal reservation
release personal reservation

For more information on all client commands, see the Commands Overview.

2.2.2.1 Command Installation when Server and Client Have Similar Architecture

Moab commands are enabled on remote systems by copying desired command executables to the client machine (or to a shared network file system). To enable client communication with the Moab server, use a nearly-blank moab.cfg file on the client system that has only one line that defines the SCHEDCFG parameter with a SERVER attribute.

SCHEDCFG[Moab] SERVER=moabserver:42559

Place the file in /etc on the remote submission hosts.

Note The client commands and the Moab daemon must have the same version and revision number.

2.2.2.2 Command Installation when Server and Client Have Diverse Architecture

Moab clients need to be built for each client system that has different architecture from the server. If you are using secret key security (enabled by default), a common secret key must be specified for the client and server. Verify moab-private.cfg is configured properly.

See Also