2.2 Installing Moab

After reading this section you will be able to:

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

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.

Note You will need to install the ExtUtils::MakeMaker Perl module in order to run the # make perldeps command. You can install this module via CPAN or the system's package manager.
Note You must install libcurl on your host operating system before installing and running Moab Workload Manger 7.1.
Note You must install perl-libwww-perl and perl-XML-LibXML on your host operating system before using the integration scripts bundled with Moab. (These packages may be named differently on non-RHEL distributions.)

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 and the moab.lic file. The default location for moab.cfg and moab-private.cfg  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. It is recommended that you insert the $MOABHOMEDIR environment variable and its value into a global environment variable profile by editing the /etc/profile, /etc/bashrc, or /etc/environment files (depending on your installation). Doing this will ensure that this environment variable is available to all users on the system without any action on their part.

All Moab executables are placed in $MOABHOMEDIR/bin or $MOABHOMEDIR/sbin (such as /opt/moab/bin/).

Note

If you need to export your Moab home directory, run the following:

> export MOABHOMEDIR=/opt/moab
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.

The following installation assumes that you have done a standard TORQUE installation according to the TORQUE 4.0 documentation, and that you have prepared TORQUE for a Moab installation.

To install Moab

  1. Run each of the following commands in order:
  2. [root]# tar xzvf moab-7.1.0-xxxx.tar.gz (where xxxx can be one of: generic, generic-odbc, torque, torque-odbc)
    [root]# cd moab-7.1.0
    [root]# ./configure <option>
    [root]# make perldeps
    [root]# make install

    In some cases, you might want to customize the location of the Moab home directory, the server daemon, and the client commands. You can make these configurations by using the ./configure options. (For a complete list of ./configure options, use ./configure --help.)

    Here are some examples of commonly used ./configure options:

    Option Description Example

    Specifies the location of the Moab configuration directory and the MOABHOMEDIR environment variable. The default location is /opt/moab.

    Note

    MOABHOMEDIR is automatically set on some distributions during installation, when the --with-profile option is enabled.

    [root]# ./configure --with-homedir=/var/moab

    Enables the installation of a distribution-specific /etc/init.d/moab service startup script.

    This option is required if you want to install this script onto a new system. If you do not set this option, you must manually set up the Moab daemon service.

    The startup script is located at OS/EL/etc/init.d/moab.

    [root]# ./configure --with-init

    Specifies the location of the binaries and libraries of the Moab install.

    The default location is /opt/moab.

    [root]# ./configure --prefix=/usr/local

    Enables the installation of distribution-specific /etc/profile.d/moab.[c]sh setup script for bash and cshell.

    The MOABHOMEDIR, PERL5LIB, PATH and MANPATH environment variables are setup to specify where the new moab configuration, scripts, binaries and man pages reside. If you do not set this option, these scripts are not installed, and you must manually perform this set up.

    The environment setup scripts are located at OS/EL/etc/profile.d/moab.[c]sh.

    [root]# ./configure --with-profile

    Specifies that you want to configure Moab with Moab Accounting Manager.

    Note

    There is a similar --with-torque option that configures Moab with TORQUE, but you do not need to specify this option if you install the "torque" tarball version.

    [root]# ./configure --with-am
  3. ONLY if you are installing on non-RHEL distributions, copy the appropriate init.d file, set the permissions on it, and configure Moab to start automatically at system boot.
  4. * If Debian distribution, do the following *
    [root]# cp contrib/init.d/moab_debian_init /etc/init.d/moab
     
    * If SLES distribution, do the following *
    [root]# cp contrib/init.d/moab_sles_init /etc/init.d/moab
     
    [root]# chmod 755 /etc/init.d/moab
    [root]# chkconfig --add moab
     
    * If chkconfig doesn't work, try the following *
    [root]# update-rc.d moab defaults
  5. Modify the Moab configuration file.
  6. [root]# vim /opt/moab/etc/moab.cfg

    Do the following:

    1. Verify that SUBMITCMD is set up for your TORQUE resource manager (change RMCFG<hostname> to RMCFG[torque]), and that it points to a valid qsub executable. For example:
    2. RMCFG[torque] SUBMITCMD=/usr/local/bin/qsub
    3. ONLY if you are using Moab Viewpoint, add "tomcat" to the list of administrator USERS. For example:
    4. ADMINCFG[1] USERS=root,tomcat

      Also, make sure that you set ENABLEPROXY to "true":

      ADMINCFG[1] ENABLEPROXY=TRUE
  7. Source the following file to add the Moab home directory to your current shell $PATH environment.
  8. [root]# . /etc/profile.d/moab.sh
  9. Copy your license file into the same directory as moab.cfg (/opt/moab/etc/ by default). For example:
  10. [root]# cp moab.lic $MOABHOMEDIR/etc/moab.lic

    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] [email protected]
    USERCFG[u2] [email protected]
    USERCFG[u3] [email protected]
    
    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.
  11. Start Moab.
  12. [root]# service moab start
  13. Submit a sleep job as a non-root user and verify the job is running.
  14. [root]# su - user
    [user]$ echo sleep 150 | msub
    [user]$ showq

2.2.2 Moab Client Installation

After installing the Moab server on the head node, Moab can create a "client commands-only" tarball you can use to install just the Moab client commands on a login/client node. The tarball allows you to install the binary Moab client command files, with their man pages, using a single tar command. In addition, the tarball contains a moab.cfg file configured with the Moab host name and port number so you do not have to manually configure this information on the login/client node.

2.2.2.1 Command Installation when Server and Client Have Similar Architecture

After installing Moab on the head node, enter the following command:

> make client-pkg

A tarball is created with the name "client.tgz". Copy the tarball to the root directory of the client node, log in to the client node as root, and install the client commands using the following command:

> tar xvf client.tgz

The Moab client commands are now available on the login/client node.

2.2.2.2 Command Installation when Server and Client Have Diverse Architecture

By default, Moab client commands (from any build) are able to communicate and authenticate with any server. This can be a security risk depending on the type of environment in which Moab is running. If your site needs secure communication and authentication between Moab client commands and Moab server, it is recommended that you create a site-specific key and place it in the $HOMEHOMEDIR/.moab.key and $MOABHOMEDIR/etc/.moab.key files. When the Moab server and client commands detect the presence of those two files they will use the key in those files to authenticate and communicate, instead of the default key.

For more details, please see E.2.1 Mauth Authentication.

2.2.3 Preparing TORQUE for a Moab Installation

Several steps must be taken before installing Moab with TORQUE to ensure that they will communicate properly.

To prepare TORQUE for a Moab Installation

  1. Edit the nodes file to list all of your nodes somewhere inside of it.
  2. > vim /var/spool/torque/server_priv/nodes
    ...
    node04
    node05
    node06
    ...
  3. Copy pbs_server to the etc/init.d/ directory.
  4. > cp contrib/init.d/pbs_server /etc/init.d
  5. Configure TORQUE to start automatically when the system boots.
  6. > chkconfig --add pbs_server
    Note The chkconfig command is RedHat-specific. If you are using a different operating system, consult its documentation for a similar command.
  7. Specify a TORQUE setup user.
  8. > ./torque.setup root
  9. Stop TORQUE and restart it to verify that the startup script runs correctly.
  10. > qterm
    > /etc/init.d/pbs_server start

    You can verify that the installation was successful by running the following command:

    > pbsnodes

    TORQUE returns information about each node. If TORQUE is properly configured, each node should report state = free to indicate that the server and moms are communicating.

See Also

Copyright © 2012 Adaptive Computing Enterprises, Inc.®