Installing IBM Spectrum Scale packages on Linux systems

Manually install IBM Spectrum Scale packages on systems that are running on supported Linux distributions as follows.

Do these steps on all nodes on which you want to install IBM Spectrum Scale, one by one unless noted otherwise.
  1. Download and extract IBM Spectrum Scale packages, and then accept the licensing agreement. For more information, see Extracting the IBM Spectrum Scale software on Linux nodes and Accepting the electronic license agreement on Linux nodes.

    For information on the location of extracted packages, see Location of extracted packages.

  2. Install the IBM Spectrum Scale packages by issuing one of the following commands depending on the operating system.
    Note: The following command example shows the installation of IBM Spectrum Scale Advanced Edition packages.
    • On Red Hat Enterprise Linux®, and SLES, issue the following command.
      # cd /usr/lpp/mmfs/x.x.x.x/gpfs_rpms
      # rpm -ivh gpfs.base*.rpm gpfs.gpl*rpm gpfs.license*rpm gpfs.gskit*rpm 
      gpfs.msg*rpm gpfs.compression*rpm gpfs.adv*rpm gpfs.crypto*rpm
    • On Ubuntu, issue the following command.
      # cd /usr/lpp/mmfs/x.x.x.x/gpfs_debs
      # dpkg -i gpfs.base*deb gpfs.gpl*deb gpfs.license.ad*.deb gpfs.gskit*deb 
      gpfs.msg*deb gpfs.compression*deb gpfs.adv*deb gpfs.crypto*deb

    A sample output is as follows.

    Preparing... ########################################### [100%]
    1:gpfs.base ########################################### [ 11%]
    2:gpfs.compression ########################################### [ 27%]
    3:gpfs.adv ########################################### [ 33%]
    4:gpfs.crypto ########################################### [ 44%]
    5:gpfs.gpl ########################################### [ 56%]
    6:gpfs.license.adv ########################################### [ 67%]
    7:gpfs.msg.en_US ########################################### [ 83%]
    8:gpfs.gskit ########################################### [ 100%]
  3. Build the portability layer by using the following command.
    # /usr/lpp/mmfs/bin/mmbuildgpl

    A sample output is as follows. The output varies depending on the operating system.

    --------------------------------------------------------
    mmbuildgpl: Building GPL module begins at Thu Mar 24 15:18:23 CST 2016.
    --------------------------------------------------------
    Verifying Kernel Header...
      kernel version = 31228004 (3.12.28-4-default, 3.12.28-4)
      module include dir = /lib/modules/3.12.28-4-default/build/include
      module build dir   = /lib/modules/3.12.28-4-default/build
      kernel source dir  = /usr/src/linux-3.12.28-4/include
      Found valid kernel header file under /lib/modules/3.12.28-4-default/build/include
    Verifying Compiler...
      make is present at /usr/bin/make
      cpp is present at /usr/bin/cpp
      gcc is present at /usr/bin/gcc
      g++ is present at /usr/bin/g++
      ld is present at /usr/bin/ld
    Verifying Additional System Headers...
      Verifying linux-glibc-devel is installed ...
        Command: /bin/rpm -q linux-glibc-devel  
        The required package linux-glibc-devel is installed
    make World ...
    make InstallImages ...
    --------------------------------------------------------
    mmbuildgpl: Building GPL module completed successfully at Thu Mar 24 15:18:31 CST 2016.
    --------------------------------------------------------

    If the portability layer cannot be built due to missing prerequisite packages, you might need to install prerequisite packages. For a list of prerequisite packages, see Software requirements.

    If the repository setup and the kernel configuration are correct, you can install the prerequisite packages by using one of the following commands, depending on the operating system:
    Red Hat Enterprise Linux
    # /usr/bin/yum install -y package_name1 package_name2 ... package_nameN
    SLES
    # /usr/bin/zypper install -y package_name1 package_name2 ... package_nameN
    Ubuntu
    # /usr/bin/apt-get install -y package_name1 package_name2 ... package_nameN

