Difference between revisions of "Installation"

From Define Wiki
Jump to navigation Jump to search
(Created page with "= Install using local yum repo === Prereq yum install -y httpd createrepo === Extract RPMS ./Spectrum_Scale_Standard-<version>-x86_64-Linux-install --silent --dir /var/www/h...")
 
 
Line 1: Line 1:
= Install using local yum repo
+
=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.
  
=== Prereq
+
===Prerequisites===
 +
 
 +
Install prerequisite packages
 +
<syntaxhighlight>
 
yum install -y httpd createrepo
 
yum install -y httpd createrepo
 +
</syntaxhighlight>
 +
 +
===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>/.
 +
 +
<syntaxhighlight>
 +
./Spectrum_Scale_Standard-<gpfs_version>-x86_64-Linux-install --silent --dir /var/www/html/repos/gpfs/<version>
 +
</syntaxhighlight>
 +
 +
* Note: --silent will automatically accept the license agreement
 +
 +
===Start Apache web server===
  
=== Extract RPMS
+
Edit the default httpd config to only listen on a private network interface. Find the line
./Spectrum_Scale_Standard-<version>-x86_64-Linux-install --silent --dir /var/www/html/repos/gpfs/<version>
+
<syntaxhighlight>Listen 80</syntaxhighlight>
 +
in /etc/httpd/conf/httpd.conf and change it to look like
 +
<syntaxhighlight>Listen <private_ip>:80</syntaxhighlight>
  
* Note: --silent will accept the license agreement, dir tells the instsaller to output the RPMs to a non standard directory. By default dir is /usr/lpp/mmfs/<versio>
+
Start the web service and confirm it is running
  
=== Start Apache web server.
+
<syntaxhighlight>
 
systemctl start httpd
 
systemctl start httpd
 +
systemctl status httpd
 +
</syntaxhighlight>
  
=== Create repo file
+
===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.
 +
 
 +
<syntaxhighlight>
 
cat << EOF > /etc/yum.repos.d/GPFS.repo
 
cat << EOF > /etc/yum.repos.d/GPFS.repo
 
[GPFS-Core]
 
[GPFS-Core]
Line 26: Line 53:
 
enable = 1
 
enable = 1
 
EOF
 
EOF
 +
</syntaxhighlight>
  
=== Install GPFS packages on all nodes
+
===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.
 +
 
 +
<syntaxhighlight>
 
yum install -y gpfs.base gpfs.docs gpfs.ext gpfs.gpl gpfs.gskit gpfs.license gpfs.msg.en_US
 
yum install -y gpfs.base gpfs.docs gpfs.ext gpfs.gpl gpfs.gskit gpfs.license gpfs.msg.en_US
 +
</syntaxhighlight>
  
=== Build GPFS Portability Layer RPM and add to repo
+
===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.
 +
 
 +
<syntaxhighlight>
 
yum groupinstall -y "Development Tools"
 
yum groupinstall -y "Development Tools"
 
yum install kernel-devel-$(uname -r) kernel-headers-$(uname -r)
 
yum install kernel-devel-$(uname -r) kernel-headers-$(uname -r)
 +
</syntaxhighlight>
 +
 +
To build the GPL RPM packages run
 +
 +
<syntaxhighlight>
 
/usr/lpp/mmfs/bin/mmbuildgpl --build-package
 
/usr/lpp/mmfs/bin/mmbuildgpl --build-package
 +
</syntaxhighlight>
  
*Note: If using CentOS instead of RHEL there will be an error "Cannot determine the distribution type". To get
+
*Note: If using CentOS instead of RHEL there will be an error "Cannot determine the distribution type". To get around this run the following
around this run the following
+
 
 +
<syntaxhighlight>
 
LINUX_DISTRIBUTION=REDHAT_AS_LINUX /usr/lpp/mmfs/bin/mmbuildgpl --build-package
 
LINUX_DISTRIBUTION=REDHAT_AS_LINUX /usr/lpp/mmfs/bin/mmbuildgpl --build-package
 +
</syntaxhighlight>
 +
 +
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
  
== The --build-package flag instructs the command to create RPMs instead of installing. To make these available
+
<syntaxhighlight>
==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
 
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
 
createrepo /var/www/html/repos/gpfs/<version>/gpfs_rpms
 +
</syntaxhighlight>
 +
 +
===Install the Portability Layer on all nodes===
 +
 +
Use yum to install the gpl binary package on each node
  
== Install the Portability Layer on all nodes
+
<syntaxhighlight>
 
yum -y install gpfs.gplbin-$(uname -r)
 
yum -y install gpfs.gplbin-$(uname -r)
  
== If you cannot find the package, it is likely because yum cache is not up to date. To fix this, run
+
# 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 clean all
 
yum makecache
 
yum makecache
 +
</syntaxhighlight>

Latest revision as of 11:22, 11 April 2018

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