Installation
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 createrepoExtract 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 80in /etc/httpd/conf/httpd.conf and change it to look like
Listen <private_ip>:80Start the web service and confirm it is running
systemctl start httpd
systemctl status httpdCreate 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
EOFInstall 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_USBuild 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-packageThe --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_rpmsInstall 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