Installation

From Define Wiki
Revision as of 11:22, 11 April 2018 by Patrick (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Install using local yum repo

This page covers the steps to install GPFS using a local repo to make the packages available to other nodes. To achieve this, we require two additional packages, httpd (apache web server) and createrepo.

Prerequisites

Install prerequisite packages

yum install -y httpd createrepo

Extract RPMS

Run the Spectrum Scale self extracting installer. By default this will prompt the user to accept a license agreement and output the extracted RPMs to /usr/lpp/mmfs/<gpfs_version>. To output the RPMs to a different directory use the --dir flag. To allow the web server to share the files we will output the RPMs to /var/www/html/repos/gpfs/<gpfs_version>/.

./Spectrum_Scale_Standard-<gpfs_version>-x86_64-Linux-install --silent --dir /var/www/html/repos/gpfs/<version>
  • Note: --silent will automatically accept the license agreement

Start Apache web server

Edit the default httpd config to only listen on a private network interface. Find the line

Listen 80

in /etc/httpd/conf/httpd.conf and change it to look like

Listen <private_ip>:80

Start the web service and confirm it is running

systemctl start httpd
systemctl status httpd

Create repo file

The Spectrum Scale installer includes repo metadata for yum, but it requires users to create a repo file. To do this create a file /etc/yum.repos.d/GPFS.repo with the following content. The GPFS-Core repo is necessary but the GPFS_ZIMon repo is optional. This repo contains two additional RPMS that provide tools for collecting system metrics to monitor the GPFS cluster. These are used to provide data to the GUI.

cat << EOF > /etc/yum.repos.d/GPFS.repo
[GPFS-Core]
name = GPFS Core RPMS
baseurl = http://<webserver>/repos/gpfs/4.2.3.0/gpfs_rpms
gpgcheck = 0
enable = 1

[GPFS-ZIMon]
name = GPFS ZIMon RPMS for monitoring and metric collection for GUI
baseurl = http://<webserver>/repos/gpfs/4.2.3.0/zimon_rpms/rhel7
gpgcheck = 0
enable = 1
EOF

Install GPFS packages on all nodes

With the repository file added to each node, it should now be possible to install all the required GPFS packages. These need to be installed on every node in the cluster, including both servers and clients.

yum install -y gpfs.base gpfs.docs gpfs.ext gpfs.gpl gpfs.gskit gpfs.license gpfs.msg.en_US

Build GPFS Portability Layer RPM and add to repo

GPFS is a kernel level filesystem, so it requires a loadable kernel module. It refers to this kernel module as the GPFS Portability Layer. The module can be built on every node, or it can be build as a RPM that we can then install on other nodes using the local repo.

First install the required development packages to compile the kernel module against the current running kernel.

yum groupinstall -y "Development Tools"
yum install kernel-devel-$(uname -r) kernel-headers-$(uname -r)

To build the GPL RPM packages run

/usr/lpp/mmfs/bin/mmbuildgpl --build-package
  • Note: If using CentOS instead of RHEL there will be an error "Cannot determine the distribution type". To get around this run the following
LINUX_DISTRIBUTION=REDHAT_AS_LINUX /usr/lpp/mmfs/bin/mmbuildgpl --build-package

The --build-package flag instructs the command to create a RPM instead of installing. To make it available to other nodes add them to the local repo

cp /root/rpmbuild/RPMS/x86_64/gpfs.gplbin-$(uname -r)-<gpfs_version>.x86_64.rpm /var/www/html/repos/gpfs/<version>/gpfs_rpms
createrepo /var/www/html/repos/gpfs/<version>/gpfs_rpms

Install the Portability Layer on all nodes

Use yum to install the gpl binary package on each node

yum -y install gpfs.gplbin-$(uname -r)

# If yum cannot find the package, it is likely because yum cache is not up to date. To fix this, run
yum clean all
yum makecache