Installation prerequisites

These are the several prerequisites for installing IBM Spectrum Scale™ including those for installing protocols and performance monitoring.

Required packages for supported Linux distributions

For the list of packages that must be installed on the system before you can install IBM Spectrum Scale, see Software requirements.

Required packages for CES
IBM Spectrum Scale Cluster Export Services (CES) requires the following packages to be installed:
  • ethtool
  • nfs-utils (on Ubuntu: nfs-common)
  • rpcbind
  • psmisc
  • iputils (on Ubuntu: iputils-arping)
Prerequisites for the installation toolkit

For information on prerequisites for using the installation toolkit, see Preparing to use the installation toolkit.

Requirements for file authentication

Before configuring file authentication, ensure that prerequisites are met to avoid installation failure. For information on prerequisites for configuring file authentication, see Configuring authentication and ID mapping for file access.

For Active Directory (AD) authentication considerations, see Integrating with AD server.

For LDAP authentication considerations, see Integrating with LDAP server.

Required packages for IBM Spectrum Scale for object storage
IBM Spectrum Scale for object storage requires the following SELinux packages to be installed:
  • selinux-policy-base at 3.13.1-23 or higher
  • selinux-policy-targeted at 3.12.1-153 or higher
Attention: If SELinux is disabled during installation of IBM Spectrum Scale for object storage, enabling SELinux after installation is not supported.
Requirements for IBM Spectrum Scale object storage on Ubuntu 16.04 LTS and 18.04 LTS
  • The postgresql version must be 9.5 or later.
  • A postgresql cluster named Keystone is created during the configuration process. Do not migrate the Keystone cluster to a newer postgresql version.
  • Object storage is not integrated with AppArmor.
During installation, the following conflicting packages are removed if they were previously installed:
  • keystone
  • python-keystone
  • swift
  • python-swift
  • swift-object
  • swift-container
  • swift-object-expirer
  • swift-proxy
  • python-keystonemiddleware
  • python-keystoneauth1
  • python-keystoneclient
  • python-openstackclient
  • python-swiftclient
Cleanup required if you previously used the Object Redpaper™ configuration process

If you have already configured the system with Openstack software to use GPFS (following instructions from the Object Red paper) be sure to follow the Object cleanup steps in Cleanup procedures required if reinstalling with the installation toolkit before you start any installation activity.

Requirements for the management GUI
The following packages must be installed on the node on which GUI needs to be installed:
  • PostgreSQL server of the Linux distribution.
  • IBM Spectrum Scale Java™ Runtime Environment (JRE) (gpfs.java RPM).
  • IBM Spectrum Scale performance collector (gpfs.pmcollector RPM).
  • openssl for HTTPS certificate management.
  • gpfs.gskit to use CCR.
Required packages for file audit logging
The following packages must be installed on all nodes before you can enable file audit logging:
  • gpfs.java
  • openssl
For more information, see Enabling and configuring file audit logging using the installation toolkit.
GPFS 4.2.0 or later required on protocol and quorum nodes
If you want to run protocols in a mixed-version cluster, the protocol nodes and all of the quorum nodes must be running on the same version that can be 4.2.0 or later.
Note: For the object protocol, the GPFS software is not required on the node that hosts the Keystone identity service if it is deployed on a separate node from the GPFS protocol nodes.
Additional GPFS requirements
  • If you want to run protocols, Cluster Configuration Repository (CCR) must be available.
  • mmchconfig release=LATEST must be run.
  • A GPFS cluster and a file system are required. If this infrastructure does not already exist, you must install the GPFS software, create a GPFS cluster and create a file system. You can use the installation toolkit to do these tasks. For more information, see Using the installation toolkit to perform installation tasks: Explanations and examples.
  • The GPFS file system must be mounted on all GPFS protocol nodes.
  • It is strongly recommended to configure the file system to only support NFSv4 ACLs. You can use the installation toolkit to do this task also if you use the installation toolkit to install GPFS. For more information, see Using the installation toolkit to perform installation tasks: Explanations and examples.

    Alternatively, you can use the -k nfs4 parameter for mmcrfs. NFSv4 ACLs are a requirement for ACL usage with the SMB and NFS protocols. For more information, see examples in mmcrfs command.

  • Quotas are not enabled by default in GPFS file systems but are recommended for use with SMB and NFS protocols. For more information about quota management, see Enabling and disabling GPFS quota management.
Creation of a file system or fileset or path for a CES shared root, and creation of an object fileset
The installation toolkit uses a shared root storage area to install the protocols on each node. This storage is also used by NFS and object protocols to maintain system data associated with the cluster integration. This storage can be a subdirectory in an existing file system or it can be a file system on its own. For production systems, it is recommended to create a dedicated file system for this purpose due to performance reasons. Once this option is set, changing it requires a restart of GPFS.

You can use the installation toolkit to set up this CES shared root storage area if you use the toolkit for GPFS installation and file system creation. For more information, see Using the installation toolkit to perform installation tasks: Explanations and examples.

However, if you want to set up shared root before launching the installation toolkit, the following steps can be used:
  1. Create a file system or fileset for the shared root. Size must be at least 4 GB.
  2. Use the following command:

    mmchconfig cesSharedRoot=path_to_the_filesystem/fileset_created_in_step_1

For object, the installation toolkit creates an independent fileset in the GPFS file system that you name.

SSH and network setup
This is a general GPFS prerequisite, not specific to protocols other than protocol-specific ports that need to be open on the firewall.

