(Click to open topic with navigation)
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:
Some operating systems use different commands (such as "gmake" and "gtar" instead of "make" and "tar").
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 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/).
If you need to export your Moab home directory, run the following:
> export MOABHOMEDIR=/opt/moab
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.2 documentation, and that you have prepared TORQUE for a Moab installation
To install Moab
The following instructions demonstrate installing Moab on a Red Hat 6 or CentOS 6 system. Run each step as the root user.
RHEL 5 and CentOS 5:
[root]# yum update
[root]# yum install make curl unixODBC unixODBC-devel perl-CPAN libxml2-devel
RHEL 6, CentOS 6, and Scientific Linux 6:
[root]# yum update
[root]# yum install make libcurl unixODBC unixODBC-devel perl-CPAN libxml2-devel
SLES:
[root]# zypper update
[root]# zypper install make curl unixODBC unixODBC-devel libxml2-devel
[root]# tar xzvf moab-7.2.7-xxxx.tar.gz (where xxxx can be one of: generic, generic-odbc, torque, torque-odbc) [root]# cd moab-7.2.7 [root]# ./configure <option>
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.). We strongly recommend that you configure Moab with the --with-init and --with-profile options. If you are using TORQUE as your resource manager, use the --with-torque option. If you are installing Moab Accounting Manager, configure Moab with the --with-am option.
Here are some examples of commonly used ./configure options:
Option | Description | Example |
---|---|---|
--with-flexlm | Causes Moab to install the license.mon.flexLM.pl script in the /opt/moab/tools directory. For more information about this script, see Interfacing to FLEXlm. |
[root]# ./configure --with-flexlm |
--with-homedir |
Specifies the location of the Moab configuration directory and the MOABHOMEDIR environment variable. The default location is /opt/moab. MOABHOMEDIR is automatically set on some distributions during installation, when the --with-profile option is enabled. |
[root]# ./configure --with-homedir=/var/moab The Moab home directory will be /var/moab instead of the default /opt/moab. |
--with-init |
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. The TORQUE and Moab initialization scripts are provided in the contrib/init.d directory as a courtesy and may be modified at your discretion to work on your system. |
[root]# ./configure --with-init |
--prefix |
Specifies the location of the binaries and libraries of the Moab install. The default location is /opt/moab. |
[root]# ./configure --prefix=/usr/local |
--with-profile |
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 |
--with-am |
Specifies that you want to configure Moab with Moab Accounting Manager. <type> can be mam or native. 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=<type>
|
[root]# make perldeps
[root]# make install
* If SLES distribution, do the following * [root]# cp OS/SUSE/etc/init.d/moab /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
[root]# vim /opt/moab/etc/moab.cfg
Do the following:
RMCFG[torque] SUBMITCMD=/usr/local/bin/qsub
ADMINCFG[1] USERS=root,tomcat
ADMINCFG[1] ENABLEPROXY=TRUE
[root]# . /etc/profile.d/moab.sh
[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
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, 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.
[root]# service moab start
If Moab fails to start because libodbc.so.1 cannot be found and libodbc.so.2 is available on your system, you must create a symbolic link from libodbc.so.1 to libodbc.so.2.
[root]# ln -s /usr/lib64/libodbc.so.2 /usr/lib64/libodbc.so.1
If Moab fails to start because libodbc.so.2 cannot be found and libodbc.so.1 is available on your system, you must create a symbolic link from libodbc.so.2 to libodbc.so.1.
[root]# ln -s /usr/lib64/libodbc.so.1 /usr/lib64/libodbc.so.2
For more information, see the Unix ODBC documentation.
[root]# su - user [user]$ echo sleep 150 | msub [user]$ showq
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.
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.
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 same directory as your moab.cfg file. By default, this is $MOABHOMEDIR/etc/.moab.key. 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 Mauth Authentication.
Several steps must be taken before installing Moab with TORQUE to ensure that they will communicate properly.
To prepare TORQUE for a Moab Installation
> vim /var/spool/torque/server_priv/nodes
... node04 node05 node06 ...
> cp contrib/init.d/pbs_server /etc/init.d
> chkconfig --add pbs_server
The chkconfig command is RedHat-specific. If you are using a different operating system, consult its documentation for a similar command.
> ./torque.setup root
> 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.
Related topics