Quickstart

This quick start introduces you to the fastes and easies way to set up a one host OpenLava cluster, the host you set up is going to be the master host. For advanced dynamic configuration please read the OpenLava documentation.

The most simple way to install OpenLava is to build it from the source code, running configure, make and make install. To download the most recent version see the download tab.

OpenLava does not require to be installed in a shared file system. However it may be configured to use a shared file system for the configuration files and event logs to support master failover.

There are two ways to install OpenLava.

  1. Compile from the source
  2. Install RPM.

In the following examples we assume that you are installing the version 2.2 using the default /opt/openlava-2.2 location.

  • To compile from the source, perform the following tasks:
    [root@master ~]# configure
    [root@master ~]# make
    [root@master ~]# make install
             

    Manually copy configuration files to /opt/openlava-2.2/etc

    [root@master ~]# cd config; cp lsb.hosts lsb.params lsb.queues lsb.users \
    >  lsf.cluster.openlava lsf.conf lsf.shared lsf.tasks openlava.* \
    >  /opt/openlava-2.2/etc
    	 

    If you have not already created user openlava, please do so:

    [root@master ~]# useradd -r openlava
        

    Change file owner, set up configure system service and shell source files.

    [root@master ~]# chown -R openlava:openlava /opt/openlava-2.2
    [root@master ~]# cp /opt/openlava-2.2/etc/openlava /etc/init.d
    [root@master ~]# cp /opt/openlava-2.2/etc/openlava.* /etc/profile.d
    [root@master ~]# chkconfig openlava on
    	

    Finally, modify openlava configuration

    [root@master ~]# cd /opt/openlava-2.2/etc
    [root@master ~]# vi lsf.cluster.openlava
             
    And add the hostname of cluster hosts:
             [root@master ~]# cat lsf.cluster.openlava
    #-----------------------------------------------------------------------
    # T H I S   I S   A    O N E   P E R   C L U S T E R    F I L E
    #
    # This is a sample cluster definition file.  There is a cluster
    # definition file for each cluster.  This file's name should be
    # lsf.cluster..
    # See lsf.cluster(5) and the "LSF Administrator's Guide".
    #
    
    Begin   ClusterAdmins
    Administrators = openlava
    End    ClusterAdmins
    
    Begin   Host
    HOSTNAME          model          type  server  r1m  RESOURCES
    dog               !              !     1       -       -
    End     Host
    
    Begin ResourceMap
    RESOURCENAME  LOCATION
    # tmp2          [default]
    # nio           [all]
    # console       [default]
    End ResourceMap
             

    openlava is installed.

    [root@master openlava]# . /etc/profile.d/openlava.sh
           

    Start the openlava daemons.

    [root@master openlava]# service openlava start
    Starting daemons...
    lim started
    res started
    sbatchd started
           
  • To install from RPM, run:
    [root@master ~]# rpm -ihv openlava-2.2-1.x86_64.rpm
    [root@master ~]# . /etc/profile.d/openlava.sh
    

Congratulations! openlava is now running, managing a cluster of one node.

[root@master openlava]# lsid
openlava project 2.2, Nov 12 2014

My cluster name is openlava
My master name is linux-ge97

[root@master openlava]# bhosts
HOST_NAME          STATUS       JL/U    MAX  NJOBS    RUN  SSUSP  USUSP    RSV
linux-ge97         ok              -      4      0      0      0      0      0
         

Now you can extend your cluster:

  • Edit lsf.cluster.openlava to add all hosts you want to be part of the cluster and restart the OpenLava service
  • Install binaries and configuration files on other hosts
  • Start OpenLava service on all hosts
  • As an example how to add new hosts to an OpenLava cluster quickly, you can use a simple script like this one which performs the remote installation tasks:

    # restart service after adding hosts to the cluster
    service openlava restart
    tar cf openlava-bin.tar /opt/openlava-2.2 /etc/init.d/openlava /etc/profile.d/openlava.*
    for host in `cat hosts`
    # The file hosts lists all hosts in the openlava cluster except the master
    do
      scp openlava-bin.tar $host:/root
      ssh $host "cd /;tar xf /root/openlava-bin.tar"
      ssh $host service openlava start
    done
             
    The script assumes that you have set up a password less root access to the remote hosts. Here is a simple how to: password less logins with OpenSSH
    The other host are going to be compute hosts.