How to do an "offline" Install of the Moab suite


Problem:

We have several customers who don't have their cluster directly connected to the Internet.  They need a way to easily get all the required dependencies for installing Moab so that it isn't so painful to install.

Solution:

The solution involves using several built-in Linux tools to make this process streamlined, and very simple.  It does depend of the moab-suite virtual package that includes all products. The primary tool utilized is call "repotrack".  It is a Yum utility, so it will work on any Redhat-based Operating system.  There is also a python tool used for pip packages. 

Setup:

This method assumes you have an Internet-connected system where you can download everything needed for the install.  All that data is then copied to the non-Internet-connected server (either by scp, DVD, USB or similar).  The data will then be setup in a local Yum repository.  As most installations require Moab, Insight, etc. to be installed across multiple servers, other servers can install packages from the server that has the local repository setup.  Alternatively, the data can be copied to each server into it's own local Yum repository.   

Besides yum packages, you will also need to download Java and some python packages

Note: for this setup to work the correctly, both the "connected" and "offline" servers should have the exact same OS installed. 

 

Connected-server process:

 

These directions assume the user is non-root, but with sudo rights.  Anything between <> is expected to be filled in by the user. 

  1. Download the Moab distro-tarball
  2. Untar it, and cd into it
  3. Run this command to setup the Moab suite RPMs in a local Yum repo:
    1. sudo ./install-rpm-repos.sh -y
  4. Make sure your user owns /opt
    1. sudo chown <user>:<user> /opt

  5. Make an output dir to store all RPMs
    1. mkdir /opt/moab-offline
  6. Download all RPMs: this section varies by OS:
    1. For CentOS:
      1. Symlink all the Moab suite RPMs to your offline dir.  Otherwise, repotrack won't copy them.  
        1. ln -s /opt/adaptive-rpm-repository/rpm/*.rpm /opt/moab-offline/
      2. Use repotrack to download all dependency RPMs
        1. rrepotrack -a x86_64 -p /opt/moab-offline moab-hpc-suite
    2. For SLES:
      1. You need to configure zypper to have access to the SLES12(SP1) DVD1 and SDK1 iso repositories
        1. For example, if the SP1 ISOs are downloaded to the /srv/iso directory:
          1. zypper addrepo --refresh iso:/?iso=/srv/iso/SLE-12-SP1-SDK-DVD-x86_64-GM-DVD1.iso sles12sp1_sdk1

          2. zypper addrepo --refresh iso:/?iso=/srv/iso/SLE-12-SP1-Server-DVD-x86_64-GM-DVD1.iso sles12sp1_dvd1

      2. Use zypper to download all packagers and dependencies with the --download-only option
        1. sudo zypper install --download-only moab-hpc-suite
        2. The files will be downloaded into /var/cache/zypp/packages
      3. Copy or Move the downloaded rpms into the moab-offline dir
        1. find /var/cache/zypp/packages/ -type f|xargs -I '{}' cp '{}' /opt/moab-offline/
  7. Download a Java RPM into the moab-offline dir
    1. It is up to the user to determine the java url
    2. cd /opt/moab-offline
    3. wget <java_url>
  8. To simplify things later, the repo can be created here before copying the files around
    1. createrepo .
  9. Create a repo file
    1. echo "[moab-offline]
      name=moab-offline
      baseurl=file:///opt/moab-offline
      failovermethod=priority
      enabled=1
      gpgcheck=0" > moab-offline.repo 
  10. Tar up the directory for easy transport
  11. tar hczvf moab-offline.tgz moab-offline
    1. The "h" option ensure the symlinked files will be followed instead of copied
     

Offline-server process:

These directions will prepare a yum repo on a server with all required Moab suite dependencies.  Other servers can then point to this repository to install their packages.  Once this is done the regular install documentation can be followed. 

Setting up the Yum server

  1. Copy the tar file generated on the Connected-server to the offline server.  
    1. mv moab-offline.tgz /opt
    2. cd /opt
    3. tar xvzf moab-offline.tgz
    4. cp moab-offline/moab-offline.repo /etc/yum.repos.d/
    5. yum clean all

Setting up the other servers

  1. Copy the /opt/moab-offline/moab-offline.repo file to /etc/yum.repos.d/
  2. yum clean all

 

Tags: install, moab, offline, suite
Last update:
2017-10-18 21:23
Author:
Shawn Hoopes
Revision:
1.2
Average rating:0 (0 Votes)

You cannot comment on this entry

Chuck Norris has counted to infinity. Twice.

Records in this category

Tags