The node used for initiating installation of SMB, NFS, and/or Object protocols using the installation toolkit must be able to communicate through an internal or external network with all protocol nodes to be installed. All nodes also require SSH keys to be set up so that the installation toolkit can run remote commands without any prompts. Examples of prompts include a prompt for a remote node's password or a prompt for a yes-or-no question. No prompts should occur when using SSH among any cluster nodes to and from each other, and to and from the node designated for installation.

For information on ports required by IBM Spectrum Scale, see Securing the IBM Spectrum Scale system using firewall and IBM Spectrum Scale port usage.

For examples of how to open firewall ports on different operating systems, see Examples of how to open firewall ports.

Repository setup
This is a general GPFS prerequisite, not specific to protocols.
The installation toolkit contains all necessary code for installation; however, there may be base operating system packages required as prerequisites. In order to satisfy any prerequisites, it might be necessary for your nodes to have access to a DVD repository or an external repository accessible by network. Repositories containing IBM Spectrum Scale dependencies include the following x86_64 example:
rhel-x86_64-server-7 Red Hat Enterprise Linux Server

For information on setting up repositories on Red Hat Enterprise Linux nodes, see Configuring Yum and Yum Repositories (https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/sec-Configuring_Yum_and_Yum_Repositories.html).

For information on setting up repositories on SLES nodes, see Managing Software Repositories and Services(https://www.suse.com/documentation/sles-12/book_sle_deployment/data/sec_y2_sw_instsource.html).

For information on setting up repositories on Ubuntu nodes, see Repositories/Ubuntu(https://help.ubuntu.com/community/Repositories/Ubuntu).

Important: You must disable all configured EPEL repositories on all nodes added to the installation toolkit before proceeding with installation, deployment, or upgrade.
NTP setup

It is recommended that Network Time Protocol (NTP) be configured on all nodes in your system to ensure that the clocks of all of the nodes are synchronized. Clocks that are not synchronized will cause debugging issues and authentication problems with the protocols.

If you are using the installation toolkit for IBM Spectrum Scale installation, then no prior NTP configuration is required other than that the NTP package is installed and the NTP daemon (ntpd) is not running on all nodes.
Before setting up NTP on a node running on SLES 12 SP1 or earlier, you must run the logprof command, save the updated local profiles, and then reboot the node. This step is not required for nodes running on SLES 12 SP2.
For example:
# logprof
Reading log entries from /var/log/messages.
Updating AppArmor profiles in /etc/apparmor.d.
Enforce-mode changes:

Profile:  /usr/sbin/avahi-daemon
Path:     /run/nscd/group
Mode:     r
Severity: unknown

[1 - /run/nscd/group]

(A)llow / [(D)eny] / (G)lob / Glob w/(E)xt / (N)ew / Abo(r)t / (F)inish / (O)pts
Adding /run/nscd/group r to profile.

Profile:  /usr/sbin/avahi-daemon
Path:     /run/nscd/passwd
Mode:     r
Severity: unknown

[1 - /run/nscd/passwd]

(A)llow / [(D)eny] / (G)lob / Glob w/(E)xt / (N)ew / Abo(r)t / (F)inish / (O)pts
Adding /run/nscd/passwd r to profile.

= Changed Local Profiles =

The following local profiles were changed.  Would you like to save them?
[1 - /usr/sbin/avahi-daemon]

(S)ave Changes / [(V)iew Changes] / Abo(r)t
Writing updated profile for /usr/sbin/avahi-daemon.

Reboot the node for the changes to take effect.
Use the config ntp commands listed in Understanding the spectrumscale installation toolkit options, Table 1 to set NTP servers and then NTP will automatically be configured at install time. For example:
/usr/lpp/mmfs/5.0.1.0/installer/spectrumscale config ntp -e on -s 198.51.100.2,198.51.100.4
[ WARN ] The NTP package must already be installed and full bidirectional access to the UDP port 123 must be allowed.
[ WARN ] If NTP is already running on any of your nodes, NTP setup will be skipped. To stop NTP run 'service ntpd stop'.
[ INFO ] Setting NTP to on
[ INFO ] Setting Upstream NTP Servers to 198.51.100.2,198.51.100.4

However, if you are manually installing IBM Spectrum Scale or would prefer to manually configure NTP, see the following example of enabling NTP on a node.

On Red Hat Enterprise Linux nodes
# yum install -y ntp
# ntpdate <NTP_server_IP>
# systemctl enable ntpd
# systemctl start ntpd
# timedatectl list-timezones
# timedatectl set-timezone
# systemctl enable ntpd
On SLES 12 nodes
# zypper install -y ntp
# ntpdate <NTP_server_IP>
# systemctl enable ntpd
# systemctl start ntpd
# timedatectl list-timezones
# timedatectl set-timezone
# systemctl enable ntpd

On SLES 12 nodes, if the systemctl start ntp command hangs, use the resolution documented in Novell Knowledgebase Document 7015867.

On Ubuntu 16.04 LTS nodes
# apt-get install -y ntp
# ntpdate <NTP_server_IP>
# systemctl enable ntpd
# systemctl start ntpd
# timedatectl list-timezones
# timedatectl set-timezone
# systemctl enable ntpd
# systemctl status ntpd

For information about NTP configuration on Ubuntu nodes, see Ubuntu documentation about NTP.
Required packages for mmprotocoltrace

Some of the advanced tracing components of the mmprotocoltrace command require specific packages to be installed on all nodes that need to participate in tracing related operations.

  • To enable network tracing with mmprotocoltrace, you need to install the wireshark package.
  • To enable the syscalls-tracing for SMB, you need to install the strace package.
Collection of core dump data

For information about changing configuration to enable collection of core dump data from protocol nodes, see Configuration changes required on protocol nodes to collect core dump data.