After IBM Spectrum Scale is built on all nodes, you can create the cluster. It is recommended to have an odd number of quorum nodes and that your NSD nodes be designated as quorum nodes.

  1. Create the cluster by using the following command from one of the nodes.
    # /usr/lpp/mmfs/bin/mmcrcluster -N NodesList --ccr-enable -r /usr/bin/ssh -R /usr/bin/scp -C cluster1.spectrum

    In this command example, NodesList is a file that contains a list of nodes and node designations to be added to the cluster and its contents are as follows:

    node1:quorum
    node2
    node3
    node4:quorum-manager
    node5:quorum-manager

    Running the mmcrcluster command generates output similar to the following snippet:

    mmcrcluster: Performing preliminary node verification ...
    mmcrcluster: Processing quorum and other critical nodes ...
    mmcrcluster: Processing the rest of the nodes ...
    mmcrcluster: Finalizing the cluster data structures ...
    mmcrcluster: Command successfully completed
    mmcrcluster: Propagating the cluster configuration data to all
    affected nodes.  This is an asynchronous process.
    # Thu Mar 24 15:33:06 CST 2016: mmcommon pushSdr_async: mmsdrfs propagation started
    Thu Mar 24 15:33:10 CST 2016: mmcommon pushSdr_async: mmsdrfs propagation completed; mmdsh rc=0
  2. Accept proper role licenses for the nodes by using the following commands from one of the nodes.
    1. Accept the server licenses for the applicable nodes.
      # /usr/lpp/mmfs/bin/mmchlicense server --accept -N node1,node4,node5
      A sample output is as follows:
      The following nodes will be designated as possessing server licenses:
          node1
          node4
          node5
      mmchlicense: Command successfully completed
      mmchlicense: Warning: Not all nodes have proper GPFS license designations.
          Use the mmchlicense command to designate licenses as needed.
      mmchlicense: Propagating the cluster configuration data to all
      affected nodes.  This is an asynchronous process.
      # Thu Mar 24 15:37:59 CST 2016: mmcommon pushSdr_async: mmsdrfs propagation started
      Thu Mar 24 15:38:01 CST 2016: mmcommon pushSdr_async: mmsdrfs propagation completed; mmdsh rc=0
    2. Accept the client licenses for the applicable nodes.
      # /usr/lpp/mmfs/bin/mmchlicense client --accept -N node2,node3
      A sample output is as follows:
      The following nodes will be designated as possessing client licenses:
          node2
          node3
      mmchlicense: Command successfully completed
      mmchlicense: Propagating the cluster configuration data to all
      affected nodes.  This is an asynchronous process.
      # Thu Mar 24 15:38:26 CST 2016: mmcommon pushSdr_async: mmsdrfs propagation started
      Thu Mar 24 15:38:28 CST 2016: mmcommon pushSdr_async: mmsdrfs propagation completed; mmdsh rc=0

    IBM Spectrum Scale cluster is now created. You can view the configuration information of the cluster by using the following command.

    # /usr/lpp/mmfs/bin/mmlscluster

    The system displays output similar to the following snippet:

    GPFS cluster information
    ========================
      GPFS cluster name:         cluster1.spectrum
      GPFS cluster id:           993377111835434248
      GPFS UID domain:           cluster1.spectrum
      Remote shell command:      /usr/bin/ssh
      Remote file copy command:  /usr/bin/scp
      Repository type:           CCR
    GPFS cluster configuration servers:
    -----------------------------------
      Primary server:    node1 (not in use)
      Secondary server:  (none)
     Node  Daemon node name  IP address    Admin node name  Designation
    --------------------------------------------------------------------
       1   node1            203.0.113.11  node1           quorum
       2   node4            203.0.113.14  node4           quorum-manager
       3   node5            203.0.113.15  node5           quorum-manager
       4   node2            203.0.113.12  node2           
       5   node3            203.0.113.13  node3
  3. Start the GPFS daemons and the cluster by using the following command from one of the nodes.
    # /usr/lpp/mmfs/bin/mmstartup -N NodesList

    Where NodesList is the list of nodes on which the daemons and the cluster are to be started.

    You can use the mmgetstate -N NodesList command to verify that the GPFS software is running on these nodes.