GPFS-Concepts, Planning and Installation Guide-5.1.9-Latest
GPFS-Concepts, Planning and Installation Guide-5.1.9-Latest
5.1.9
IBM
SC28-3474-00
Note
Before using this information and the product it supports, read the information in “Notices” on page
643.
This edition applies to Version 5 release 1 modification 9 of the following products, and to all subsequent releases and
modifications until otherwise indicated in new editions:
• IBM Storage Scale Data Management Edition ordered through Passport Advantage® (product number 5737-F34)
• IBM Storage Scale Data Access Edition ordered through Passport Advantage (product number 5737-I39)
• IBM Storage Scale Erasure Code Edition ordered through Passport Advantage (product number 5737-J34)
• IBM Storage Scale Data Management Edition ordered through AAS (product numbers 5641-DM1, DM3, DM5)
• IBM Storage Scale Data Access Edition ordered through AAS (product numbers 5641-DA1, DA3, DA5)
• IBM Storage Scale Data Management Edition for IBM® ESS (product number 5765-DME)
• IBM Storage Scale Data Access Edition for IBM ESS (product number 5765-DAE)
• IBM Storage Scale Backup ordered through Passport Advantage® (product number 5900-AXJ)
• IBM Storage Scale Backup ordered through AAS (product numbers 5641-BU1, BU3, BU5)
• IBM Storage Scale Backup for IBM® Storage Scale System (product number 5765-BU1)
Significant changes or additions to the text and illustrations are indicated by a vertical line (|) to the left of the change.
IBM welcomes your comments; see the topic “How to send your comments” on page xxxviii. When you send information
to IBM, you grant IBM a nonexclusive right to use or distribute the information in any way it believes appropriate without
incurring any obligation to you.
© Copyright International Business Machines Corporation 2015, 2023.
US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with
IBM Corp.
Contents
Figures................................................................................................................. xi
Tables................................................................................................................ xiii
iii
AFM to cloud object storage parallel read data transfer...................................................................135
Connectivity to cloud object storage................................................................................................. 138
Eviction in AFM to cloud object storage............................................................................................ 140
Audit messages support for the AFM to cloud object storage..........................................................140
Partial file or object caching for AFM to cloud object storage.......................................................... 140
AFM to cloud object storage directory object support......................................................................143
AFM to cloud object storage support for more than 2 K metadata.................................................. 145
AFM to cloud object storage policy based upload for manual updates mode ................................ 146
Support of Google cloud storage platform for AFM to cloud object storage....................................149
Symbolic links.................................................................................................................................... 149
Replication by using the manual updates mode of the AFM to cloud object storage...................... 149
Microsoft Azure Blob support for the AFM to cloud object storage..................................................151
AFM to cloud object storage limitations............................................................................................151
Introduction to system health and troubleshooting ..............................................................................153
Introduction to performance monitoring................................................................................................ 154
Data protection and disaster recovery in IBM Storage Scale.................................................................155
Data backup options in IBM Storage Scale....................................................................................... 156
Data restore options in IBM Storage Scale........................................................................................156
Data mirroring in IBM Storage Scale................................................................................................. 156
Protecting file data using snapshots .................................................................................................157
Introduction to Scale Out Backup and Restore (SOBAR)..................................................................157
Commands for data protection and recovery in IBM Storage Scale.................................................157
IBM Storage Scale GUI............................................................................................................................ 158
IBM Storage Scale management API......................................................................................................161
Functional overview........................................................................................................................... 163
API requests.......................................................................................................................................163
API responses.................................................................................................................................... 168
Asynchronous jobs............................................................................................................................. 170
Accessing the IBM Storage Scale REST API endpoint details through Swagger and API explorer.171
List of IBM Storage Scale management API commands.................................................................. 174
Cloud services .........................................................................................................................................181
How Transparent cloud tiering works................................................................................................183
How Cloud data sharing works.......................................................................................................... 184
How Write Once Read Many (WORM) storage works........................................................................ 187
Supported cloud providers................................................................................................................ 187
Interoperability of Transparent cloud tiering with other IBM Storage Scale features.....................188
Interoperability of Cloud data sharing with other IBM Storage Scale features............................... 190
File audit logging......................................................................................................................................191
Producers in file audit logging........................................................................................................... 191
The file audit logging fileset...............................................................................................................192
File audit logging records...................................................................................................................192
File audit logging events.................................................................................................................... 193
JSON attributes in file audit logging.................................................................................................. 193
Remotely mounted file systems in file audit logging........................................................................ 196
Clustered watch folder............................................................................................................................ 196
Producers in clustered watch folder..................................................................................................197
Interaction between clustered watch folder and the external Kafka sink....................................... 197
Clustered watch folder events........................................................................................................... 198
JSON attributes in clustered watch folder........................................................................................ 199
Understanding call home ........................................................................................................................201
Types of call home data upload......................................................................................................... 203
Inspecting call home data uploads................................................................................................... 218
Benefits of enabling call home.......................................................................................................... 219
Data privacy with call home...............................................................................................................220
Call home monitors for PTF updates................................................................................................. 221
IBM Storage Scale in an OpenStack cloud deployment......................................................................... 222
IBM Storage Scale product editions........................................................................................................225
IBM Storage Scale license designation...................................................................................................227
iv
Capacity-based licensing........................................................................................................................ 230
Dynamic pagepool................................................................................................................................... 230
Dynamic pagepool limitations........................................................................................................... 230
v
Firewall recommendations for AFM to cloud object storage............................................................ 377
Planning for performance monitoring tool..............................................................................................378
Performance monitoring limitations..................................................................................................378
Planning for UEFI secure boot................................................................................................................ 378
Firewall recommendations......................................................................................................................379
Considerations for GPFS applications.....................................................................................................379
Security-Enhanced Linux support........................................................................................................... 379
Space requirements for call home data upload......................................................................................379
Chapter 3. Steps for establishing and starting your IBM Storage Scale cluster..... 381
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols. 383
Deciding whether to install IBM Storage Scale and deploy protocols manually or with the
installation toolkit...............................................................................................................................383
Installation prerequisites........................................................................................................................ 384
Preparing the environment on Linux nodes............................................................................................ 386
IBM Storage Scale packaging overview.................................................................................................. 387
Preparing to install the IBM Storage Scale software on Linux nodes.................................................... 387
Accepting the electronic license agreement on Linux nodes........................................................... 387
Extracting the IBM Storage Scale software on Linux nodes............................................................. 387
Verifying signature of IBM Storage Scale packages..........................................................................389
Extracting IBM Storage Scale patches (update SLES and Red Hat Enterprise Linux RPMs or
Ubuntu Linux packages)............................................................................................................... 390
Installing the IBM Storage Scale man pages on Linux nodes...........................................................390
For Linux on Z: Changing the kernel settings.................................................................................... 390
Manually installing the IBM Storage Scale software packages on Linux nodes.................................... 391
Building the GPFS portability layer on Linux nodes.......................................................................... 396
Manually installing IBM Storage Scale and deploying protocols on Linux nodes............................ 398
Verifying the IBM Storage Scale installation on Ubuntu Linux nodes.............................................. 405
Verifying the IBM Storage Scale installation on SLES and Red Hat Enterprise Linux nodes........... 406
Manually installing IBM Storage Scale for object storage on Red Hat Enterprise Linux ................. 406
Manually installing the performance monitoring tool....................................................................... 408
Manually installing IBM Storage Scale management GUI................................................................ 411
Installing IBM Storage Scale on Linux nodes with the installation toolkit............................................ 419
Overview of the installation toolkit....................................................................................................419
Understanding the installation toolkit options..................................................................................426
Limitations of the installation toolkit.................................................................................................428
Mixed operating system support with the installation toolkit.......................................................... 436
Preparing to use the installation toolkit............................................................................................ 438
Using the installation toolkit to perform installation tasks: Explanations and examples................442
Populating cluster definition file with current cluster state using the installation toolkit............... 461
ESS awareness with the installation toolkit...................................................................................... 464
Configuration of an IBM Storage Scale stretch cluster in an export services environment: a
sample use case............................................................................................................................465
Performing additional tasks using the installation toolkit................................................................ 477
Protocol node IP further configuration................................................................................................... 481
Object protocol further configuration..................................................................................................... 482
Enabling multi-region object deployment initially............................................................................ 483
Installing and using unified file and object access........................................................................... 484
Enabling unified file and object access after upgrading from IBM Storage Scale 4.2 or later.........486
Chapter 5. Installing IBM Storage Scale on public cloud by using cloudkit........... 487
Overview of the cloudkit..........................................................................................................................487
Understanding the cloudkit installation options.....................................................................................488
Limitations of cloudkit............................................................................................................................. 493
Supported features of cloudkit................................................................................................................493
vi
Chapter 6. Installing IBM Storage Scale on AIX nodes.........................................497
Creating a file to ease the AIX installation process................................................................................ 497
Verifying the level of prerequisite software............................................................................................ 497
Procedure for installing GPFS on AIX nodes...........................................................................................497
Accepting the electronic license agreement..................................................................................... 498
Creating the GPFS directory...............................................................................................................498
Creating the GPFS installation table of contents file........................................................................ 498
Installing the GPFS man pages..........................................................................................................499
Installing GPFS over a network......................................................................................................... 499
Verifying the GPFS installation.......................................................................................................... 499
Chapter 9. Installing and configuring IBM Storage Scale management API.......... 523
Chapter 10. Installing GPUDirect Storage for IBM Storage Scale......................... 525
vii
Chapter 16. Installing the signed kernel modules for UEFI secure boot................537
viii
Protocol authentication configuration changes during upgrade............................................................ 611
Changing the IBM Storage Scale product edition................................................................................... 614
Changing Express Edition to Standard Edition.................................................................................. 618
Completing the upgrade to a new level of IBM Storage Scale............................................................... 620
Reverting to the previous level of IBM Storage Scale.............................................................................625
Reverting to a previous level of GPFS when you have not issued mmchconfig release=LATEST....625
Reverting to a previous level of GPFS when you have issued mmchconfig release=LATEST.......... 626
Coexistence considerations.................................................................................................................... 627
Compatibility considerations...................................................................................................................627
Considerations for IBM Storage Protect for Space Management.......................................................... 627
Applying maintenance to your IBM Storage Scale system.....................................................................628
Guidance for upgrading the operating system on IBM Storage Scale nodes.........................................628
Guidance for Red Hat Enterprise Linux 8.x on IBM Storage Scale nodes........................................ 631
Instructions for removing object protocol packages when upgrading protocol nodes to Red Hat
Enterprise Linux 8.x...................................................................................................................... 633
Considerations for upgrading from an operating system not supported in IBM Storage Scale 5.1.x.x 634
Servicing IBM Storage Scale protocol nodes..........................................................................................637
Offline upgrade with complete cluster shutdown.................................................................................. 638
Notices..............................................................................................................643
Trademarks.............................................................................................................................................. 644
Terms and conditions for product documentation................................................................................. 644
Glossary............................................................................................................ 647
Index................................................................................................................ 655
ix
x
Figures
3. A multicluster configuration..........................................................................................................................8
11. Sample setup of IBM Storage Protect for Space Management connected to home ..............................89
12. IBM Storage Protect for Space Management connected to both home and cache................................ 90
19. Option to download API description files in JSON format from the GUI node..................................... 171
21. Example for options that are available in the Swagger editor for each endpoint................................. 173
22. Transparent cloud tiering and Cloud data sharing features.................................................................. 182
xi
24. Importing object storage data into the file system................................................................................186
29. GPFS configuration using node quorum with tiebreaker disks............................................................. 240
30. An example of a highly available SAN configuration for a GPFS file system.........................................241
37. IBM Storage Scale integration with internal Keystone server and external AD or LDAP
authentication server............................................................................................................................... 316
xii
Tables
2. Conventions............................................................................................................................................ xxxvii
7. Conditions in which disabling AFM fileset fails, with corresponding messages .......................................94
10. Parameters for the replication of a new file system by using the AFM to cloud object storage
manual updates mode............................................................................................................................. 150
15. Operations supported for resources and resource elements in API endpoints ...................................174
18. File access events that are supported by clustered watch folder.........................................................198
21. Features that IBM Storage Scale supports for deploying the OpenStack cloud storage..................... 224
xiii
23. GPFS cluster creation options................................................................................................................ 243
28. Correspondence between mount options and the -S option in mmcrfs and mmchfs.......................... 277
29. Comparison of mmbackup and IBM Storage Protect Backup-Archive client backup commands....... 289
34. Recommended settings when you create a vault template on IBM Cloud Object Storage.................. 349
40. spectrumscale command options for installing IBM Storage Scale and deploying protocols............. 427
42. Operating systems supported with the installation toolkit in a mixed cluster......................................436
47. Operating systems that are supported by cloudkit installer nodes...................................................... 494
xiv
48. IBM Storage Scale features.................................................................................................................... 494
55. Upgrade paths if upgrade from OS not supported in IBM Storage Scale 5.1.x.x..................................636
xv
xvi
About this information
This edition applies to IBM Storage Scale version 5.1.9 for AIX®, Linux®, and Windows.
IBM Storage Scale is a file management infrastructure, based on IBM General Parallel File System (GPFS)
technology, which provides unmatched performance and reliability with scalable access to critical file
data.
To find out which version of IBM Storage Scale is running on a particular AIX node, enter:
lslpp -l gpfs\*
To find out which version of IBM Storage Scale is running on a particular Linux node, enter:
rpm -qa | grep gpfs (for SLES and Red Hat Enterprise Linux)
To find out which version of IBM Storage Scale is running on a particular Windows node, open Programs
and Features in the control panel. The IBM Storage Scale installed program name includes the version
number.
Which IBM Storage Scale information unit provides the information you need?
The IBM Storage Scale library consists of the information units listed in Table 1 on page xviii.
To use these information units effectively, you must be familiar with IBM Storage Scale and the AIX,
Linux, or Windows operating system, or all of them, depending on which operating systems are in use at
your installation. Where necessary, these information units provide some background information relating
to AIX, Linux, or Windows. However, more commonly they refer to the appropriate operating system
documentation.
Note: Throughout this documentation, the term "Linux" refers to all supported distributions of Linux,
unless otherwise specified.
• mmcrnsd command
• mmcrsnapshot command
• mmdefedquota command
• mmdefquotaoff command
• mmdefquotaon command
• mmdefragfs command
• mmdelacl command
• mmdelcallback command
• mmdeldisk command
• mmdelfileset command
• mmdelfs command
• mmdelnode command
• mmdelnodeclass command
• mmdelnsd command
• mmdelsnapshot command
• mmdf command
• mmdiag command
• mmdsh command
• mmeditacl command
• mmedquota command
• mmexportfs command
• mmfsck command
• mmfsckx command
• mmfsctl command
• mmgetacl command
• mmgetstate command
• mmhadoopctl command
• mmhdfs command
• mmhealth command
• mmimgbackup command
• mmimgrestore command
• mmimportfs command
• mmkeyserv command
• mmlsfileset command
• mmlsfs command
• mmlslicense command
• mmlsmgr command
• mmlsmount command
• mmlsnodeclass command
• mmlsnsd command
• mmlspolicy command
• mmlspool command
• mmlsqos command
• mmlsquota command
• mmlssnapshot command
• mmmigratefs command
• mmmount command
• mmnetverify command
• mmnfs command
• mmnsddiscover command
• mmobj command
• mmperfmon command
• mmpmon command
• mmprotocoltrace command
• mmpsnap command
• mmputacl command
• mmqos command
• mmquotaoff command
• mmquotaon command
• mmreclaimspace command
• mmremotecluster command
• mmremotefs command
• mmrepquota command
• mmrestoreconfig command
• mmrestorefs command
• mmrestrictedctl command
• mmrestripefile command
• mmsnapdir command
• mmstartup command
• mmstartpolicy command
• mmtracectl command
• mmumount command
• mmunlinkfileset command
• mmuserauth command
• mmwatch command
• mmwinservctl command
• mmxcp command
• spectrumscale command
Programming reference
• IBM Storage Scale Data
Management API for GPFS
information
• GPFS programming interfaces
• GPFS user exits
• IBM Storage Scale management
API endpoints
• Considerations for GPFS
applications
IBM Storage Scale: Big Data Cloudera HDP 3.X • System administrators of IBM
and Analytics Guide Storage Scale systems
• Planning
• Application programmers who are
• Installation
experienced with IBM Storage
• Upgrading and uninstallation Scale systems and familiar with
• Configuration the terminology and concepts in
the XDSM standard
• Administration
• Limitations
• Problem determination
Open Source Apache Hadoop
• Open Source Apache Hadoop
without CES HDFS
• Open Source Apache Hadoop with
CES HDFS
IBM Storage Scale Data This guide provides the following • System administrators of IBM
Access Service information: Storage Scale systems
• Overview • Application programmers who are
• Architecture experienced with IBM Storage
Scale systems and familiar with
• Security the terminology and concepts in
• Planning the XDSM standard
• Installing and configuring
• Upgrading
• Administering
• Monitoring
• Collecting data for support
• Troubleshooting
• The mmdas command
• REST APIs
Table 2. Conventions
Convention Usage
bold Bold words or characters represent system elements that you must use literally,
such as commands, flags, values, and selected menu options.
Depending on the context, bold typeface sometimes represents path names,
directories, or file names.
bold bold underlined keywords are defaults. These take effect if you do not specify a
underlined different keyword.
italic Italic words or characters represent variable values that you must supply.
Italics are also used for information unit titles, for the first use of a glossary term,
and for general emphasis in text.
<key> Angle brackets (less-than and greater-than) enclose the name of a key on the
keyboard. For example, <Enter> refers to the key on your terminal or workstation
that is labeled with the word Enter.
\ In command examples, a backslash indicates that the command or coding example
continues on the next line. For example:
{item} Braces enclose a list from which you must choose an item in format and syntax
descriptions.
[item] Brackets enclose optional items in format and syntax descriptions.
<Ctrl-x> The notation <Ctrl-x> indicates a control character sequence. For example,
<Ctrl-c> means that you hold down the control key while pressing <c>.
item... Ellipses indicate that you can repeat the preceding item one or more times.
| In synopsis statements, vertical lines separate a list of choices. In other words, a
vertical line means Or.
In the left margin of the document, vertical lines indicate technical changes to the
information.
Note: CLI options that accept a list of option values delimit with a comma and no space between
values. As an example, to display the state on three nodes use mmgetstate -N NodeA,NodeB,NodeC.
Exceptions to this syntax are listed specifically within the command.
xxxviii IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Summary of changes
This topic summarizes changes to the IBM Storage Scale licensed program and the IBM Storage Scale
library. Within each information unit in the library, a vertical line (|) to the left of text and illustrations
indicates technical changes or additions that are made to the previous edition of the information.
Summary of changes
for IBM Storage Scale 5.1.9
as updated, November 2023
This release of the IBM Storage Scale licensed program and the IBM Storage Scale library includes the
following improvements. All improvements are available after an upgrade, unless otherwise specified.
• Commands, data types, and programming APIs
• Messages
• Stabilized, deprecated, and discontinued features
AFM and AFM DR-related changes
• AFM DR is supported in a remote destination routing (RDR) environment.
• Added the support of the getOutbandList option for the out-of-band metadata population for a GPFS
backend. For more information, see the mmafmctl command, in the IBM Storage Scale: Command
and Programming Reference Guide.
• AFM online dependent fileset can be created and linked in the AFM DR secondary fileset without
stopping the fileset by using the afmOnlineDepFset parameter. For more information, see the
mmchconfig command, in the IBM Storage Scale: Command and Programming Reference Guide and
the Online creation and linking of a dependent fileset in AFM DR section in the IBM Storage Scale:
Concepts, Planning, and Installation Guide.
• Added sample tools for the AFM external caching to S3 servers in a sample directory.
/usr/lpp/mmfs/samples/pcache/
drwxr-xr-x 3 root root 129 Oct 8 11:45 afm-s3-tests
drwxr-xr-x 2 root root 86 Oct 8 11:45 mmafmtransfer-s3-tests
Cloudkit changes
• Cloudkit adds support for Google Cloud Platform (GCP).
• Cloudkit enhancement to support AWS cluster upgrade.
• Cloudkit enhancement to support for scale out on AWS cluster instances.
Discontinuation of the CES Swift Object protocol feature
• CES Swift Object protocol feature is not supported from IBM Storage Scale 5.1.9 onwards.
• IBM Storage Scale 5.1.8 is the last release that has CES Swift Object protocol.
• IBM Storage Scale 5.1.9 will tolerate the update of a CES node from IBM Storage Scale 5.1.8.
– Tolerate means:
- The CES node will be updated to 5.1.9.
- Swift Object support will not be updated as part of the 5.1.9 update.
- You may continue to use the version of Swift Object protocol that was provided in IBM Storage
Scale 5.1.8 on the CES 5.1.9 node.
- IBM will provide usage and known defect support for the version of Swift Object that was
provided in IBM Storage Scale 5.1.8 until you migrate to a supported object solution that IBM
Storage Scale provides.
• Please contact IBM for further details and migration planning.
File system core improvements
• The dynamic pagepool feature is now available in IBM Storage Scale. The feature adjusts the size of
the pagepool memory dynamically. For more information, see the Dynamic pagepool section in IBM
Storage Scale: Concepts, Planning, and Installation Guide.
• The GPFSBufMgr sensor has been added to the performance monitoring tool. Issue the mmperfmon
config add command to add sensor to IBM Storage Scale 5.1.9. For more information, see
GPFSBufMgr in the GPFS metrics section, in the IBM Storage Scale: Problem Determination Guide.
• Enhanced node expel logic has been added in IBM Storage Scale. The expel logic addresses the
issue of a single node experiencing communication issues resulting in other nodes being expelled
from the cluster.
• The mmxcp command has been updated:
– The enable option:
- a new parameter, --hardlinks, has been added that executes an additional pass through the
source files searching and copying hardlinked files as a single batch.
- two new attributes for the copy-attrs parameter, appendonly and immutable, have been
added which copies the appendonly and immutable attributes, if present.
– The verify option:
- Two new attributes for the check option, appendonly and immutable, have been added that
compare the appendonly and immutable attributes, if present.
xl Summary of changes
For more information, see the mmxcp command in the IBM Storage Scale: Command and
Programming Reference Guide.
• The MMBACKUP_PROGRESS_CONTENT environment variable has a new value that indicates file
size information should be displayed during the backup. For more information, see the mmbackup
command in the IBM Storage Scale: Command and Programming Reference Guide.
• The mmapplypolicy command has a new option --silent-on-delete that ignores certain type
of errors during the DELETE rule execution. For more information, see the mmapplypolicy command
in the IBM Storage Scale: Command and Programming Reference Guide.
• The mmremotecluster command was updated to include the remote cluster id in the output of the
show action. For more information, see the mmremotecluster command in the IBM Storage Scale:
Command and Programming Reference Guide.
• Using the mmkeyserv update command, you can change the encryption key server's hostname
and IPA. For more information, see the mmkeyserv command in the IBM Storage Scale: Command
and Programming Reference Guide.
• IBM Storage Scale supports signed kernel modules for UEFI secure boot:
IBM Storage Scale 5.1.9 supports UEFI secure boot environments with RHEL 9.2 on x86_64. The
gpfs.bin.rpm holding signed kernel modules and the public key can be downloaded from Fix
Central. For more information, see the Signed kernel modules for UEFI secure boot topic in the IBM
Storage Scale: Concepts, Planning, and Installation Guide.
• IBM Storage Scale no longer uses the Linux kernel flag PF_MEMALLOC for its threads. Because of
this flag, the Linux kernel displayed a warning when the XFS file system was used for a local file
system on IBM Storage Scale nodes. After the removal of this flag, no warnings were displayed.
File system protocol changes
• NFS-Ganesha is upgraded to version 4.3.
• The default option for the SMB configuration parameter fileid:algorithm is changed from
fsname to fsname_norootdir.
Installation toolkit changes
• Toolkit support for Remote mount configuration.
• Extended operating system certification and support.
• Toolkit code enhancement to work with latest ansible library.
• ECE SED installation, upgrade and multi DA support for vdisk creation.
Management API changes
The following endpoints are modified:
• GET filesystems/{filesystemName}/filesets/{filesetName}
For more information, see the topic IBM Storage Scale management API endpoints in the IBM Storage
Scale: Command and Programming Reference Guide.
Native REST API (technology preview)
IBM Storage Scale introduces the Native Rest API feature as a technology preview feature. The
feature adds a new control plane component to the IBM Storage Scale stack for administering clusters
instead of the mm-command layer. The feature also adds a few security enhancements. For more
information, see the following IBM Storage Scale support page: https://www.ibm.com/support/pages/
node/7059676
ARM processor (technology preview)
IBM Storage Scale is supported on the ARM processor as a technology preview (nonproduction
environments), starting with IBM Storage Scale 5.1.9. IBM Storage Scale has been developed for
the ARM processor with an instruction set of at least version 8.2-A. For more information, see the
following IBM Storage Scale support page: https://www.ibm.com/support/pages/node/7066226
File consistency
IBM Storage Scale provides concurrent access to clients across the cluster by utilizing sophisticated token
management. This provides concurrent and detailed access to IBM Storage Scale features, file systems,
and file resources.
For more information, see “GPFS architecture” on page 9.
Simplified administration
GPFS offers many of the standard file system interfaces allowing most applications to execute without
modification.
Operating system utilities complement the GPFS utilities, which means you can continue to also use the
commands you have always used for ordinary file operations. For more information, see “Considerations
for GPFS applications” on page 379.
GPFS administration commands are similar in name and function to UNIX and Linux file system
commands with one important difference: the GPFS commands operate on multiple nodes. A single GPFS
command can perform an administration function across the entire cluster. For more information, see the
individual commands in the IBM Storage Scale: Command and Programming Reference Guide.
GPFS commands save configuration and file system information in one or more files. These are
collectively known as GPFS cluster configuration data files. GPFS maintains the consistency of its
configuration files across the cluster, and this provides accurate and consistent confirmation information.
For more information, see “Cluster configuration data files” on page 25.
Note: For more information, see Accessing a remote GPFS file system in IBM Storage Scale: Administration
Guide.
GPFS architecture
Use this information to understand the architecture of GPFS.
Interaction between nodes at the file system level is limited to the locks and control flows that are
required to maintain data and metadata integrity in the parallel environment.
A discussion of GPFS architecture includes:
• “Special management functions” on page 9
• “Use of disk storage and file structure within a GPFS file system” on page 12
• “GPFS and memory” on page 14
• “GPFS and network communication” on page 16
• “Application and user interaction with GPFS” on page 18
• “NSD disk discovery” on page 23
• “Failure recovery processing” on page 25
• “Cluster configuration data files” on page 25
• “GPFS backup data” on page 26
Metanode
There is one metanode per open file. A file refers to a file system object that also includes a directory. The
metanode is responsible for maintaining file metadata integrity.
In almost all cases, the node that has had the file open for the longest continuous period is the metanode.
All nodes accessing a file can read and write data directly, but updates to metadata are written only by the
metanode. The metanode for each file can move to any node to meet application requirements, except
when multiple remote clusters access the same file. In such a scenario, the metanode is placed on a
home cluster node. The home cluster is also known as the owning cluster.
Use of disk storage and file structure within a GPFS file system
A file system (or stripe group) consists of a set of disks that store file data, file metadata, and supporting
entities, such as quota files and recovery logs.
When a disk is assigned to a file system, a file system descriptor is written on each disk. The file
system descriptor is written at a fixed position on each of the disks in the file system and is used by
GPFS to identify this disk and its place in a file system. The file system descriptor contains file system
specifications and information about the state of the file system.
Within each file system, files are written to disk as in other UNIX file systems, using inodes, indirect
blocks, and data blocks. Inodes and indirect blocks are considered metadata, as distinguished from data,
or actual file content. You can control which disks GPFS uses for storing metadata when you create the
file system with the mmcrfs command or when you modify the file system with the mmchdisk command.
The metadata for each file is stored in the inode and contains information such as file size and time of last
modification. The inode also sets aside space to track the location of the data of the file. On file systems
that are created in IBM Storage Scale, if the file is small enough that its data can fit within this space, the
data can be stored in the inode itself. This method is called data-in-inode and improves the performance
and space utilization of workloads that use many small files. Otherwise, the data of the file must be
placed in data blocks, and the inode is used to find the location of these blocks. The location-tracking
space of the inode is then used to store the addresses of these data blocks. If the file is large enough, the
addresses of all of its data blocks cannot be stored in the inode itself, and the inode points instead to one
or more levels of indirect blocks. These trees of additional metadata space for a file can hold all of the
data block addresses for large files. The number of levels that are required to store the addresses of the
data block is referred to as the indirection level of the file.
To summarize, on file systems that are created in IBM Storage Scale, a file typically starts out with data-
in-inode. When it outgrows this stage, the inode stores direct pointers to data blocks; this arrangement
is considered a zero level of indirection. When more data blocks are needed, the indirection level is
increased by adding an indirect block and moving the direct pointers there; the inode then points to this
Quota files
For each file system, IBM Storage Scale maintains quota information in internal quota files: a quota file for
users, a quota file for groups, and a quota file for filesets.
Quota files are created when quotas are enabled by the -Q yes option, which can be either set in the
mmcrfs command or in the mmchfs command. Quota files are maintained until quotas are disabled by
the mmchfs -Q no command. To determine whether quotas are enabled on a file system, issue the
following command:
mmlsfs Device -Q
Pinned memory
GPFS uses pinned memory (also called page pool memory) for storing file data and metadata in support of
I/O operations.
With some access patterns, increasing the amount of page pool memory can increase I/O performance.
Increased page pool memory can be useful in the following cases:
• There are frequent writes that can be overlapped with application execution.
• There is frequent reuse of file data that can fit in the page pool.
• The I/O pattern contains various sequential reads large enough that the prefetching of data improves
performance.
Pinned memory regions cannot be swapped out to disk, which means that GPFS always consumes at least
the value of the pagepool attribute in system memory. So, consider the memory requirements of GPFS
and other applications running on the node when determining a value for the pagepool attribute.
Non-pinned memory
There are two levels of cache used to store file metadata.
Inode cache
The inode cache contains copies of inodes for open files and for some recently used files that are
no longer open. The maxFilesToCache parameter controls the number of inodes cached by GPFS.
Every open file on a node consumes a space in the inode cache. Additional space in the inode cache is
used to store the inodes for recently used files in case another application needs that data.
The number of open files can exceed the value defined by the maxFilesToCache parameter to
enable applications to operate. However, when the maxFilesToCache number is exceeded, there is
no more caching of recently open files, and only open file inode data is kept in the cache.
Stat cache
The stat cache contains enough information to respond to inquiries about the file and open it, but not
enough information to read from it or write to it. There is sufficient data from the inode in the stat
cache to respond to a stat() call (for example, when issuing the ls -l command on a UNIX node).
To override or enhance NSD discovery, you can create a script and name it /var/mmfs/etc/
nsddevices. The user-created nsddevices script, if it exists, is executed before the default discovery
process.
On Windows, NSDs have a GUID Partition Table (GPT) with a single GPFS partition. NSD discovery is done
by scanning the system for a list of disks that contain a GPFS partition.
On all platforms, the list of disk devices is then used by the GPFS daemon to determine whether a device
interface on the local node maps to an NSD name recorded in the configuration database. The process
of mapping a device interface to an NSD involves GPFS opening each device in turn and reading any NSD
volume identifier potentially recorded at sector two of the disk.
Compatibility mode
For certain types of I/O, GDS cannot use the direct RDMA from the pagepool into the GPU buffer. In those
cases, the buffered I/O path is taken, which gets the data correctly into the GPU but it does not produce
any performance improvements. This is called compatibility mode for GDS. The types of I/O that switches
GDS into compatibility mode include for example:
• Files with size less than 4096 bytes.
• Sparse files or files with preallocated storage. For example, fallocate() and gpfs_prealloc().
• Encrypted files.
• Memory-mapped files.
• Compressed files or files that are marked for deferred compression. For more information on
compression, see File compression in IBM Storage Scale: Administration Guide.
• Files in snapshots or clones.
• Direct I/O is disabled by using the mmchconfig disableDIO = true option. The default value of the
disableDIO parameter is false.
• For a full list of cases for which the compatibility mode is used and how to diagnose these, see
Restriction counters in The GPUDirect Storage troubleshooting topic in IBM Storage Scale: Problem
Determination Guide.
IBM Storage Scale supports recovery for failing GDS RDMA operations by returning the failed read request
to CUDA and CUDA retries the failed read request in the compatibility mode.
Other limitations
The following limitations are also applicable for the GDS support:
• IBM Storage Scale does not support GDS in the following scenarios:
– NVIDIA GDS in asynchronous "poll" mode. The NVIDIA GDS lib implicitly converts a poll mode
request on a file in an IBM Storage Scale mount to a synchronous GDS I/O request.
– Reading a file with GDS read concurrently with a buffered read does not deliver full GDS performance
for the GDS thread. This limitation holds whether the concurrent threads are part of the same or
different user application. In this context, buffered read is considered as a nonGDS and indirect I/O.
– Files that use data tiering, including Transparent Cloud Tiering.
Related concepts
“Planning for GPUDirect Storage” on page 266
IBM Storage Scale support for GPUDirect Storage (GDS) enables a direct path between GPU memory and
storage. You need to ensure that certain conditions are met before you start installing the feature.
Related tasks
“Installing GPUDirect Storage for IBM Storage Scale” on page 525
IBM Storage Scale support for GPUDirect Storage (GDS) enables a direct path between GPU memory and
storage.
“Upgrading GPUDirect Storage” on page 564
The recommended version for use of GDS with IBM Storage Scale is 5.1.6 as it supports accelerated
writes.
Related information
IBM Storage Scale includes Cluster Export Services (CES) infrastructure to support the integration of the
NFS, HDFS, SMB, and Object servers.
• The NFS server supports NFS v3 and the mandatory features in NFS v4.0 and NFS v4.1.
• The SMB server supports SMB 2, SMB 2.1, and the mandatory features of SMB 3.0 and 3.11.
• The Object server supports the Train release of OpenStack Swift along with Keystone v3.
• CES supports HDFS protocols. HDFS Transparency is supported from IBM Storage Scale version 3.1.1.
The IBM Storage Scale Big Data Analytics Integration Toolkit for HDFS Transparency or Toolkit for
HDFS must be installed. The Toolkit for HDFS is supported from version 1.0.0.0. See Support
Matrix under CES HDFS in Big data and analytics support documentation.
The CES infrastructure is responsible for:
• Managing the setup for high-availability clustering that is used by the protocols.
• Monitoring the health of these protocols on the protocol nodes and raising events or alerts during
failures.
• Managing the addresses that are used for accessing these protocols by including failover and failback of
these addresses because of protocol node failures.
High availability
With GPFS, you can configure a subset of nodes in the cluster to provide a highly available solution
for exporting GPFS file systems by using the Network File System (NFS), Server Message Block (SMB),
Hadoop Distributed File System (HDFS), and Object protocols. The participating nodes are designated as
Cluster Export Services (CES) nodes or protocol nodes. The set of CES nodes is frequently referred to as
the CES cluster.
A set of IP addresses, the CES address pool, is defined and distributed among the CES nodes. As nodes
enter and leave the GPFS cluster, the addresses in the pool can be redistributed among the CES nodes to
provide high availability. GPFS nodes that are not CES nodes that are leaving or entering the GPFS cluster
do not redistribute the IP addresses. It is possible to use one IP address for all CES services. However,
clients that use the SMB, NFS, and Object protocols must not share the IP address for these protocols
Monitoring
CES monitors the state of the protocol services. Monitoring ensures that the CES addresses are assigned
to the appropriate node and that the processes that implement the services in the CES cluster are running
correctly. Upon failure detection, CES marks the node as temporarily unable to participate in the CES
cluster and reassigns the IP addresses to another node.
Protocol support
CES supports the following export protocols: NFS, SMB, HDFS, and Object. Each protocol can be enabled
or disabled in the cluster. If a protocol is enabled in the CES cluster, all CES nodes serve that protocol.
The following are examples of enabling and disabling protocol services by using the mmces command:
mmces service enable nfs
Enables the NFS protocol in the CES cluster.
mmces service disable obj
Disables the Object protocol in the CES cluster.
Commands
To set or configure CES options, the following commands are used:
mmces
Manages the CES address pool and other CES cluster configuration options.
mmhdfs
Manages the HDFS configuration operations.
mmnfs
Manages NFS exports and sets the NFS configuration attributes.
mmobj
Manages the Object configuration operations.
mmsmb
Manages SMB exports and sets the SMB configuration attributes.
mmuserauth
Configures the authentication methods that are used by the protocols.
For more information, see mmces command, mmhdfs, mmnfs command, mmobj command, mmsmb
command, and mmuserauth command in IBM Storage Scale: Command and Programming Reference
Guide.
Restrictions
For an up-to-date list of supported operating systems, specific distributions, and other dependencies for
CES, refer to the IBM Storage Scale FAQ in IBM Documentation.
A CES cluster can contain a maximum of 32 CES nodes. All the nodes in a CES cluster must be running
on the same operating system and they must be of the same CPU architecture. If the SMB protocol is
enabled, then the CES cluster is limited to a total of 16 CES nodes.
Each CES node must have network adapters capable of supporting all IP addresses in the CES address
pool. The primary address of these adapters must not be used as a CES address.
NFS monitoring
The monitoring framework detects issues with the NFS services and triggers failover if an unrecoverable
error occurs. Moreover, the mmces command provides a quick access to current and past system states
and these states are useful to diagnose issues with the NFS services on the CES nodes. You can check
the node performance by using the mmhealth node show command. Issues that are detected and
causing failover are, for example, GPFS daemon failures, node failures, or NFS service failures. For more
information, see the mmces command and the mmhealth command in IBM Storage Scale: Command and
Programming Reference Guide
S3 API
IBM Storage Scale Object Storage supports the S3 API, in addition to Swift API, for accessing object data.
IBM Storage Scale uses the s3api middleware for OpenStack Swift, allowing access to IBM Storage Scale
by using the Amazon Simple Storage Service (S3) API. IBM Storage Scale for Object Storage includes S3
API as an optional feature.
S3 API can be enabled during protocol deployment, initial object configuration, or later on.
• For information on enabling S3 API during protocol deployment by using the -s3 option of the
spectrumscale config object command, see “Deploying protocols” on page 451.
• For information on enabling S3 API during initial object configuration by using the --enable-s3 option
of the mmobj swift base command, see Configuring and enabling the Object protocol service in IBM
Storage Scale: Administration Guide.
• For information on enabling S3 API if it is not enabled as part of the object base configuration, see
Changing the object base configuration to enable S3 API in IBM Storage Scale: Administration Guide.
Object capabilities
Object capabilities describe the object protocol features that are configured in the IBM Storage Scale
cluster.
The following capabilities are supported:
• The file-access capability (Unified file and object access)
• The multi-region capability (Multi-region object deployment)
• The S3 capability (Amazon S3 API)
If unified file and object access is configured, you can change the file-access capability to enable or
disable the related services. Use the mmobj file-access command to change unified file and object
access.
Use the mmobj multiregion command to change multi-region capabilities. Use the mmobj s3
command to change S3 capabilities.
You can create a storage policy with unified file and object access only when file-access (unified file and
object access) capability is enabled.
The ibmobjectizer and openstack-swift-object-sof services are started only if the file-
access capability is enabled. Disabling the file-access capability stops these services.
For information about enabling, disabling, or listing object capabilities, see Managing object capabilities in
IBM Storage Scale: Administration Guide.
Secure communication between the proxy server and other backend servers
Use this feature to establish secure communication between the proxy server and the backend Object
Storage servers.
By default, object-server, object-server-sof, container-server, and account-server do not have
authentication for the requests that they are serving. Processes, including the proxy-server that are
connecting to these servers over their listening ports, can send requests that can result into updating
the database and altering the object data on disk. Extra security between these servers can be enabled.
Requesting process signs a request with a secret key kept in swift.conf. This key is verified by the
serving object, container, or account server. To enable this feature, set:
mmobj config change --ccrfile swift.conf --section node_communication --property secure --value
true
The signing middleware is added to proxy-server and the validating middleware is added to object-server,
object-server-sof, container-server, and account-server. If the secret key is not present in swift.conf, it is
randomly chosen and set to key secure_communication_secret under node_communication section. In a
multi-region environment, this key must be reset and kept common in all the clusters.
To revert to the original configuration, set:
mmobj config change --ccrfile swift.conf --section node_communication --property secure --value
false
Note: Disable SSH access on the protocol nodes on the IBM Storage Scale cluster for the users that have
the same UID and GID as the local swift user.
mmchconfig fileheatperiodminutes=1440,fileheatlosspercent=10
mmchconfig: Command successfully completed
mmchconfig: Propagating the cluster configuration data to all
affected nodes. This is an asynchronous process.
You can use AFM to create associations between IBM Storage Scale clusters or between IBM Storage
Scale clusters and NFS data source. With AFM, you can implement a single namespace view across sites
around the world by making your global namespace truly global.
By using AFM, you can build a common namespace across locations, and automate the flow of file data.
You can duplicate data for disaster recovery purposes without suffering from wide area network (WAN)
latencies.
AFM can be enabled on GPFS-independent filesets only. A dependent fileset can be linked under an AFM
fileset, but only up to one level below the AFM-independent fileset. The dependent fileset does not allow
nested dependent filesets under the AFM-independent fileset.
Individual files in the AFM filesets can be compressed. Compressing files saves disk space. For more
information, see File compression in the IBM Storage Scale: Administration Guide.
Snapshot data migration is also supported. For more information, see ILM for snapshots in the IBM
Storage Scale: Administration Guide.
Namespace replication with AFM occurs asynchronously so that applications can operate continuously on
an AFM fileset without network bandwidth constraints.
Note: AFM does not offer any feature to check consistency of files across source and destination.
However, after files are replicated, you can use any third-party utility to check consistency.
/ibm/gpfs0/homeDataSource GatwayIP/
*(ro,nohide,insecure,no_subtree_check,sync,no_root_squash,fsid=1001)
/ibm/gpfs0/homeDataSource GatwayIP/
*(rw,nohide,insecure,no_subtree_check,sync,no_root_squash,fsid=1001)
Architecturally, AFM works with any NFS home export. However, if the home is a GPFS file system
then AFM supports replicating ACLs, EA, and sparse files. You must issue the mmafmconfig enable
<ExportPath> command on the home GPFS cluster to enable files replication.
Note:
1. If you do not run the mmafmconfig enable command and configure an AFM relationship, ACLs and
extended attributes are not supported. Sparse file information is not maintained. The following error
message appears in the mmfs.log file: AFM: AFM is not enabled for fileset cachefs in
filesystem gpfs. Some features will not be supported, see documentation for
enabling AFM and unsupported features.
Any cluster can be a home cluster, a cache cluster, or both. In typical setup, a home is in an IBM Storage
Scale cluster and a cache is defined in another IBM Storage Scale cluster. Multiple AFM-enabled filesets
can be defined in one cache cluster, and each cache has a relationship with targets with a home, or
different cluster.
In IW, RO, and LU modes, multiple caches might point to the same home. But in SW mode, only one-to-
one relationship between cache and home is supported. AFM can also be configured as a subscription
service, where home is the data feed and all caches can subscribe to this data feed.
Within a single cache cluster, application nodes experience POSIX semantics. File locking across cache
and home is not supported.
When you perform operations on AFM filesets, ensure that the operations are supported on home over the
chosen protocol. Because the operations that are done from cache are replayed on the remote as normal
file system operations. When you use the NSD protocol with UID remapping, operations such as chown
(change ownership) are not supported.
Caching modes
The caching modes in AFM are Read-Only (RO), Single-Writer (SW), Local-Update (LU), and Independent-
Writer (IW).
In a Read-Only mode, files in the cache fileset cannot be modified.
In a Single-Writer mode, cache pushes all changes to home but never checks home for any updates.
Independent-Writer mode allows both reads and writes, it pushes changes to home and checks home for
file updates.
# mmchconfig afmSecondaryRW=yes -i
AFM maintains a relationship between cache and home by monitoring home availability and reconnects
cache and home.
Note: If a home fileset is removed or deleted, you must remove the export path first and restart NFS at
home.
Considerations when you use the NSD protocol for AFM data transfers
The NSD protocol is more sensitive to packet drops and network latency than NFS. If the network does
not respond, or if the packets are dropped, the NSD mount on cache cluster stops responding, causing the
cache cluster also to stop responding. More causes of issues when the NSD protocol is used:
1. Deadlock in the home cluster - This deadlock might cause the NSD mounts on the cache cluster to
stop responding for some time. Due to a non-responsive NSD mount, AFM fileset at cache that uses
these NSD mounts as target might be in the 'unmounted' state. After the home cluster is responsive,
the home cluster tries queued operations again.
2. Cluster reconfiguration or higher resource consumption on the home cluster - This configuration and
resource consumption might cause a temporary loss of communication between home and cache
cluster. If the home cluster does not respond within AFM wait timeout intervals, AFM filesets at cache
that use these NSD mounts as target might be in the 'unmounted' state. After the home cluster is
responsive, the home cluster tries queued operations again.
3. When a new primary gateway node joins the cluster, the old primary gateway node transfers the fileset
to a new primary gateway node. If the remote file system is not mounted on the new primary gateway
node, the fileset remains in the 'unmounted' state. After the remote file system is mounted at gateway
node, the fileset automatically moves to the Active state.
4. Remote file system cannot be unmounted unless replication is stopped, or primary gateway node is
restarted. AFM puts a hold on remote mount, not allowing the file system to be unmounted.
5. Creating an AFM association, by using GPFS protocol, to the same local file system is not supported.
Note:
Parameter Value
Pagepool 8G
afmHardMemThreshold 40G
afmNumFlushThreads 8
afmDIO 2
maxFilestoCache 10000
afmMaxParallelRecoveries 3
# mmchconfig pagepool=8G
For more information about configuration parameters, see Parameters for performance tuning and
optimization in IBM Storage Scale: Administration Guide.
This configuration recommendation is based on observations in a controlled test environment by
running moderate or reasonable workload. The parameters values might vary based on the setup or
workload.
Note: AFM gateway node is licensed as a server node.
See “Parallel data transfers” on page 60 to set up gateway nodes that communicate to multiple NFS
servers at home.
afmHashVersion
In a cluster with multiple gateway nodes and AFM cache filesets, AFM uses a hashing algorithm to elect
the primary gateway for each of the filesets. This algorithm can be selected by changing the cluster level
config tunable afmHashVersion. Issue the following command to change the hashing algorithm.
# mmchconfig afmHashVersion=version
Note: You need to shut down the cluster and then issue this command because you cannot set
afmHashVersion on an active cluster.
AFM Hash Version 2
The hashing algorithm is set by default on an IBM Storage Scale 4.1 cluster. This version is based on the
static fileset ID mapping. On an upgraded cluster, the old hashing algorithm is effective by default. You
can change the hashing version by changing the value of the afmHashVersion tunable.
AFM Hash Version 4
This version is an improved hash version '2'. If you have many filesets and if these filesets are not
evenly distributed across gateway nodes, you can set the afmHashVersion parameter to 4 for the
improvement. This hashing version is dynamic, which ensures balanced mapping of AFM filesets and
gateway nodes.
Note: Do not set the afmHashVersion parameter to 4, if AFM has heavy data transfer operations from
the gateway node to filesets. You are not recommended to set this version because you might face some
deadlock issues in some cases. You can choose version '5' over version '4'.
AFM Hash Version 5
On the new cluster, the AFM Hash Version 5 is the default version. For better load balancing of AFM or
AFM-DR filesets across gateway nodes, you can set the afmHashVersion parameter to '5'. This version
is recommended for the load balancing of the filesets. AFM hash version '5' does not cause any known
performance degradation in comparison with earlier versions. This option must set only at the cache or
primary cluster and at the client cluster if it has remote mounts, that is, the AFM cache cluster. However,
do not set this option at the home or secondary cluster because the home or primary cluster does not
have AFM or AFM-DR filesets.
AFM hash version 5 supports manual assignment of the selected gateway node to an AFM or AFM-DR
fileset by using the mmafmctl stop command and the mmafmctl start command. You can change the
default assigned gateway node of an AFM or AFM-DR fileset by using the mmchfileset or mmcrfileset
command. When the specified gateway node is down or not available, then AFM internally assigns a
gateway node from the available gateway node list to the fileset. For filesets that do not have the
afmGateway parameter set, the gateway node is assigned by using the hash version 2.
To assign the afmGateway parameter to a fileset, see the mmchfileset command or mmcrfileset command
in the IBM Storage Scale: Command and Programming Reference Guide.
3. Start replication on the AFM or AFM-DR fileset by issuing the following command:
To assign a gateway node by using the mmcrfileset command, issue the following command:
For more information about start and stop replication on a fileset, see “Stop and start replication on a
fileset” on page 97.
Note:
• To set the afmHashVersion parameter, IBM Storage Scale cluster must be shut down and start after
this cluster level tunable is set for a new hash algorithm to take effect.
• To change the afmHashVersion parameter to ‘5’, all the nodes in the AFM cache and the client cluster
must be upgraded to the minimum 5.0.2 level.
Global namespace
You can combine the home and cache entities to create a global namespace.
Any client node can use the same path to connect to the data within any of the IBM Storage Scale clusters
that are part of the namespace.
In such a global namespace, the following AFM features can improve application performance on a
remote site:
1. When a file is being read into a cache, the data can be read after it arrives in the cache.
2. Multiple cache filesets can share a single file system. Data can be transferred between sites in parallel.
AFM also performs on networks that are unreliable, or have high latency. The following example is of a
global namespace, which implemented by using AFM, with three different sites. An IBM Storage Scale
client node from any site sees all of the data from all of the sites. Each site has a single file system. Each
site is the home for two of the sub directories and cache filesets that point to the data that originates at
the other sites. Every node in all three clusters has direct access to the global namespace.
The following figure shows global namespace that is implemented by using AFM.
Revalidation
As users traverse the directory tree of an AFM cache fileset, files and directory metadata information from
the home cluster is checked and updated as needed on the cache cluster. This process is called AFM
revalidation.
Revalidation performance is dependent upon network latency and bandwidth available between the
cache and the home. Revalidations are done per node, and not per fileset. If a file or directory is
revalidated from one node on the cache cluster, the same fileset goes through another revalidation
operation when accessed from another node on the same cache cluster. You can modify the refresh
intervals by using the following command:
In this example, the afmFileOpenRefreshInterval parameter is set to 160 for the sw1 fileset in the
fs1 file system.
Revalidation intervals can be adjusted to support the workload and network latency. Setting a parameter
by using the mmchconfig command sets the default for all filesets. Parameters set by using the
mmchfileset command affect only a particular fileset and override the global defaults. You can enable,
modify, or disable any of the intervals based on the application needs, though it is recommended to use
default values for most cases.
If file or directory refresh intervals are disabled for a fileset, the refresh intervals can be enabled by using
the mmchfileset command. Enabling requires the fileset to be unlinked, and then linked again.
For more information, see the mmchfilest command in the IBM Storage Scale: Command and
Programming Reference Guide.
It is recommended not to set the revalidation intervals to 0, as a revalidation request is continuously sent
to home, thus resulting in performance degradation. You must set the revalidation interval to as large
as possible, depending on how frequently home gets updated, and at what interval the cache needs the
updated data.
For more information about revalidation intervals, see the mmcrfileset command in the IBM Storage Scale:
Command and Programming Reference Guide.
The revalidation intervals are defined by the following configuration parameters. These parameters are
tunable at the cluster and fileset level and can be changed by using the mmchconfig command and the
mmchfileset command at the cluster and the file level:
Asynchronous delay
All update operations from the writable cache filesets are on the primary gateway. Queues in the primary
gateway are pushed to home asynchronously based on the afmAsyncDelay interval.
This interval can be modified by using the mmchfileset command. You can force a flush of all the
pending updates without waiting for asynchronous delay by using the mmafmctl command with the
flushPending option. The flushPending option can be set at the fileset or file system level, or with a
file that contains the list of files to be flushed.
For more information, see mmafmctl command in IBM Storage Scale: Command and Programming
Reference Guide.
In this mode, data in the cache is read-only. Creating or modifying files in the cache fileset is not
allowed. If a file is renamed at the home for an RO fileset, the file is re-created in cache and is
assigned a new inode number in the cache. If the file is in use by an application while it is re-created
(deleted and re-created with the same name) at home, it gets re-created in cache.
2. Single writer (SW)
The following figure illustrates the Single writer mode.
In this mode, only the cache fileset does all the writing and the cache does not check home for file or
directory updates. The administrator needs to guarantee no writes are done in the home cluster. AFM
does not enforce this check.
An SW home can have some pre-existing data. An SW cache can cache and update this data. Update
of an uncached file from SW home caches the file. However, the truncate or append operations on an
uncached file does not fetch the contents of the file into the cache, but queues the truncate or append
operation to the home.
3. Local updates (LU)
Local update is similar to read-only mode although you can create and modify files in the cache fileset.
Updates in the cache are considered local to the cache and get decoupled from the corresponding
file at home. Local updates are never pushed back to home. After modifications in a file, the file is no
longer compared to the version at home during revalidation to verify that it is up to date. Changes of
this file on home do not have an impact on the cached copy of the file and vice versa.
Behaviors with local files: In AFM, LU mode files have one of the following states:
• Uncached: Files on the home for which metadata but no data is copied into the cache are shown in
the cache as uncached. The file is not resident on cache, but only on the home. Changes on the home
are reflected in the cache.
• Cached: If an uncached file is read in the cache or pre-fetched, the state of the file changes to
cached. In the cached state, all changes to the file on the home are reflected in the cache. The file is
resident on the cache.
• Local: File data or metadata that is modified at cache becomes local to the cache. The cached files
relationship to the file in the home is broken. Changes on the home are not reflected in the cache
anymore and file changes are not copied to the home.
Operations in the cache that trigger the transitions between these states are shown below:
The following tables summarize AFM LU mode behavior with local files:
Directory operation from cache Cache behavior - Normal Cache behavior - Local
directory directory
Directory revalidation Pulls the latest metadata Does not pull the latest
metadata
Read a non-local file in the Pulls the latest data Pulls the latest data
directory
Prefetch a non-local file Prefetches the latest data Prefetches the latest data
Create a file or directory Updates and marks the Updates the local directory
directory local
Change data of a non-local file Pulls the data into the cache, Pulls the data into the cache,
updates the file and marks file updates the file and marks the
as local file as local
Change metadata of a non-local Updates the file and marks the Updates the file and marks the
file except delete of EA file as local file as local
Appending to, truncating, or writing to an uncached file in LU mode fetches the entire file to the cache
before making the change locally.
If you expect revalidation, change the LU fileset root directory with caution as this might cause the
fileset to be marked as local, and context with the home is lost. For example, running chmod or chown
This mode allows multiple cache filesets to point to the same home. There is no synchronous locking
between clusters while updating home. Each cache reads from home and makes updates to the home
independently of each other, based on the revalidation intervals and asynchronous delay.
This mode is used to access different files from each IW cache site, such as, the unique users at each
site updating files in their home directory. While this mode allows multiple cache clusters to modify the
same set of files, this should be only done by advanced users. This is because there is no locking or
ordering between updates. Updates are propagated to the home in an asynchronous manner and can
be delayed due to network disconnections. Therefore, conflicting updates from multiple cache sites
can cause the data at the home site to be undetermined.
Writing in-place on a pre-existing uncached file at the home pulls the complete contents of the file into
cache. However, truncate and append operations on an uncached file do not fetch the contents of the
file into cache, but queues the truncate and append operations to home.
When many IW cache filesets point to the same NFS home, the number of NFS threads at home can be
tuned for better efficiency. Increasing the revalidation intervals for the IW cache filesets might reduce
the frequency of periodic refreshes from home and improve cache performance.
Note: Do not create hard links at home or in the cache when IW is used, as IW failback does not
preserve hard links.
The following file attributes are maintained locally in cache: Control attributes, direct I/O, replication
factors, fileset quotas, storage pool flags, special file types such as FIFO, socket, block, character device.
Hard links can be created at cache. Hard links at home are displayed as individual files in cache.
# getfacl /ext4/dir1/1.txt
2. A single writer AFM mode fileset is created and data is cached. Check the directory contents.
# cd /gpfs/gpfs1/sw1
# ls -l
total 0
-rw-rwxr--+ 1 root root 3 Apr
-rw-rwxr--+ 1 root root 3 Apr
8 15:08 1.txt
8 15:08 2.txt
# getfacl 1.txt
# file: 1.txt
# owner: root
# group: root
user::rw-
user:user12:rwx
group::r--
mask::rwx
group:user12:rwx
other::r--
2. To enable afmGateway=all after the creation of file system, issue the following commands:
Fast create
When the fast create feature is enabled on AFM or AFM-DR filesets, this feature reduces the number of
operations that are generated at the time of file creation at the cache. AFM needs to replicate each file
creation operation to the home as a separate operation.
Every time when a file is created, operations such as create, truncate, write, chmod, chown, or set
ACL/EA are generated at the file system level. Each operation is replicated to the target site as a separate
operation. The applications that generate such workload are tar, git, or make, which increases stress on
the gateway node to queue all file creation operations as a separate operation for each file creation. Each
operation that is performed from an application node for a file creation triggers a separate RPC send or
acknowledge to or from the gateway node.
On the clusters where the fast create feature is enabled, AFM does not send all operations. However, AFM
combines all operations of a file creation and sends these combined operations to the target. The target
performs all operations that are required so that both sites are in sync. This feature helps you to avoid
queuing all operations and send only one operation for every file creation. Thus, the fast create feature
improves the performance by saving many RPC exchanges between the application node and the gateway
node and also saves memory and network bandwidth.
For the performance improvement, the afmAsyncDelay parameter must be tuned when the
afmFastCreate parameter is set on an AFM or AFM-DR fileset. The tuning of the afmAsyncDelay
parameter depends on the application and network workload. If you set the afmAsynDelay parameter
value too high, more memory is consumed on the gateway node. To change the value of the
afmAsyncDelay parameter, issue the following command:
This feature can be enabled or disabled on any individual AFM or AFM-DR fileset. To enable this feature,
all the nodes in the cluster must be upgraded to the latest release level and the latest file system
format level. Before you enable this feature on a fileset, you must stop the fileset and then set this
Note: If you set the afmFastCreate parameter without stopping or unlinking a fileset,
mmchfileset: [E] Fileset cannot be changed, either fileset is linked or not stopped.
mmchfileset: Command failed. Examine previous error messages to determine cause.
4. To enable or disable the fast create at the fileset level, issue the following command:
6. Ensure that the fast create is enabled successfully by issuing the following command:
For example,
For more information, see the topic Administering AFM in the IBM Storage Scale: Administration Guide.
2. Create a dependent fileset by using inode space of the created AFM or AFM-DR fileset of the created
AFM or AFM-DR fileset.
For more information, see “Stop and start replication on a fileset” on page 97.
4. Link the dependent fileset at the relative junction path at both sites.
For more information, see “Stop and start replication on a fileset” on page 97.
Note: This feature supports linking only the GPFS dependent fileset that is under the AFM or AFM-DR
fileset root path. This feature does not allow linking the nested levels of the dependent fileset under the
AFM or AFM-DR fileset.
For more information, see the mmafmctl command in IBM Storage Scale: Command and Programming
Reference Guide.
# mmafmconfig show
All gateway nodes other than the primary gateway that is defined in a mapping are called participating
gateway nodes. The primary gateway of a cache fileset communicates with each of the participating
gateway nodes, depending on their availability. When parallel data transfer is configured, a single data
transfer request is split into multiple chunks. Chunks are sent across to the participating gateway nodes
in parallel for transfer to, or from home by using the respective NFS servers. Primary gateway processes
the replies from all the participating gateway nodes, handles all data transfer failures, and coordinates
activities until all data transfer is completed. If any participating gateway node fails, the primary gateway
attempts to retry the failed task on the next available gateway and generates an error message in the IBM
Storage Scale log.
Note: The parallel data transfer does not work in failover cases. This parallel data transfer works when the
fileset state is moved to the dirty state.
# mmchconfig afmParallelMounts=yes -i
Example
The following example shows a mapping for an NFS target. Two cache gateway nodes cachegw_n1 and
cachegw_n2 are mapped to two home NFS servers homenfs_n1 and homenfs_n2 (192.168.200.11 and
192.168.200.12), and then SW filesets are created by using this mapping for the parallel data transfer by
using multiple remote mounts.
1. Create a mapping between the NSF export server and the NFS server.
# mmafmconfig show
Map name: mapping1
Export server map: 192.168.200.12/cachegw_n2.gpfs.net,192.168.200.11/cachegw_n1.gpfs.net
By using parallel remote mounts, all the data and metadata operations are uniquely replicated to the
target site by queuing them to the unique remote mounts or channels. This method keeps the queue or
operation processing completely within the primary gateway node for the fileset and involves multiple
NFS servers that are defined in the mapping from the remote cluster. Primary gateway tracks operation
that is played to different NFS mounts. This setup supports both write from the cache and read from the
remote cluster.
This feature can be combined with the “Parallel data transfers” on page 60 feature to obtain better data
transfer performance within an AFM cache and an AFM home. Both features use the same AFM gateway
Prefetch
Prefetch fetches the file metadata (inode information) and data from home before an application requests
the contents.
Prefetch is a feature that allows fetching the contents of a file into the cache before actual reads.
Prefetching files before an application starts can reduce the network delay when an application requests
a file. Prefetch can be used to proactively manage WAN traffic patterns by moving files over the WAN
during a period of low WAN usage.
Prefetch can be used to do the following tasks:
• Populate metadata
• Populate data
• View prefetch statistics
Use the following command to perform these activities:
mmafmctl Device prefetch -j FilesetName [-s LocalWorkDirectory]
[--retry-failed-file-list|--enable-failed-file-list]
[{--directory LocalDirectoryPath [--skip-dir-list-file SkipDirListfile] |
--dir-list-file DirListfile [--policy]} [--nosubdirs]]
[{--list-file ListFile | --home-list-file HomeListFile} [--policy]]
[--home-inode-file PolicyListFile]
[--home-fs-path HomeFilesystemPath]
[--metadata-only] [--gateway Node] [--empty-ptrash]
[--readdir-only] [--force] [--prefetch-threads nThreads]
The following example includes methods to name a directory for the --directory option, when the
directory name contains special characters:
• When a directory name does not have terminal escape sequences, keep the absolute directory path
within double quotation marks (" ").
• When the directory name has terminal escape sequences, do not keep the directory path within
double quotation marks. The terminal auto-fills the escape sequences in the directory name when
you press the <Tab> two times.
• When press <Tab> two times to include the escape sequences a directory name and keep the
directory path within double quotation marks, the prefetch operation fails. The prefetch operation
fails because the unescape of terminal escaped characters in the directory name is not performed.
--skip-dir-list-file SkipDirListfile
Specifies a path to a file that contains a list of directories within an AFM fileset. These directories
are not fetched during the prefetch operation. This option can only be used with the --directory
option. When this option is enabled, the specified directories are not included in the prefetch process
for the AFM fileset.
For example,
Note: You cannot use this option with the --dir-list-file option.
--dir-list-file DirListFile
This parameter enables prefetching individual directories under AFM fileset. Input file specifies the
unique path to a directory that you want to prefetch. AFM generates a list of files under the specified
directory and subdirectories and queues it to the gateway Node. The input file can also be a policy-
generated file for which you need to specify --policy
--nosubdirs
This option restricts the recursive behavior of --directory and --dir-list-file and prefetches
only until the specified level of directory. If you specify this parameter, subdirectories under the
directory are not prefetched. This parameter is optional and can be used only with --directory and
--dir-list-file.
For example,
--retry-failed-file-list
Allows retrying prefetch of files that failed in the last prefetch operation. The list of files to retry is
obtained from .afm/.prefetchedfailed.list under the fileset.
Note: To use this option, you must enable generating a list of failed files. Add --enable-failed-
file-list to the command first.
--readdir-only
Enables readdir operation on a dirty directory at the cache one last time and brings latest directory
entries.
This option helps prefetching modified directory entries from the home, although the directory at the
cache fileset was modified by the applications and AFM marked the dirty flag on the cache directory.
This option overrides the dirty flag that is set when the data is modified at the local LU cache. In the
LU mode, the dirty flag does not allow the readdir operation at the home and refreshes the directory
file entries from the home.
This option helps in the migration process where new files were created at the home after the
application was moved to the cache. The application already modified the directory and refresh
intervals were disabled. AFM queues readdir one last time on the cache directory and brings entries
of the created files to the cache.
The afmReadDirOnce parameter must be set on an AFM fileset, and directory and files refresh
intervals must be disabled.
For example,
1. To set afmRefreshOnce on an AFM fileset, issue the following command:
2. To check whether the afmRefreshOnce parameter value is set on an AFM fileset, issue the
following command:
3. To run the prefetch operation for the readdir operation one last time, issue following command:
--force
Enables forcefully fetching data from the home during the migration process. This option overrides
any set restrictions and helps to fetch the data forcefully to the cache. This option must be used only
to forcefully fetch the data that was created after the migration process completion.
For example,
--gateway Node
Allows selecting the gateway node that can be used to run the prefetch operation on a fileset, which
is idle or less-utilized. This option helps to distribute the prefetch work on different gateway nodes
and overrides the default gateway node, which is assigned to the fileset. It also helps to run different
prefetch operations on different gateway nodes, which might belong to the same fileset or a different
fileset.
For example,
--empty-ptrash
Cleans the .ptrash directory in an AFM fileset. Specify this option during the prefetch operation to
delete all existing data in .ptrash directory. This option can be specified with all prefetch options.
In IBM Storage Scale AFM, the .ptrash directory is used to temporarily store files that are deleted
or moved by clients. The .ptrash directory serves as a staging area for deleted or moved files. The
files are stored in the .ptrash directory until the AFM policy is triggered to remove them, or until they
are restored. This option allows potential data recovery or rollback operations before permanently
deleting the files. Refer Internal AFM directories section for more information.
--prefetch-threads nThreads
Specifies the number of threads to be used for the prefetch operation. Valid values are 1 - 255.
Default value is 4.
For example,
Prefetch is an asynchronous process and the fileset can be used while prefetch is in progress. Prefetch
completion can be monitored by using the afmPrepopEnd callback event or looking at mmafmctl
Device prefetch command with no options.
Prefetch pulls the complete file contents from home (unless the ––metadata-only flag is used), so the
file is designated as cached when it is prefetched. Prefetch of partially cached files caches the complete
file.
Prefetch Recovery:
Note: This feature is disabled from IBM Storage Scale 5.0.2. If your cluster is running on an earlier
version, prefetch recovery is possible.
If the primary gateway of a cache is changed while prefetch is running, prefetch is stopped. The next
access to the fileset automatically retriggers the interrupted prefetch on the new primary gateway. The
list file used when prefetch was initiated must exist in a path that is accessible to all gateway nodes.
Prefetch recovery on a single-writer fileset is triggered by a read on some file in the fileset. Prefetch
recovery on a read-only, independent-writer, and local-update fileset is triggered by a lookup or readdir on
the fileset. Prefetch recovery occurs on the new primary gateway and continues where it left off. It looks
at which files did not complete prefetch and it rebuilds the prefetch queue. Examples of messages in the
mmfs.log are as follows:
Wed Oct 1 13:59:22.780 2014: [I] AFM: Prefetch recovery started for the file system gpfs1
fileset iw1.
mmafmctl: Performing prefetching of fileset: iw1
Wed Oct 1 13:59:23 EDT 2014: mmafmctl: [I] Performing prefetching of fileset: iw1
Wed Oct 1 14:00:59.986 2014: [I] AFM: Starting 'queue' operation for fileset 'iw1' in
filesystem '/dev/gpfs1'.
Wed Oct 1 14:00:59.987 2014: [I] Command: tspcache /dev/gpfs1 1 iw1 0 257 42949 67295 0 0
1393371
Wed Oct 1 14:01:17.912 2014: [I] Command: successful tspcache /dev/gpfs1 1 iw1 0 257
4294967295 0 0 1393371
Wed Oct 1 14:01:17.946 2014: [I] AFM: Prefetch recovery completed for the filesystem gpfs1
fileset iw1. error 0
The statistics of the last prefetch command can be viewed by running the following command:
mmafmctl fs1 prefetch -j ro
Fileset Async Read Async Read Async Read Async Read Async Read
Name (Pending) (Failed) (Already Cached) (Total) (Data in Bytes)
------- ---------- ---------- ------------------ ----------- ----------------
ro 0 1 0 7 0
# cat /listfile1
/gpfs/homefs1/dir3/file1
/gpfs/homefs1/dir3/dir1/file1
Fileset Async Read Async Read Async Read Async Read Async Read
Name (Pending) (Failed) (Already Cached) (Total) (Data in Bytes)
------- ---------- ---------- ------------------ ----------- ----------------
ro 0 0 0 2 122880
3. Prefetch of data by using a list file, which is generated by using policy at home:
Inode file is created by using the policy at home, and must be used without editing manually.
List Policy:
RULE EXTERNAL LIST 'List' RULE 'List' LIST 'List' WHERE PATH_NAME LIKE '%'
RULE EXTERNAL LIST 'List' ESCAPE '%' RULE 'List' LIST 'List' WHERE PATH_NAME LIKE '%'
# cat /lfile2
4. Prefetch by using --home-fs-path option for a target with the NSD protocol:
# cat /lfile2
Fileset Async Read Async Read Async Read Async Read Async Read
Name (Pending) (Failed) (Already Cached) (Total) (Data in Bytes)
------- ---------- ---------- ------------------ ----------- ----------------
ro2 0 0 0 2 122880
Note:
• If the afmFastCreate parameter value is set to yes or AFM to cloud object storage is enabled on a
fileset, the --read-stats and --write-stats options show information such as N/w Throughput,
Total Pending Data, Estimated Completion time only during the recovery or resync operation.
During regular operations, the --read-stats or --write-stats option shows only Total Written
Data.
• During recovery event, it might take some time for AFM to collect recovery data and queue operations
to the AFM gateway node. The synchronization status is not shown until data is queued to the AFM
gateway and the write operation is synchronized to the home.
In the multiple AFM caches environment, recovery is triggered after a failure. To limit the
maximum number of AFM or AFM-DR filesets that can perform recovery at a time, set the
afmMaxParallelRecoveries parameter. The recovery process is run on the number of filesets
that you specify for afmMaxParallelRecoveries. The number of filesets that are specified in
afmMaxParallelRecoveries are accessed for recovery. After recoveries are complete on these
For more information, see the mmafmctl command in IBM Storage Scale: Command and Programming
Reference Guide.
An example of the messages in mmfs.log is as follows:
Thu Oct 27 15:28:15 CEST 2016: [N] AFM: Starting recovery for fileset 'fileset_SW' in fs 'fs1'
Thu Oct 27 15:28:15 CEST 2016: mmcommon afmrecovery invoked: device=fs1 filesetId=1....
Thu Oct 27 15:28:16 CEST 2016: [N] AFM: mmafmlocal /usr/lpp/mmfs/bin/mmapplypolicy….
Thu Oct 27 15:28:31.325 2016: [I] AFM: Detecting operations to be recovered...
Thu Oct 27 15:28:31.328 2016: [I] AFM: Found 2 update operations...
Thu Oct 27 15:28:31.331 2016: [I] AFM: Starting 'queue' operation for fileset 'fileset_SW'in
filesystem'fs1'.
Thu Oct 27 15:28:31.332 2016: [I] Command: tspcache fs1 1 fileset_SW 0 3 1346604503 38 0 43
Thu Oct 27 15:28:31.375 2016: [I] Command: successful tspcache fs1 1 fileset_SW 0 3 1346604503
38 0 43
Thu Oct 27 15:28:31 CEST 2016: [I] AFM: Finished queuing recovery operations for /gpfs/cache/
fileset_SW
Cache eviction
Cache eviction is a feature where file data blocks in the cache are released when a fileset usage exceeds
the fileset soft quota, and space is created for new files.
The process of releasing blocks is called eviction. However, file data is not evicted if the file data is dirty. A
file whose outstanding changes are not flushed to home is a dirty file.
You can use automatic cache eviction or define your own policy to decide which file data needs to be
evicted. To automatically enable cache eviction, define a fileset soft quota on the cache fileset. Eviction
starts when fileset usage reaches the soft quota limit. A time lag might result when an eviction is triggered
and the data is evicted. Tuning the soft and hard quota limits minimizes application delays because the
data is being cached at a faster rate than it is being evicted.
Cache eviction based on inode quotas is not supported. Cached data from partially fetched files can be
evicted manually by using --file parameter of mmafmctl command. When files are evicted from cache,
all data blocks of those files are cleared. The files are then uncached. When a read operation is performed
on the files the next time, the files fetch data from home.
Cache eviction is enabled by default on all AFM nodes and is controlled by the
afmEnableAutoEviction parameter, and fileset block quota. Cache eviction can also be manually
triggered by using the mmafmctl evict command. When a file is evicted, file data is removed from the
cache, but the inode stays in the cache. Using eviction, you can build environments, where all objects
from home are available but running in limited amount of space.
For example, a cache can be created in flash storage. File eviction opens a powerful method of providing
small but high speed and low latency cache filesets to clusters.
Manual eviction can be done by using the mmafmctl evict command as follows:
For more information, see mmafmctl command in IBM Storage Scale: Command and Programming
Reference Guide.
This option is applicable for RO/SW/IW/LU filesets. This command can be run manually or run in a script
with a custom policy to implement a custom eviction policy. Options can be combined.
--safe-limit SafeLimit
This parameter is mandatory for the manual eviction, for order and filter attributes. It specifies target
quota limit that is used as the low water mark for eviction in bytes – the value must be less than the
soft limit. This parameter can be used alone or can be combined with one of the following parameters
(order or filter attributes). Specify the parameter in bytes.
--order LRU | SIZE
The order in which files are to be chosen for eviction: LRU - Least recently used files are to be evicted
first. SIZE - Larger-sized files are to be evicted first.
LRU
AFM updates the file's atime when the specified file is read from the target/home even though
the atimeDeferredSeconds parameter indicates otherwise. File's atime is not updated when
the already cached file is read. This is to support auto eviction based on LRU algorithm. Reading
the file from the target/home affects performance. So, atime is set after reading the file from
target/home to make sure that the latest file read from target/home is evicted based on LRU.
--log-file Log File
The file where the eviction log is to be stored. By default no logs are generated.
mmquotaon on fs1
mmafmctl: Run mmcheckquota command before running mmafmctl with evict option
mmafmctl: Command failed. Examine previous error messages to determine cause.
total 3.0M
27858308 1.0M -rw-r--r--. 1 root root 1.0M Feb 5 02:07 file1M
27858307 2.0M -rw-r--r--. 1 root root 2.0M Feb 5 02:07 file2M
27858306 0 -rw-r--r--. 1 root root 3.0M Feb 5 02:07 file3M
total 0
27858308 0 -rw-r--r--. 1 root root 1.0M Feb 5 02:07 file1M
4. Manual eviction of a partially cached file by using the --file option. In the following example, file1
is partially cached file of ro1 fileset. Out of 2MB, only 1MB data blocks are cached. You can use below
steps to evict 1MB data blocks.
# ls -altrish /gpfs/fs1/ro1
total 2.0M
27858311 1.0M -rw-r--r--. 1 root root 2.0M Feb 5 02:07 file1
total 0
27858311 0 -rw-r--r--. 1 root root 2.0M Feb 5 02:07 file1M
Note: If a file is evicted from an AFM fileset, the snapshot file of the evicted file contains zeros.
node1:/gpfs/cache/fileset_IW # ls -la
total 128
drwx------ 65535 root root 32768 Oct 13 16:50 .afm
-rw-r--r-- 1 root root 8 Oct 22 17:02 newfile2
drwx------ 65535 root root 32768 Oct 22 05:23 .pconflicts
drwx------ 65535 root root 32768 Oct 22 17:02 .ptrash
dr-xr-xr-x 2 root root 32768 Oct 13 16:20 .snapshots
Fileset Name Fileset Target Cache State Gateway Node Queue Length Queue numExec
------------ -------------- ------------- ------------ -------------------------
fileset_IW nfs://node4/gpfs/fshome/fset002new Disconnected node2 27 102
Fileset Name Fileset Target Cache State Gateway Node Queue Length Queue numExec
------------ -------------- ------------- ------------ -------------------------
fileset_IW nfs://node4/gpfs/fshome/fset002new Dirty node2 27 102
Fileset Name Fileset Target Cache State Gateway Node Queue Length Queue numExec
------------ -------------- ------------- ------------ -------------------------
fileset_IW nfs://node4/gpfs/fshome/fset002new Dirty node2 27 102
Fileset Name Fileset Target Cache State Gateway Node Queue Length Queue numExec
------------ -------------- ------------- ------------ -------------------------
fileset_IW nfs://node4/gpfs/fshome/fset002new Active node2 0 134
For more information, see mmafmctl command in IBM Storage Scale: Command and Programming
Reference Guide.
1. Expiring an RO fileset -
2. Unexpiring an RO fileset -
The afmFilesetExpired callback event is triggered when a fileset moves into expired state. The
afmFilesetUnexpired callback event is triggered when a fileset moves out of the expired state.
Note: After failover, the fileset changes to states such as NeedsResync or Recovery. Depending on the
size or the elapsed time, the fileset remains in these transition states before the fileset turns into the
Active state. The failover process is complete after the fileset is in Active state.
Out-band Failover - You can choose to copy all cached data offline from the AFM cache to the new
home with any tool that preserves modification time (mtime) with nanoseconds granularity. An example
of such a tool is - rsync version 3.1.0 or later with protocol version 31. After the data is copied, you can
run the mmafmctl failover command to compare mtime and filesize at home, and avoid queuing
unnecessary data to home.
Resync on SW filesets
A conflict situation might arise due to an inadvertent write on an SW home. AFM runs a resynchronization
automatically.
Writing data on an SW home is not allowed under normal circumstances. However, AFM does not enforce
this condition. If an inadvertent write or corruption occurs on an SW home due to some error situation, it
results in a conflict scenario for the single-writer fileset.
Note: Resync does not use parallel data transfers. Even if parallel data transfer is configured and the
target is a mapping, the data transfers are not split.
If AFM detects inconsistencies during flushing, the fileset goes into NeedsResync state. When the fileset
is in the NeedsResync state, AFM runs a resynchronization automatically during the next request to the
primary gateway, and the inconsistencies are resolved.
If resync is not triggered automatically, the inconsistencies must be manually resolved by running the
resync command. When you run a resync, the fileset must be in the Active or the NeedsResync state.
Resync is not allowed on IW filesets as multiple cache filesets can update the same set of data. Use the
following command - mmafmctl Device {resync | expire | unexpire} -j FilesetName. For
more information, see mmafmctl command in IBM Storage Scale: Command and Programming Reference
Guide.
# mmafmctl fs1 resync -j sw1
During a resync, all cached data and metadata are queued in the priority queue. The resynchronization is
an asynchronous process and completes in the background. The afmManualResyncComplete callback
2. To update an existing AFM fileset and enable afmSyncReadMount on the fileset, AFM fileset must be
stopped or unlinked. To stop the fileset, issue the following command:
Note: Before you enable afmSyncReadMount parameter, ensure to upgrade the latest IBM Storage
Scale cluster version and file system version. For more information, see File system format changes
between versions of IBM Storage Scale in the IBM Storage Scale: Administration Guide.
4. After the parameter is set, fileset can be started or unlinked. To start the fileset, issue the following
command:
Example
1. To create an AFM fileset and enable recovery v2 on it, issue the following command:
2. To update an existing AFM SW mode fileset and enable recovery v2 on it, AFM fileset must be stopped
or unlinked. After the parameter is set, fileset can be started or unlinked.
For more information, see File system format changes between versions of IBM Storage Scale in the IBM
Storage Scale: Administration Guide.
3. In IBM Storage Scale 5.1.6, new file systems are created at file system format level 29.00. To update a
file system from an earlier format to format level 29.00, issue the following command:
Where,
Device is the device name of the file system.
4. The "Enable AFM recovery version v2" feature of the IBM Storage Scale 5.1.6 requires a file system to
be at format number 29.00 or later.
Example
To set afmRecoveryVer2 on the existing AFM fileset, stop the fileset first and then set the parameter. Do
the following to perform this step:
Figure 11. Sample setup of IBM Storage Protect for Space Management connected to home
A new file created at home becomes candidate for migration to the IBM Storage Protect server. When a
migrated file at home is read from the cache, the file is recalled at home and served to the cache. If the
cache does a write on a migrated file at home, the file is recalled at home and written to when the AFM
queue is flushed. If multiple migrated files are written at the same time, the home issues recalls for all
files at the same time. It is recommended that you exclude frequently changing files from IBM Storage
Protect for Space Management migration process to avoid recalls.
The following figure illustrates IBM Storage Protect for Space Management connected to both home and
cache.
When using IBM Storage Protect for Space Management on an AFM fileset, the flag
AFMSKIPUNCACHEDFILES must be set in the dsm.sys configuration file (IBM Storage Protect-related) to
yes. For example - AFMSKIPUNCACHEDFILES yes. This parameter should be used for read-write cache
filesets. It prevents the migration of dirty and uncached files. If this flag is not set, it might result in
long waiters or unexpected cache states and unexpected errors in terms of the IBM Storage Protect for
Space Management migration processing. In the LU mode when this parameter is set and a file is made
local because of updating data, migration of the file to tape might be prevented. For migration in the LU
mode, do not unset this parameter. Migrated files cannot be evicted. File operations such as read, write,
truncate, append or rename on migrated files recalls the files into the cache. When multiple migrated
files are modified at the same time all recalls are submitted at the same time, IBM recommends that you
exclude frequently changing files or frequently read files from IBM Storage Protect for Space Management
migration process on both cache and home to avoid recalls.
It is recommended the following guidelines while using IBM Storage Scale AFM and IBM Storage Protect:
• Prevent cache eviction in combination with IBM Storage Protect on the same fileset. Both techniques
have the same goal to reduce the space required in the fileset. The combination of both techniques
unnecessarily increases the complexity of the environment.
• IBM Storage Scale snapshots and IBM Storage Protect have a limited compatibility. The deletion of
a stub file that is reflected in a snapshot (the snapshot was generated before or after the file was
migrated) causes the recall of the file data. The file data is stored in the snapshot so that it can be
accessed later. Therefore, do not use snapshots for an AFM fileset (in home or cache) and in the file
system hosting the AFM fileset, if you are using IBM Storage Protect for Space Management.
• When using IBM Storage Protect on home or cache be aware that access (read or write) to multiple
migrated files at the same time causes bulk recalls. Access to multiple files can be caused by users such
as when they copy an entire directory or by AFM when changed files are replicated to home where the
previous versions are migrated. You can avoid these issues by using the optimized tape recall process,
which requires a list of files to be recalled before processing.
When running IBM Storage Scale AFM and IBM Storage Protect backup operations, prevent cache eviction
in combination with IBM Storage Protect backup on the same fileset, if possible. Evicted (uncached) files
will be skipped from backup processing. This might lead to errors in terms of the versioning of files on the
IBM Storage Protect server.
Using mmbackup
When the mmbackup command is run on a file system that has AFM filesets, only the cached data from
the filesets is backed up.
The mmbackup command does not back up the uncached data from the AFM filesets.
In a file system that is IBM Storage Protect for Space Management managed, a backup operation in either
the cache or home fileset skips migrated offline files that were not yet backed up. The backup of a file that
is evicted from a cache causes the file to be read again from home to cache. To avoid reading the file again
when eviction on the cache site is enabled, ensure that the backup occurs before the eviction.
Disabling AFM
An AFM fileset can be disabled and converted to a GPFS-independent fileset. However, GPFS-
independent fileset cannot be converted to an AFM fileset.
Before you disable the AFM fileset, ensure that afmShowHomeSnapshot value is set to
"no" on the specific AFM fileset. If afmShowHomeSnapshot is set to "yes" then you can
modify the afmShowHomeSnapshot value by using mmchfileset command. After the value of
afmShowHomeSnapshot is set to "no" you can proceed to disable the AFM fileset.
Issue the following command to set afmShowHomeSnapshot value to "no":
The preceding command gives the output similar to the following as shown here:
Table 7. Conditions in which disabling AFM fileset fails, with corresponding messages
Condition Error message
Incomplete directories present mmchfileset: 6027-2307 [E] Uncached
files present, run prefetch first.
Uncached files present Uncached files present,
run prefetch first using
policy output: /var/mmfs/tmp/
cmdTmpDir.mmchfileset.18149/list-
file.mmchfileset.18149
Orphans present Orphans are present,
run prefetch first using
policy output: /var/mmfs/tmp/
cmdTmpDir.mmchfileset.18149/list-
file.mmchfileset.18149
You must run prefetch as suggested in the message to fix the error condition.
3. If uncached files or orphans are present, run prefetch by using the following command:
4. If incomplete directories are present, generate a list file to prefetch the uncached files first. Use
this generated list file that contains uncached file entries to run the command - mmafmctl gpfs0
prefetch -j FilesetName --list-file list file path. Here, list file path is the generated list file.
5. Ensure that all data in the AFM fileset is prefetched.
Example
Rotest1 is cache fileset
/gpfs/fs1/rotest1:
total 16
drwxr-xr-x. 2 root root 8192 Jan 30 01:00 dir1
drwxr-xr-x. 2 root root 8192 Jan 30 01:00 dir2
-rw-r--r--. 1 root root 7 Jan 30 01:00 file1
-rw-r--r--. 1 root root 7 Jan 30 01:00 file2
-rw-r--r--. 1 root root 7 Jan 30 01:00 file3
-rw-r--r--. 1 root root 7 Jan 30 01:00 file4
-rw-r--r--. 1 root root 7 Jan 30 01:00 file5
/gpfs/fs1/rotest1/dir1:
total 0
-rw-r--r--. 1 root root 7 Jan 30 01:00 file1
-rw-r--r--. 1 root root 7 Jan 30 01:00 file2
-rw-r--r--. 1 root root 7 Jan 30 01:00 file3
/gpfs/fs1/rotest1/dir2:
total 0
-rw-r--r--. 1 root root 7 Jan 30 01:00 file1
-rw-r--r--. 1 root root 7 Jan 30 01:00 file2
-rw-r--r--. 1 root root 7 Jan 30 01:00 file3
Note: The files are not read from (as an example) /gpfs/fs1/rotest/dir2. These files are
uncached.
Perform disable-online
Warning! Once disabled, AFM cannot be re-enabled on this fileset. Do you wish to continue?
(yes/no) yes
Warning! Fileset should be verified for uncached files and orphans. If already verified,
then skip this step.
Do you wish to verify same? (yes/no) yes
Verifying if all the data is cached. This may take a while...
mmchfileset: [E] Uncached files present, run prefetch first
Files list file: /var/mmfs/tmp/cmdTmpDir.mmchfileset.1152157/list-file.mmchfileset.1152157
Verification of cached files shows the files (uncached) in the list file
Use the list that is provided by the above command for prefetching as below
Above command make sure that all the data is cached. Proceed to disable without verification
Warning! Once disabled, AFM cannot be re-enabled on this fileset. Do you wish to continue?
(yes/no) yes
Warning! Fileset should be verified for uncached files and orphans. If already verified,
then skip this step.
Do you wish to verify same? (yes/no) no
Fileset rotest1 changed.
After fileset is disabled, it will no longer associate to AFM target or home fileset
You can check the fileset state by using the following command:
If you perform other operations like stop or flushpending on a fileset that is in the 'Stopped' state, the
system displays an error message as follows:
A similar message like this error message is displayed, when you perform the start operation on a fileset
that is not in the 'Stopped' state.
Examples
1. Setting remote cluster AFM target as IPv6.
Note: To verify whether the hostname resolves to an IPv6 addresses, use mmcmi host <hostname>
command.
Example of changing the target address from IPv4 to IPv6 by using failover
Use the following details for changing the target address from IPv4 to IPv6 by using failover.
After the IBM Storage Scale cluster is enabled with IPv6 addresses, following steps can be used to
failover existing filesets that are connected to the remote cluster over IPv4 to IPv6 addresses.
Note: Remote IBM Storage Scale cluster is also enabled with IPv6 addresses.
Cache cluster
mmlscluster
Note: Here, the AFM cache cluster and AFM remote or home cluster is converted to IPv6.
Fileset Name Fileset Target Cache State Gateway Node Queue Length Queue numExec
------------ -------------- ------------- ------------ ------------ -------------
ip1 nfs://192.168.38.101/fileset Active Node3 0 57588
Note: --target-only option changes the Ips of the target. When the --target-only option is not
provided, it synchronizes all the data from Cache to target.
3. Create a file in a fileset and make sure that the relation becomes active.
Fileset Name Fileset Target Cache State Gateway Node Queue Length Queue numExec
------------ -------------- ------------- ------------ ------------ -------------
ip1 nfs://[2001:192::210:18ff:fec6:ecd8]/fileset Active Node3 0 3
Creation of mapping for parallel data transfer by using IPV6 address and hostname
To enable parallel data transfer on IPV6, both home clusters nodes and cache cluster nodes must be
running on IPV6. A Gateway Node that runs IPV6 must be able to communicate to the individual home
export node to synchronize data across the clusters.
Mapping of home cluster nodes and gateway nodes at cache that are running on IPV6 can be mapped
together either by using IPV6 address or the hostname.
System output:
System output:
In the preceding command example, c80f3m5n06 and c80f3m5n05 are export nodes at the home
cluster and c80f2m5n02 and c80f5m5n14 are Gateway nodes at the cache cluster.
In the preceding examples, all the hostname resolution is pointing to the IPv6 address.
Note:
• Mix of IPv6 and IPv4 mapping is not supported.
• For more information about Parallel data transfer, see Parallel data transfers.
100 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
After the mapping is created, user can create an AFM fileset by using mapping. The following command
demonstrates how a user can create an AFM fileset by using mapping:
AFM limitations
Active File Management (AFM) limitations are as follows:
• If you change an AFM SW/IW home export from Kernel NFS or CNFS to the new IBM Spectrum Scale
CES in 4.1.1 or later, AFM does not recognize the home. The best way to manage this situation is to run
the mmafmctl failover command. See the IBM Spectrum Scale documentation for more details.
• AFM RO/LU home export cannot be changed from Kernel NFS or CNFS to the new IBM Spectrum Scale
CES in 4.1.1. or later.
• Customers who enabled DMAPI/IBM Storage Protect for Space Management at the AFM home cluster
must be running at RHEL 6.3, or later, or SLES 11 SP2, or later, on the cache cluster. There is a bug that
is identified in earlier levels of RHEL, which requires that the exported path at home is excluded from
DMAPI/IBM Storage Protect for Space Management. For more information, see IBM Support.
• Code upgrade limitations:
– If there are AFM filesets that use the Kernel NFS backend to communicate with a GPFS home that
is running V4.1 or earlier, upgrading home to IBM Spectrum Scale V4.1.1 or later causes the AFM
filesets to disable synchronization to home with a message as follows:
Note: This upgrade affects only AFM filesets that were originally created with a GPFS home that runs
V4.1 or earlier. This upgrade does not affect AFM filesets that were created with a home that runs
IBM Spectrum Scale V4.1.1 or later. This issue is fixed in 4.1.1.4 and 4.2.0.1 available at Fix Central
(IBM Fix central).
• AFM filesets do not support the gpfs API – gpfs_prealloc.
• Due to a known issue with AFM SMB integration, the cache cluster might experience requeued
messages on gateway nodes. As a result, SMB clients might experience a performance impact on data
transfers.
Related concepts
“General guidelines and recommendations for AFM SW and IW mode fileset” on page 374
Use the IBM guidelines and the recommendations to configure and maintain AFM Single Writer (SW) and
Individual Writer (IW) mode fileset.
102 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
• The --iam-mode option is not supported on AFM filesets.
• AFM and AFM DR do not support DM Punch Hole method (GPFS API 'dm_punch_hole').
• To enable the Kerberos security for an AFM-DR fileset, the AFM-DR secondary must be given the read/
write access.
• If a file is evicted from an AFM fileset, the snapshot file of the evicted file contains zeros.
• Eviction is not supported on an AFM-DR primary fileset and an AFM-DR secondary fileset.
• The following file attributes are maintained locally in the cache but these are not replicated:
– Control attributes
– Direct I/O
– Replication factors
– Fileset quotas
– Storage pool flags
– Special file types such as FIFO, socket, block, character device
• Hard links can be created on the cache. Hard links on the home are displayed as individual files in the
cache during the lookup. To prefetch hard links from home, run the --metadata-only option as the
first operation.
• File locking across the cache and the home is not supported.
• User extended attributes, ACLs, and sparse files supported only on the home where the mmafmconfig
command is run.
• Parallel data transfer is supported only in Linux-only clusters. If a home is a mix of architectures (x86
and ppc), parallel data transfer works only for the set of nodes that belong to any one architecture,
depending on which architecture serves the data transfer first.
• If encryption is configured on a home site that is running on a file system, which AFM uses as a GPFS
backend target (multi-cluster remote mount), of an IBM Storage Scale cluster, ensure that the cache
cluster is also configured the same way as the home cluster. Because of this configuration, AFM can
access the files on the target file system for the replication.
Related concepts
“General guidelines and recommendations for AFM SW and IW mode fileset” on page 374
Use the IBM guidelines and the recommendations to configure and maintain AFM Single Writer (SW) and
Individual Writer (IW) mode fileset.
Introduction
Active File Management-based asynchronous disaster recovery (AFM DR) is a fileset-level replication
disaster-recovery capability.
Important: The initial feedback from the field suggests that success of a disaster recovery solution
depends on administration discipline, including careful design, configuration, and testing. Considering this
feedback, IBM decided to disable the AFM DR by default. You should contact IBM Storage Scale support
at [email protected] to have your use case reviewed. IBM helps to optimize your tuning parameters and
enable the feature. Please include this message when you contact to IBM support.
For more information, see Flash (Alert): IBM Spectrum Scale (GPFS) V4.2 and V4.1.1 AFM Async DR
requirement for planning.
The disaster recovery solution includes:
• Providing business stability during a disaster
• Restoring business stability after the disaster is repaired.
• Enduring multiple disasters
• Minimizing data loss because of a disaster
AFM-based asynchronous disaster recovery is an AFM-based fileset-level replication disaster-recovery
capability that augments the overall business recovery solution. This capability is a one-to-one active-
passive model and is represented by two sites: primary and secondary.
The primary site is a read/write fileset where the applications are currently running and has read/write
access to the data. The secondary site is read-only. All the data from the primary site is asynchronously
synchronized with the secondary site. The primary and secondary sites can be independently created in
storage and network configuration. After the sites are created, you can establish a relationship between
the two filesets. The primary site is available for the applications even when communication or secondary
fails. When the connection with the secondary site is restored, the primary site detects the restored
connection and asynchronously updates the secondary site.
The following data is replicated from the primary site to the secondary site:
104 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
• File-user data
• Metadata including the user-extended attributes except the inode number and a time
• Hard links
• Renames
The following file system and fileset-related attributes from the primary site are not replicated to the
secondary:
• User, group, and fileset quotas
• Replication factors
• Dependent filesets
AFM DR can be enabled on GPFS-independent filesets only.
Note: An independent fileset that has dependent filesets cannot be converted into an AFM DR fileset.
A consistent view of the data in the primary fileset can be propagated to the secondary fileset by
using fileset-based snapshots (psnaps). Recovery Point Objective (RPO) defines the frequency of these
snapshots and can send alerts through events when it is unable to achieve the set RPO. RPO is disabled
by default. The minimum time that you can set as RPO is 720 minutes. AFM-based asynchronous DR
can reconfigure the old primary site or establish a new primary site and synchronize it with the current
primary site.
Individual files in the AFM DR filesets can be compressed. Compressing files saves disk space. For more
information, see File compression in the IBM Storage Scale: Administration Guide.
Snapshot data migration is also supported. For more information, see ILM for snapshots in the IBM
Storage Scale: Administration Guide.
When a disaster occurs on the primary site, the secondary site can be failed over to become the primary
site. When required, the filesets of the secondary site can be restored to the state of the last consistent
RPO snapshot. Applications can be moved or failed over to the acting primary site. This application
movement helps to ensure stability with minimal downtime and minimal data loss. This makes it possible
for applications to eventually be failed back to the primary site as soon as the (new) primary is on the
same level as the acting primary.
Note: AFM DR does not offer any feature to check consistency of files across primary and secondary sites.
However, you can use any third-party utility to check that consistency after files are replicated.
You can simultaneously configure a site for continuous replication of IBM Storage Scale data along with
AFM DR site. With IBM Storage Scale continuous replication, you can achieve a near disaster recovery and
a far disaster recovery with AFM DR site.
106 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Note: You must do the following upgrade for the Immutability and appendOnly flags:
• Upgrade all nodes in a cluster to the latest release level.
• Upgrade the file system version to the latest version.
• Upgrade the cluster minRelease version to the latest version.
If an AFM-DR primary fileset and an AFM-DR secondary fileset has a linked dependent fileset, ensure that
the same IAM mode, which is set on the primary fileset and the secondary fileset, is set on all linked
dependent filesets.
If an AFM-DR primary and an AFM-DR secondary fileset has one or more linked dependent filesets and
you want to set the compliant mode, do the following steps:
1. Set the compliant IAM mode on the primary fileset and all linked dependent filesets.
2. Set the compliant IAM mode on the secondary fileset and all linked dependent filesets.
Note: To enable IAM mode on a dependent fileset, you need not to run the mmafmctl stop command or
the mmafmctl start command. These commands are needed only to set an IAM mode on an AFM-DR
primary fileset.
RPO snapshots
Recovery point objective (RPO) snapshots are peer snapshots that are taken at the same time on the
primary and the secondary sides. RPO is disabled by default, and the minimum value you can set is
60 minutes and increment in multiples of 5 minutes. You can update the afmRPO parameter while you
create the primary to change the interval, or after you created the fileset by using the mmchfileset -p
command with the afmRPO parameter.
An example of the command -
The appropriate RPO intervals for each application setup are determined by the following factors:
• The rate of data change
• The fileset parameters such as afmAsyncDelay and afmNumFlushThreads
• The network bandwidth between the two sites
Each RPO interval triggers a snapshot at fileset level on both the primary and the secondary sides, that
results in the file system being quiesced. Quiescing the file system is a data-transfer intensive action.
Therefore, as a performance optimization, if multiple caches have similar RPOs, their snapshots are
batched together so that the file system is quiesced only once. As further optimization, RPO snapshots are
only taken for primary filesets whose data or metadata is modified since the last RPO period.
The afmAsyncDelay parameter specifies the minimum time that the primary site must wait before
flushing the pending data that needs to be transferred to the secondary site. An RPO request in queue
flushes the queue before you create a snapshot on the secondary site. The general guidelines for the
afmAsyncDelay parameter is to set the asynchronous delay less than the RPO interval.
The afmRPOMiss event occurs when RPO is missed because of a network delay or failure to create the
RPO snapshot on the secondary site. If RPOs are missed, AFM waits for the expiration of the next RPO
and during next RPO, a message is logged in mmfs.log and a new RPO snapshot is created. Failed RPOs
are queued on the gateway again, and are run again at the secondary site until they succeed. At any point
in time, two RPO snapshots that are not psnap0 are retained on both sides. If RPOs are not played at
the secondary due to some reason and primary does not get acknowledgment for the create from the
secondary, the RPO is also deleted from primary. To improve the performance of more than one fileset
taking RPOs at the same time, the RPO snapshots are batched together. In this process, the RPOs of few
filesets might get slightly adjusted to use the batching facility.
Normal RPO deletions from the primary site are performed and queued when the new RPO snapshots
are received. While there is every attempt to ensure that the delete operations are successful on
the secondary site, there can be some extra snapshots as some delete operations might not be
108 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Factors for deciding the RPO interval
RPO interval dictates how often snapshots are created on the primary and secondary. The entire file
system must be quiesced before taking a snapshot, even if the snapshot is for a single fileset in a massive
file system.
CAUTION: Setting RPO intervals on primary fileset has significant implications on the performance
of the file system.
• Classify your filesets based on how critical the data is - the more critical the data the lower the async
delay.
• To calculate this approximately, review the frequency/pattern of data generation at the primary and
considering the number of GW nodes, network latency and other parameters, predict the time taken for
this data to get synchronized with the secondary. The RPO must be set to this time.
• Do not set many filesets to the same RPO interval.
Role reversal
When a planned or unplanned failover occurs, the role reversal process reverses a secondary site to an
acting primary site and the old primary site to the secondary site. The role reversal is recommended to
handle the failover.
When a primary site fails, applications can move to a secondary site after the secondary site is promoted
to the primary role. The secondary site acts as a primary site for the application. After reversal of role, the
secondary site can continue to act as a primary site until the old primary site is back. When the failed site
(old primary site) is restored, it takes over the role of the secondary site.
In the traditional “Failback to primary” method, when the failed primary site is restored, workloads are
transferred from the acting primary site (old secondary site) to the restored primary site. This method is
recommended when the rate of change at the primary is not high, and workloads can be easily transferred
between two sites.
In the role reversal method, the secondary site permanently acts as a primary site. After the primary site
is restored, it is designated as a secondary site. The role reversal method is recommended when the rate
of change at the primary is high, and the filesets are huge. If you adopt the role reversal method, ensure
that you remove extra files and old snapshots from the new secondary site.
Important: For a planned or unplanned failure, it is recommended to use the role reversal method instead
of failover and failback methods. The failover and failback methods will be deprecated soon.
To reverse the role, do the following steps:
1. When you plan the role reversal, ensure that the primary and secondary sites are in synchronization.
2. Issue the following command on the secondary site after the primary site failure:
3. After the secondary site is promoted to the primary site, move applications on the primary site.
4. After the old primary site is restored, prepare the old primary site to promote to the secondary site.
5. If the role reversal is unplanned, ensure that the primary site has dirty files. These files were created
or modified but were not replicated to the secondary site because of failures.
• Do not delete the dirty files that were available at both sites but were not in sync because of the
primary site failure. After the role reversal, the acting primary site overwrites these files on the
secondary site (the old primary site) when the site is restored and configured.
• Dirty files that were newly created at the old primary site but not replicated to the secondary site
because of the primary site failure. These files are extra files at the old primary (secondary) after
the role reversal.
– These files are overwritten if the same named files are created at the acting primary site and
replicated to the secondary (old primary) site.
# mmunlinkfileset fs fileset -f
b. Disable the role of fileset at the primary site by running the following command:
d. In case of an unplanned role reversal, some changes are not yet replicated from an old primary to
a new primary site. However, before the replication, the primary that have an active queue fails.
In this case, run the failoverToSecondary parameter as in step “2” on page 109. If you want
to keep the old primary, which is the reversed secondary site, to the same RPO snapshot level,
run the mmrestorefs command to revert the fileset to the RPO snapshot level for the application
consistency.
Note: If the old primary is not restored, it does not cause the data inconsistency at a file system
level or at a fileset level. But, it might cause data inconsistency for the application. For example, a
file on an old primary with new data changes that are not replicated to an old secondary. If before
this replication completes, there is a failure at the old primary and this data does not replicate to
the old secondary, and the old primary is not reverted to the RPO snapshot level during the role
reversal, the both sites are synchronized because of the following scenarios:
• Some data of the file is replicated to the old secondary, but some data is still being replicated. In
this case, the reverse relationship establishment overwrites the file from the reversed primary to
the reversed secondary, and both the sites are synchronized.
• The file does not exist on the old secondary. It is still in a queue on the old primary when it
failed. In this case, one of the following things might happen:
– In the reverse relationship, the reversed primary has a file with the same name. Because
of the same name the new file from the reversed primary is overwritten to the reverse
secondary, and both the sites are synchronized.
– The reverse relationship does not affect the new file. Therefore, the reversed primary does
not know whether the new file is on the reversed secondary. For such a new file, when the
role is reversed second time, the original primary becomes primary again. The relationship
establishment synchronizes the new file to the original secondary and both filesets data
becomes consistent at the fileset level and on a snapshot.
7. Get the primary ID of the fileset at the acting primary site by issuing the following command:
8. Convert the fileset of the old primary site to the fileset of the secondary site by issuing the following
command at the old primary:
9. Prepare to export this secondary fileset path for use by the acting primary fileset.
10. Issue the following command at the acting primary to build the relationship:
11. Remove old snapshots from the old primary because the old snapshots contain old data.
110 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
The primary site (the old secondary site) is now the primary site and the old primary site is the secondary
site. The roles of the primary site and the secondary site are interchanged and the relationship is restored.
Note: The role reversal method is used if filesets are large, and a high rate of change at the primary site.
The --start option restores the primary to the contents from the last RPO on the primary before the
disaster. With the --start option, the primary is in the read-only mode. This mode avoids accidental
corruption until the failback process is completed. After the old primary site starts functioning again,
all RPOs that were present before the disaster can be accessed. If a common RPO snapshot psnap0 is
not present, the old primary site can be converted to a normal GPFS fileset. To set up the primary site,
see the steps in “Failing back to the new primary site” on page 112.
If the --start option that is run on the fileset is unsuccessful, next the --start
failbackToPrimary option might not be allowed. You can use the --force option to start failback
again.
While the primary is coming back, as an administrator ensures that I/O does not occur on the primary
fileset before the start of the failback --start process.
2. Issue the following command on the old primary:
This command applies differences that are created by applications on the old primary site as the
current primary site took over the applications.
All the differences can be brought over in a single or multiple iterations. For minimizing the application
downtime, this command can be run repeatedly to synchronize the contents of the original primary site
NFS can be restarted on the secondary site to ensure that the secondary export is accessible to the
primary site. The primary and secondary sites are connected back as before the primary disaster and
all data from the primary is played on the secondary site. Regular RPO also resumes on the primary
site.
The primary ID is generated and a psnap0 with the same name is created on the primary site. After
the ID generation and the snapshot creation, complete all the steps in “Failing back to the old primary
site” on page 111.
112 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
mmafmctlDevice changeSecondary-j FilesetName
--new-target NewAfmTarget [ --target-only |--inband ]
[-s LocalWorkDirectory]
The --inband option is used depending on the method that is being used to truck data. If you want to
change the mount path or the IP address in the target path, you can use the --target-only option.
The new NFS server must be in the same home cluster and must be of the same architecture as the
existing NFS server in the target path. The --target-only option must not be used if the home is
changed completely, or if you want to change the protocol while you are using the same home cluster.
While you are using the same secondary path, if you want to change only the target protocol from GPFS
to NFS and vice versa, you can use mmafmctl changeSecondary command.
4. Convert the GPFS fileset on the new secondary site to a secondary and set the primary ID by running
the mmchfileset command or the mmafmctl command with convertToSecondary option.
Ensure that the NFS export on the secondary site is accessible on all the gateway nodes on the primary
cluster if NFS is used for defining AFM target on the primary site. If the GPFS protocol is used for the
target, the secondary file system must be mounted on all gateway nodes on the primary site.
After the primary and secondary sites are linked, the psnap0 queued from the primary fileset is
played on the secondary fileset. The new secondary site is now linked to this primary site. Ensure that
the primary file system is mounted on all gateway nodes and new secondary file system is mounted on
all the nodes in the secondary cluster.
Example
1. Create a primary fileset.
3. On a secondary cluster, link the secondary fileset and add its NFS export.
5. On the primary cluster create and link a dependent fileset by using primary1 inode space.
114 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
# mmlinkfileset fs1 primary1dep1 -J /gpfs/fs1/primary1/primary1dep1
6. On the secondary cluster check that the filesets are created and linked.
# mmlsfileset fs1
7. On the primary fileset create some data and let it replicate on the secondary fileset.
4+0 records in
4+0 records out
1048576 bytes (1.0 MB, 1.0 MiB) copied, 0.00924786 s, 113 MB/s
4+0 records in
4+0 records out
1048576 bytes (1.0 MB, 1.0 MiB) copied, 0.0077314 s, 136 MB/s
4+0 records in
4+0 records out
1048576 bytes (1.0 MB, 1.0 MiB) copied, 0.0085112 s, 123 MB/s
4+0 records in
4+0 records out
1048576 bytes (1.0 MB, 1.0 MiB) copied, 0.0086434 s, 121 MB/s
# ls -R /gpfs/fs1/primary1
/gpfs/fs1/primary1:
primary1dep1 primary1dep2
/gpfs/fs1/primary1/primary1dep2:
file1 file2
# ls -R /gpfs/fs1/secondary1
/gpfs/fs1/secondary1:
primary1dep1 primary1dep2
/gpfs/fs1/secondary1/primary1dep1:
file1 file2
/gpfs/fs1/secondary1/primary1dep2:
file1 file2
# ls -R /gpfs/fs1/primary1
PrimaryNode1 1]
/gpfs/fs1/primary1:
primary1dep2
/gpfs/fs1/primary1/primary1dep2:
file1 file2
# mmlsfileset fs1
SecondaryNode1 0] ls -R /gpfs/fs1/secondary1
/gpfs/fs1/secondary1:
primary1dep2
/gpfs/fs1/secondary1/primary1dep2:
file1 file2
116 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Note: When recovery is running because of some failures, dependent filesets must not be unlinked.
AFM DR limitations
AFM DR limitations include:
• The initial feedback from the field suggests that success of a disaster recovery solution depends
on administration discipline, including careful design, configuration, and testing. Considering this
feedback, IBM decided to disable the Active File Management-based Asynchronous Disaster Recovery
feature (AFM DR) by default. Customers that are deploying the AFM DR feature must first review
their deployments with IBM Storage Scale development. Contact IBM Storage Scale Support at
[email protected] to have your use case reviewed. IBM helps optimize your tuning parameters and
enable the feature. Include this message when you contact IBM Support.
Note: This limitation does not apply to base AFM support. This limitation applies only to Async DR
available with the IBM Spectrum Scale Advanced Edition V4.1.1 and later.
You must have the following information available when you request for a development led feasibility
assessment for Async DR-related proposals.
– Detailed use case description includes any application description for applications that are running in
DR filesets.
– Network latency and bandwidth between sites.
– Scale of the solution that includes the number of filesets, number of files, type of files (small or large),
any special file usage (clones or encryption).
– RPO time.
– Rate of change of data that needs to be transferred between two RPOs from Async DR primary site to
secondary.
– Number of Async DR filesets.
– Any plans to use snapshots in Async DR filesets.
• If you change an AFM DR Secondary export from Kernel NFS or CNFS to the new IBM Spectrum Scale
CES in 4.1.1 or later, AFM does not recognize the secondary. The best way to manage this situation is to
run the mmafmctl changeSecondary command. See the IBM Storage Scale documentation for more
details.
• DR administration by using the mmafmctl command is not supported when run from the AIX OS.
• AFM ADR (primary/secondary filesets) is not supported on an FPO enabled system.
• AFM features such as revalidation, eviction, prefetch, show home snapshots, partial file caching, expire
and unexpire, mmafmctl resync and failover, and IW failback are not applicable for AFM DR filesets.
• Administrative operations such as fileset conversion to primary, failover, and failback can be run at the
same time on multiple filesets. However, it is not recommended because commands might fail with a
"busy" error. The commands might fail in cases where the system runs out of the resources that are
needed to perform multiple operations at the same time. If this error occurs, rerun the failed command
after the conflicting command completes.
118 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
• The File Audit logging feature is not supported on AFM or AFM DR filesets.
• Immutability and appendOnly features are not supported on AFM filesets.
• AFM and AFM DR filesets do not replicate security, system, or trusted extended attributes.
• The --iam-mode option is not supported on AFM filesets.
• AFM and AFM DR do not support DM Punch Hole method (GPFS API 'dm_punch_hole').
• To enable the Kerberos security for an AFM-DR fileset, the AFM-DR secondary must be given the read/
write access.
• If a file is evicted from an AFM fileset, the snapshot file of the evicted file contains zeros.
• Eviction is not supported on an AFM-DR primary fileset and an AFM-DR secondary fileset.
• The following file attributes are maintained locally in the cache but these are not replicated:
– Control attributes
– Direct I/O
– Replication factors
– Fileset quotas
– Storage pool flags
– Special file types such as FIFO, socket, block, character device
• Hard links can be created on the cache. Hard links on the home are displayed as individual files in the
cache during the lookup. To prefetch hard links from home, run the --metadata-only option as the
first operation.
• File locking across the cache and the home is not supported.
• User extended attributes, ACLs, and sparse files supported only on the home where the mmafmconfig
command is run.
• Parallel data transfer is supported only in Linux-only clusters. If a home is a mix of architectures (x86
and ppc), parallel data transfer works only for the set of nodes that belong to any one architecture,
depending on which architecture serves the data transfer first.
• If encryption is configured on a home site that is running on a file system, which AFM uses as a GPFS
backend target (multi-cluster remote mount), of an IBM Storage Scale cluster, ensure that the cache
cluster is also configured the same way as the home cluster. Because of this configuration, AFM can
access the files on the target file system for the replication.
Related concepts
“General guidelines and recommendations for AFM SW and IW mode fileset” on page 374
Use the IBM guidelines and the recommendations to configure and maintain AFM Single Writer (SW) and
Individual Writer (IW) mode fileset.
Features
• The disaster protection of data happens at an independent fileset level.
• A single file system can contain multiple AFM DR relationships, one per fileset.
Advantages
• Fileset-level replication allows a high level of granularity and flexibility to protect data.
• An RPO can be specified for each fileset, which allows to set it based on the criticality of the data.
• AsyncDelay can be set on a fileset level to control rate of replication.
Limitations
• Can be defined only on an independent fileset.
• A single AFM DR relationship cannot be created at the file system level.
Advantages
• RPO intervals can be defined per AFM DR relationship.
• AsyncDelay can be specified per AFM DR relationship.
• Quotas can be specified for the primary and secondary filesets.
Limitations
You can create only two copies of the data.
Features
• Only the primary can write to the secondary fileset. The secondary is read-only for all other users.
• You can take a snapshot of the secondary fileset and use the secondary as a source to create backups
or additional copies.
Advantages
The secondary fileset is protected, so no other program or application other than the primary can write to
the secondary.
Limitations
• All operations are allowed on the primary fileset, but only snapshot operations are allowed on the
secondary fileset.
120 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
• The secondary can be converted into the primary even when the primary is writing to the secondary.
There is no protection against an administrator doing a failover operation on the secondary, even if the
DR relationship is healthy.
• The administrator must ensure that the primary cannot accidentally write to secondary after a failover.
Features of NFSv3
NFSv3 is a stateless protocol, which is resilient on low-bandwidth and high-latency networks.
Advantages of NFSv3
It is recommended to use NFSv3 because NFSv3 is more tolerant when deployed on an unstable or
high-latency network.
Note: It is recommended to use the NSD protocol only if the NFS protocol does not meet the expected
performance requirements.
Limitations of NFSv3
For parallel I/O to work by using NFSv3, create a map between the gateway nodes in the primary to the
NFS servers in the secondary. For more information about parallel I/O configuration, see Configuration
parameters for AFM in the IBM Storage Scale: Administration Guide.
Features of NSD
The NSD protocol is sensitive to packet drops and network latency.
Advantages of NSD
NSD provides high performance to LAN-based installations.
Limitations of NSD
If the secondary cluster is inaccessible, the NSD mount hangs, which in turn might cause the application
to hang on the primary cluster.
Features
• AFM DR requires the same data between the primary and secondary before a DR relationship is
established by using the peer-to-peer snapshot (PSNAP) mechanism. If the data on the primary and
secondary are the same, the peer-to-peer snapshot mechanism creates a special snapshot called
PSNAP0. The PSNAP0 is created on both the primary fileset and the secondary fileset.
• Two trucking methods are supported by AFM DR:
– Inband trucking: AFM DR copies the data from the primary to the secondary using the DR transport
protocol (NFSv3 or NSD). After the copy is complete, the primary and secondary have the exact same
data and PSNAP0 is created.
– Outband trucking: It is the user’s responsibility to copy all the data from the primary and secondary
by using any mechanism that they choose. For example, rsync with mtime preserved. After all the
data is copied, the user can use the AFM DR commands to establish the DR relationship that creates
the PSNAP0.
Create a primary and secondary fileset from scratch, where primary has data and
secondary does not have data
In this case, either the inband or the outband mechanism can be used to copy the data to the secondary
cluster.
• Inband:
By using the inband method, the existing data in the primary is copied by AFM DR to the secondary.
To copy this data a work queue is created on the gateway that contains all of the files that need to
be copied and file system operations that need to be performed on the secondary. Then, the gateway
processes this queue as quickly as possible by copying data to the secondary. When all of the work,
which was outstanding when the command was run, is flushed to the secondary, a PSNAP0 is created.
The trucking process ends when a snapshot is created.
It is recommended to start applications on the primary after the trucking process is complete. However,
if applications are started while the trucking process is in progress, the gateway node queues the data
generated by the application and the requests from the trucking process at the same time. The gateway
node queue buffer is filled with many requests, which causes the queue memory overflow. In such a
case, the queue is dropped and the gateway node goes into the recovery mode. This can result in a cycle
where the primary cluster always lags behind the secondary cluster. The potential solutions are:
– Add bandwidth to handle the initial synchronization workload. This bandwidth can involve tuning –
for example, increasing the number of flush threads to increase the gateway throughput, additional
hardware or network bandwidth.
– Keep the application from writing to the primary until the trucking process is complete and PSNAP0 is
created.
– Increase the gateway node memory allocation to prevent memory overflows.
• Outband:
In this case, a complete copy of the data exists before the primary-secondary relationship is created.
The data can be copied to the secondary by using any method that includes a restore from a backup or
a rsync process. When an identical copy of the data exists at the secondary, AFM DR can establish the
DR relationship. The primary and secondary need to be identical when the relationship is established,
so during this time the data must not change in the primary. After the PSNAP0 is created, applications
can start by using the AFM DR filesets.
Note: Both methods use the --inband option of mmafmctl command while setting up the
relationship between the primary and secondary sites. For data that is already copied to the secondary
site, mtime of files at the primary and secondary site is checked. If mtime values of both files match,
data is not copied again and existing data on the secondary site is used. If mtime values of both files do
not match, existing data on the secondary site is discarded and data from the primary site is written to
the secondary site.
122 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
The primary fileset is empty and the secondary fileset has data
Trucking method recommendation: In such a situation, the recommended mechanism is outband
trucking. The administrator copies data from the secondary to the primary and then uses the AFM DR
conversion mechanism to establish the DR relationship.
Failover
After a failure of the primary, applications can fail over to the secondary fileset. Performing a failover
operation on the secondary fileset converts it to the primary and makes it writable. AFM DR failover has
two modes: “As is” and “Revert to the latest RPO snapshot on the secondary”:
• As is:
The “as is” data corresponds to the last byte of data that was copied to the secondary cluster before
the primary cluster failed. This is always the latest data available on the secondary cluster. It is the
recommended option and also the default behavior.
• Revert to the latest RPO snapshot on the secondary:
Restoring data from the last RPO snapshot results in data being restored from the past. As a result,
this process is not recommended in AFM DR as it might lead to data loss. For example, although the
RPO interval was set to 24 hours, the failover occurred at the 23rd hour, then restoring from the last
snapshot (taken 24 hours ago) can result all the data that is created in the last 23 hours being lost. This
failover option can take extra time as the data from the snapshot must be restored completely before
the application can start by using the fileset.
Failback
There are two options in AFM DR to failback to the original primary:
• Failback Option 1: New primary
Create the primary from scratch because all the data in the primary was lost. To create a primary
from scratch, all the data needs to be copied to the original primary from the active primary by using
whichever mechanism the administrator chooses.
• Fail back Option 2: Temporary loss of primary
A temporary failure of the primary that results in a failover of the application to the secondary. To
reestablish the original primary:
AFM DR uses the last RPO snapshot to calculate exactly what data changed on the secondary since the
failover occurred. So for this to work there needs to be a common snapshot between the primary and
secondary. The following steps give a simplified illustration of such a scenario:
1. A PSNAP was created between the primary and secondary at 8 AM. At 8 AM, the snapshot in the
primary and secondary have the exact same data.
2. At 9 AM, the primary fails.
3. At 9 AM, the applications failover to secondary.
4. Primary is back up at 10 AM that is 2 hours later.
5. Restore the T0 snapshot on the primary fileset.
124 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
failure. Alternatively, setting a large RPO interval can relieve some of this pressure however, once the
RPO is enabled then all of the above points need to be considered carefully.
Note: A gateway node failure and recovery causes redistribution of the fileset workload, which in turn
might cause changes in the performance of the replication characteristics.
Overview of AFM DR when NFS and SMB clients are mounted from the primary
cluster
During scheduled maintenance on the primary cluster or a failure at the primary site cluster, those NFS,
and SMB clients that mount exports from the primary cluster experience a brief and temporary outage,
when the mmafmctl failover commands are run. After the mmafmctl failover commands
complete, the NFS and SMB clients can mount from the new acting primary cluster (formerly the
secondary cluster).
Use case 1: The path to the data is identical on both the primary and secondary
clusters
1. On both the primary and the secondary clusters, enter the same path and client (-c) definitions as
shown in the following example:
showmount -e 10.18.96.100
Export list for 10.18.96.100:
/ibm/gpfs0/export1
9.11.102.0,911.136.0,10.1840.0,10.18.48.0
• Issue the showmount -e command and the IP address of the secondary cluster as shown in the
following example:
showmount -e 10.18.50.30
Export list for 10.18.50.30:
/ibm/gpfs0/export1
9.11.102.0,911.136.0,10.18.40.0,10.18.48.0
3. On the NFS clients, issue the following command to mount from the primary CES IP addresses as
shown in the following example:
umount -f /mnt_pnt
mount -o hard, sync
10.18.50.30:/ibm/gpfs0/export0 /mnt_pnt
Use case 2: The path to the data is different on the primary and secondary cluster
1. Create the export with the same client (-c) definitions.
• Issue the following command and the IP address of the primary cluster:
• Issue the following command and the IP address of the secondary cluster:
126 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
9.11.136.0/23(Access_Type=RO,Squash=root_squash;
10.18.40.0/22(Access_Type=RW,Squash=root_squash;
10.18.48.0/22(Access Type=RW,_quash=root_squash;
showmount -e 10.18.96.100
Export list for 10.18.96.100:
/ibm/gpfs0/export1
9.11.102.0,911.136.0,10.18.40.0,10.18.48.0
• Issue the showmount -e command and the IP address of the secondary cluster:
showmount -e 10.18.50.30
Export list for 10.18.50.30:
/ibm/gpfs3/export9
9.11.102.0,911.136.0,10.18.40.0,10.18.48.0
3. On the NFS clients, issue the following command to mount from the primary CES IP addresses:
4. On the NFS clients, issue the following commands to unmount from the primary CES IP addresses and
then mount from the secondary CES IP addresses:
umount -f /mnt_pnt
mount -o hard, sync
10.18.50.30:/ibm/gpfs3/export9 /mnt_pnt
The AFM to cloud object storage on an IBM Storage Scale fileset becomes an extension of cloud object
storage buckets for high-performance or used objects. Depending upon the modes of AFM to cloud object
storage fileset configurations, objects required for applications such as AI and big data analytics can be
downloaded, worked upon, and can be uploaded to a cloud object storage. The objects that are created
by applications can be synchronized to the objects on a cloud object storage asynchronously. An AFM to
cloud object storage fileset can cache only metadata or both metadata and data.
The AFM to cloud object storage also allows data center administrators to free the IBM Storage Scale
storage capacity by moving less useful data to the cloud storage. This feature reduces capital and
operational expenditures. The AFM-based cache eviction feature can be used to improve the storage
capacity manually and by using policies. For more information about the AFM cache eviction, see “Cache
eviction” on page 75.
The AFM to cloud object storage uses the same underlying infrastructure as AFM. For more information,
see “Active File Management” on page 39.
An AFM to cloud object storage fileset supports setting an access control list (ACL) on a file of up to 2 KB
size. When an ACL is assigned on a file of more than 2 KB size, the file is discarded and only file data is
synchronized with the bucket.
The AFM to cloud object storage is available on all IBM Storage Scale editions.
128 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Figure 17. AFM to cloud object storage by using Azure Blob
130 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
The symlinks relationship is maintained only if they are created in an AFM to cloud object
storage fileset. If the symlinks relationship is not created in the AFM to cloud object fileset, it
is not maintained.
Local
Object data or metadata that is modified on an AFM to cloud object storage fileset becomes
local to the AFM to cloud object storage fileset. The cached objects relationship to the object
in a cloud object storage is broken. Changes on the cloud object storage are not reflected in
the AFM to cloud object storage fileset anymore and object changes are not copied to the
cloud object storage.
Note: Objects can be downloaded from a cloud object storage and uploaded back without
affecting the LU-mode. When the object is downloaded, it is synced-in to the object on the
cloud object storage.
Manual updates (MU)
The manual update (MU) mode supports manual replication of the files or objects by using ILM
policies or user provided object list. MU mode is supported on AFM to cloud object storage backend.
The IBM Storage Scale independent fileset can be converted to MU mode fileset or MU mode fileset
can be created as a new relationship to cloud object storage.
MU mode fileset provides the flexibility to upload and download files or objects to and from cloud
object storage after you finalize the set of objects to upload or download. Unlike other AFM to
cloud object storage objectfs fileset modes, MU mode depends on manual intervention from
administrators to upload and download the data to be in sync. As a administrators you can also
automate upload and download by using ILM policies to search specific files or objects to upload or
download.
MU mode semantics:
• Applications or users create data in the MU mode fileset. The data is not transferred to cloud
object storage backend automatically. The data can be dirty or hot data.
• Either all the files or specific files can be determined and uploaded by using the mmafmcosctl
upload command. Or, policies can help determine these specific files.
• When the files are added to cloud object storage or the data is changed on cloud objects
storage, these files can be downloaded using mmafmcosctl download command.
Important: MU mode does not recognize the files added to cloud object storage or modified
data automatically, to download these files or data administrators can create object list that
contains the names of the files from cloud object storage.
• Metadata is refreshed only once. This is applicable only if the MU fileset is created pointing
to non-empty bucket. Each file is refreshed before allowing the update if readdir was not
performed.
• All the changes to files are local to the fileset except remove or rename operations which can be
made automatically replicated by using the config option.
Deleting files from MU mode fileset
Files on MU mode fileset take up inode and space from fileset. Files can be deleted from MU mode
fileset but the file inodes are reclaimed from the fileset inode space only when mmafmcosctl
delete commands are issued. MU mode has two delete options backed by mmafmcosctl
delete command. The files can be deleted locally by using posix commands. For example,
rm. MU mode does not reclaim inodes immediately after the deletion until the delete operation is
executed to the COS target.
The mmafmcosctl delete commands – from cache option looks for deleted files in the MU
fileset and reclaim the file inodes, whereas –from-target option looks for the deleted files in MU
fileset, reclaims the inodes and queue the delete operation to COS so that files deleted from MU
fileset gets deleted on COS as well.
7. Check the inodes stats : inodes are not yet reclaimed from MU fileset.
node1 1] mmlsfileset fs1 mufilesetdemo -i
Collecting fileset usage information ...
Filesets in file system 'fs1':
Name Status Path InodeSpace MaxInodes
AllocInodes UsedInodes
132 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
mufilesetdemo Linked /gpfs/fs1/mufilesetdemo 3 100352
100352 8
node1 1]
8. Issue the following command to reclaim the inodes from MU mode fileset:
9. Check the inode stats : Here the used inodes are reclaimed.
node1 1] mmlsfileset fs1 mufilesetdemo -i
Collecting fileset usage information ...
Filesets in file system 'fs1':
Name Status Path InodeSpace MaxInodes
AllocInodes UsedInodes
mufilesetdemo Linked /gpfs/fs1/mufilesetdemo 3 100352
100352 3
node1 1]
Note: The mmafmcosctl command with option delete --from-cache, does not queue deletes
to COS.
Example : Deleting files, reclaiming inode, and queueing deletes to COS
1. Check MU mode fileset inode stats.
Node1 1] mmlsfileset fs1 mufilesetdemo -i
Collecting fileset usage information ...
Filesets in file system 'fs1':
Name Status Path InodeSpace MaxInodes
AllocInodes UsedInodes
mufilesetdemo Linked /gpfs/fs1/mufilesetdemo 3 100352
100352 3
Node1 1]
6. Check the inode usage : Inodes are not reclaimed after delete.
Node1 1] mmlsfileset fs1 mufilesetdemo -i
Collecting fileset usage information ...
Filesets in file system 'fs1':
Name Status Path InodeSpace MaxInodes
AllocInodes UsedInodes
mufilesetdemo Linked /gpfs/fs1/mufilesetdemo 3 100352
8. Check that the remove operations are queued and executed to cos.
Node1 1] mmafmctl fs1 getstate
Fileset Name Fileset Target Cache State Gateway Node Queue Length
Queue numExec
------------ -------------- ------------- ------------ ------------
-------------
mufilesetdemo http://s3.us-east.cloud-object-storage.appdomain.cloud:80/demobucketx Dirty c7f2n04 5
22
Node1 1] mmafmctl fs1 getstate
Fileset Name Fileset Target Cache State Gateway Node Queue Length
Queue numExec
------------ -------------- ------------- ------------ ------------
-------------
mufilesetdemo http://s3.us-east.cloud-object-storage.appdomain.cloud:80/demobucketx Active c7f2n04 0
27
Node1 1]
MU mode autoremove
To keep the deletes in sync with COS, the autoremove feature can be configured on the MU fileset
by using mmchfileset command. When the parameter afmMUAutoRemove is set to yes then
removes are automatically queued to the cloud object storage.
For setting this afmMUAutoRemove parameter option first, do the following:
1. Stop the fileset by using mmafmctl stop option.
2. Set the parameter on the fileset by using mmchfileset <fs> <fileset> -p
afmMuAutoRemove=yes.
3. Again start the fileset by using mmafmctl start command.
Note: When the auto remove option is configured the inodes are reclaimed from MU mode fileset
automatically.
Use case scenarios for MU mode:
1. The MU mode supports scenarios where the data changes at AFM to cloud object storage
fileset is not needed to be in sync with the target cloud object storage. Applications can
perform data modification at fileset level and whenever it is necessary to sync the data to the
cloud object storage that can be synced.
2. Similarly, application running on cloud can modify the data on cloud and when it is required to
be in sync with AFM to cloud object storage MU mode fileset, the data can be downloaded. This
helps in bandwidth utilization as data can be uploaded or downloaded at specific times. For
example, application works on files in the MU fileset and uploaded to COS at later time in the
day when the load on the network is less.
134 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
objectFS mode
In the objectFS mode, an AFM to cloud object storage fileset is synchronized with a cloud object
storage. AFM to cloud object storage RO, LU, and IW modes of filesets synchronize metadata to and
from a cloud object storage. It includes operations such as readdir and lookups to synchronize the
data. Objects are downloaded when they are read on demand or worked upon by an application that is
running on an AFM to cloud object storage fileset. The objectfs enabled AFM to cloud object storage
fileset behaves like an AFM fileset. For SW and IW modes-enabled AFM to cloud object storage fileset,
the AFM to cloud object storage uploads files as objects to the object storage server. For an AFM
RO, LU, and IW modes-enabled AFM to cloud object storage fileset, AFM automatically synchronizes
objects from the cloud object storage to the AFM to cloud object storage fileset as files. Enable this
parameter if the AFM to cloud object storage fileset behaves like an AFM modes fileset.
ObjectOnly mode
If the object-fs parameter is not defined, the ObjectOnly parameter will get enabled. This
behavior is set on the AFM to cloud object storage filesets by default.
With the ObjectOnly mode, refresh of an AFM to cloud object storage fileset (AFM RO, LU, and IW
mode fileset) with a cloud object storage will not be on-demand or frequent. You need to manually
download data or metadata from the cloud object storage to the AFM to cloud object storage fileset,
meanwhile data transfer from the AFM to cloud object storage fileset to the cloud object storage
works automatically without manual intervention.
Enable this parameter on an AFM to cloud object storage fileset to avoid frequent trips and reduce the
network contention by selectively performing the download or upload operations.
Example
1. Create an export map by using multiple gateway nodes.
Note: When the --no-server-resolution option is specified, AFM skips the DNS resolution of a
specified hostname and creates the mapping. The specified hostname in the mapping must not be
replaced with an IP address. Ensure that the specified hostname is resolvable when the mapping is
in operation. This resolution is important if an endpoint resolves to multiple addresses and does not
bind to a single IP address.
2. Set up an access key and a secret key for the bucket by using the export map.
3. Create an AFM to cloud object storage relation by using the mmafmcosconfig command.
Here,
cosbucket1
An existing bucket with objects presents on the cloud object storage for reading.
--new-bucket
This option can be used to create a new bucket.
136 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
4. Tune the parallel transfer thresholds for parallel reads. The afmParallelReadThreshold
parameter value is 1 GB and the afmParallelReadChunkSize parameter value is 512 MB.
Note: Set these parameters before you do any operation on the fileset to get these values in effect.
If any operations are already done on the fileset, use the mmafmctl stop command, and then set
these parameters and start the fileset.
5. Check that the values are set on the fileset.
# ls -lash /gpfs/fs1/cosbucket1/object1
0 -rwxrwx--- 1 root root 2.0G Aug 19 2021 object1
ls -lash /gpfs/fs1/cosbucket1/object1
2.0G -rwxrwx--- 1 root root 2.0G Aug 19 2021 object1
10. To view the queue on the primary gateway and the helper gateway, use the following command:
Output snip –
Normal Queue: (listed by execution order) (state: Active)
0 Read [1572868.1572868] inflight (4194304 @ 12582912) tid 3454523
2 ReadSplit [1572868.1572868] inflight (486539264 @ 1610612736) tid 3401451
Here,
ReadSplit
Operations on gateways that are defined in the mapping can be seen.
For more information, see the mmfsadm command in IBM Storage Scale: Problem Determination
Guide.
Target backend
AFM to cloud object storage can communicate with different cloud object storage backend. Some cloud
object storage uses different API other than S3 standard API for the following reasons:
• To enable an AFM fileset to synchronize objects with different cloud to object storage backend such as
Microsoft Azure Blob, Google GCP or AWS VHB style.
• To enable AFM to synchronize with specific cloud object storage backend, AFM to cloud object fileset
must be created with a specified parameter.
The options are as follows:
--azure
Providing this option during the creation of an AFM to cloud object storage fileset by using the
mmafmcosconfig command enables AFM to use Microsoft Azure Blob storage specific API.
--gcs
Providing this option during the creation of an AFM to cloud object storage fileset by using the
mmafmcosconfig command enables AFM to use Google cloud object storage specific API.
--vhb
Provides support of S3 style virtual hosting of bucket such as URL to be used during the creation
of an AFM to cloud object storage fileset. For VHB, the format of endpoint is such as https://
bucket-name.s3.region-code.amazonaws.com. AFM requires a region to be added to the URL
and separated it by using ‘@’ symbol.
138 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
An example of
1. Add the key by issuing the following command:
2. Verify that the key was added successfully by issuing the following command:
regbkt1:[email protected]=COS:akey1:skey1
3. Create an AFM to cloud object storage fileset by issuing the following command:
Note: To enable AFM to cloud object storage for standard other S3 cloud object storage backends,
above options are not needed. Default option implicitly enables AFM to use Standard S3 APIs.
Underlying protocol
Communication between IBM Storage Scale and a cloud object storage can be HTTP or HTTPS. A cloud
object storage can be enabled with these two protocol choices.
The AFM to cloud object storage also enables sharing of data across AFM to cloud object storage clusters
and a cloud object storage, even if the networks are unreliable or have high latency by using the built-in
queuing optimization techniques of AFM. For more information, see “Active File Management” on page
39.
Note:
Within a single IBM Storage Scale cluster with AFM to cloud object storage enabled, application nodes
comply with POSIX semantics. The file or object locking across cache and a cloud object storage is not
supported.
When you perform operations on AFM to cloud object storage filesets, ensure that the operations are
supported on a cloud object storage over the chosen protocol. Because the operations that are performed
from an AFM to cloud object storage fileset are replayed on the cloud object storage as normal object
operations. Ensure that the bucket restrictions and limitations from a cloud object storage provider are
followed.
The cache state of an AFM to cloud object storage is similar to an AFM or AFM-DR fileset. You can check
the state by using the mmafmctl getstate command. This command is used to check the status of
synchronization of the specified fileset. For example, if a bucket is not accessible on the cloud object
storage server, the fileset is moved to the Unmounted state and the following log error is displayed:
When the bucket is accessible, AFM to cloud object storage tries the synchronization again. Similarly,
other states become valid with the AFM to cloud object storage fileset.
For more information about AFM fileset states, see Monitoring AFM and AFM DR in the IBM Storage Scale:
Problem Determination Guide.
140 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
automatically fetched into the cache. A higher value is suitable for a file that is accessed partially. When
the afmPrefetchThreshold value is set to 100, it disables prefetching an entire file. This value caches
only the data blocks that are read by an application. Also, large random-access files that do not fit in
the cache are not read completely. When all data blocks are available in the cache, the file is marked as
cached.
Note:
• The download or the prefetch feature fetches full objects from a cloud object storage though they are
partially cached previously. Prefetch of partially cached objects pulls the entire objects to the cache.
• Failover of partially cached objects pushes only the cached data blocks to the target. Uncached blocks
are filled with null bytes.
• Any writes queued on a partially cached object fetch the entire file, even if a prefetch threshold limit is
set on the object.
If a write operation is queued on a file that is partially cached, the entire file is cached first, and then the
write operation is queued on the file. Appending to a partially cached file does not cache the entire file.
Only in the LU mode, the write inset or append on a file that is cached partially caches the entire file even
if the prefetch threshold is set on the fileset.
Example
1. The objectbucket bucket is present on the cloud object storage with two objects as follows:
Name : object100M
Date : 2021-05-21 08:26:11 EDT
Size : 100 MiB
ETag : 0073370fd78dd34e5043d13ba515b5a2
Type : file
Metadata :
Content-Type: application/octet-stream
Name : object1G
Date : 2021-05-21 08:26:11 EDT
Size : 1000 MiB
ETag : b7faba1ddde52a27fb925858102db50b-8
Type : file
Metadata :
Content-Type: application/octet-stream
142 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Display Home Snapshots no
Parallel Read Chunk Size 0
Number of Gateway Flush Threads 4
Prefetch Threshold 100
Eviction Enabled yes (default)
Parallel Write Chunk Size 0
IO Flags 0x0 (default)
Note: The prefetch threshold is set to 100. That means only the read blocks are cached.
9. To check the objects on a cloud object storage, issue the ls command.
# ls -lash /gpfs/fs1/objectfileset/
total 259K
512 drwxrws--- 5 root root 4.0K May 21 08:34 .
256K drwxrwxrwx 9 root root 256K May 21 08:31 ..
0 -rwxrwxrwx 1 root root 100M May 21 2021 object100M
0 -rwxrwxrwx 1 root root 1000M May 21 2021 object1G
10+0 records in
10+0 records out
41943040 bytes (42 MB, 40 MiB) copied, 1.43027 s, 29.3 MB/s
100+0 records in
100+0 records out
419430400 bytes (419 MB, 400 MiB) copied, 14.129 s, 29.7 MB/s
11. Check the disk usage of these objects. They are the same as the data read by application or the dd
command.
# du -h /gpfs/fs1/objectfileset/object1G
400M /gpfs/fs1/objectfileset/object1G
# du -h /gpfs/fs1/objectfileset/object100M
40M /gpfs/fs1/objectfileset/object100M
2. For old AFM to cloud object storage file sets that are created in old version of the IBM Storage Scale,
use the mmchfileset command after you stop the file set and then start the file set.
144 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Display Home Snapshots no
Parallel Read Chunk Size 0
Number of Gateway Flush Threads 8
Prefetch Threshold 0 (default)
Eviction Enabled yes (default)
Parallel Write Chunk Size 0
IO Flags 0x48280000
(afmObjectXattr,afmObjectDirectoryObj,afmObjectACL,afmObjectFastReaddir)
IO Flags2 0x0
Node1] mmafmctl fs1 start -j fileset1
More than 2 K metadata is set on object object1 as shown in the following sample.
mmlsattr -L -d /gpfs/fs1/fileset1/object1
On the cloud object storage, it has object1 file in the bucket and its metadata that is stored in .afm/
object1 object.
Do ls on bucket fileset1 by using command-line interface similar to following sample.
Node1] ls aws1/pillai1/
Node1] ls aws1/pillai1/.afm
When reading or downloading an object, it reads the extended object from the .afm directory as
well and populates the right data and metadata.
Note: This mechanism uses extra storage space in addition to the storage used for an actual object
data on cloud object storage.
AFM to cloud object storage policy based upload for manual updates mode
AFM to cloud object storage now supports policy-based upload for manual updates (MU) mode.
A policy can be defined by system administrators and run by using the mmafmcosctl reconcile command
that helps automatic selection and upload of the files or objects to cloud object storage buckets. Earlier,
this task was done with manual intervention by using –object-list option from the upload command.
A policy rule is an SQL-like statement that directs mmafmcosctl reconcile command to upload data to
the cloud object storage based on criteria defined in the policy file.
Note: Based on policy, the mmafmcosctl reconcile command does not upload an empty directory or a
directory with objects that do not meet the policy criteria to cloud objects storage.
A policy rule specifies one or more conditions. When the conditions are true, the specific rule applies.
Conditions can be specified by SQL expressions, which can include SQL functions, variables, and file
attributes.
Few available file attributes are shown in the following list:
• File name or extension
146 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
• File size
• User ID and group ID
• Date and time when the file was last accessed
• Date and time when the file was last modified
Policy creation
As a system administrator you can define a policy for variety of matching options, here is the policy that
uploads all files and directories with matching name “IBM”.
Important: When policy is created, make sure that the LIST option must have prerequisite names that
are, "dirtyFiles" for files and "dirtyDirs" for directories.
Example
Manual updates mode fileset
Node1] ls -l /gpfs/fs1/mufileset/
total 0
-rw-r--r-- 1 root root 0 Apr 29 08:42 extrafile1
-rw-r--r-- 1 root root 0 Apr 29 08:42 extrafile2
-rw-r--r-- 1 root root 0 Apr 29 08:42 extrafile3
-rw-r--r-- 1 root root 0 Apr 29 08:42 extrafile4
-rw-r--r-- 1 root root 0 Apr 29 08:42 extrafile5
-rw-r--r-- 1 root root 0 Apr 29 08:41 file1
-rw-r--r-- 1 root root 0 Apr 29 08:41 file2
-rw-r--r-- 1 root root 0 Apr 29 08:41 file3
-rw-r--r-- 1 root root 0 Apr 29 08:41 file4
-rw-r--r-- 1 root root 0 Apr 29 08:41 file5
-rw-r--r-- 1 root root 0 Apr 29 08:42 IBM1
-rw-r--r-- 1 root root 0 Apr 29 08:42 IBM2
-rw-r--r-- 1 root root 0 Apr 29 08:42 oneIBM
-rw-r--r-- 1 root root 0 Apr 29 08:42 twoIBM
File match in name as IBM are transferred to cloud objects (seen by using cloud object shell):
148 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Support of Google cloud storage platform for AFM to cloud object storage
With Google Cloud Platform support, data can be synchronized between AFM, S3 object to Google Cloud
Platform storage.
AFM to cloud object storage fileset can be configured to use Google Cloud Storage (GCS) Platforms
backend object storage server by using -gcs parameter during creation of the AFM fileset. After a fileset
is created by using -gcs option, AFM access GCS backend storage server by using supported APIs. Here,
Google cloud storage APIs are different than the traditional S3 API.
After a fileset is configured with GCS, the fileset can only be used for GCS backend server. AFM internally
determines which API to use for communicating to the target cloud object storage server for all the
communications.
All the modes and operations are supported by the Google Cloud Object Storage server backend.
Note:
• While you use Google Cloud Storage platform server as backend cloud object storage server, AFM is
unable to create new bucket. User with an administrator privilege must create bucket at the object
storage server before user creates AFM to cloud object storage fileset. This preceding limitation only
exists with the GCS backend and not with other supported cloud object storage server.
• Failover of AFM to cloud object storage fileset that is configured by using -gcs option cannot be failover
to another backend.
Symbolic links
Active File Management (AFM) to cloud object storage supports symbolic links, which are also called
symlinks.
When symlinks are created on an AFM to cloud object storage cache fileset, the relationship between
the symlink file and the target file is maintained and the files are uploaded to the bucket. The symlinks
relationship is maintained only if they are created in an AFM to cloud object storage fileset. If the symlinks
relationship is not created in the AFM to cloud object fileset, it is not maintained.
The eviction of symlinks is not supported. AFM to cloud object storage does not follow the symlink to
evict an original file. The eviction might throw an error while processing a symlink file and the next file is
processed.
Replication by using the manual updates mode of the AFM to cloud object
storage
IBM Storage Scale provides a powerful solution for managing large-scale file systems across multiple
nodes and sites. The replication at the file system level by using the AFM to cloud object storage provides
a reliable and efficient solution for replicating or tiering data from a file system to a cloud-based object
storage system.
The IBM Storage Scale file system level replication by using the AFM to cloud object storage in the manual
updates mode gives you control over the replication process and you can replicate data from an IBM
Storage Scale file system to a cloud object storage manually and automatically by using reconcile policies.
For more about information reconciliation, see the Reconciling files between IBM Storage Scale file system
and cloud storage tier in the IBM Storage Scale: Administration Guide.
This feature supports the following use cases:
• Backup and recovery: By replicating data from a file system to a cloud object storage, you can create a
backup copy of critical data. In the manual update mode, you have the flexibility to schedule replication
based on your backup strategy. This ensures that your data is protected and can be restored in the
event of a disaster.
• Data archival and retention: Storing data for long-term archival and compliance purposes is essential
for many organizations. By using the manual updates mode of the AFM to cloud object storage of the
replication, you can periodically replicate data to a cloud object storage by ensuring its preservation
Table 10. Parameters for the replication of a new file system by using the AFM to cloud object storage
manual updates mode
Parameter Description
afmObjectXattr Specifies user-extended attributes to be synchronized with a cloud object storage.
If this option is skipped, the AFM to cloud object storage does not synchronize user-
extended attributes with the cloud object storage.
afmObjectDirect AFM to cloud object storage supports directory objects. All directories with and
oryObj without objects can now be synchronized to the cloud object storage. You can now
set extended attributes on directories with the directory object support.
afmObjectACL Enables the cache to synchronize ACL to the cloud object storage server. If not
specified, AFM will not synchronize ACLs to cloud object storage. Default is disabled
ACL synchronization.
afmObjectFastR Improves the read-dir performance of an AFM to cloud object storage fileset by
eaddir skipping synchronization of extended attributes and ACLs of an object between a
cloud object storage server and a cache fileset. When this option is set, deleted
objects on the cloud object storage server will not be reflected immediately on the
cache fileset.
This option shall not be used with the afmObjectXattr option.
afmObjectSSL Specifies SSL certificate verification. This option is valid only with HTTPS. Default
value of this parameter is disabled.
150 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Table 10. Parameters for the replication of a new file system by using the AFM to cloud object storage
manual updates mode (continued)
Parameter Description
afmObjectGCS This parameter is used for Google cloud object storage backend. Enabling this
parameter makes AFM to cloud object storage compatible with the list operations
used by the Google cloud object.
For more information about these parameters, see the mmchfileset command in the IBM Storage Scale:
Command and Programming Reference Guide.
Microsoft Azure Blob support for the AFM to cloud object storage
AFM to cloud object storage feature enables placement of files or objects in an IBM Storage Scale cluster
to a cloud object storage, which supports Microsoft Azure Blob storage from IBM Storage Scale 5.1.9.
AFM to cloud object storage allows associating an IBM Storage Scale fileset directly with Microsoft Azure
Blob containers that are created under the Microsoft Azure Blob storage accounts.
Application interface uses an AFM fileset of a preferable mode that connects to a Microsoft Azure
Blob storage container. In the background, data is seamlessly transferred through AFM between these
filesets and Microsoft Azure Blob containers, which ensures high-performance and robust support for
object applications. Object applications can extend their reach across both AFM-connected cloud object
storage filesets and cloud object storage itself. Additionally, both the fileset and cloud object storage offer
dependable backup solutions for critical data.
To enable this feature, see the Configuring an AFM to cloud object storage fileset with Microsoft Azure
Blob section in the IBM Storage Scale: Administration Guide.
The limitations of the replication at the file system level by using the manual
updates mode
• Automatic eviction is not supported. Manual eviction can be run by using the mmafmcosctl command.
• After the file system level replication is AFM disabled (mmchfileset fsname root -p
afmtarget=disable), AFM cannot be enabled on it. Refer the Disabling AFM section for more details.
• After the replication is enabled at the file system level, AFM filesets must not be created and linked in
this file system.
• The replication process does not migrate any file system-specific parameters from an old system to a
new system. For example,
– Quotas
– Snapshots
– File system-level tuning parameters
– Policies
– Fileset definitions
– Encryption keys
152 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
• AFM filesets that are linked in a file system must be disabled before you convert the file system to AFM
to cloud object storage replication.
System Health
In IBM Storage Scale, system health monitoring is performed by the Sysmonitor daemon. The
Sysmonitor daemon monitors all critical aspects of the entire cluster, where IBM Storage Scale is used,
to ensure that potential issues are detected as soon as possible. Sysmonitor daemon does hundreds of
checks on the relevant cluster nodes and raises RAS events. Based on these event checks, it informs the
user whether anything is not working as expected and also provides guidance to solve existing problems.
You can configure IBM Storage Scale to raise events when certain thresholds are reached. As soon as
one of the metric values exceeds or drops beyond a threshold limit, the Sysmonitor daemon receives an
event notification from the monitoring process. The Sysmonitor daemon then generates a log event and
updates the health status of the corresponding component. For more information about event type and
health status, see Event type and monitoring status for system health in the IBM Storage Scale: Problem
Determination Guide.
Every component has certain events that are defined for it. The mmhealth node eventlog command
gives an overview of the happenings across all components on the local node that is sorted by time.
For more information, see System health monitoring use cases in the IBM Storage Scale: Problem
Determination Guide. The user can also create and raise custom health events in IBM Storage Scale.
For more information, see Creating, raising, and finding custom defined events in the IBM Storage Scale:
Problem Determination Guide.
The mmhealth node show command displays the results of the health monitoring of the node and its
services, which run in the background. The role of a node in monitoring determines the components that
need to be monitored. For many IBM Storage Scale components, separate categories exist in the output
of the mmhealth node show command. For example, the typical components that are presented on a
node are GPFS, network, file system, disk, and Perfmon. For a complete list of supported components,
see Monitoring the health of a node in the IBM Storage Scale: Problem Determination Guide.
For these services, the mmhealth node show <service> command displays the results of the health
monitoring, aggregated health state of a service, and recent active events for this service. This view also
can be used to get more details about the particular health states of a service subcomponent by using the
--verbose option. For more information about node role and functions, see Monitoring the health of a
node in the IBM Storage Scale: Problem Determination Guide.
You can also use the mmhealth cluster show command to see an overview of the health monitoring
for the complete cluster.
You can use the mmhealth command to do the following tasks:
• View the health of a node or cluster.
• View current events, and get tips for a better system configuration.
• View details of any raised event.
• Browse event history.
• Manage performance thresholds.
• Configure monitoring intervals.
For more information, see mmhealth command in the IBM Storage Scale: Command and Programming
Reference Guide.
Troubleshooting
Despite all the functions that are meant to maintain your system's health, you might still face some issues
with your storage clusters. To start the troubleshooting process, collect details of the issues reported in
the system.
IBM Storage Scale provides the following options for collecting details:
• Logs
• Dumps
• Traces
• Diagnostic data collection through CLI.
Note: For more information, see CLI commands for collecting issue details in the IBM Storage Scale:
Problem Determination Guide.
• Diagnostic data collection through GUI
For more information, see Troubleshooting in the IBM Storage Scale: Problem Determination Guide.
To diagnose the cause of an issue, it might be necessary to gather some extra information from the
cluster. This information can then be used to determine the root cause of an issue. Collection of
debugging information, such as configuration files and logs can be gathered by using the gpfs.snap
command. This command gathers data about GPFS, operating system information, and information for
each of the protocols. For more information, see gpfs.snap command in the IBM Storage Scale: Command
and Programming Reference Guide.
For more high-level analysis of an issue, you can also use the tracing feature. Tracing is logging at a high
level. For more information, see Collecting details of issues by using logs, dumps, and traces in the IBM
Storage Scale: Problem Determination Guide.
154 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
The sensors first receive the data for one point in time and then parse the data into a format that is
understood by the collector. The sensors then send the data directly to the collector. Queries are used
by the customer or other applications to see and further use the time series data. A single collector can
easily support up to 150 sensor nodes. The Performance Monitoring tool can be configured with multiple
collectors to increase scalability and fault-tolerance. This latter configuration is referred to as federation.
In a multi-collector federated configuration, collectors must be aware of their peers to work properly.
All collectors that are part of the federation must be specified in the peer configuration option in the
collector’s configuration file.
You can use the mmperfmon command to configure the Performance Monitoring tool and its components
to set up metrics, run queries, and compare node metrics. For more information, see mmperfmon
command in the IBM Storage Scale: Command and Programming Reference Guide.
The Performance Monitoring tool monitors the system on a per-component basis. A list of all supported
components and metrics can be found in the List of performance metrics in the IBM Storage Scale:
Problem Determination Guide.
A file system or disk can have several items of this kind that are called entities in the system. The
monitoring of such a component is broken down to the monitoring of the individual file systems or disks.
All the information that is collected by the Performance Monitoring tool can be viewed by using one of the
following options:
IBM Storage Scale GUI
A fully customizable dashboard that provides hard-wired performance charts in detail views.
mmperfmon query
A CLI command to query performance data.
Grafana bridge
An open source monitoring dashboard.
REST API to query performance data
The APIs to query and chart the performance data by user-defined dashboard software.
All the performance metrics data that is collected by the Performance Monitoring tool can be monitored
by using threshold monitoring. Threshold monitoring is a service that helps the user to identify
performance issues by defining threshold rules for selected performance metrics. An IBM Storage Scale
user can set user-defined thresholds on any performance metric. For more information, see Threshold
Monitoring for system health in the IBM Storage Scale: Problem Determination Guide.
While troubleshooting, you can also find more detailed information about the performance monitoring
by viewing the perfmon tool logs. The performance monitoring tool logs can be found in the /var/log/
zimon directory on each node that is configured for performance monitoring. For more information, see
Performance monitoring tools logs in the IBM Storage Scale: Problem Determination Guide.
Restoring data
The system can restore the data if it becomes corrupted due to user errors, hardware failure, and loss or
even if the data gets corrupted due to bugs in other application software. For more information on how
to restore system data, see Restoring data and system configuration in the IBM Storage Scale: Problem
Determination Guide.
156 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
information on data mirroring and replication, see Data mirroring and replication in the IBM Storage Scale:
Administration Guide.
158 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
• Configuring user authentication for NFS and SMB users.
The following table provides an overview of the features that are associated with each GUI page.
Table 11. Features associated with IBM Storage Scale GUI pages
GUI Page Function
Home Provides an overall summary of the IBM
Storage Scale system configuration, status of its
components, and services that are hosted on it.
Monitoring > Dashboards Provides a dashboard to display the predefined
performance charts and the customized charts that
are marked as favorite charts in the Monitoring >
Statistics page.
Monitoring > Events Monitor and troubleshoot the issues that are
reported in the system.
Monitoring > Tips Monitor events of type "tips". The tip events give
recommendations to the user to avoid certain
issues that might occur in the future.
Monitoring > Statistics View performance and capacity data in
customizable charts.
Monitoring > Thresholds Configure various thresholds based on the
performance monitoring metrics. You can also
monitor the threshold rules and the events that are
associated with each rule.
Monitoring > Command Audit Log Logs the commands that are issued and tasks that
are completed by the users and administrators.
These logs can also be used to troubleshoot issues
that are reported in the system.
Monitoring > Event Notifications Configure event notifications to notify
administrators when events occur in the system.
Nodes Monitor the performance and health status of the
nodes that are configured in the cluster. You can
also create and manage user-defined node classes
from the Nodes page.
Cluster > Network Monitor the performance and health status of
various types of networks and network adapters.
Cluster > Remote Connections Request access to the GUI node of the remote
cluster to establish communication between the
local and remote clusters. You can also use the
Remote Connections page to grant access to
the remote clusters when an access request is
received.
Files > File Systems Create, view, and manage file systems.
Files > Filesets Create, view, and manage filesets.
Files > Snapshots Create snapshots or snapshot rules to automate
snapshot creation and retention.
Files > User Capacity Monitor the capacity details of users and user
groups.
160 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Table 11. Features associated with IBM Storage Scale GUI pages (continued)
GUI Page Function
Services Monitor and manage various services that are
hosted on the system.
Support > Diagnostic Data Download diagnostic data to troubleshoot the
issues that are reported in the system.
Support > Call Home Configure call home feature that automatically
notifies the IBM Support personnel about the
issues that are reported in the system. You can
also manually upload diagnostic data files and
associate them with a PMR through the GUI.
Note: After installing the system and GUI package, you need to create the first GUI user to log in
to the GUI. This user can create other GUI administrative users to perform system management and
monitoring tasks. When you launch the GUI for the first time after the installation, the GUI welcome page
provides options to create the first GUI user from the command line prompt by using the /usr/lpp/
mmfs/gui/cli/mkuser <user_name> -g SecurityAdmin command.
The IBM Storage Scale management API has the following features:
• Reuses the GUI deployment's backend infrastructure, which makes the introduction of new API
commands easier.
• Uses the same role-based access feature that is available to authenticate and authorize the GUI users.
No additional configuration is necessary for the API users. However, access to individual REST APIs
might be defined at the user group-level with the help of access control lists (ACLs). Users belonging to
the specific user group can access the REST APIs based on the privileges that are defined within those
ACLs. Every ACL is distinct for a user group. That is, user privileges for individual REST APIs vary for
different user groups.
• Makes deployment easier as the GUI installation takes care of the basic deployment.
• Fixes scalability issues and introduces new features such as, filter and field parameters and it supports
paging.
• Highly scalable and can support large clusters with up to 1000 nodes.
• The APIs are driven by the same WebSphere® server and object cache that is used by the IBM Storage
Scale GUI.
162 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Functional overview
The IBM Storage Scale management API is a REST-style API that provides interoperability between a
client and server over a network. These APIs allow authenticated users to manage day-to-day storage
tasks.
The following list provides the salient features of the REST-style APIs:
• Resource-based
• Stateless
• Client/server
• Cacheable
• Layered system
REST is a resource-based service system in which requests are made to the resource’s Universal
resources identifier (URI). The request invokes a response from the resource in the JSON format. An
IBM Storage Scale management API resource is a collection of all the objects of the same type in a cluster,
such as all the filesets. A resource element is an instance of a resource, such as a particular fileset named
fileset1. In a REST API request, a resource or a resource followed by a resource element appears as the
last term in the request, except for any trailing HTTPS parameters. The following example request ends
with a resource, filesets. It indicates that this operation affects all the filesets that are part of a file
system named gpfs0:
https://198.51.100.1:443/scalemgmt/v2/filesystems/gpfs0/filesets
In contrast, the following example ends with a resource that is followed by a resource element
filesets/fileset1. It indicates an operation that affects this particular fileset, such as creating or
deleting the fileset:
https://198.51.100.1:443/scalemgmt/v2/filesystems/gpfs0/filesets/fileset1
The kind of operations that can be performed on the resources or a resource element are directed by the
HTTP methods, such as GET, POST, PUT, DELETE. In some cases, the parameters in the HTTPS request
also direct the operations. The following list provides the meanings of the basic HTTP methods that are
used in the requests:
• GET - Reads a specific resource or a collection of resources and provides the details as the response.
• PUT - Updates a specific resource or a collection of resources.
• DELETE - Removes or deletes a specific resource.
• POST - Creates a resource.
API requests
API requests include a URL and in some cases HTTP parameters or JSON data.
where
IP address or host name:port
Specifies the IP address or hostname and the port of the IBM Storage Scale management API server,
which is IBM Storage Scale GUI server.
/scalemgmt/v2
Specifies the path of the API server. This path is not configurable; it must be /scalemgmt/v2.
'https://198.51.100.1:443/scalemgmt/v2/filesystems/nodes
In contrast, an API request that ends with a resource element that follows the resource type, indicates a
request that affects only the specified resource element. For example, the following HTTP request, sent
with a GET method, returns information about the specified node, node1.
'https://198.51.100.1:443/scalemgmt/v2/filesystems/nodes/node1
Also, some API requests require input parameters to be included in the body of the HTTP request in
JSON format. For example, the following request creates a new snapshot in a file system. The JSON data
specifies the name of the file system and the name of the new fileset:
164 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Table 13. Creating a snapshot
Request method POST
URL https://198.51.100.1:443/scalemgmt/v2/filesystems/gpfs0/
snapshots
JSON data
{
"snapshotName":"snap1"
}
Request headers
The following headers are needed for requests.
Fields parameter
The field parameter can be used to specify the fields of the returned object by adding the query
parameter "?fields" to a GET URL. For example, ?fields=field1,field2,parentField1.field1.
You can use certain keywords to get the expected results in the response. The following list provides the
basic keywords that can be used with the fields parameter:
':none:'
Returns only the fields that are mandatory to uniquely identify an object. For example,
filesystemName and filesetName for a fileset. Use this keyword for queries that return more than
one object. It indicates that only the keys that are needed to retrieve the full object are returned.
':all:'
Returns all fields. Use this keyword in queries to a single object.
Apart from these keywords, you can also use the following options to customize the response by using the
fields parameter:
• Use the field name "." to query fields that are wrapped in a parent object.
For example, use ?fields=config.iamMode to query for "iamMode" in the following object.
"config" : {
"iamMode" : "off"
}
• Use parent name to query for all fields of a parent. For example, ?fields=config,afm includes all
fields of the parent objects "config" and "afm"
• Multiple fields can be separated by using ",". For example, ?fields=config.iamMode,status.id
Examples
The following examples display the use of various keywords in the fields parameter.
1. curl -k -u admin:admin001 -X GET --header 'accept:application/
json' 'https://198.51.100.1:443/scalemgmt/v2/filesystems/gpfs0/filesets?
fields=:all:' . This GET call returns the following response:
{
"status": {
"code": "200",
"message": "..."
},
"paging": {
"next": "https://localhost:443/scalemgmt/v2/filesystems/gpfs0/filesets?lastId=1001"
},
"filesets": [
{
2. GET /filesystems/gpfs0/filesets - The default keyword :none: is used in the GET request and this call
returns only the key fields as shown in the following example.
{
"filesets": [
{
"config": {
"filesetName": "(fs1)",
"filesystemName": "gpfs0"
},
"links": {
"self": "https://198.51.100.1:8191/scalemgmt/v2/filesystems/gpfs0/filesets/fs1"
}
},
{
"config": {
"filesetName": "afmFset1",
"filesystemName": "gpfs0"
},
"links": {
"self": "https://198.51.100.1:8191/scalemgmt/v2/filesystems/gpfs0/filesets/afmFset1"
}
}
]
"status": {
"code": 0,
"message": ""
}
}
{
"filesets": [
{
"config": {
166 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
"filesetName": "(fs1)",
"filesystemName": "gpfs0"
},
"links": {
"self": "https://198.51.100.1:8191/scalemgmt/v2/filesystems/gpfs0/filesets/fs1"
},
"state": {
"id": 1,
"rootInode": "latest",
}
},
{
"config": {
"filesetName": "afmFset1",
"filesystemName": "gpfs0"
},
"links": {
"self": "https://198.51.100.1:8191/scalemgmt/v2/filesystems/gpfs0/filesets/afmFset1"
},
"state": {
"id": 2,
"rootInode": 50692
}
}
]
"status": {
"code": 0,
"message": ""
}
}
Filter parameter
Use the filter parameter to filter the retrieved objects. For example, all filesets with ID less than 2 can
be retrieved by using ?filter=status.id<2. The fields that are used in the filter parameter are always
added to the result set and therefore they do not have to be specified by using the field parameter.
Filters can be concatenated by using ",".
The following list provides the supported operators for different field types:
String
"=", "!=" using a regular expression as the value is supported. For example, ?
filter=config.filesetName=' ' 'fs.*' ' '.
Numeric
"=", "!=", " < ", " >". For example, ?filter=status.id<2.
Boolean
"=", "!=" by using "true" or "false" as the value. For example, ?
filter=config.isIndependent=false.
The following examples show how to use filter parameter in a request:
API responses
API responses provide a response code from the IBM Storage Scale management API server and a return
code and a non-mandatory return message from IBM Storage Scale.
"status": {
"message": "",
"code": 200
},
A response code from the IBM Storage Scale management API server describes the result of the API
request. The following table lists the response codes.
Table 14. Response codes. A four-column table that describes the response codes.
Description Code Client retry Return code
Success 20x None 200 - Success (GET or PUT).
201 - New resource created (POST).
202 - Request accepted (long running command).
204 - No content (DELETE).
Client error 4xx No, the command 400 - Invalid request (format error in request data)
continues to fail. 401 - Unauthorized request (wrong credentials).
403 - Resource not accessible.
404 - Resource not found (wrong URL).
405 - Method that is not supported for this resource.
Server error 5xx Yes, in most cases 500 - Internal server error, retry (system problem)
503 - Service not available (the server is busy with
other requests or is down)
168 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
parenthesis [ ] indicate an array. The following example contains an array that is named cesaddresses
that contains two elements, each of which describes one CES address.
{
"cesaddresses": [
{
"cesNode": 1,
"attributes": "",
"cesAddress": "198.51.100.10",
"cesGroup": "",
}
},
{
"cesNode": 2,
"attributes": "",
"cesAddress": "198.51.100.14",
"cesGroup": "",
}
}
]
"status": {
"message": "",
"code": 200
}
}
Response headers
The same header types appear in all responses from the REST API server. The content type must be
application/json. The following set of response headers is typical:
{
HTTP/1.1 200 OK
X-Frame-Options: SAMEORIGIN
Content-Type: application/json
Content-Language: en-US
Content-Length: 210
Set-Cookie:
LtpaToken2=yyYwMkAHceggOe74hZhsqf5iCU9r2nl9QBGO9nH7uPm3Mt/vpQfVEHuhwRIWKfq1fi1t8EVn6sZJx7
+6EpVvUqxqs9PdmIXX28DzU/wwQFxGIMA5a2AuNAFYmZ7lFWqYEEhWq5tx0oQMBHQOL7AbkyR6TUq+F1wzvuZnTe1
cwu0AYmwZr6WrWdLDj8ZMJ22k95s2PmLbmNMsuSEeSbUFmc1nZdYueieRBgL7QgokS9Ol4lX2gN8YSwWxxljfzCwsed
MsdYvhawLhYJNA3IkOFnFVJpeopLP4EQtcSdMPXzpX+AQHn/0XQdd6iaWfHppt;
Path=/; HttpOnly
Set-Cookie: JSESSIONID=0000SRpFCu8e03i3WXhDyJS2qnn:8bf7532d-fb68-4d4b-90fc-4aa4e3deefd5;
Path=/; Secure; HttpOnly
Date: Thu, 16 Feb 2017 15:14:52 GMT
Expires: Thu, 01 Dec 1994 16:00:00 GMT
Cache-Control: no-cache="set-cookie, set-cookie2"
}
Paging
Paging happens on the response data if more than 1000 objects are returned by the query to avoid server
overload. Every response object contains an object that is called "paging", which contains a link that can
then be used to retrieve the next set of objects, if available.
The URL to retrieve the next page can then be found under “paging”→ “next” as shown in the following
example:
Asynchronous jobs
All POST, PUT, and DELETE requests always run asynchronously and a job object is returned in the
response data. The returned job ID can then be used to retrieve the status of a job by using the GET /
scalemgmt/v2/jobs/{jobId} endpoint.
The following example shows how to get information about the job 12345.
Request URL:
Response data:
{
"status": {
"code": "200",
"message": "..."
},
"paging": {
"next": "https://localhost:443/scalemgmt/v2/filesystems/gpfs0/filesets?lastId=1001"
},
"jobs": [
{
"result": {
"commands": "[''mmcrfileset gpfs0 restfs1001'', ...]",
"progress": "[''(2/3) Linking fileset'']",
"exitCode": "0",
"stderr": "[''EFSSG0740C There are not enough resources available to create
a new independent file set.'', ...]",
"stdout": "[''EFSSG4172I The file set {0} must be independent.'', ...]"
},
"request": {
"type": "GET",
"url": "/scalemgmt/v2/filesystems/gpfs0/filesets",
"data": "{\"config\":{\"filesetName\":\"restfs1001\",\"owner\":\"root\",\"path\":
\"/mnt/gpfs0/rest1001\",\"permissions\":\"555\"}"
},
"jobId": "12345",
"submitted": "2016-11-14 10.35.56",
"completed": "2016-11-14 10.35.56",
"status": "COMPLETED"
}
]
}
Note: In the JSON data that is returned, the return code indicates whether the command is successful.
The response code 200 indicates that the command successfully retrieved the information. Error code
400 represents an invalid request and 500 represents an internal server error.
The following endpoints are available to monitor or delete a job:
• GET /jobs: Get details of asynchronous jobs.
• GET /jobs/{jobId}: Get details of a specific asynchronous job.
• DELETE /jobs/{jobId}: Cancel an asynchronous job that is running.
170 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Accessing the IBM Storage Scale REST API endpoint details through
Swagger and API explorer
You can access the details of the API endpoints through the following three options:
• Swagger editor.
• API explorer option that is available on the GUI node.
• IBM Storage Scale Scale Documentation.
The Swagger option is widely used because you can view the descriptions, run the API endpoints with the
required parameters, and generate client code.
Figure 19. Option to download API description files in JSON format from the GUI node
2. Click Save and save the description file in the JSON format.
Note: If you are using Chrome or Microsoft Edge, you must right-click the browser page and select
Save as from the menu that appears to save your file in the JSON format.
3. Go to http://editor.swagger.io/ to open the Swagger editor in the web browser.
4. In the File menu, select Import file and then browse and select the JSON file that you downloaded.
You can now see the content of the description file on the left side and the generated documentation
on the right side as shown in the following figure:
172 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Figure 21. Example for options that are available in the Swagger editor for each endpoint
4. Type the name of the service for which you need the details, in the Parameters section. In this
example, SMB is selected as the target service.
5. Click Execute to view the details of the specified service.
The Responses section displays the following details:
• Curl command that is run in the background. For example, curl -X GET "http://
198.51.100.12:1000/scalemgmt/v2/ces/services/smb" -H "accept: application/
json" -H "authorization: Basic YWRtaW46YWRtaW4wMDE=
• Request URL. In this case, it is http://198.51.100.12:1000/scalemgmt/v2/ces/
services/smb
• Response data: The response data includes the status of the request and the requested data in a GET
request.
Accessing API details from GUI node by using the API explorer
To display a swagger-like documentation, you can access the following page in your browser:
https://[guiHost]:443/api/explorer/
Where, [guiHost] is the host name or IP address of the IBM Storage Scale GUI server.
The options that are available to view the endpoint details or try it out, are the same as the ones that are
available in the Swagger editor. When you use the API explorer that is available on the GUI node, you do
not need to separately import the JSON file that contains the API endpoint descriptions.
Table 15. Operations supported for resources and resource elements in API endpoints
Resource Operation Resource/{element} Method
type
CES Get information about CES addresses. /ces/addresses GET
addresses
Get information about a CES address. /ces/addresses/{cesAddress} GET
CES Get information about CES services. ces/services GET
services
Get information about a CES service. /ces/services/{service} GET
Cluster Get information about the current cluster. /cluster GET
174 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Table 15. Operations supported for resources and resource elements in API endpoints (continued)
Resource Operation Resource/{element} Method
type
GPFS snap List the GPFS snap files containing the /diagnostic/snap GET
diagnostic data that is collected by the
gpfs.snap command.
Create a GPFS snap file. /diagnostic/snap POST
Download the specific snap file that /diagnostic/snap/{snapPath} GET
comprises the diagnostic data to
troubleshoot issues in the system.
Upload a snap file to a PMR. /diagnostic/snap/ PUT
{snapPath}/pmr/{pmrID}
Delete the snap file that contains the diagnostic/snap/{snapPath} DELETE
diagnostic data that is collected by the
gpfs.snap command.
CLI audit Gets details of the CLI commands that are /cliauditlog GET
log issued on the cluster.
Config Get the current configuration attributes. /config GET
File Get information about file systems in the /filesystems GET
systems cluster.
Get information about a file system. /filesystems/{filesystemName} GET
Resume a file system. filesystems/{filesystemName}/ PUT
resume
Suspend a file system. /filesystems/{filesystemName}/ PUT
suspend
Unmount a file system. /filesystems/{filesystemName}/ PUT
unmount
ACLs Get access control list of a file or directory /filesystems/ GET
in a file system. {filesystemName}/acl/{path}
Set an access control list for a file or /filesystems/ PUT
directory in a file system. {filesystemName}/acl/{path}
Get the list of all REST API access control /access/acls GET
lists (ACL).
Get the list of the REST API access control /access/acls/{userGroup} GET
lists (ACL) defined for a user group.
Delete all the REST API access control /access/acls/{userGroup} DELETE
lists (ACL) that is defined for a user group.
Delete a specified REST API access /access/acls/{userGroup}/entry/ DELETE
control lists (ACL) entry that is defined for {entryID}
a user group.
Copy a REST API ACL entry from an /access/acls/{userGroup} POST
existing group and overwrite the entries
that are defined for the specified group.
Add a REST API access control list (ACL) /access/acls/{userGroup} PUT
entry for a user group.
176 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Table 15. Operations supported for resources and resource elements in API endpoints (continued)
Resource Operation Resource/{element} Method
type
Quotas Get information about quota defined at /filesystems/{filesystemName}/ GET
the fileset level. filesets/{filesetName}/quotas
Set quota limits at the fileset level. /filesystems/{filesystemName}/ POST
filesets/{filesetName}/quotas
Get information about quota defined at /filesystems/{filesystemName}/ GET
the file system level. quotas
Set quota limits at the file system level. /filesystems/{filesystemName}/ POST
quotas
List quota defaults in a cluster. /filesystems/{filesystemName}/ GET
filesets/{filesetName}/
quotadefaults
Set the quota defaults USR, GRP, or /filesystems/{filesystemName}/ POST
FILESET for a file system. filesets/{filesetName}/
quotadefaults
Enable/disable the quota defaults for a /filesystems/{filesystemName}/ PUT
fileset. filesets/{filesetName}/
quotadefaults
List quota defaults in the cluster. /filesystems/{filesystemName}/ GET
quotagracedefaults
Set the default quota for user, group, and /filesystems/{filesystemName}/ POST
fileset of a file system. quotagracedefaults
Enable or disable the quota management /filesystems/{filesystemName}/ PUT
for a file system. quotamanagement
Cloud Create a Cloud Object Store fileset. /filesystems/{filesystemName}/ POST
Object filesets/cos
Store
Create a Cloud Object Store-related /filesystems/{filesystemName}/ POST
directory in a fileset. filesets/{filesetName}/cos/
directory
Download files from Cloud Object Store. /filesystems/{filesystemName}/ POST
filesets/{filesetName}/cos/
download
Evict files from object store. /filesystems/{filesystemName}/ POST
filesets/{filesetName}/cos/evict
Upload files to the object store. /filesystems/{filesystemName}/ POST
filesets/{filesetName}/cos/
upload
Owner Get details of the owner of the file or /filesystems/{filesystemName}/ GET
directory in a file system. owner/{path}
Set owner of the file or directory in a file /filesystems/{filesystemName}/ PUT
system. owner/{path}
178 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Table 15. Operations supported for resources and resource elements in API endpoints (continued)
Resource Operation Resource/{element} Method
type
Node class Get details of the node classes. /nodeclasses GET
Create a node class. /nodeclasses POST
Delete a specific node class. /nodeclasses/{nodeclassName} DELETE
Get details of a specific node class. /nodeclasses/{nodeclassName} GET
Make changed to a specific node class. /nodeclasses/{nodeclassName} PUT
Symlink Remove a symlink from a GPFS file /filesystems/{filesystemName}/ DELETE
system. symlink/{path}
Create a symlink for a path from a GPFS /filesystems/{filesystemName}/ POST
file system. symlink/{linkPath}
Services Gets the details of the services that are /nodes/{name}/services GET
configured on a node.
Gets the details of a specific service that /nodes/{name}/services/ GET
is configured on a node. {serviceName}
Starts or stops a service on a node or /nodes/{name}/services/ PUT
node class. {serviceName}
NSDs Gets information about NSDs that are part /nsds GET
of the system.
Gets information about an NSD. /nsds/{nsdName} GET
180 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Table 15. Operations supported for resources and resource elements in API endpoints (continued)
Resource Operation Resource/{element} Method
type
SMB shares Get information about SMB shares. smb/shares GET
Get information about an SMB share. /smb/shares/{shareName} GET
Create an SMB share. /smb/shares POST
Modify an existing SMB share. /smb/shares/{shareName} PUT
Delete an SMB share. /smb/shares/{shareName} DELETE
Delete complete access control list of an /smb/shares/{shareName}/acl DELETE
SMB share.
Get access control list of share. /scalemgmt/v2/smb/shares/ GET
{shareName}/acl
Delete an entry from the access control /smb/shares/{shareName}/acl/ DELETE
list of a SMB share. {name}
Get access control list entry of a specific /smb/shares/{shareName}/acl/ GET
user/group/system of share. {name}
Adds an entry to the access control list of /smb/shares/{shareName}/acl/ PUT
an SMB share. {name}
Performanc Get performance data. /perfmon/data GET
e
monitoring Gets the sensor configuration. /perfmon/sensor GET
Gets details about a specific sensor /perfmon/sensor/{sensorName} GET
configuration.
Modifies the sensor configuration. /perfmon/sensor/{sensorName} PUT
Run a custom query for performance /perfmon/stats GET
data.
Thresholds Get list of threshold rules. /thresholds GET
Create a threshold rule. /thresholds POST
Delete an existing threshold rule. /thresholds/{name} DELETE
Get details of a threshold rule. thresholds/{name} GET
For more information about the commands, see REST API commands in the IBM Storage Scale:
Command and Programming Reference Guide.
Cloud services
Transparent cloud tiering is a feature of IBM Storage Scale that provides a native cloud storage tier.
Cloud services have the following two components:
• Transparent cloud tiering
• Cloud data sharing
Transparent cloud tiering allows data center administrators to free up IBM Storage Scale storage capacity,
by moving out cooler data to the cloud storage, reducing capital and operational expenditures. Tiering
can also be used to archive an extra copy of your data by using pre-migration, a function that copies
data rather than moving it. The Transparent cloud tiering feature leverages the existing ILM policy query
language semantics available in IBM Storage Scale, and administrators can define policies to tier data
Figure 22. Transparent cloud tiering and Cloud data sharing features
Note:
• For performance reasons, the median file size to be migrated to the cloud tier must be greater than
1 MB. Migration is supported for file size less than one MB, but performance is slower because of the
overhead that is associated with small files.
182 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
• For Transparent cloud tiering, data on the Cloud Object Storage is opaque and cannot be accessed
directly by applications. All I/O operations must happen through your IBM Storage Scale system.
• Transparent cloud tiering works with IBM Storage Scale on multi-site stretch clusters to allow continued
access to cloud storage data even if failure of an entire site.
• For applications that require tiering of data that scales beyond 100 million files per file system, you
can create extra containers on cloud storage to hold your files. For applications that require more I/O
bandwidth than a single maximum node group (four nodes) is capable of, you can create extra node
groups.
Note: You must create a new container when the existing container has approximately 100,000,000
files.
Unsupported use cases
Transparent cloud tiering does not support the following use cases:
• Using Transparent cloud tiering to migrate or recall hot (active) data.
• Using Transparent cloud tiering as a backup mechanism.
• Using Transparent cloud tiering to restore data in disaster recovery scenarios.
Note: IBM Storage Protect cloud-container storage pools can be used to back up data to cloud
storage providers.
Note: To enable Cloud services nodes, you must first enable the Transparent cloud tiering feature. This
feature provides a new level of storage tiering capability to IBM Storage Scale customers. Contact your
IBM Client Technical Specialist (or send an email to mailto:[email protected]) to review your use case
of the Transparent cloud tiering feature and to obtain the instructions to enable the feature in your
environment.
184 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Figure 23. Exporting file system data to a cloud storage tier
You can use the Cloud data sharing service to export data to the cloud. Data can be exported manually,
but typically it is done leveraging the ILM Policy Manager that comes with IBM Storage Scale. When data
transfer requests are generated, they are distributed evenly between all nodes in the Cloud services node
group providing the Cloud data sharing service.
Also, optionally as a part of the export request, a list of what was sent is also put in a manifest file that
can be used to track what was exported. Export is very flexible because for each command the target
container can be specified. Any container accessible by the given cloud account can be used. For each
export command, you can also specify the target manifest file. The manifest file is not automatically
stored in the cloud storage but rather remains stored within the Cloud data sharing service. The manifest
is exported on demand to the desired target location.
How importing object storage data into the IBM Storage Scale file system works
You can import data directly by providing a list of objects to be imported in the command itself or by
providing a pointer to a manifest that contains the list of objects to be imported. The files are imported
and placed in a target directory in the file system. Since the files are not yet present in the file system,
there is no way to use the policy engine to initially import the files. You can also import the stub of the file
and then use the policy engine to look at the file stub information that you use to import the desired data
subset. You can delete the stubs that you are not interested in.
Note: The import of the stub only works if the data on the object storage that is being imported was
originally created using the IBM Storage Scale export service so that the stub has the appropriate format.
(Native object storage stubs are not mapped or normalized as of yet).
How to be aware of and exploit what data is shared
A manifest might be kept which lists information on objects that are in cloud storage available for sharing.
When the Cloud data sharing service exports files to the object storage, it can be directed to add entries
on what it exported to a manifest. Other applications that generate cloud data can also generate a
manifest. The location of where the manifest is stored and when it is exported to be looked at is the
decision of the application – it is not automatic. A typical time to export the manifest to object storage
186 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
is in the same cron job as the policy invocation immediately following the policy execution completion so
that it represents all the files that are exported by that policy run.
The mmcloudmanifest manifest utility program is available that can read a manifest and provide a
comma-separated value (CSV) output stream of all the files in the manifest, or a subset of those files as
provided by some simple filtering. This manifest utility is written in Python and can run separately from
the cloud data sharing service most anywhere python can run. The utility is also built into cloud data
sharing and can be used to get input for import operations.
Currently, there is no built-in way to do asynchronous notification or to have a database that tracks all
updates at a scale larger than is reasonable with manifest files, but it is possible to add notification in
the script where the export policy is invoked. Also, manifests can be readily consumed by a database (for
example the Elastic Search, Logstash, Kibana ELK Stack) since the data structure is very simple. On larger
deployments, such an approach with asynchronous notification that is built into the scripts (and uses a
database) is worth consideration.
How a native cloud storage application can prepare a set of objects for sharing
There is a simple way for native cloud storage applications or other generators of cloud object data to
generate a manifest. The manifest utility can build the manifest from a list of objects that it is passed.
188 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Compression
Transparent cloud tiering can be used along with Scale file system level compression capability.
Essentially, when data is read from the file system, the files are uncompressed, Transparent cloud
tiering push uncompressed, but by default encrypted, files onto the cloud storage.
CES (protocol services)
Transparent cloud tiering can co-exist with active or inactive NFS, SMB, or Object services on the CES
nodes.
IBM Storage Protect
For the file systems that are managed by IBM Storage Protect system, ensure that hot data is backed
up to IBM Storage Protect by using the mmbackup command, and as the data gets cooler, migrate
them to the cloud storage tier. This ensures that the mmbackup command has already backed up the
cooler files that are migrated to the cloud.
Elastic Storage Server (ESS)
Transparent cloud tiering cannot be deployed directly on ESS nodes. However, it can be deployed on
X86 protocol nodes that can be attached to ESS. On a Power Linux cluster, a few X86 protocol nodes
can be added and Transparent cloud tiering can be configured on those nodes. Remotely mounted
client support is also helpful when running with ESS configurations since multi-cluster configurations
with ESS are very common.
Mixed-node cluster configuration
Transparent cloud tiering service runs on x86, Power LE Linux nodes, and IBM Z nodes. Transparent
cloud tiering does not run on Windows or Power BE Linux nodes. No mixed-node cluster support with
Windows. Both x86 Linux and Power Linux nodes can initiate migrations/recalls of data, and these
nodes can initiate a transparent recall on file access.
Transparent cloud tiering is supported for use only in IBM Storage Scale clusters and on any
associated remotely mounted clients, with Intel x86 Linux and Power LE Linux nodes. Use of
Windows, PowerPC® Big Endian, Linux on Z or AIX nodes that access file systems, where Transparent
cloud tiering is used (either within the cluster or via a remotely mounted client), is untested and
unsupported. Inclusion of such nodes is allowed only if there is no possibility that they will ever
access Transparent cloud tiering; for example, such nodes are tested and supported for PowerPC
Big Endian nodes in Elastic Storage Server (ESS) BE & LE servers, where no user applications are
supported on Elastic Storage Server (ESS).
SELinux
Supported
SOBAR
SOBAR backup and restore support is available.
IPV6 Support
Not supported
IBM Storage Scale Stretch Clusters
This service can be used in conjunction with stretch clusters. Cloud services node classes can be set
up all on one site or, most usually, can be split across sites to allow for continued access to cloud data
even through failure of an entire site.
installation toolkit
Not supported.
Linux on Power8 Little Endian
Supported.
Note: For information on known limitations, see the Known Limitations for Transparent cloud tiering topic
in the IBM Storage Scale: Administration Guide.
190 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Mixed-node cluster configuration
• Cloud data sharing service runs only on x86 and Power Linux nodes. Cloud data sharing is not
supported to be deployed on Power Linux or Windows. However, it can co-exist in a Linux cluster
that contains both x86 and Power nodes, as long as the Power nodes are not running the Cloud
services.
• No mixed-node cluster support with Windows. Only x86 Linux nodes can initiate migrations/recalls
of data and only x86 Linux nodes can initiate a transparent recall on file access.
SELinux
Supported
SOBAR
Running SOBAR and Cloud data sharing on the same file system is supported.
IPV6 Support
Not supported
Linux on Power8 Little Endian
Supported
installation toolkit
Not supported.
Note: For information on known limitations, see the Known Limitations for Cloud services topic in the IBM
Storage Scale: Administration Guide.
<FS_Mount_Point>/<Fileset_Name>/Topic/Year/Month/Day
• FS_Mount_Point: The default mount point of the device being audited is designated to hold the file
audit logging destination fileset.
• Fileset_Name: The fileset name indicates the file audit logging destination fileset. If no other fileset
name is given, then the default is .audit_log.
• Topic: The topic that is associated with the file system that is being audited. It consists of the following
structure:
<Device_Minor Number>_<Cluster_ID>_<Generation_Number>_audit
• Year/Month/Day: Details when the individual file that is being written was first created.
Note: The mmbackupconfig command does not save the file audit logging enabled state of a file
system. However, the IAM noncompliant or IAM-compliant mode of the file audit logging fileset is
saved. Therefore, when you restore the configuration information with the mmrestoreconfig command,
file audit logging must be reenabled on the file system with the mmaudit command. You need to
specify --log-fileset and any other enable flags if you are not using the default values. For more
information, see IAM modes and their effects on file operations on immutable files in the IBM Storage
Scale: Administration Guide.
auditLogFile_<IO_Node_Name >_YYYY-MM-DD_HH:MM:SS
When a file audit logging file is created, it is put in append only mode and an expiration date is set for it.
The expiration date corresponds to the number of days after the current date given in the retention option
of the mmaudit command. The default retention period is 365 days, which means that a given file audit
logging file is set to expire one year from when it is created.
When auditing events are generated by file system operations, they are appended to the files in the
file audit logging fileset. After approximately 5,000,000 entries have been made in a file or the file size
exceeds 400MB, whichever comes first, it is made immutable, GPFS native compression is enabled on it,
and a new file with the current date and time is created for the next batch of audit logs. Therefore, new
files are created at a rate that corresponds to the file system activity of the device that is being audited.
Important: Since files in the file audit logging fileset are created in the directory based on their creation
date, there might be audit records for several days within the same file if there is not much file system
activity.
192 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Furthermore, since the events are written to these files in batches, the file audit logging event information
might be placed in a previous day's or next day's directory. In order to improve usability, there are soft
links that are created in the audit fileset topic subdirectory that link each current audit record file. These
links are named in the following format: auditLogFile.latest_<IO_Node_Name>.
For more information, see “JSON attributes in file audit logging” on page 193.
Note: The * shows that these events are not applicable to a file system mounted as read-only.
For more information, see JSON reporting issues in file audit logging in IBM Storage Scale: Problem
Determination Guide.
For example:
poolName
The pool name where the file resides.
fileSize
The current size of the file in bytes.
ownerUserId
The owner ID of the file that is involved in the event.
ownerGroupId
The group ID of the file that is involved in the event.
atime
The time in UTC format of the last access of the file that is involved in the event.
ctime
The time in UTC format of the last status change of the file that is involved in the event.
mtime
The time in UTC format of the last modification to the file that is involved in the event.
eventTime
The time in UTC format of the event.
clientUserId
The user ID of the process that is involved in the event.
clientGroupId
The group ID of the process that is involved in the event.
accessMode
The access type for which the operation was denied for the ACCESS_DENIED event.
processId
The process ID that is involved in the event.
bytesRead
The bytes read from a file.
194 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
bytesWritten
The bytes written to a file.
minReadOffset
The starting position of bytes read from a file.
maxReadOffset
The ending position of bytes read from a file.
minWriteOffset
The starting position of bytes written to a file.
maxWriteOffset
The ending position of bytes written to a file.
permissions
The permissions on the file that is involved in the event.
acls
The access control lists that are involved in the event.
xattrs
The extended attributes that are involved in the event.
subEvent
The type of IBM Storage Scale attribute change. Only applies to the immutability and appendOnly
flags.
The following table describes the JSON attributes that are provided for the 10 events in file audit logging:
Table 17. JSON attributes in file audit logging
LWE_JSON X X X X X X X X X X
path X X X X X X X X X X
oldPath X
clusterName X X X X X X X X X X
nodeName X X X X X X X X X X
nfsClientIp X1 X1 X1 X1 X1,2 X1 X1 X1 X1
fsName X X X X X X X X X X
event X X X X X X X X X X
inode X X X X X X X X X X
linkCount X X X X X X X X X
openFlags X 0 X 0 0 0 0 0 0 X
poolName X X X X X X X X X X
fileSize X X X X X X X X X X
ownerUserId X X X X X X X X X X
ownerGroupId X X X X X X X X X X
atime X X X X X X X X X X
ctime X X X X X X X X X X
mtime X X X X X X X X X X
eventTime X X X X X X X X X X
clientUserId X X X X X X X X X X
clientGroupId X X X X X X X X X X
processId X X X X X X X X 0 X
minReadOffset MAX INT Null X5 Null Null MAX INT Null Null Null Null
minWriteOffset MAX INT Null X5 Null Null MAX INT Null Null Null Null
permissions X X X X X X X X X X
acls Null Null Null Null Null X Null Null Null Null
xattrs Null Null Null Null X3 Null Null Null Null Null
subEvent NONE NONE NONE NONE NONE NONE NONE NONE APPENDONLY NONE
IMMUTABILITY
accessMode Null Null Null Null Null Null Null Null Null X
Note: In the above table, 0, Null, or MAX INT represents that the attribute is not applicable for that
particular event.
For more information about some of the issues that might occur with the events and when they might
occur, see in the IBM Storage Scale: Problem Determination Guide.
Note:
1. The nfsClientIp attribute is provided for NFS clients that use Ganesha. The value is NULL for kernel
NFS versions and SMB.
2. The nfsClientIp attribute is populated for an XATTRCHANGE event when SELinux is enabled and a
CREATE event is generated via NFS.
3. The xattrs attribute only shows the xattr that was changed.
4. The best effort is made to provide both path and nfsClientIp attributes for files accessed via NFS,
but it is not guaranteed.
5. Results might be inaccurate with mmap IO, mmap IO via SMB, or IO via NFS.
196 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
system level, generates event notifications for those activities, and streams the notifications to topics in
an external sink that you can manage.
Interaction between clustered watch folder and the external Kafka sink
Clustered watch folder supports sending watch events to an external Kafka sink.
To send watch events to an external Kafka sink, a minimum of two attributes must be present when you
enable a clustered watch:
• A list of accessible broker addresses with ports to access the external Kafka queue.
• The topic name on the external Kafka queue where the clustered watch publishes events.
In addition to the two required attributes, authentication or authorization can also be specified. If
authentication or authorization is not given when you enable a clustered watch, it is assumed that it
is not needed. The following types of authentication or authorization are supported:
• NONE: This is the default. It can also be specified by excluding any type of authentication configuration.
• PLAINTEXT: Use Kafka plain text authentication. You must provide a PRODUCER_USERNAME and
PRODUCER_PASSWORD with the authentication information for the producer to write to the external
Kafka sink.
• SASL: Use SASL based authentication between the IBM Storage Scale cluster hosting the
clustered watch and the external Kafka sink. You must provide a PRODUCER_USERNAME and
PRODUCER_PASSWORD with the authentication information for the producer to write to the external
Kafka sink and you must provide the specific mechanism to use:
– SCRAM256
– SCRAM512
• CERT: Use certificate-based authentication and encryption of data in flight between the IBM Storage
Scale cluster hosting the clustered watch and the external Kafka sink. You must provide an extra three
(optional fourth) parameters when specifying this type of authentication for the producer to write to the
external Kafka sink:
– CA_CERT_LOCATION: Full path (including the actual file) to the location of the ca-cert file. This field
is required.
– CLIENT_PEM_CERT_LOCATION: Full path (including the actual file) to the location of the client
certificate (.pem format) file. This field is required.
– CLIENT_KEY_FILE_LOCATION: Full path to the location of the client key (client.key) file. This field is
required.
– CLIENT_KEY_FILE_PASSWORD: Key file password. This field is optional.
For more information about specifying these parameters, see the mmwatch command in the IBM Storage
Scale: Command and Programming Reference Guide.
Note: In order for the producer to write to the external Kafka queue, the firewall ports must be open
between the source IBM Storage Scale cluster and the external Kafka queue.
Note: All of these parameters are used in the --sink-auth-config flag of the mmwatch command. This
parameter is optional. When it is used, you must pass a configuration file with specific parameters. For
SINK_AUTH_TYPE:SASL
SINK_AUTH_MECHANISM:SCRAM512
PRODUCER_USERNAME:<will be found in external kafka config>
PRODUCER_PASSWORD:<will be found in external kafka config>
The second example is of a CERT-based authentication setup between the IBM Storage Scale cluster and
the external Kafka sink that the clustered watch folder uses.
SINK_AUTH_TYPE:CERT
CA_CERT_LOCATION:<path to certs>
CLIENT_PEM_CERT_LOCATION:<path to pem cert>
CLIENT_KEY_FILE_LOCATION:<path to key>
CLIENT_KEY_FILE_PASSWORD:<password from certificate setup>
Table 18. File access events that are supported by clustered watch folder
File access event Notes
IN_ACCESS2 A file was accessed (read or ran).
IN_ATTRIB2 Metadata was changed (for example, chmod,
chown, setxattr etc.).
IN_CLOSE_NOWRITE A file or folder that was not opened for writing was
closed.
IN_CLOSE_WRITE2 A file that was opened for writing was closed.
IN_CREATE2 A file or folder was created in a watched folder.
IN_DELETE2 A file or folder was deleted from a watched folder.
IN_DELETE_SELF2 A watched file or folder was deleted.
IN_IGNORED1 Event that is triggered when a file system is
unmounted. Always follows the IN_UNMOUNT
event.
IN_ISDIR1 A directory is listed.
IN_MODIFY2 A file was modified (for example, write or truncate).
IN_MOVE_SELF2 A folder that was being watched was moved.
IN_MOVED_FROM2 A file within the watched folder was renamed.
IN_MOVED_TO2 A file was moved or renamed to this folder.
IN_OPEN A file or folder was opened.
IN_UNMOUNT1 A file system that is being watched is unmounted.
1 These events are always watched.
2 These events are not applicable to a file system mounted as read-only.
198 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
JSON attributes in clustered watch folder
Use this information to learn more about the JSON attributes that are associated with the 12 events that
can be specified when enabling a clustered watch and the other events that might be received due to
other file system activity.
WF_JSON
The version of the record.
wd
The watch descriptor.
cookie
A unique integer that connects related events. It allows the resulting pair of IN_MOVED_FROM and
IN_MOVED_TO events to be connected.
mask
A hex value representing the event.
event
The event type. One of the following events:
• IN_ACCESS
• IN_ATTRIB
• IN_CLOSE_NOWRITE
• IN_CLOSE_WRITE
• IN_CREATE
• IN_DELETE
• IN_DELETE_SELF
• IN_MODIFY
• IN_MOVED_FROM
• IN_MOVED_TO
• IN_MOVE_SELF
• IN_OPEN
path
The path name of the file that is involved in the event.
clusterName
The name of the cluster where the event took place.
nodeName
The name of the node where the event took place.
nfsClientIp
The IP address of the client involved in the event.
fsName
The name of the file system that is involved in the event.
inode
The inode number of the file that is involved in the event.
filesetID
The fileset ID of the file.
linkCount
The link count of the file.
openFlags
The open flags that are specified during the event (O_RDONLY, O_WRONLY, O_RDWR, O_CREAT, etc.) as
defined in fcntl.h.
200 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
• IN_CLOSE_WRITE - 0x8
• IN_CLOSE_NOWRITE - 0x10
• IN_CREATE - 0x100
• IN_DELETE - 0x200
• IN_MOVED_FROM - 0x40
• IN_MOVED_TO - 0x80
• IN_DELETE_SELF - 0x400
• IN_MOVE_SELF - 0x800
You might see these events during some of the previously mentioned watch types:
• IN_IGNORED - 0x8000
• IN_UNMOUNT - 0x2000
• IN_OPEN IN_ISDIR - 0x40000020
• IN_ATTRIB IN_ISDIR - 0x40000004
• IN_CLOSE IN_ISDIR - 0x40000010
• IN_CREATE IN_ISDIR - 0x40000100
• IN_DELETE IN_ISDIR - 0x40000200
• IN_MOVE_SELF IN_ISDIR - 0x40000800
• IN_MOVED_FROM - 0x40000040
• IN_MOVED_TO - 0x40000080
• IN_DELETE_SELF - 0x40000400
Note: 1 Results might be inaccurate with mmap IO, mmap IO via SMB, or IO via NFS.
202 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Note: If a call home child node, which is not a call home node, becomes unavailable, then the rest of
the call home group continues to work. However, the scheduled uploads do not include the details of
the unavailable child node.
• To manually upload a specific data file to the IBM server, issue one of the following commands:
The mmcallhome run SendFile --file <file name> command uploads a specific file to a
common directory, which is available for support to all customers.
Note: The IBM support team must be informed that a specific file is to be considered and all IBM
support representatives can read the specific file.
– mmcallhome run SendFile --file myFile --pmr TS123456789
The mmcallhome run SendFile --file <file name> –pmr <number> command uploads a
specific file to a specific location, which is linked to the specified PMR or Salesforce team.
Note: The IBM support team automatically notices the changes in a PMR or Salesforce case if they
are working on the same ticket. Only a specific set of IBM support representatives who are allowed to
work on the specific PMR or Salesforce case can read the contents of the specific file.
Event-based uploads
If the call home feature is enabled and one of the specific RAS events occur, which degrades the current
state of an mmhealth component, then the corresponding debugging data is collected and automatically
uploaded to IBM ECuRep server for a detailed problem analysis. This event-based data upload feature is
called FTDC2CallHome.
The FTDC2CallHome feature provides the following benefits:
• Allows the IBM support representatives to receive and analyze the relevant debugging data in a faster
and easier manner, which reduces the duration of detected outages.
• Directs the efforts of IBM support representatives to the areas that are facing the maximum outages.
This increases the stability of IBM Storage Scale in the areas that face outage issues more often.
204 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
• Introduces features for protection against data flooding. In this way, this feature ensures minimal CPU
usage and preserves the network bandwidth, which might be needed to upload the debugging data if
any issue occurs.
You can run the following command to see the uploaded data files:
Note: If you disable the event-based uploads, then the unified call home feature for Elastic Storage
Server (ESS) systems is also disabled to ensure that service tickets are not automatically created for any
hardware failures.
The following RAS events trigger data collection:
206 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
• /proc/cpuinfo
• /proc/meminfo
• /proc/uptime
• mmlslicense -Y
• mmlsconfig -Y
Note: The CALLHOME component is a part of the mmhealth command monitoring list. For more
information, see the mmhealth command in the IBM Storage Scale: Command and Programming Reference
Guide, and the Call home events section, and Monitoring the health of a node section in the IBM Storage
Scale: Problem Determination Guide.
208 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Table 20. Data collected and uploaded by call home (continued)
COMMAND MACHINE- NODE OS PRODUCT SCHEDULE
TYPE
all cesNodes all all all
<GET_FILES_READABLE_BY_ALL> /
var/mmfs/hadoop/etc/hadoop/*-
env.sh
210 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Table 20. Data collected and uploaded by call home (continued)
COMMAND MACHINE- NODE OS PRODUCT SCHEDULE
TYPE
all all RHEL, all weekly
rpm -qi python-cinderclient
python-testtools python- SLES
cryptography openstack-swift-
account python-ipaddress
spectrum-scale-object python-
iso8601 python-keystone
python-fixtures python-kombu
python-repoze-who python-
rfc3987 python-fasteners
python-oslo-service python-
zope-interface python-
pyasn1 python-wsgiref
python-vcversioner python-
dnspython python-cadf
python-requestsexceptions
python-cliff-tablib python-
netifaces python-idna python-
posix_ipc python-pysaml2
python-prettytable openstack-
swift swift3 python-
openstackclient python-
greenlet python-pyeclib
pyparsing python-requests
python-futures python-
pycparser python-netaddr
python-stevedore python-
swiftclient python-alembic
python-paste-deploy libcap-
ng-python python-msgpack
python-oslo-config python-
argparse python-anyjson
keystonemiddleware python-
jinja2
212 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Table 20. Data collected and uploaded by call home (continued)
COMMAND MACHINE- NODE OS PRODUCT SCHEDULE
TYPE
all CALLHOME all all all
/usr/lpp/mmfs/bin/mmaudit
all functional --list-all- _SERVERS
filesystems-config
214 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Table 20. Data collected and uploaded by call home (continued)
COMMAND MACHINE- NODE OS PRODUCT SCHEDULE
TYPE
all CALLHOME all all weekly
/usr/lpp/mmfs/bin/
mmlscluster --cnfs -Y _SERVERS
216 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Table 20. Data collected and uploaded by call home (continued)
COMMAND MACHINE- NODE OS PRODUCT SCHEDULE
TYPE
all all all all all
/usr/lpp/mmfs/bin/
mmsysmonc d cfgshow
2. Start the uploaded data collection, such as daily uploaded data. The daily data upload overrides the
standard 24-hour wait time and delivers the results immediately.
For example,
As expected, the data uploads to the server fails as you provided incorrect proxy settings.
3. Find the DC file with the copy of the data that the call home feature collected and tried to send.
For example,
218 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
5. Inspect every detail of the DC file.
6. Run the mmcallhome proxy command to enable the call home feature and do one of the following
actions:
• If you are using a proxy, then provide correct proxy settings for call home usage by using the
following command:
• If you are using a proxy with authentication, then issue the following command:
• If you are not using a proxy, then disable the proxy usage for call home by using the following
command:
220 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Call home monitors for PTF updates
IBM Storage Scale provides temporary fixes to its code in between planned releases. The temporary fixes
to the codes are called Program Temporary Fix (PTF).
mmchconfig mmhealthPtfUpdatesMonitorEnabled=no
An introduction to OpenStack
OpenStack is an open source software platform that is widely used as the base to build cloud
infrastructure as a service solution. OpenStack is typically deployed on commodity hardware and is used
to virtualize various parts of the infrastructure (compute, storage, and network) to ease the sharing of
the infrastructure across applications, use cases and workloads. IBM Storage Scale also supports the
OpenStack Cinder component with Remote IBM Storage Scale Access Deployment mode on Red Hat®
OpenStack Platform 16.1.3 onwards. For more information see the topic Integrating IBM Storage Scale
Cinder driver with Red Hat OpenStack Platform 16.1 in the IBM Storage Scale: Administration Guide.
222 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
OpenStack components supported by IBM Storage Scale
• Cinder: Provides virtualized block storage for virtual machines. The IBM Storage Scale Cinder driver,
also known as the GPFS driver, is written to take full advantage of the IBM Storage Scale enterprise
features.
• Glance: Provides the capability to manage virtual machine images. When Glance is configured to use
the same IBM Storage Scale fileset that stores Cinder volumes, bootable images can be created almost
instantly by using the copy-on-write file clone capability.
• Swift: Provides object storage to any user or application that requires access to data through a RESTful
API. The Swift object storage configuration is optimized for the IBM Storage Scale environment,
providing high availability and simplified management. Swift object storage also supports native the
Swift APIs and Amazon S3 APIs for accessing data. Finally, the Swift object storage also supports
access to the same data through either object interface or file interface (POSIX, NFS, SMB) without
creating a copy.
• Keystone: Although not a storage component, internal keystone with in-built HA is provided by IBM
Storage Scale as part of the Object protocol. In deployments that already have keystone support, the
Object protocol can be configured to use the external keystone server rather than the internal one.
IBM Storage Scale supports OpenStack Cinder component from Ussuri release in OpenStack Community.
The following table lists the available features that IBM Storage Scale supports for deploying the
OpenStack cloud storage:
224 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Table 21. Features that IBM Storage Scale supports for deploying the OpenStack cloud storage
(continued)
Feature Support
Object compression Yes
Multi-region support Yes
Policy based information life cycle management Yes
Integrated monitoring Yes
Large object support (5 TB) Yes
226 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Table 22. Features in IBM Storage Scale editions (continued)
Feature Data Access Data Management1 Erasure Code Edition
Asynchronous multi-site ✓ ✓
Disaster Recovery
Note: 1IBM Storage Scale Developer Edition provides the same features as Data Management Edition and
it is limited to 12 TB per cluster.
Consult the IBM Storage Scale FAQ in IBM Documentation for the latest features that are included in each
edition.
228 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
These licenses are all valid for use in IBM Storage Scale Standard Edition and IBM Storage Scale
Advanced Edition. For more information, see “IBM Storage Scale product editions” on page 225.
With IBM Storage Scale Data Access Edition, IBM Storage Scale Data Management Edition, and IBM
Storage Scale Erasure Code Edition, you must use capacity-based licensing. For more information, see
“Capacity-based licensing” on page 230.
• You can view the number and type of licenses that are currently in effect for the cluster by using the
mmlslicense command.
• If needed, you can change the type of license that is assigned to a node by using the mmchlicense
command.
For more information, see mmlslicense command and mmchlicense command in IBM Storage Scale:
Command and Programming Reference Guide.
The following are IBM Storage Scale licensing considerations including considerations for using IBM
Storage Scale with other offerings.
AFM-based Async Disaster Recovery (AFM DR) with multicluster
When using AFM-based Async Disaster Recovery (AFM DR) in a multicluster environment, both the
home and the cache cluster require the IBM Storage Scale Advanced Edition, IBM Storage Scale Data
Management Edition, or IBM Storage Scale Developer Edition.
Encryption
The encryption function that is available in IBM Storage Scale Advanced Edition, IBM Storage Scale
Data Management Edition, or IBM Storage Scale Developer Edition requires a separate IBM Security
Key Lifecycle Manager (ISKLM) license.
Encryption with multicluster
When using the IBM Storage Scale encryption function in a multicluster environment, each server
in an IBM Storage Scale cluster requiring access to another cluster's encrypted file system must be
licensed with IBM Storage Scale Advanced Edition (Client, Server, or FPO as appropriate) or IBM
Storage Scale Data Management Edition.
Hadoop access
The IBM Storage Scale Hadoop connector can be used with all license types (Client, Server, FPO) and
all Editions (Standard, Advanced, and Data Management). There is no additional license requirement
for Hadoop access. A Hadoop node using the connector needs no IBM Storage Scale license. The
Hadoop node can connect to a node in the IBM Storage Scale cluster, which is licensed as Server
because it is exporting data, and access the file system directly by using the Hadoop connector.
ILMT service
The IBM License Metric Tool (ILMT) ensures efficiency in inventory deduction and better estimation
of license consumption. To use the ILMT service, you must schedule the command mmlslicense
--ilmt-data to run once a week, by using mechanisms like cron. For more information, see
mmlslicense in the IBM Storage Scale: Command and Programming Reference Guide
IBM Storage Scale with IBM Storage Protect
When using IBM Storage Scale with IBM Storage Protect for backup and restore, each IBM Storage
Scale node performing data movement requires an IBM Storage Protect license.
IBM Storage Scale with IBM Storage Protect for Space Management
When using IBM Storage Scale with IBM Storage Protect for Space Management for migration and
recall, each IBM Storage Scale node performing data movement requires an IBM Storage Protect for
Space Management license.
IBM Storage Scale with IBM Spectrum Archive Enterprise Edition (EE)
In addition to an IBM Spectrum Archive Enterprise Edition (EE) license, a server in the IBM Storage
Scale cluster which is being used for IBM Spectrum Archive Enterprise Edition (EE) requires IBM
Storage Scale to be installed with the correct license (ordered separately). The IBM Spectrum Archive
Capacity-based licensing
You can use capacity-based licensing to license IBM Storage Scale based on the storage capacity being
managed in an IBM Storage Scale cluster.
The storage capacity to be licensed is the capacity in Terabytes (TiB) from all NSDs in the IBM Storage
Scale cluster. The capacity to be licensed is not affected by using functions such as replication or
compression or by doing tasks such as creating or deleting files, file systems, or snapshots.
For example, if you have 100 TiB of capacity from all NSDs in the IBM Storage Scale cluster and if you
have set the replication factor to 2, for 50 TiB of application data, 100 TiB of disk capacity is consumed. In
this case, the capacity to be licensed is 100 TiB, not 50 TiB.
The capacity to be licensed changes only when an NSD is added or deleted from the IBM Storage Scale
cluster.
You can view the cluster capacity for licensing by using one of the following methods:
• Select the About option from the menu that is available in the upper right corner of the IBM Storage
Scale management GUI.
• Issue the mmlslicense --capacity command.
Capacity-based licensing can be used only with IBM Storage Scale Data Access Edition, IBM Storage
Scale Data Management Edition, and IBM Storage Scale Erasure Code Edition. The Data Access Edition
provides identical functionality as the Standard Edition. The Data Management Edition provides identical
functionality as the Advanced Edition. The Erasure Code Edition provides identical functionality as the
Data Management Edition plus support for storage rich servers.
Capacity-based licensing can also be used to license an Elastic Storage Server (ESS) system. For ESS, the
capacity to be licensed is the capacity after applying IBM Storage Scale RAID. The exact capacity to be
licensed depends on the RAID code that is selected, 8+2p or 8+3p.
Dynamic pagepool
The dynamic pagepool feature in IBM Storage Scale adjusts the size of the pagepool memory dynamically.
This feature is available only on IBM Storage Scale that runs on Linux nodes. The pagepool is managed
between the minimum size and the maximum size.
When IBM Storage Scale detects shortage of the pagepool memory, it attempts to increase the pagepool
size, but not beyond the configured maximum size. When the Linux kernel detects the memory pressure,
it requests IBM Storage Scale to shrink the size of the pagepool. IBM Storage Scale attempts to shrink the
size of the pagepool in response, but the pagepool is not shrunk less than the configured minimum size.
230 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
For nodes that are currently not NSD servers, but that is configured as servers with mmchnsd or
mmcrnsd commands, set dynamicPagepoolEnabled to no and restart the GPFS daemon.
• Nodes with ECE devices also do not use the dynamic pagepool and revert to a static pagepool.
• The dynamic pagepool with RDMA uses large RDMA memory registrations (one for each 256 KiB of
pagepool memory). Some older versions of RDMA driver stacks showed problems with large RDMA
memory registrations. It is recommended to run a current version of the RDMA stack. If a large number
of memory registrations causes any problems, contact your RDMA vendor.
• Omni-path RDMA is not supported if the dynamic pagepool is enabled on a node.
• It is recommended to set the pagepool parameter to default on the nodes where the dynamic
pagepool is enabled. Avoid a cluster-wide setting of pagepool=default because NSD nodes cannot
use the dynamic pagepool and still need a properly sized static pagepool. If the pagepool parameter
is set, it serves as an extra limit to the maximum size of the dynamic pagepool. The effective maximum-
allowed size of the dynamic pagepool is a smaller value of pagepool and the calculated value from
pagepoolMaxPhysMemPct.
• In systems with a heavy file system activity, where applications also consume memory, memory can be
insufficient for a node. Occasionally, the increased rate of memory demand might exceed the rate of
reduction in the use of pagepool (as the pagepool size is shrunk), and memory in the system might be
exhausted. If this happens, reduce the value of the pagepoolMaxPhysMemPct parameter.
• The dynamic pagepool is not supported on systems with less than 6 GiB of memory. The dynamic
pagepool ensures that at least 4 GiB of memory is available outside the pagepool. However, some of
this memory is used by other parts of GPFS. When the dynamic pagepool is enabled, the minimum size
is adjusted to at least 1 GiB.
Other considerations
• Memory that is used in the dynamic pagepool is shown as the used memory. This used memory might
be misleading because the dynamic pagepool relinquishes memory whenever it is requested from the
Linux kernel.
• This consideration is for job scheduling software that queries available memory on the cluster nodes
and schedule jobs depending on the available memory. If the dynamic pagepool is close to its maximum
size, large jobs might not be scheduled on the node.
• If the job scheduling software allows modifying the memory check, the software can be used to
consider only the minimum size of the pagepool for scheduling decisions. Otherwise, it might be
necessary to adjust the dynamic pagepool size to meet the scheduling needs.
Hardware requirements
You can validate that your hardware meets GPFS requirements by taking the steps that are outlined in this
topic.
1. Consult the IBM Storage Scale FAQ in IBM Documentation for the latest list of:
• Supported server hardware
• Tested disk configurations
• Maximum cluster size
• Additional hardware requirements for protocols
2. Provide enough disks to contain the file system. Disks can be:
• SAN-attached to each node in the cluster
• Attached to one or more NSD servers
• A mixture of directly attached disks and disks that are attached to NSD servers
For more information, see the Network Shared Disk (NSD) creation considerations topic in IBM Storage
Scale: Administration Guide.
3. When doing network-based NSD I/O, GPFS passes a large amount of data between its daemons. For
NSD server-to-client traffic, it is suggested that you configure a dedicated high-speed network solely
for GPFS communications when the following are true:
• There are NSD disks configured with servers providing remote disk capability.
• Multiple GPFS clusters are sharing data using NSD network I/O.
For more information, see the Disk considerations topic in IBM Storage Scale: Administration Guide.
GPFS communications require static IP addresses for each GPFS node. IP address takeover operations
that transfer the address to another computer are not allowed for the GPFS network. Other IP addresses
within the same computer that are not used by GPFS can participate in IP takeover. To provide availability
or additional performance, GPFS can use virtual IP addresses created by aggregating several network
adapters using techniques such as EtherChannel or channel bonding.
Cluster Export Services (CES) have dedicated network addresses to support the SMB, NFS, HDFS, and
object protocols. These network addresses are appropriately assigned to CES nodes and they facilitate
CES node failover and failback operations. File and object clients use the public IPs to access data on
GPFS™ file systems.
For additional information, see CES network configuration in IBM Storage Scale: Administration Guide.
234 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Note: On a Linux node that is not a protocol node running the NFS service, it is recommended to
disable the port mapper service (also called rpcbind).
[ad:RHEL]="bind-utils"
[ad:SLES]="bind-utils libarchive13"
[ad:UBUNTU]="dnsutils"
[kerberos:RHEL]="krb5-workstation"
[kerberos:SLES]="krb5-client sssd-krb5"
[kerberos:UBUNTU]="krb5-user"
236 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
For more information, see “Requirements, limitations, and support for clustered watch folder” on
page 535.
Recoverability considerations
Good file system planning requires several decisions about recoverability. After you make these decisions,
GPFS parameters enable you to create a highly available file system with rapid recovery from failures.
• At the disk level, consider preparing disks for use with your file system by specifying failure groups that
are associated with each disk. With this configuration, information is not vulnerable to a single point of
failure. See “Network Shared Disk (NSD) creation considerations” on page 253.
• At the file system level, consider replication through the metadata and data replication parameters. See
“File system replication parameters” on page 279.
Also, GPFS provides several layers of protection against failures of various types.
Node failure
If a node fails, GPFS prevents the continuation of I/O from the failing node and replays the file system
metadata log for the failed node.
GPFS prevents the continuation of I/O from a failing node through a GPFS-specific fencing mechanism
called disk leasing. When a node has access to file systems, it obtains disk leases that allow it to submit
I/O. However, when a node fails, that node cannot obtain or renew a disk lease. When GPFS selects
another node to perform recovery for the failing node, it first waits until the disk lease for the failing
node expires. This allows for the completion of previously submitted I/O and provides for a consistent file
system metadata log. Waiting for the disk lease to expire also avoids data corruption in the subsequent
recovery step.
To reduce the amount of time it takes for disk leases to expire, you can use Persistent Reserve (SCSI-3
protocol). If Persistent Reserve (configuration parameter: usePersistentReserve) is enabled, GPFS
prevents the continuation of I/O from a failing node by fencing the failed node that uses a feature of the
disk subsystem called Persistent Reserve. Persistent Reserve allows the failing node to recover faster
Quorum
GPFS uses a cluster mechanism called quorum to maintain data consistency in the event of a node failure.
Quorum operates on the principle of majority rule. This means that a majority of the nodes in the cluster
must be successfully communicating before any node can mount and access a file system. This keeps any
nodes that are cut off from the cluster (for example, by a network failure) from writing data to the file
system.
During node failure situations, quorum needs to be maintained in order for the cluster to remain online.
If quorum is not maintained due to node failure, GPFS unmounts local file systems on the remaining
nodes and attempts to reestablish quorum, at which point file system recovery occurs. For this reason it
is important that the set of quorum nodes be carefully considered (refer to “Selecting quorum nodes” on
page 240 for additional information).
GPFS quorum must be maintained within the cluster for GPFS to remain active. If the quorum semantics
are broken, GPFS performs recovery in an attempt to achieve quorum again. GPFS can use one of two
methods for determining quorum:
• Node quorum
• Node quorum with tiebreaker disks
Node quorum
Node quorum is the default quorum algorithm for GPFS.
With node quorum:
• Quorum is defined as one plus half of the explicitly defined quorum nodes in the GPFS cluster.
• There are no default quorum nodes; you must specify which nodes have this role.
For example, in Figure 28 on page 239, there are three quorum nodes. In this configuration, GPFS remains
active as long as there are two quorum nodes available.
238 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Figure 28. GPFS configuration using node quorum
Figure 29. GPFS configuration using node quorum with tiebreaker disks
When a quorum node detects loss of network connectivity, but before GPFS runs the algorithm that
decides if the node will remain in the cluster, the tiebreakerCheck event is triggered. This event is
generated only in configurations that use quorum nodes with tiebreaker disks. It is also triggered on the
cluster manager periodically by a challenge-response thread to verify that the node can still continue as
cluster manager.
240 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Network Shared Disk server and disk failure
The three most common reasons why data becomes unavailable are disk failure, disk server failure with
no redundancy, and failure of a path to the disk.
In the event of a disk failure in which GPFS can no longer read or write to the disk, GPFS will discontinue
use of the disk until it returns to an available state. You can guard against loss of data availability from
disk failure by:
• Utilizing hardware data protection as provided by a Redundant Array of Independent Disks (RAID)
device (see Figure 30 on page 241)
Figure 30. An example of a highly available SAN configuration for a GPFS file system
• Utilizing the GPFS data and metadata replication features (see “Increased data availability” on page 2)
along with the designation of failure groups (see “Network Shared Disk (NSD) creation considerations”
on page 253 and Figure 31 on page 241)
# multipath -ll
See the question, "What considerations are there when setting up DM-MP multipath service" in the IBM
Storage Scale FAQ in IBM Documentation.
• Using an I/O driver that provides multiple paths to the disks for failover purposes
Failover is a path-management algorithm that improves the reliability and availability of a device
because the system automatically detects when one I/O path fails and reroutes I/O through an
alternate path.
242 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
On Linux, typically all disks must be generic (/dev/sd*) or DM-MP (/dev/dm-*) disks.
However, for Linux on Z, multipath device names are required for SCSI disks, and the names depend
on the distribution and are configurable. For more information, see “Guarding against loss of data
availability due to path failure” on page 242.
• If the disks have NSD servers that are defined, all NSD server nodes must be running the same
operating system (AIX or Linux).
• If the disks are SAN-attached to all nodes, all nodes in the cluster must be running the same operating
system (AIX or Linux).
For quicker recovery times when you use PR, set the failureDetectionTime configuration parameter
on the mmchconfig command. For example, for quick recovery a recommended value would be 10:
mmchconfig failureDetectionTime=10
Explicitly enable PR by specifying the usePersistentReserve parameter on the mmchconfig
command. If you set usePersistentReserve=yes, GPFS attempts to set up PR on all of the PR
capable disks. All subsequent NSDs are created with PR enabled if they are PR capable. However, PR is
only supported in the home cluster. Therefore, access to PR-enabled disks from another cluster must be
through an NSD server that is in the home cluster and not directly to the disk (for example, through a
SAN).
244 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Provide a name for the cluster by issuing the -C option on the mmcrcluster command.
User ID domain for the cluster
This option is the user ID domain for a cluster when accessing a file system remotely.
Cluster configuration file
GPFS provides default configuration values, so a cluster configuration file is not required to create a
cluster.
Related tasks
Starting GPFS automatically
You can specify whether to start the GPFS daemon automatically on a node when it is started.
NodeName:NodeDesignations:AdminNodeName
246 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
You can specify whether to start the GPFS daemon automatically on a node when it is started.
248 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
The nodes that you plan to use for administering GPFS must be able to copy files by using the remote
file copy command to and from any other node in the cluster without the use of a password and without
producing any extraneous messages.
For additional information, see Requirements for administering a GPFS file system in IBM Storage Scale:
Administration Guide.
Related concepts
GPFS node adapter interface names
An adapter interface name refers to the hostname or IP address that GPFS uses to communicate with
a node. Specifically, the hostname or IP address identifies the communications adapter over which the
GPFS daemons or GPFS administration commands communicate.
Creating an IBM Storage Scale cluster
When you create an IBM Storage Scale cluster, you can either create a small cluster of one or more nodes
and later add nodes to it or you can create a cluster with all its nodes in one step.
IBM Storage Scale cluster configuration information
You can use the Cluster Configuration Repository (CCR) to maintain cluster configuration information.
Remote shell command
GPFS commands need to be able to communicate across all nodes in the cluster. To achieve this, the
GPFS commands use the remote shell command that you specify on the mmcrcluster command or the
mmchcluster command.
Cluster name
Provide a name for the cluster by issuing the -C option on the mmcrcluster command.
User ID domain for the cluster
This option is the user ID domain for a cluster when accessing a file system remotely.
Cluster configuration file
GPFS provides default configuration values, so a cluster configuration file is not required to create a
cluster.
Related tasks
Starting GPFS automatically
You can specify whether to start the GPFS daemon automatically on a node when it is started.
Cluster name
Provide a name for the cluster by issuing the -C option on the mmcrcluster command.
If the user-provided name contains dots, it is assumed to be a fully qualified domain name. Otherwise,
to make the cluster name unique in a multiple cluster environment, GPFS appends the domain name of
the first node in the list primary cluster configuration server. If the -C option is not specified, the cluster
name defaults to the hostname of the primary cluster configuration server. The name of the cluster may
be changed at a later time by issuing the -C option on the mmchcluster command.
The cluster name is applicable when GPFS file systems are mounted by nodes belonging to other GPFS
clusters. See the mmauth and the mmremotecluster commands.
Related concepts
GPFS node adapter interface names
An adapter interface name refers to the hostname or IP address that GPFS uses to communicate with
a node. Specifically, the hostname or IP address identifies the communications adapter over which the
GPFS daemons or GPFS administration commands communicate.
Creating an IBM Storage Scale cluster
When you create an IBM Storage Scale cluster, you can either create a small cluster of one or more nodes
and later add nodes to it or you can create a cluster with all its nodes in one step.
IBM Storage Scale cluster configuration information
You can use the Cluster Configuration Repository (CCR) to maintain cluster configuration information.
Remote shell command
250 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
You can specify whether to start the GPFS daemon automatically on a node when it is started.
Disk considerations
Designing a proper storage infrastructure for your IBM Storage Scale file systems is key to achieving
performance and reliability goals. When deciding what disk configuration to use, consider three key areas:
infrastructure, performance, and disk access method.
Infrastructure
• Ensure that you have sufficient disks to meet the expected I/O load. In IBM Storage Scale
terminology, a disk may be a physical disk or a RAID device.
• Ensure that you have sufficient connectivity (adapters and buses) between disks and network
shared disk servers.
• Determine whether you are within IBM Storage Scale limits. Starting with GPFS 3.1, the structural
limit on the maximum number of disks in a file system is 2048, which is enforced by IBM Storage
Scale. (However, the number of disks in your system may be constrained by products other than IBM
Storage Scale.)
• For a list of storage devices tested with IBM Storage Scale, see the IBM Storage Scale FAQ in IBM
Documentation.
• For Linux on Z, see the "Storage" topics "DASD device driver" and "SCSI-over-Fibre Channel device
driver" in Device Drivers, Features, and Commands in the Linux on Z library overview.
Disk access method
• Decide how your disks will be connected. Supported types of disk connectivity include the following
configurations:
1. All disks SAN-attached to all nodes in all clusters that access the file system
In this configuration, every node sees the same disk simultaneously and has a corresponding
disk device entry.
2. Each disk connected to multiple NSD server nodes (up to eight servers), as specified on the
server list
252 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
In this configuration, a single node with connectivity to a disk performs data shipping to all
other nodes. This node is the first NSD server specified on the NSD server list. You can define
additional NSD servers on the server list. Having multiple NSD servers guards against the loss of
a single NSD server. When using multiple NSD servers, all NSD servers must have connectivity to
the same disks. In this configuration, all nodes that are not NSD servers will receive their data
over the local area network from the first NSD server on the server list. If the first NSD server
fails, the next available NSD server on the list will control data distribution.
3. A combination of SAN-attached and an NSD server configuration.
Configuration consideration:
– If the node has a physical attachment to the disk and that connection fails, the
node switches to using a specified NSD server to perform I/O. For this reason, it is
recommended that you define NSDs with multiple servers, even if all nodes have physical
attachments to the disk.
– Configuring IBM Storage Scale disks without an NSD server stops the serving of data when
the direct path to the disk is lost. This may be a preferable option for nodes requiring
a higher speed data connection provided through a SAN as opposed to a lower speed
network NSD server connection. Parallel jobs using MPI often have this characteristic.
– The -o useNSDserver file system mount option on the mmmount, mount, mmchfs, and
mmremotefs commands can be used to specify the disk discovery, and limit or eliminate
switching from local access to NSD server access, or the other way around.
• Decide whether you will use storage pools to manage your disks.
Storage pools allow you to manage your file system's storage in groups. You can partition your
storage based on such factors as performance, locality, and reliability. Files are assigned to a
storage pool based on defined policies.
Policies provide for the following:
– Placing files in a specific storage pool when the files are created
– Migrating files from one storage pool to another
– File deletion based on file characteristics
For more information, see Storage pools in IBM Storage Scale: Administration Guide.
254 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
A GPFS structure called the file system descriptor is initially written to every disk in the file system and is
replicated on a subset of the disks as changes to the file system occur, such as the adding or deleting of
disks.
Preparing direct access storage devices (DASD) for NSDs
Planning for GPUDirect Storage
IBM Storage Scale support for GPUDirect Storage (GDS) enables a direct path between GPU memory and
storage. You need to ensure that certain conditions are met before you start installing the feature.
Deployment recommendation
Three types of emergency recovery space are used:
• Required recovery space: You must reserve this space before you create an IBM Storage Scale file
system. Create several volumes in the storage system and fill them with uncompressible data. In the
event that the storage system runs out of physical space, the required recovery space enables IBM
Storage Scale to recover the volumes in the storage system back to a read-write state. For more
information see the subtopic “During system configuration” on page 256 later in this help topic.
• Optional recovery space: It is a good practice to also create several additional recovery volumes and fill
them with uncompressible data. If the storage system runs nearly out of physical space, the optional
recovery space enables IBM Storage Scale to prevent the storage system from running completely out
of space. For more information see the subtopic “During system configuration” on page 256 later in this
help topic.
• Automatic recovery space: IBM Storage Scale reserves this space for a file system the first time that the
file system is mounted. This type of space enables IBM Storage Scale to recover the file system if the
storage system runs out of space. However, this type of space can be released to IBM Storage Scale
only while the device is operational and in read-write mode. It cannot be released if the file system has
become either read-only or offline because the storage system has run completely out of space. For
more information see the subtopic “Emergency recovery” on page 258 later in this subtopic.
The following subtopics describe the steps that you should take for thin provisioning support during
system configuration, during ongoing operations (production), and during emergency recovery after the
storage system has run nearly or completely out of physical space.
256 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
To create the required recovery space, create several emergency recovery volumes in the storage
system and fill them with uncompressible data, such as fully random data that cannot be subject to
deduplication. The size of this space varies depending on the type and brand of the storage system. For
more information about the amount of reserved space that is needed, contact the vendor of the storage
system. If you are using an IBM FlashSystem A9000, A9000R or any IBM Spectrum Virtualize systems
using Flash Core Modules (FCMs) and run out of space, contact IBM Spectrum Virtualize support team for
assistance.
If the storage system runs out of physical space, IBM Storage Scale uses this required recovery space to
bring the storage system back online. For more information see the subtopic “Emergency recovery” on
page 258 later in this help topic.
After you create the required recovery space, you must create LUNs in the storage system, export them,
and specify each LUN in an nsd stanza in the IBM Storage Scale stanza file. See the following example:
%nsd:
nsd=gpfs1nsd
usage=metadataOnly
pool=system
thinDiskType=scsi
The line thinDiskType=scsi is required and indicates that the device is a thin provisioned disk.
Note: The device must support the SCSI WRITE SAME command.
For more information, see the topics mmcrnsd command and mmcrfs command in the IBM Storage Scale:
Command and Programming Reference Guide.
To create the optional recovery space, create several volumes in the storage system and fill them with
uncompressible data. A suggested size for the emergency recovery space is 20 GiB times the sum of all
the local and remote nodes that can mount each of the file systems that is located on the storage system.
In other words:
20 GiB x ((the number of local and remote nodes that can mount FS1) +
(the number of local nodes that can mount FS2) +
.... +
(the number of local and remote nodes that can mount FSN))
If the storage system runs nearly out of physical space, IBM Storage Scale can use this optional recovery
space to prevent the storage system from running completely out of physical space. For more information
see the subtopic “Emergency recovery” on page 258 later in this help topic.
During production
During production you must carefully monitor the amount of physical space that is available in the storage
system. The vendor of the storage system can probably provide utility programs for monitoring available
physical space. If you determine that the storage system is running nearly out of physical space, follow
the steps below. (If the storage system runs completely out of physical space, follow the instructions in
the “Emergency recovery” on page 258 subtopic later in this help topic.)
1. Quiesce all applications that are writing data into the storage system.
2. Delete unused volumes from the storage system.
3. Delete unused files and directories in the IBM Storage Scale file systems.
4. If you created optional recovery space during system configuration, free it. With this freed space IBM
Storage Scale can recover the storage system before it runs completely out of space.
5. Issue the mmreclaimspace command to reclaim physical space in the storage system that is not in
use but is not marked as available:
Emergency recovery
If the storage system runs completely out of physical space, the volumes that use the storage system are
likely to go offline or become read-only. To recover the system storage and to recover the IBM Storage
Scale file systems, follow the procedure that is outlined below. This procedure has three main parts:
Part 1: Bring the file system to a state in which data can be read although not written. Follow these steps:
1. Stop all applications that are writing into the storage system.
2. Disable the operating system automount feature by issuing the appropriate system command:
• On Linux, issue the following command:
stopsrc -s automountd
3. Issue the following command to unmount all IBM Storage Scale file systems:
/usr/lpp/mmfs/bin/mmumount all -a
4. Release the required recovery space that you reserved during system configuration. All volumes
should be operational and in read-write mode.
5. Issue the following command to correct the states of the NSD disks. This action allows the mount
operation in Step 7 to succeed across the cluster:
/usr/lpp/mmfs/bin/mmnsddiscover -a -N all
6. If you created optional recovery space during system configuration, free it.
7. Remount the file system in read-only mode. If the mount succeeds, skip the next step and go on to
Part 2. IBM Storage Scale reserves the automatic recovery space as the file system is mounted for the
first time.
8. If the mount operation in the preceding step fails, follow these steps to mount the file system:
a. Issue the following command to mount the file system in restricted mode:
/usr/lpp/mmfs/bin/mmmount Device -o rs
b. Issue the following command to release the automatic recovery space that IBM Storage Scale
reserved when it created the file system:
Note: The --emergency-reclaim option is valid only if the thin-provisioned storage is read-
writable and the file system is mounted in restrict mode. For more information, see the topic
mmreclaimspace command in the IBM Storage Scale: Command and Programming Reference Guide.
c. Remount the file system in read-only mode as in Step 7. The file system should be mounted
successfully.
258 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Part 2: Expand the free physical space of the storage system. You can add disks, delete data, or move data
to other file systems.
Part 3: Bring the file system to a state in which data can be both read and written. Follow these steps:
1. Reserve required recovery space in the physical storage system as you did during system
configuration.
2. If you freed optional recovery space in Step 6 of Part 1, recreate it as you did during system
configuration.
3. Issue the following command to mount the file system in read-write mode:
/usr/lpp/mmfs/bin/mmmount Device
If you ran the mmreclaimspace command in Step 8(b) of Part 1, IBM Storage Scale reserves
automatic recovery space during this mount operation.
4. Enable the operating system automount feature by issuing the appropriate system command:
• On Linux issue the following command:
startsrc -s automountd
If Step 3 completed without any error, the file system is writable again. If an error occurred, the free
physical space that you expanded in Part 2 is not enough. Repeat the emergency recovery process,
beginning with Part 1, Step 1.
Deployment recommendation
In the IBM Storage Scale stanza file, specify the thinDiskType=nvme line in each nsd stanza that
describes an NVMe device:
%nsd:
nsd=gpfs1nsd
usage=metadataOnly
pool=system
thinDiskType=nvme
This line indicates to IBM Storage Scale that the disk is trim-capable.
Support matrix
The following conditions must be met for thin provisioning support to be activated:
• The file system must be upgraded to file system format version 5.0.4 or later.
• The stanza file must include the following line to add thin disks or NVMe SSDs into the file system. See
the example nsd stanza in the preceding subtopic, Deployment recommendation:
thinDiskType={scsi | nvme}
• Both thin provisioned disks and NVMe SSDs must be connected to nodes that are running the Linux
operating system.
The following devices are believed to operate correctly with IBM Storage Scale but support has not been
fully verified:
• IBM FS9100
• General SSDs
260 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
The FCM features hardware based real-time inline data compression and self-encryption that provide
consistent compression and encryption across the full range of workloads – with no performance
penalties. Using FCM can significantly increase usable capacity and maintains consistent application
performance. FCM can substantially reduce costs for storage acquisition, rack space, power, and cooling,
and extends life of existing storage assets.
An example of specifying a stanza for an NSD based of a FCM (FlashCore Modules) drive is shown as
follows:
%nsd:
nsd=gpfs1nsd
usage-metadataOnly
pool=system
thinDiskType={nvme|auto}
Configuration
For a file system that is consist of FCM (FlashCore Modules) drives, a new control variable is introduced to
allow or control the behavior of the background space reclaim. FCM (FlashCore Modules) drives have their
own 'physical space state' when the drives are in the pool for the file system.
As the compression ratio can be different depending on the file types when they are written to the FCM
(FlashCore Modules) drives, it is important to manage and monitor the physical space utilization. The
states are defined: Good, information, Warning, Critical, and OOS (Out-Of-Space).
To control the behavior of the background space reclaim on each state, backgroundSpaceReclaim
variable is introduced. The variable has four attributes for each state: reclaimMode,
reclaimThreshold, reclaimInterval, and reclaimRate. You can set the attributes for each state
by using the mmchconfig command by using the following syntax:
Example:
state (physicalSpaceState)
At the VDisk level, which is mapped to NSD (1:1), a set of state indicating the physical space
utilization. The states are defined and allow to set the configuration parameters (attributes) so that
you can change or control the behavior of the background space reclaim thread on these individual
states. The states are: Good, Info, Warning, Critical, and OOS (Out-Of-Space).
Values:
• Good
• Info
• Warning
• Critical
• OOS (Out-Of-Space)
262 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
• Specify the disk discovery behavior
• Limit or eliminate switching from either:
– Local access to NSD server access
– NSD server access to local access
You should consider specifying how long to wait for an NSD server to come online before allowing a file
system mount to fail because the server is not available. The mmchconfig command has these options:
nsdServerWaitTimeForMount
When a node is trying to mount a file system whose disks depend on NSD servers, this option specifies
the number of seconds to wait for those servers to come up. If a server recovery is taking place, the
wait time you are specifying with this option starts after recovery completes.
Note: The decision to wait for servers is controlled by the nsdServerWaitTimeWindowOnMount
option.
nsdServerWaitTimeWindowOnMount
Specifies a window of time (in seconds) during which a mount can wait for NSD servers as described
for the nsdServerWaitTimeForMount option. The window begins when quorum is established (at
cluster startup or subsequently), or at the last known failure times of the NSD servers required to
perform the mount.
Notes:
1. When a node rejoins a cluster, it resets all the failure times it knew about within that cluster.
2. Because a node that rejoins a cluster resets its failure times within that cluster, the NSD server
failure times are also reset.
3. When a node attempts to mount a file system, GPFS checks the cluster formation criteria first.
If that check falls outside the window, it will then check for NSD server fail times being in the
window.
Related concepts
Network Shared Disk (NSD) creation considerations
You must prepare each physical disk you intend to use with GPFS by first defining it as a Network Shared
Disk (NSD) using the mmcrnsd command.
IBM Storage Scale with data reduction storage devices
Data reduction is a feature in storage arrays that optimizes storage usage with techniques such as
compression, deduplication, and thin provisioning to provide storage space to applications that exceeds
the amount of physical space in the device.
File system descriptor quorum
A GPFS structure called the file system descriptor is initially written to every disk in the file system and is
replicated on a subset of the disks as changes to the file system occur, such as the adding or deleting of
disks.
Preparing direct access storage devices (DASD) for NSDs
Planning for GPUDirect Storage
IBM Storage Scale support for GPUDirect Storage (GDS) enables a direct path between GPU memory and
storage. You need to ensure that certain conditions are met before you start installing the feature.
264 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Data reduction is a feature in storage arrays that optimizes storage usage with techniques such as
compression, deduplication, and thin provisioning to provide storage space to applications that exceeds
the amount of physical space in the device.
NSD server considerations
If you plan to use NSD servers to remotely serve disk data to other nodes, as opposed to having disks
SAN-attached to all nodes, you should consider the total computing and I/O load on these nodes.
File system descriptor quorum
A GPFS structure called the file system descriptor is initially written to every disk in the file system and is
replicated on a subset of the disks as changes to the file system occur, such as the adding or deleting of
disks.
Planning for GPUDirect Storage
IBM Storage Scale support for GPUDirect Storage (GDS) enables a direct path between GPU memory and
storage. You need to ensure that certain conditions are met before you start installing the feature.
Preparing your environment for use of extended count key data (ECKD) devices
If your GPFS cluster includes Linux on Z instances, do not use virtual reserve/release.
Instead, follow the process that is described in Sharing DASD without Using Virtual Reserve/Release
(https://www.ibm.com/docs/en/zvm/7.1?topic=sharing-dasd-without-using-virtual-reserverelease). Data
integrity is handled by GPFS itself.
chccwdev -e device_bus_id
Where device_bus_id identifies the device to be configured. device_bus_id is a device number with a
leading 0.n, where n is the subchannel set ID. For example:
chccwdev -e 0.0.3352
There is no need to specify a block size value, as the default value is 4096.
• To specify LDL format, issue the following command:
There is no need to specify a block size value, as the default value is 4096.
In both of these commands, device is the node of the device. For example:
3. This step is for CDL disks only. It is an optional step because partitioning is optional for CDL disks.
If you want to partition the ECKD and create a single partition that spans the entire device, use the
following command:
fdasd -a device
Supported hardware
The following list provides the hardware requirements:
• GDS clients: x86 with a GPU model that supports GDS. For more details, see NVIDIA GDS
documentation.
• Network: EDR or HDR InfiniBand, Ethernet (RoCE).
• InfiniBand adapter: CX5 or CX6. (Mellanox CX4 is OK for IB only if the CX4 firmware is 12.27.4000 or
higher.)
266 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Supported software for GDS clients
GDS client must be an IBM Storage Scale NSD client. For information about the supported versions of the
required software for GDS clients, see Components required for GDS in IBM Storage Scale FAQ in IBM
Documentation.
-A {yes | no | automount} to
determine when to mount the file
system. X X yes
See “Deciding how the file system
is mounted” on page 273.
268 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Table 27. File system creation options (continued)
Options mmcrfs mmchfs Default value
-B BlockSize The block size, subblock
size, and number of
• By default, all the data blocks
subblocks per block of a
and metadata blocks in a file
file system are set when
system are set to the same block
the file system is created
size with the same subblock size.
and cannot be changed
• Metadata blocks can be set later.
to a different block size with
the --metadata-block-size X 4 MiB
parameter, and this setting can
change the size and number of
subblocks in data blocks.
See “Block size” on page 274 and
mmcrfs command in IBM Storage
Scale: Command and Programming
Reference Guide.
-D {posix | nfs4} semantics for a
deny-write open lock
X X nfs4
See “NFS V4 deny-write open
lock” on page 273.
-M MaxMetadataReplicas
This value cannot be
See “File system replication X 2
changed.
parameters” on page 279.
--nfs4-owner-write-acl
specifies whether object owners
are given implicit NFSv4
WRITE_ACL permission. See the X X yes
topic mmcrfs command in the
IBM Storage Scale: Command and
Programming Reference Guide.
-o MountOptions to be passed to
the mount command.
NA X none
See “Assign mount command
options” on page 281.
-r DefaultDataReplicas
See “File system replication X X 1
parameters” on page 279.
-R MaxDataReplicas
This value cannot be
See “File system replication X 2
changed.
parameters” on page 279.
270 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Table 27. File system creation options (continued)
Options mmcrfs mmchfs Default value
-S {yes | no | relatime} to The default value
control how the atime value is is relatime if
updated. minReleaseLevel is
X X 5.0.0 or later when the
See “atime values” on page 276.
file system is created.
Otherwise the default
value is no.
-t DriveLetter
See “Windows drive letter” on X X none
page 281.
-T Mountpoint
See “Mountpoint directory” on X X /gpfs/DeviceName
page 281.
-W NewDeviceName to assign a
new device name to the file NA X none
system.
-z {yes | no} to enable DMAPI
See “Enabling DMAPI” on page X X no
282.
--log-replicas LogReplicas to
specify the number of recovery log X X none
replicas.
Notes:
1. X – indicates that the option is available on the command.
2. NA (not applicable) – indicates that the option is not available on the command.
272 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Device name of the file system
File system names must be unique within a GPFS cluster. However, two different clusters can have two
distinct file systems with the same name.
The device name of the file system does not need to be fully qualified. fs0 is as acceptable as /dev/fs0.
The name cannot be the same as an existing entry in /dev. The file system name must be no longer than
128 characters.
Note: If your cluster includes Windows nodes, the file system name must be no longer than 32
characters.
General
In a file system, a block is the largest contiguous amount of disk space that can be allocated to a file
and also the largest amount of data that can be transferred in a single I/O operation. The block size
determines the maximum size of a read request or write request that a file system sends to the I/O device
driver. Blocks are composed of an integral number of subblocks, which are the smallest unit of contiguous
disk space that can be allocated to a file. Files larger than one block are stored in some number of full
blocks plus any subblocks that might be required after the last block to hold the remaining data. Files
smaller than one block size are stored in one or more subblocks.
For information about setting block size and subblock size for a file system, see the descriptions of the -B
BlockSize parameter and the --metadata-block-size parameter in help topic mmcrfs command in the
IBM Storage Scale: Command and Programming Reference Guide. Here are some general facts from those
descriptions:
• The block size, subblock size, and number of subblocks per block of a file system are set when the file
system is created and cannot be changed later.
• All the data blocks in a file system have the same block size and the same subblock size. Data blocks
and subblocks in the system storage pool and those in user storage pools have the same sizes. An
example of a valid block size and subblock size is a 4 MiB block with an 8 KiB subblock.
• All the metadata blocks in a file system have the same block size and the same subblock size. The
metadata blocks and subblocks are set to the same sizes as data blocks and subblocks, unless the
--metadata-block-size parameter is specified.
Note: The --metadata-block-size parameter that is used to specify a different metadata block size
than the data block size is being deprecated. This option is no longer required to use for performance
improvements for file systems with file system format 5.0.0 or later and it will be removed in a future
release.
• If the system storage pool contains only metadataOnly NSDs, the metadata block can be set to a
different size than the data block size with the --metadata-block-size parameter.
Note: This setting can result in a change in the data subblock size and in the number of subblocks in
a data block, if the block size (-B parameter) is different from the --metadata-block-size. For an
example, see Scenario 3 in a later bullet in this list.
• The data blocks and metadata blocks must have the same number of subblocks, even when the data
block size and the metadata block size are different. See Scenario 3 in the next bullet.
• The number of subblocks per block is derived from the smallest block size of any storage pool in the file
system, including the system metadata pool. Consider the following example scenarios:
Note: For a table of the valid block sizes and subblock sizes, see mmcrfs command in the IBM Storage
Scale: Command and Programming Reference Guide.
– Scenario 1: The file system is composed of a single system storage pool with all the NSD usage
configured as dataAndMetadata. The file system block size is set with the -B parameter to 16MiB.
As a result, the block size for both metadata and data blocks is 16 MiB. The metadata and data
subblock size is 16 KiB.
– Scenario 2: The file system is composed of multiple storage pools with system storage pool NSD
usage configured as metadataOnly and user storage pool NSD usage configured as dataOnly. The
file system block size is set (-B parameter) to 16 MiB. The --metadata-block-size is also set to
274 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
16 MiB. As a result, the metadata and data block size is 16 MiB. The metadata and data subblock size
is 16 KiB.
– Scenario 3: The file system is composed of multiple storage pools with the system storage pool NSD
usage configured as metadataOnly and the user storage pool NSD usage configured as dataOnly.
The file system block size is set (-B parameter) to 16 MiB, which has a subblock size of 16 KiB, but
the --metadata-block-size is set to 1 MiB, which has a subblock size of 8 KiB. The number of
subblocks across the pools of a file system needs to be the same and this is calculated based on
the storage pool with smallest block size. In this case, the system pool has the smallest block size
(1 MiB). The number of subblocks per block in the system storage pool is 128 (1 MiB block size /
8 KiB subblock size = 128 subblocks per block). The other storage pools inherit the 128-subblocks-
per-block setting and their subblock size is recalculated based on 128 subblocks per block. In this
case the subblock size of the user storage pool is recalculated as 128 KiB (16 MiB / 128 subblocks
per block = 128 KiB subblock size)
• The block size cannot exceed the value of the cluster attribute maxblocksize, which can be set by the
mmchconfig command.
Select a file system block size based on the workload and the type of storage. For a list of supported block
sizes with their subblock sizes, see the description of the -B BlockSize parameter in help topic mmcrfs
command in the IBM Storage Scale: Command and Programming Reference Guide.
Attention: In IBM Storage Scale, the default block size of 4 MiB with an 8 KiB subblock size
provides good sequential performance, makes efficient use of disk space, and provides good or
similar performance for small files compared to the previous default block size of 256 KiB with 32
subblocks per block. It works well for the widest variety of workloads.
Metadata performance
The choice of block size affects the performance of certain metadata operations, in particular,
block allocation performance. The IBM Storage Scale block allocation map is stored in blocks,
similar to regular files. When the block size is small:
• More blocks are required to store the same amount of data, which results in more work to
allocate those blocks
• One block of allocation map data contains less information
atime values
atime is a standard file attribute that represents the time when the file was last accessed.
The file attribute atime is updated locally in memory, but the value is not visible to other nodes until after
the file is closed. To get an accurate value of atime, an application must call subroutine gpfs_stat or
gpfs_fstat.
You can control how atime is updated with the -S option of the mmcrfs and mmchfs commands:
-S no
The atime attribute is updated whenever the file is read. This setting is the default if the minimum
release level (minReleaseLevel) of the cluster is earlier than 5.0.0 when the file system is created.
-S yes
The atime attribute is not updated. The subroutines gpfs_stat and gpfs_fstat return the time
that the file system was last mounted with -S no.
Note: This setting can cause a problem if you have a file management policy that depends on the
ACCESS_TIME attribute. For more information, see the topic Exceptions to Open Group technical
standards in the IBM Storage Scale: Administration Guide.
276 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
-S relatime
The atime attribute is updated whenever the file is read, but only if one of the following conditions is
true:
• The current file access time (atime) is earlier than the file modification time (mtime).
• The current file access time (atime) is greater than the atimeDeferredSeconds attribute. For
more information, see the topic mmchconfig command in the IBM Storage Scale: Command and
Programming Reference Guide.
This setting is the default if the minimum release level (minReleaseLevel) of the cluster is 5.0.0 or
later when the file system is created.
You can temporarily override the value of the -S setting by specifying a mount option specific to IBM
Storage Scale when you mount the file system. The mount option persists until the file system is
unmounted. The following table shows how the mount options correspond to the -S settings:
Table 28. Correspondence between mount options and the -S option in mmcrfs and mmchfs
-S option of mmcrfs and Equivalent mount option; Effect – see topic text for
mmchfs commands. persists until file system is details.
unmounted.
no norelatime Allow atime to be updated.
yes noatime Do not allow atime to be
updated.
relatime relatime Allow atime to be updated if a
condition is met.
For more information, see the topic Mount options specific to IBM Storage Scale in the IBM Storage Scale:
Administration Guide.
mtime values
mtime is a standard file attribute that represents the time when the file was last modified.
The -E parameter controls when the mtime is updated. The default is -E yes, which results in standard
interfaces including the stat() and fstat() calls reporting exact mtime values. Specifying -E no
results in the stat() and fstat() calls reporting the mtime value available at the completion of the last
sync period. This may result in the calls not always reporting the exact mtime. Setting -E no can affect
backup operations, AFM, and AFM DR functions that rely on the last modified time or the operation of
policies using the MODIFICATION_TIME file attribute.
For more information, see Exceptions to the Open Group technical standards in IBM Storage Scale:
Administration Guide.
Type of replication
You can control the type of replication that IBM Storage Scale uses.
Run the mmchfs command with the -K option set to the preferred type of replication. The -K option can
have the following values:
always
Indicates that strict replication is enforced.
whenpossible
Strict replication is enforced if the disk configuration allows it. If the number of failure groups is
insufficient, strict replication is not enforced. This is the default value.
no
Strict replication is not enforced. GPFS tries to create the needed number of replicas, but returns an
errno of EOK if it can allocate at least one replica.
For more information on changing the attributes for replication, see the mmchfs command.
278 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
File system replication parameters
The metadata (inodes, directories, and indirect blocks) and data replication parameters are set at the
file system level and apply to all files. They are initially set for the file system when issuing the mmcrfs
command.
They can be changed for an existing file system using the mmchfs command. When the replication
parameters are changed, files created after the change are affected. To apply the new replication values
to existing files in a file system, issue the mmrestripefs command.
Metadata and data replication are specified independently. Each has a default replication factor of 1 (no
replication) and a maximum replication factor with a default of 2. Although replication of metadata is less
costly in terms of disk space than replication of file data, excessive replication of metadata also affects
GPFS efficiency because all metadata replicas must be written. In general, more replication uses more
space.
280 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
predict the number of nodes, allow the default value to be applied. Specify a larger number if you expect
to add nodes, but avoid wildly overestimating as this can affect buffer operations.
You can change the number of nodes using the -n option on the mmchfs command. Changing this value
affects storage pools created after the value was set; so, for example, if you need to increase this value on
a storage pool, you could change the value, create a new storage pool, and migrate the data from one pool
to the other.
Mountpoint directory
Every GPFS file system has a default mount point associated with it. This mount point can be specified
and changed with the -T option of the mmcrfs and mmchfs commands.
If you do not specify a mount point when you create the file system, GPFS will set the default mount point
to /gpfs/DeviceName.
Enabling quotas
The IBM Storage Scale quota system can help you control file system usage.
Quotas can be defined for individual users, groups of users, or filesets. Quotas can be set on the total
number of files and on the total amount of data space that is used.
If data replication is configured, be sure to include the size of the replicated data in your calculation of the
proper size for a quota limit. For more information, see the topic Listing quotas in the IBM Storage Scale:
Administration Guide.
To have IBM Storage Scale automatically enable quotas when a file system is mounted, choose one of the
following options:
• When you create the file system, issue the mmcrfs command with the -Q option included.
• After the file system is created, issue the mmchfs command with the -Q option included.
After the file system is mounted, you can set quota values by issuing the mmedquota command and
activate quotas by issuing the mmquotaon command. By default, quota values are not automatically
activated when they are set.
Quota levels are defined at three limits that you can set with the mmedquota and mmdefedquota
commands:
Soft limit
Defines levels of disk space and files below which the user, group, or fileset can safely operate.
Specified in units of KiB (k or K), MiB (m or M), or GiB (g or G). If no suffix is provided, the number is
assumed to be in bytes.
Default quotas
Applying default quotas provides all new users, groups of users, or filesets with established minimum
quota limits. If default quota values are not enabled, new users, new groups, or new filesets have a quota
value of zero, which establishes no limit to the amount of space that can be used.
Default quota limits can be set or changed only if the -Q yes option is in effect for the file system.
To set default quotas at the fileset level, the --perfileset-quota option must also be in effect. The
-Q yes and --perfileset-quota options are specified when creating a file system with the mmcrfs
command or changing file system attributes with the mmchfs command. Use the mmlsfs command to
display the current settings of these quota options. Default quotas may then be enabled by issuing the
mmdefquotaon command. Default values are established by issuing the mmdefedquota command.
Enabling DMAPI
Whether or not the file system can be monitored and managed by the GPFS Data Management API
(DMAPI) may be specified at file system creation by using the -z option on the mmcrfs command or
changed at a later time by using the -z option on the mmchfs command.
The default is not to enable DMAPI for the file system.
For more information about DMAPI for GPFS, see IBM Storage Scale: Command and Programming
Reference Guide.
282 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
option enables only changes that are backward compatible with the previous GPFS release. If all GPFS
nodes that are accessing a file system (both local and remote) are running the latest level, then it is
safe to use full option. Certain features may require you to run the mmmigratefs command to enable
them.
For more information, see File system format changes between versions of GPFS in IBM Storage Scale:
Administration Guide.
Specifying whether the df command will report numbers based on quotas for
the fileset
You can specify (when quotas are enforced for a fileset) whether the df command will report numbers
based on the quotas for the fileset and not for the total file system. If ignoreReplicationOnStatfs is
enabled, df command on fileset output ignores data replication factor.
To do so, use the --filesetdf | --nofilesetdf option on either the mmchfs command or the
mmcrfs command. This option affects the df command behavior only on Linux nodes.
If quota is disabled and filesetdf is enabled in IBM Storage Scale 5.1.1 or later with file system version
5.1.1 or later, then the df command reports inode space capacity and inode usage at the independent
fileset-level. However, the df command reports the block space at the file system-level because the block
space is shared with the whole file system.
Note: If quota is enabled, then no behavior change for df command with filesetdf enabled, regardless
of the cluster and file system versions.
For more information, see mmchfs command and mmcrfs command in IBM Storage Scale: Command and
Programming Reference Guide.
maximum number of files = (total file system space) / (inode size + subblock size)
You can determine the inode size (-i) and subblock size (-f) of a file system by running the mmlsfs
command. The maximum number of files in a file system may be specified at file system creation by using
the --inode-limit option on the mmcrfs command, or it may be increased at a later time by using
--inode-limit on the mmchfs command. This value defaults to the size of the file system at creation
divided by 1 MB and cannot exceed the architectural limit. When a file system is created, 4084 inodes are
used by default; these inodes are used by GPFS for internal system files.
For more information, see mmcrfs command and mmchfs command in IBM Storage Scale: Command and
Programming Reference Guide.
The --inode-limit option applies only to the root fileset. Preallocated inodes created using the
mmcrfs command are allocated only to the root fileset and these inodes cannot be deleted or moved
to another independent fileset. When there are multiple inode spaces, use the --inode-limit option
284 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Creating Inode File
56 % complete on Mon Mar 3 15:10:08 2014
100 % complete on Mon Mar 3 15:10:11 2014
Creating Allocation Maps
Clearing Inode Allocation Map
Clearing Block Allocation Map
44 % complete on Mon Mar 3 15:11:32 2014
90 % complete on Mon Mar 3 15:11:37 2014
100 % complete on Mon Mar 3 15:11:38 2014
Completed creation of file system /dev/gpfs2.
mmcrfs: Propagating the cluster configuration data to all
affected nodes. This is an asynchronous process.
mmlsfs gpfs2
For more information, see mmcrfs command and mmlsfs command in IBM Storage Scale: Command and
Programming Reference Guide.
286 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
When IBM Storage Protect for Space Management is used to migrate data to secondary storage pools (for
example, tape volumes), this migrated data might need to be recalled to disk if the file becomes a backup
candidate due to certain changes a user may apply to it.
288 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
– mmbackup and its use of the policy engine can select candidates faster than the dsmc progressive
incremental operation that is bounded by walk of the file system using the POSIX directory and file
status reading functions.
– Using dsmc selective with lists generated by mmbackup is also faster than using dsmc
incremental even with similar lists generated by mmbackup.
Note: It is recommended that scheduled backups of an IBM Storage Scale file system use mmbackup
because mmbackup does not actively query the IBM Storage Protect server to calculate backup
candidates. However, events such as file space deletion or file deletion executed on IBM Storage
Protect server are not recognized until the user triggers a synchronization between the mmbackup
shadow database and the IBM Storage Protect database.
The following table contains a detailed comparison of mmbackup and IBM Storage Protect Backup-
Archive client backup commands:
Table 29. Comparison of mmbackup and IBM Storage Protect Backup-Archive client backup commands
IBM Storage Protect
IBM Storage Scale policy-driven progressive incremental backup
backup (mmbackup) (dsmc incremental)
Detects changes in files and Yes Yes
sends a new copy of the file to
the server.
Detects changes in metadata and Yes Yes
updates the file metadata on the
server or sends a new copy of
the file to the server (for ACL/EA
changes).
Detects directory move, copy, or Yes Yes
rename functions, and sends a
new copy of the file to the server.
Detects local file deletion and Yes Yes
expires the file on the server.
Detects IBM Storage Protect file No* Yes
space deletion or node/policy
changes, and sends a new copy
of the file to the server.
Detects file deletion from the No* Yes
IBM Storage Protect server and
sends a new copy of the file to
the server.
Detects additions of new exclude Yes Yes
rules and expires the file on the
server.
Detects policy changes made to No** Yes
include rules and rebinds the file
to the new storage pool.
Detects copy mode and copy No* Yes
frequency configuration changes.
Detects migration state changes Yes Yes
(IBM Storage Protect for Space
Management) and updates the
server object.
If you use IBM Storage Protect Backup-Archive client backup commands on file systems that are
otherwise handled by using mmbackup, the shadow database maintained by mmbackup loses its
synchronization with the IBM Storage Protect inventory. In such cases, you need to resynchronize with the
IBM Storage Protect server which will inform mmbackup of the recent backup activities conducted with
the dsmc command. Resynchronization might be a very time-consuming activity for large file systems with
a high number of backed up items. To avoid these scenarios, use the mmbackup command only.
If you have used dsmc selective or dsmc incremental since starting to use mmbackup and need
to manually trigger a synchronization between the mmbackup maintained shadow database and the IBM
Storage Protect server:
• Use the mmbackup --rebuild if you need to do a synchronization only.
• Use the mmbackup -q if you need to do a synchronization followed by a backup of the corresponding
file system.
Using the IBM Storage Protect for Space Management client to identify migration
candidates
Using IBM Storage Protect for Space Management clients for traversing IBM Storage Scale file system to
identify migration candidates does not scale well. The IBM Storage Protect automigration daemons
consume space in the file system and also consume CPU resources. They do not have access to the
internal structures of the file system in the way that the IBM Storage Scale mmapplypolicy command
does, and so they cannot scale. Use the following steps instead:
1. Set the following environment variable before the installation of the IBM Storage Protect for Space
Management client to prevent the automigration daemons from starting during the installation:
export HSMINSTALLMODE=SCOUTFREE
It is recommended to place this setting into the profile file of the root user.
2. Add the following option to your IBM Storage Protect client configuration file, dsm.opt, to prevent the
automigration daemons from starting after every system reboot:
HSMDISABLEAUTOMIGDAEMONS YES
290 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
3. Add the following option to your IBM Storage Protect client configuration file, dsm.opt, to ensure that
the object ID is added to the inode, so that the file list based reconciliation (two-way-orphan-check)
can be used:
HSMEXTOBjidattr YES
4. While the automigration daemons are disabled, changes such as removal of migrated files are
not automatically propagated to the IBM Storage Protect server. For housekeeping purposes, you
must run the IBM Storage Protect reconciliation either manually or in a scheduled manner. For more
information, see Reconciling by using a GPFS policy in IBM Storage Protect for Space Management
documentation.
Related concepts
Considerations for provisioning IBM Storage Protect servers to handle backup of IBM Storage Scale file
systems
When backing up IBM Storage Scale file systems, the IBM Storage Protect server must be configured
with adequate resources to handle a larger load of client data, sessions, and mount points than typically
encountered with single-user file systems such as workstations.
IBM Storage Protect data storage model
When using IBM Storage Protect for backing up IBM Storage Scale file systems, the IBM Storage Protect
data storage architecture and its implications need to be considered.
Comparison of snapshot based backups and backups from live system
Backing up large file systems can take many hours or even days. When using the IBM Storage Scale
command mmbackup, time is needed for the following steps.
File system and fileset backups with IBM Storage Protect
mmbackup supports backup from independent filesets in addition to backup of the whole file system.
Independent filesets have similar capabilities as a file system in terms of quota management, dependent
filesets, snapshots, and having their own inode space.
Considerations for using fileset backup with IBM Storage Protect
IBM Storage Protect stores backup data that is indexed by file or directory object path names in its
database. However, file system objects are identified for IBM Storage Protect by their object ID extended
attributes. In both cases, IBM Storage Protect is not aware of the fileset entity. Therefore, the fileset
configuration of an IBM Storage Scale cluster is neither backed up nor it can be restored by IBM Storage
Protect alone, unless separate action is taken.
Considerations for backing up file systems that are managed with IBM Storage Protect for Space
Management
When IBM Storage Protect for Space Management is used to migrate data to secondary storage pools (for
example, tape volumes), this migrated data might need to be recalled to disk if the file becomes a backup
candidate due to certain changes a user may apply to it.
292 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
configuration of an IBM Storage Scale cluster is neither backed up nor it can be restored by IBM Storage
Protect alone, unless separate action is taken.
Considerations for backing up file systems that are managed with IBM Storage Protect for Space
Management
When IBM Storage Protect for Space Management is used to migrate data to secondary storage pools (for
example, tape volumes), this migrated data might need to be recalled to disk if the file becomes a backup
candidate due to certain changes a user may apply to it.
This example shows the file system backup of gpfs0 using the short or long device name (first 4 lines) or
the mount point as a directory input (last 2 lines).
Fileset backup is an additional option to existing IBM Storage Scale backup or data protection options.
Therefore, starting with a file system in which the whole file system has already been backed up on a
regular basis, administrators can also start protecting data with fileset backup on some or all filesets.
Administrators may choose to utilize fileset backup at any time, with no limit. It is not required to back up
the whole file system in either one mode or another unless the chosen data protection approach requires
it. Also, administrators can choose different IBM Storage Protect servers for some or all fileset backups
if it is desired to have these on separate servers. For example, a valid configuration may have one IBM
Storage Protect server that only gets whole file system backups, and a different one for fileset backups.
Note: When mixing file system and fileset backup on the same IBM Storage Protect server, consider
that a target file that is handled by both backup approaches gets backed up twice. Each backup activity
consumes one storage version of the file. Thus, the same file version is stored twice on the IBM Storage
Protect server.
If migrating to use only fileset backup to protect the whole file systems, ensure that all independent
filesets are backed up and keep the backup of all filesets current. Remember to include a backup of the
root fileset as well by using a command such as:
To verify the completeness of the data protection using fileset backup only, use the following steps:
1. Identify all independent filesets available in the file system by using the following command:
mmlsfileset device -L
Identify the independent filesets by the InodeSpace column. The value identifies the corresponding
inode space or independent fileset while the first occurrence refers to the corresponding fileset name
and fileset path.
Note: Ensure that a backup is maintained of the fileset called root that is created when the file
system is created and that can be seen as the first fileset of the file system.
2. For every identified independent fileset, verify that a shadow database exists as follows:
a. Check for the file .mmbackupShadow.<digit>.<TSMserverName>.fileset in the fileset
junction directory.
b. If the file exists, determine the time of last backup by looking at the header line of this file. The
backup date is stored as last value of this line.
For example:
Where Mon Apr 20 13:48:45 2015 in this example is the time of last backup taken for this fileset.
3. If any independent filesets are missing their corresponding .mmbackupShadow.* files, or if they exist
but are older than the data protection limit for their backup time, then start or schedule a backup of
these filesets.
Note: This action needs to be done for every file system for which the fileset backup approach is
chosen.
Note: Backup of a nested independent fileset is not supported. To work around this limitation, unlink the
nested fileset and link it at another location in the root fileset prior to beginning to use fileset backup
pervasively.
294 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Related concepts
Considerations for provisioning IBM Storage Protect servers to handle backup of IBM Storage Scale file
systems
When backing up IBM Storage Scale file systems, the IBM Storage Protect server must be configured
with adequate resources to handle a larger load of client data, sessions, and mount points than typically
encountered with single-user file systems such as workstations.
IBM Storage Protect data storage model
When using IBM Storage Protect for backing up IBM Storage Scale file systems, the IBM Storage Protect
data storage architecture and its implications need to be considered.
How to identify backup and migration candidates
When using IBM Storage Protect for backing up IBM Storage Scale file systems, there are several choices
for the method used to identify backup and migration candidates.
Comparison of snapshot based backups and backups from live system
Backing up large file systems can take many hours or even days. When using the IBM Storage Scale
command mmbackup, time is needed for the following steps.
Considerations for using fileset backup with IBM Storage Protect
IBM Storage Protect stores backup data that is indexed by file or directory object path names in its
database. However, file system objects are identified for IBM Storage Protect by their object ID extended
attributes. In both cases, IBM Storage Protect is not aware of the fileset entity. Therefore, the fileset
configuration of an IBM Storage Scale cluster is neither backed up nor it can be restored by IBM Storage
Protect alone, unless separate action is taken.
Considerations for backing up file systems that are managed with IBM Storage Protect for Space
Management
When IBM Storage Protect for Space Management is used to migrate data to secondary storage pools (for
example, tape volumes), this migrated data might need to be recalled to disk if the file becomes a backup
candidate due to certain changes a user may apply to it.
296 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
mmbackup supports backup from independent filesets in addition to backup of the whole file system.
Independent filesets have similar capabilities as a file system in terms of quota management, dependent
filesets, snapshots, and having their own inode space.
Considerations for backing up file systems that are managed with IBM Storage Protect for Space
Management
When IBM Storage Protect for Space Management is used to migrate data to secondary storage pools (for
example, tape volumes), this migrated data might need to be recalled to disk if the file becomes a backup
candidate due to certain changes a user may apply to it.
Considerations for backing up file systems that are managed with IBM
Storage Protect for Space Management
When IBM Storage Protect for Space Management is used to migrate data to secondary storage pools (for
example, tape volumes), this migrated data might need to be recalled to disk if the file becomes a backup
candidate due to certain changes a user may apply to it.
Recall will automatically occur synchronously if the user attempts to change the file data. However, no
synchronous recall occurs in the following scenarios:
• If a user changes the owner, group, mode, access control list, or extended attributes of the file.
• If the user renames the file or any of the parent directories of the file.
Any of these changes, however, does make the file a candidate for the next mmbackup invocation.
When mmbackup supplies the path to a migrated file to IBM Storage Protect for backup, synchronous
recall will occur. This can lead to a "Recall Storm" in which tape library and IBM Storage Protect
server resources become overburdened handling many simultaneous recall requests. Disk space is also
consumed immediately by recalled data. These are undesirable outcomes and can interfere with the
normal processing of the customer's workload.
Since mmbackup is able to discern that the data was migrated for such files, it will defer the backup, and
instead append a record referring to the file's path name into a special file in the root of the file system,
or fileset in the case of fileset-level backup. This list can then be used by the system administrator
to schedule recall of the deferred files data to permit the backup to occur on the next invocation
of the mmbackup command. By deferring the recall to the system administrator, mmbackup prevents
unexpected, excessive tape library activity which might occur if many such migrated files were nominated
for backup due to user actions such as renaming a high level directory or changing owner, group, or modes
on many files.
The system administrator must schedule the recall for the migrated objects omitted by mmbackup
according to the availability of tape and disk resources in the cluster. For information about optimized
tape recall, see Optimized tape recall processing in IBM Storage Protect for Space Management
documentation.
Related concepts
Considerations for provisioning IBM Storage Protect servers to handle backup of IBM Storage Scale file
systems
When backing up IBM Storage Scale file systems, the IBM Storage Protect server must be configured
with adequate resources to handle a larger load of client data, sessions, and mount points than typically
encountered with single-user file systems such as workstations.
IBM Storage Protect data storage model
When using IBM Storage Protect for backing up IBM Storage Scale file systems, the IBM Storage Protect
data storage architecture and its implications need to be considered.
How to identify backup and migration candidates
When using IBM Storage Protect for backing up IBM Storage Scale file systems, there are several choices
for the method used to identify backup and migration candidates.
Comparison of snapshot based backups and backups from live system
298 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
You can also divide IOPS among a list of nodes, a user-defined node class, or the nodes of a remote
cluster that is served by the file system.
To get started with QoS, follow the steps that are outlined in the topic Setting the Quality of Service for I/O
operations (QoS) in IBM Storage Scale: Administration Guide.
Use the mmchqos command to allocate IOPS to the QoS classes maintenance and other. You can set
up allocations for one pool or several pools in one call to the command. You can designate a single node,
several nodes, or all the nodes in the current cluster to participate in the QoS operations. You can also
designate the nodes in a remote cluster to participate. To preserve a particular configuration, you can set
up a stanza file that the mmchqos command reads when it runs.
You can reset or change IOPS allocations at any time without unmounting the file system. You can
also disable QoS at any time without losing your IOPS allocations. When you reenable QoS, it resumes
applying the allocations.
Remember the following points:
• You can allocate shares of IOPS separately for each storage pool.
• QoS divides each IOPS allocation equally among the specified nodes that mounted the file system.
• Allocations persist across unmounting and remounting the file system.
• QoS stops applying allocations when you unmount the file system and resumes when you remount it.
Use the mmlsqos command to display the consumption of IOPS. The command displays data for
subperiods within the period that you specify. You can configure the type of information that is
displayed. You can display information for specified storage pools or for all storage pools. You can
display information for various time periods, from 1 second up to about 15 minutes. You can display
I/O performance for each QoS class separately or summed together. You can also display the I/O
performance of each node separately or summed across the participating nodes.
300 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
– In encryption, file extension keys (FEKs) are stored in the gpfs.Encryption extended attribute. It
is a good idea to create a file system with an inode size of 4 K or larger to accommodate FEKs that are
encrypted several times. If you encounter an error message that says that the extended attributes
are too large, you must either change the encryption policy so that the file key is wrapped fewer
times, reduce the number of keys that are used to wrap a file key, or create a file system that has a
larger inode size. For more information, see the following links:
- Encryption policies in the IBM Storage Scale: Administration Guide
- Preparation for encryption in the IBM Storage Scale: Administration Guide
- Error message 6027-3470 [E] in the IBM Storage Scale: Problem Determination Guide
• Backup and restore:
– Scale Out Backup and Restore (SOBAR) preserves and restores extended attributes. For more
information, see Scale Out Backup and Restore (SOBAR) in the IBM Storage Scale: Administration
Guide.
– The mmbackup and mmrestorefs commands preserve extended attributes. The mmrestorefs
command has options to restore encryption attributes and to not restore external attributes. The IBM
Storage Protect product has a setting in the dsm.sys configuration file that omits backing up a file if
only an extended attribute is changed (SKIPACLUPDATECHECK). For more information, see Options in
the IBM Storage Protect configuration file dsm.opt in the IBM Storage Scale: Administration Guide.
– The mmrestorefs command has options to restore encryption attributes and to not restore external
attributes.
• Disaster recovery
– In outband disaster recovery, if you are transferring files that contain extended attributes, such as
object data, you must use a method that transfers extended attributes, such IBM Storage Protect,
cross-cluster mount, or AFM.
• Objects
– In unified file and object access, the identity management modes local_mode and unified_mode
have settings for retaining extended attributes. You can set values in the object-server-
sof.conf configuration file to copy extended attributes, Windows attributes, and ACLs from an
existing object. For more information, see the following links:
- Identity management modes for unified file and object access in the IBM Storage Scale:
Administration Guide
- Configuring authentication and ID mapping for file access in the IBM Storage Scale: Administration
Guide
• NFS v4
– NFS v4 uses extended attributes to store some of its file attributes. For more information, see Linux
ACLs and extended attributes in the IBM Storage Scale: Administration Guide.
Fast extended attribute support is now the default on newly created file systems. You can verify that a file
system had fast extended attributes that are enabled by issuing the following command:
Where, <Device> is the name of the file system, for example, gpfs1. If the command output shows
that fast extended attributes are not enabled, then run the following command to enable fast extended
attributes:
Where, <Device> is the name of the file system. For more information, see “Completing the upgrade to a
new level of IBM Storage Scale” on page 620.
HAWC operation
The high-availability write cache is a disk-caching component that includes caching software and
nonvolatile storage. HAWC also uses the file system recovery logs, in which the file system records
metadata about its pending write operations. For HAWC purposes, the recovery logs must be located in
nonvolatile storage.
When a file write operation arrives at a node, the first part of the processing is the same whether HAWC is
active or not. The write data and metadata are copied into an entry in the page pool and the entry is added
to a list of similar entries that are waiting for processing. When the entry is processed, the processing
depends on whether HAWC is active.
302 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Note: If the write operation is nonsynchronous, it returns to its caller after its write data and metadata are
copied into the page pool entry. If the write operation is synchronous, it waits for a notification that the file
data has been written to disk.
When HAWC is not active, the write data is copied from the page pool entry and written to the file on
hard disk. If the write operation is synchronous, the system notifies the write operation that the write is
successful and it returns to its caller.
When HAWC is active, the write data can take either of two paths:
• If the write operation is synchronous and the size of the file data is less than or equal to the write
data threshold, HAWC copies the file data from the page pool entry into the recovery log, along with
any I/O metadata that is required for recovery. The write data threshold variable is set by the mmcrfs
command or the mmchfs command. Next HAWC notifies the original write operation that the file data
is successfully written to hard disk. In fact, the file data is not written to hard disk yet, although it
is preserved in the recovery log as a backup. HAWC then starts a write-behind thread that eventually
writes the file data to the hard disk. When the data is safely written, HAWC purges the file data and I/O
metadata from the recovery log, because it is no longer needed.
• If the write operation is not synchronous or if the size of the write data is greater than the write cache
threshold, then the write data follows the same path that is followed when HAWC is not active. The
system copies the write data from the page pool entry and writes it to hard disk. If the original write
operation is synchronous, the system notifies it that the file data is safely written to the hard disk.
HAWC improves the performance of small synchronous write operations in two ways. First, it allows
synchronous write operations to return the calling application as soon as the write data is written into the
recovery log. The calling application does not have to wait for the much lengthier process of writing the
data to hard disk. Second, the HAWC caching software can consolidate small sequential writes into one
larger write. This consolidation eliminates all but one of the initial disk seeks that is required if the data is
written as multiple writes.
The write-cache threshold variable can be adjusted by specifying a value for the --write-cache-
threshold parameter of the mmchfs command. The valid range is 0 - 64 K in multiples of 4 K. You can
also set this variable when you create the file system by specifying the same parameter in the mmcrfs
command. Setting the write cache threshold to zero disables HAWC. You can update the write threshold
variable at any time; the file system does not have to be mounted on the node.
In this scenario, when a synchronous write operation arrives at a node, the file data and metadata
are copied a page pool entry in the usual way. If the size of the file data is less than the write data
threshold, HAWC copies the file data into the recovery log along with any I/O metadata that is required for
recovery. Next, HAWC returns an acknowledgment to the write operation that indicates that the file data
is successfully written to hard disk. HAWC then starts a write-behind thread that eventually writes the file
data to the hard disk. When the data is safely written, HAWC purges the file data and I/O metadata for the
write operation from the recovery log.
In the second scenario, the nonvolatile storage consists of multiple storage devices that are distributed
across some or all of the nodes in the cluster:
Although the hardware configuration is different in the second scenario, the data flow is similar to the
data flow of the first scenario. The synchronous write operation arrives at a node and the write data and
304 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
I/O metadata are written into a page pool entry. If the size of the write data is smaller than the write
storage threshold, HAWC copies the file data and relevant I/O metadata to the recovery log. The data is
striped over the various disks that belong to the recovery log storage pool. HAWC returns a successful
acknowledgment to the synchronous write operation and starts a write-behind thread that later writes the
file data from the page pool entry to a hard disk. When the data is safely written, HAWC purges the file
data and I/O metadata from the recovery log.
/usr/lib/systemd/system
• Ubuntu:
/lib/systemd/system
IBM Storage Scale includes the following systemd services. For references to IBM Storage Scale
daemons, see the descriptions that immediately follow this list:
gpfs
Starts or stops the GPFS daemon (mmfsd).
gpfs-online
Marker service which switches to active after GPFS has reached a working state. It uses the GPFS
state as shown in the mmhealth node show command output for its status.
gpfs-wait-mount.service
Marker service which switches to active after the GPFS filesystems have been mounted. It uses the
filesystem state as shown in the mmhealth node show command output for its status. The status
for the mmhealth command only looks at filesystems which have automount value set to yes.
306 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Authentication considerations
To enable read and write access to directories and files for the users on the IBM Storage Scale system,
you must configure user authentication on the system. Only one user authentication method, and only one
instance of that method, can be supported.
The following matrix gives a quick overview of the supported authentication configurations with the IBM
Storage Scale system for both file and object access.
• ✓: Supported
• X: Not supported
• NA: Not applicable
Note:
• NIS is not supported for Object protocol.
• NIS authentication is not supported for RHEL 9.
• When you use a unified file and object access (serving the same data with a file and with an object),
select the appropriate authentication service. For more information, see the Administering unified file
and object access topic in the IBM Storage Scale: Administration Guide.
• The ID-mapping option that is given in this table is only applicable for file access. Ignore the ID-
mapping details that are listed in the table if you are looking for the supported configurations for object
access.
• In the User-defined mode, the customer is free to choose the authentication and ID-mapping methods
for file and object and manage on their own. That is, the authentication needs to be configured by the
administrator outside of the IBM Storage Scale commands and ensure that it is common and consistent
across the cluster.
• If LDAP-based authentication is used, ACL management for SMB is not supported.
Unified Identity between Object & File: In this case, we need to ensure that the users get the same user
UID and GID across NFS, SMB, and Object. Therefore, only the following authentication mechanisms are
supported:
• Object that is configured with AD, and a file is configured with the same AD where the user or group ID is
available on AD+RFC 2307.
• Object that is configured with LDAP, and a file is configured with the same LDAP where the user or group
ID is available on LDAP.
For more information, see the Administering unified file and object access topic in the IBM Storage Scale:
Administration Guide.
The following diagram shows the high-level overview of the authentication configuration.
308 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Figure 35. High-level overview of protocol user authentication
The authentication requests that are received from the client systems are handled by the corresponding
services in the IBM Storage Scale system. For example, if a user needs to access the NFS data, the
NFS services resolves the access request by interacting with the corresponding authentication and ID-
mapping servers.
For more information about how to configure authentication, see Managing protocol user authentication in
the IBM Storage Scale: Administration Guide.
For more planning information, for example, prerequisites, see Configuring authentication and ID mapping
for file access in the IBM Storage Scale: Administration Guide.
310 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Figure 36. High-level flow of authentication for File protocols
ID mapping
The authentication of the user or groups of users is also associated with the identification of their
unique identifiers. To support data access to Microsoft Windows clients (SMB protocol) and to allow
interoperability, that is, to share data among UNIX and Windows clients (SMB and NFS protocols), the IBM
Storage Scale system must map Windows SID to UNIX UID/GID. This process is referred to as ID mapping
and the map is referred to as ID map. The ID mapping can be done either internally in the IBM Storage
Scale system or in an external authentication server.
ID mapping is part of the user identification process in user authentication. The purpose of identification
is to identify users and infrastructure components. Identification methods include unique user identifiers
(IDs), keys, or fingerprints such as a public Secure Shell (SSH) key, and digital certificates such as a
certificate of a web server.
UNIX based systems such as the IBM Storage Scale system use user names and user identifiers (UIDs)
to represent users of the system. The user name is typically a human-readable sequence of alphanumeric
characters and the UID is a positive integer value. When a user logs on to a UNIX system, the operating
system looks up the UID and then uses this UID for further representation of the user. User names, UIDs,
and the mapping of user names to UIDs are stored locally in the /etc/passwd file or on an external
directory service such as Active Directory (AD), Lightweight Directory Access Protocol (LDAP), Keystone,
or Network Information Service (NIS).
UNIX systems implement groups to maintain sets of users that have the same group permissions to
access certain system resources. Similar to user names and UIDs, a UNIX system also maintains group
names and group identifiers (GID). A UNIX user can be a member of one or more groups, where one
group is the primary or default group. Group names, GIDs, the mapping of group names to GIDs, and the
memberships of users to groups are stored locally in the /etc/group file or on an external directory
service such as Active Directory, LDAP, Keystone, or NIS. The primary group of a user is stored in /etc/
passwd or in an external directory service.
Windows systems reference all operating system entities as resources. For example, users, groups,
computers, and so on are Windows resources. Each resource is represented by a security identifier (SID).
Resource names and SIDs are stored locally in the Windows registry or in an external directory service
312 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Other supported authentication elements for file access
The system supports the following authentication elements as well:
• Netgroups: Groups of hosts are used to restrict access for mounting NFS exports on a set of hosts,
and deny mounting on the remainder of the hosts. The IBM Storage Scale system supports only the
netgroups that are stored in NIS and in Lightweight Directory Access Protocol (LDAP).
• Kerberos: Kerberos is a network authentication protocol that provides secured communication by
ensuring passwords are not sent over the network to the system. The system supports Kerberos with
both AD and LDAP-based authentication. When you configure AD-based authentication for any ID
mapping method (automatic, RFC2307, LDAP), the Kerberos is enabled for the SMB access by default.
However, Kerberos for NFS access is supported only for RFC2307 ID mapping method in AD-based
authentication, and to enable NFS Kerberos access for AD-based authentication with RFC2307 ID
mapping; you need to use the --enable-nfs-kerberos and --unixmap-domains options in the
mmuserauth command.
Kerberos is optional for both SMB and NFS access in LDAP. To enable Kerberos with LDAP, you need to
integrate the system with MIT KDC.
• Transport Level Security (TLS): The TLS protocol is primarily used to increase the security and integrity
of data that is sent over the network. These protocols are based on public key cryptography and use
digital certificates based on X.509 for identification.
314 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
complete loss of data access. Before you delete an ID mapping, determine how to maintain data access if
needed.
The following list provides the authentication process for object access:
1. The user raises the access request to get access to the object data.
2. The keystone server communicates with the authentication server (such as AD, LDAP, or a
local database). The keystone server interacts with the authentication server for authentication,
authorization, and service end-point management.
3. If the user details are valid, the keystone server interacts with the local database to determine the
user roles and issues a token to grant access to the user.
4. The OpenStack identity service offers token-based authentication for object access. When user
credentials are validated, the identity service issues an authentication token, which the user provides
in subsequent requests. That is, the access request also includes the token that is granted in step 3.
The token is an alphanumeric string of text that is used to access OpenStack APIs and resources.
5. The authenticated user contacts the object storage to access the data that is stored in it.
6. The object storage grants permission to the user to work on the data based on the associated project
ID and user role.
Each object user is part of a project. A project is used to group or isolate resources. Each user needs to be
defined with the set of user rights and privileges to perform a specific set of operations on the resources
of the project to which it belongs to.
The Identity service also tracks and manages the access to the OpenStack services that are installed
on the system. It provides one or more endpoints that can be used to access resources and perform
authorized operations. Endpoints are network-accessible addresses (URLs) that can be used to access the
service.
When the user is authenticated, the keystone server provides a list of services and a token to the user to
access the services. For example, if the user is authenticated to access the Object Storage service, the
keystone server provides the token to access the service. The Object Storage service then verifies the
token and fulfills the request.
316 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
To achieve high availability, Object Storage and Keystone are activated on all protocol nodes. The internal
database that is required to validate the user is installed on the shared root file system.
Depending upon the configuration, the keystone server needs to interact with AD, LDAP, or the internal
database for user authentication. The Keystone internal database is also used for assigning users to
projects with a specific role for controlling access to projects. It also holds the definition of OpenStack
services and the endpoints for those services.
Each node that is configured with object storage is configured to interact with the Keystone server.
Related concepts
Impacts of authentication on enabling and disabling protocols
The following are the recommendations for enabling and disabling protocols.
Authentication and ID mapping for file access
The system supports an external authentication service to authenticate users on the system. Before you
configure an authentication method, ensure that the external authentication service is set up correctly.
Deleting authentication and ID mapping
You can choose to delete the ID mappings that are generated and stored on IBM Storage Scale. The
authentication method that is configured in the system can be deleted too. This deletion might result in a
complete loss of data access. Before you delete an ID mapping, determine how to maintain data access if
needed.
Each IBM Storage Scale protocol node that has an enabled NFS, runs the NFS service, other protocol
services (SMB and Object, if enabled), and the IBM Storage Scale client. NFS users make requests
through an NFS client to perform an NFS operation on a mounted NFS file system, for example, to read
or to write a file. The request is routed to an NFS protocol node. The NFS server on the protocol node
handles the request against the backend IBM Storage Scale storage file system. The request completion
status is then returned to the user through the NFS client.
318 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Enter the following command to verify:
# mmlsfs fileSystem -o
For more information about mount options, see Mount options specific to IBM Storage Scale in IBM Storage
Scale: Command and Programming Reference Guide.
For fileset considerations for the NFS protocol, see “Fileset considerations for creating protocol data
exports” on page 331.
320 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
block if conflicting activity is happening, it insists on it. Since this is an NFS V4 specific requirement, it
must be set before exporting a file system.
2. The -k nfs4 flag is required. To export a file system by using NFS V4, NFS V4 ACLs must be enabled.
Since NFS V4 ACLs are vastly different and affect several characteristics of the file system objects
(directories and individual files), they must be explicitly enabled. This is done by specifying -k nfs4.
3. For NFS users with more than 16 groups, set MANAGE_GIDS=TRUE, else user can not get access to
NFS exports.
SMB limitations
This topic describes the limitations of IBM Storage Scale SMB protocol.
IBM Storage Scale allows concurrent access to the same data file through SMB and NFS, and through
native POSIX access.
For more details on these options, see the mmsmb command in the IBM Storage Scale: Command and
Programming Reference Guide.
For more information on SMB client access and limitations, see Multiprotocol export considerations in the
IBM Storage Scale: Administration Guide.
322 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
SMB share limitations
Consider all the limitations and support restrictions before you create an SMB share.
SMB share limitations include the following:
• NTFS alternate data streams are not supported. For example, named streams generated by a Mac OS X
operating system cannot be stored directly.
Enabling vfs_fruit will partially lift this limitation. For more information, see the Support of vfs_fruit for
the SMB protocol topic in the IBM Storage Scale: Administration Guide.
• The encryption status of files cannot be queried or changed from SMB clients. Use the CLI commands
instead.
• When propagation of opportunistic locks across protocols is enabled (SMB option gpfs:leases), then
Level 2 oplocks are not granted and Exclusive or batch oplocks are not broken down to Level 2 oplocks
and are revoked from the system.
• Concurrent access to the same files or directories from many SMB connections on multiple nodes can
result in scalability problems.
• Symbolic links cannot be created or changed from SMB clients and are not reported as symbolic links.
• Symbolic links created via NFS or directly in the file system will be respected as long as they point to a
target under the same shared directory.
• Windows Internet Name Service (WINS) is not supported.
• Retrieving Quota information using NT_TRANSACT_QUERY_QUOTA is not supported.
• Setting Quota information using NT_TRANSACT_SET_QUOTA is not supported.
• Setting the maximum number of connections to a share is not supported. The MMC GUI allows
specifying this parameter, but it cannot be set on an IBM Storage Scale cluster.
• UNIX Extensions are not supported.
• You cannot create a shadow copy of a shared folder using a remote procedure call from a shadow copy
client. Backup utilities, such as Microsoft Volume Shadow Copy Service, cannot create a shadow copy of
a shared folder using a procedure call.
• The Branch Cache hash operations using SRV_READ_HASH IOCTL are not supported.
• Leases are not supported.
• Only the SMB2 and SMB3 protocol versions are supported.
• No support of dynamic ACLs and SACLs.
• SMB Direct (SMB over RDMA) is not supported.
• Multi-channel for SMB is not supported.
• Durable handles are not supported.
• Resilient handles are not supported.
• Persistent handles are not supported.
• Storing arbitrary data in Security Descriptors is not supported.
• Pre-allocating space larger than the file size is not supported. A check for the available disk space is
used instead when processing an allocation request from an SMB client.
• The Witness notification protocol is not supported.
• Continuous Availability (CA) SMB exports are not supported.
• Scaleout SMB exports are not supported.
• Creating snapshots from an SMB client is not supported.
• Application instance ID is not supported.
• FSCTL_SET_ZERO_DATA is only supported on sparse files.
• Setting compression from an SMB client or querying the compression state from an SMB client is not
supported.
Here, 500 is the minimum Unix uid of the user that need SMB access.
For information on CVE-2020-25717 security feature, see Samba security CVE-2020-25717.
324 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
SMB data migration to IBM Storage Scale
This topic documents a procedure for migrating data from an SMB system to IBM Storage Scale while
preserving SMB metadata like ACLs and SMB file attributes.
Setting up the IBM Storage Scale environment for capacity and performance
The first step for data migration is to set up the IBM Storage Scale nodes if you have not already done so.
For more information, see Chapter 3, “Steps for establishing and starting your IBM Storage Scale cluster,”
on page 381.
To achieve optimum performance while migrating small files, ensure the following:
• Use many Windows clients to scale out the number of SMB sessions
• Use Robocopy with /MT option
• Disable the syncops:onclose option while creating the SMB exports, if applicable
Accessing the source SMB server and the IBM Storage Scale file system
Do the following:
1. From the Windows clients, access the source SMB server and the IBM Storage Scale cluster.
2. Map network drives for the source SMB server and the IBM Storage Scale cluster.
If data for multiple SMB exports are transferred, multiple Windows clients can be used, where each
one accesses one pair of source and target SMB exports. This allows to speed up the transfer.
• /IS: Includes the same files. The same files have identical name, size, times, and all attributes.
• /copy:DATSO: Copies file contents.
For example,
326 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Storage planning and configuration
The storage configuration must be carefully planned based on the overall workload characteristics that
are intended for IBM Storage Scale.
The factors to be considered in planning the storage configuration include:
• Expected response time, during peak and off peak hours.
• Workload profiling to understand the data access requirements, both in terms of throughput (MiB per
second) and I/O operations per second (IOPS).
• Plan for adequate storage resources not just for “normal” network file serving but also for advanced
functions.
The storage configuration includes the following details:
• Number of storage nodes.
• Storage disk subsystems.
• Number and type of disk drives.
• Total capacity
• Projected IO throughput and IOPS
A file system that resides on fewer disks, or disks that are mapped on to RAID arrays that comprise slower
lower speed disk drives, can result in a lower number of active concurrent SMB connections per protocol
node.
gpfs:leases
Understand the scenarios in which gpfs:leases are enabled or disabled.
gpfs:leases are enabled by default when an SMB export is created. When enabled, it specifies that clients,
which access the file over other NAS protocols, can break the opportunistic lock of an SMB client. This
feature informs the SMB client when another client is accessing the same file at the same time through a
non-SMB protocol.
Disabling this feature provides a slight increase in performance each time that a file is opened. You can
only disable this option if the files are exclusively accessed via SMB. You risk data corruption otherwise.
If only the SMB layer manages oplocks, the overhead of keeping them in sync with the core file system is
saved.
gpfs:leases can be disabled for a particular SMB export by specifying the
–option gpfs:leases = no
option on the "create" or "change" subcommands in the mmsmb command topic in the IBM Storage Scale:
Command and Programming Reference Guide.
posix:locking
Understand the scenarios in which posix:locking is enabled or disabled.
posix:locking is enabled by default when an SMB export is created. When enabled, it determines whether
a byte range file control lock is already present on the requested portion of the file when a byte range lock
is granted to an SMB client.
–option posix:locking = no
option on the "create" or "change" subcommands in the mmsmb command topic in the IBM Storage Scale:
Command and Programming Reference Guide.
gpfs:sharemodes
Read about share modes and how they impact SMB export.
The SMB protocol allows an application simultaneous access to a file by defining share modes when it is
first opened. The share modes can be in any of the following combinations.
• SHARE_READ
• SHARE_WRITE
• SHARE_DELETE
If no sharemode is specified, all attempts of simultaneous access by another application or client to open
a file, in a manner that conflicts with the existing open mode, is denied. Access is denied even if the user
has the appropriate permissions that are granted by share and file system access control lists.
The "sharemodes" option is enabled by default when an SMB export is created. When enabled, the
share modes that are specified by SMB clients are respected by other NAS protocols. When disabled, it
specifies that the share modes are applicable only to access by SMB clients. Clients that use all other
NAS protocols are granted or denied access to a file without regard to any share mode defined by an SMB
client.
If the export is not being accessed by clients that use other network file protocols (such as NFS), then it is
highly recommended that
--option gpfs:sharemodes=no
option is specified on the mmsmb export add or mmsmb export change commands.
For more information, see Upgrading SMB packages.
Note: If your environment requires data sharing over multiple –protocols and these options cannot be
disabled, you might not be able to achieve the maximum active SMB connections per node. In that case,
consider adding more protocol nodes and increased storage bandwidth.
Sharing files and directories among SMB clients - concurrent access to files
Information on performance optimization when performance slows down due to extensive sharing.
If your environment calls for extensive file and directory sharing among many users, such as a large set of
department documents, you can experience slowdown in performance. In this type of environment, it is
328 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
possible to improve the performance based on the user needs. Consider the following options to optimize
performance:
• Use the SMB export coherency options that are described in the following section.
• Limit all sharing through a single protocol node, or as few protocol nodes as possible. Restricting SMB
connections that export data to a single protocol node helps reduce internal communication among the
protocol nodes.
• If possible, distribute workload in sub directories to reduce number of SMB connections that access the
same directory at the same time.
SMB export coherency options: fileid:algorithm
IBM Storage Scale provides a coherency, that is, fileid:algorithm, option to control data consistency needs
for an SMB export. This option applies when an export is being accessed only by SMB clients. When the
default value of fsname is changed, it helps to improve performance. However, extreme caution must be
taken to determine right settings for your data as it impacts data integrity.
The applications must ensure that files or directories are not modified by multiple processes at the same
time. For example, reading and writing of the same file does not happen simultaneously by different
processes or alternatively, when the application is coordinating all file accesses to avoid conflicts.
The coherency (fileid:algorithm) option can be changed for a particular SMB export by
specifying the --option fileid:algorithm = {fsname| hostname | fsname_nodirs |
fsname_norootdir} option on the mmsmb export add or mmsmb export change commands.
330 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
• Investigate and fine-tune the performance of the underlying disk storage systems that contain the file
systems on which the SMB export resides. The checklist items are described in the following list:
– Ensure that the file system disks of a storage system are distributed between the pair of IBM Storage
Scale storage nodes to which that storage system is attached. One half of the file system disks in a
storage system should have one of the storage nodes that are identified as the primary NSD server.
The other half of the file system disks in the storage system should have the other IBM Storage Scale
storage node in the pair that is assigned as the primary NSD server. The mmlsdisk CLI command
option shows the IBM Storage Scale storage nodes that are the primary and secondary NSD server for
each file system disk.
– If an IBM Storage Scale metadata replication or data replication is being used, ensure that you assign
file system disks to failure groups that balance the I/O and data across a set of file system disks,
RAID arrays, and disk storage systems. The mmlsdisk CLI command shows the failure group to
which each file system disk is assigned. The mmchdisk CLI command can be used to change the
failure group to which each file system disk is assigned.
– If the underlying disk storage systems on which the file system reside is becoming a performance
bottleneck, consider adding more physical resources to those disk storage systems. More resources
include more cache memory, more disk drives, more RAID arrays and more file system disks for the
file systems that contain the SMB exports.
– If the existing disk storage systems on which the file system resides reach their limit in terms
of either capacity or performance or both, then consider adding more disk storage systems and
extending the file system on which the SMB exports resides. Capacity and performance improvement
can be done by adding new file system disks that are residing on the new disk storage systems to the
existing disc storage system.
Note: You can create a sub-directory in the root directory and export it. For example: mmnfs
export add /gpfs/fs0/home
For more information, see mmnfs command in IBM Storage Scale: Command and Programming
Reference Guide.
2. Create independent filesets in the root directory, linked to the subdirectory /gpfs/fs0/home.
In the following example, it is assumed that there is a user user1 that is a part of the group
group/HR.
For more information, see the following commands in the IBM Storage Scale: Command and
Programming Reference Guide.
• mmcrfileset command
• mmlinkfileset command
3. Similarly, create independent filesets for other departments and users.
You can assign quota to each user and department via the independent filesets.
The NFS and SMB clients can now mount the export and access their directories.
Access to the data in the export directories is controlled via the group and user ACLs. In this case,
only the users who are in group HR, which has group ACLs to read/write into the hr directory, can
access the directory. The user user1 who is in the group group/HR can perform read/write to the
user1 directory and the hr directory.
332 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
1. Create an independent fileset web_cam_data.
mkdir /gpfs/fs0/web_cam_data/camera1
mkdir /gpfs/fs0/web_cam_data/camera2
The webcam1 (IP: 198.51.100.2) mounts and records data to the camera1 export and the webcam2
(IP: 198.51.100.3) mounts and records data to the camera2 export. The data analyzers (IP:
203.0.113.2 and 203.0.113.3) are given 'Read Only' type access to both exports. Thus, the data
is accessible only from the specified IP addresses.
For every object PUT request, the following inodes are created:
• A hash directory for a PUT request of every new object is created.
• A target object file is created.
• The parent directory of the hash directory if it does not exist is created.
• The partition directory unless it exists is created.
• A hashes.pkl file is created.
• A temporary .lock file is created.
Each protocol node runs all OpenStack Swift object services, the Keystone identity service, and the IBM
Storage Scale client. Client applications make requests to complete object operations, such as uploading
an object, downloading an object, and deleting an object.
334 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
The request is routed to a protocol node typically by a load balancer or by using DNS round robin. The
protocol node implements that request by creating, retrieving, or deleting the object on the backend IBM
Storage Scale storage. The request completion status is then returned to the client application. Each
client request must include an authentication token. Typically, client applications request a token from
the Keystone service and then provide that token in the subsequent object requests - until the token
expires. At that point, a new token can be requested.
Client applications make requests to complete operations such as uploading an object, downloading
an object, and deleting an object. Account and container information can also be updated, viewed,
and removed by client applications. Use the OpenStack Swift API documentation available to clients.
For more information about using the OpenStack Swift API, see http://developer.openstack.org/api-ref/
object-storage/index.html.
For more information on OpenStack Swift, see OpenStack Swift documentation.
For more information about using OpenStack Keystone with Swift, see Keystone Auth section in the
OpenStack Swift documentation.
Configuring the OpenStack repository from the Red Hat subscription manager
Red Hat supplies the OpenStack installation repository through the Red Hat OpenStack Platform
subscription. Contact Red Hat to add this subscription to your Red Hat license if necessary.
1. Attach the OpenStack pool ID to your subscription manager with the following command.
You can obtain the OpenStack pool ID that is needed for this step by using the following command.
2. Add the following repositories to the subscription manager. In the repository names, replace ARCH
with ppc64le or x86_64, as needed for your environment.
3. Repeat these steps on each protocol node to ensure that the OpenStack repositories are available on
all of them.
Related concepts
Load balancing
Use multiple protocol nodes to provide higher throughput and performance of Object Storage by allowing
more requests in parallel and distributing the workload among all protocol nodes.
Cluster host name
The cluster host name is required during the installation process.
Authentication method
IBM Storage Scale for object storage supports a flexible array of configuration options for authentication.
Backup and disaster recovery strategy
SELinux considerations
To simplify the configuration of the IBM Storage Scale for Object Storage environment, the installation
process detects whether SELinux is enabled or not. If SELinux is enabled, the installation process
performs steps so that the object services and the database software that runs on the protocol nodes
can interact with the required file system and system resources.
Eventual consistency model
An eventual consistency model is used when you upload or delete object data.
Planning for unified file and object access
You can use unified file and object access to access data by using object and file interfaces. Before you
use unified file and object access, you must plan for a number of aspects.
Planning for multi-region object deployment
Use the following information to plan your multi-region object deployment.
Load balancing
Use multiple protocol nodes to provide higher throughput and performance of Object Storage by allowing
more requests in parallel and distributing the workload among all protocol nodes.
Certain steps might be necessary to ensure that client requests are distributed among all protocol nodes.
Object store endpoint URLs stored in keystone contain the destination host name or IP addresses.
Therefore, it is important to ensure that requests that are sent to that destination are distributed among
all the protocol addresses. This endpoint address is the value that is specified by the --endpoint
parameter when you set up Object Storage with the installation toolkit.
If a host name is resolved to a single protocol IP address (such as 192.168.1.1), then all client
requests are sent to the protocol node associated with that specific address. Make sure that requests are
distributed among all the protocol nodes instead of just a single protocol node.
To accomplish this you can use a load balancer, such as HAProxy. In this case, the destination for the
endpoint is configured to resolve to the load balancer, and the load balancer forwards incoming requests
to one of the protocol nodes (based on a balancing strategy). By configuring the load balancer with all of
the protocol IP addresses, the client requests can be sent to the entire set of protocol nodes.
Another common solution is to use a DNS Round Robin. In this case, a DNS server is configured so a single
host name is associated with a set of addresses. When a client does a DNS lookup of the host name,
one address from the set is returned. By configuring the DNS Round Robin service to associate the set
of protocol IP addresses with the endpoint host name, client requests are distributed among all protocol
336 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
nodes. As each client initiates a request to the endpoint hostname, the DNS Round Robin service returns
an IP address by cycling through the set of protocol IP addresses.
Related concepts
OpenStack repository configuration required by the object protocol
Cluster host name
The cluster host name is required during the installation process.
Authentication method
IBM Storage Scale for object storage supports a flexible array of configuration options for authentication.
Backup and disaster recovery strategy
SELinux considerations
To simplify the configuration of the IBM Storage Scale for Object Storage environment, the installation
process detects whether SELinux is enabled or not. If SELinux is enabled, the installation process
performs steps so that the object services and the database software that runs on the protocol nodes
can interact with the required file system and system resources.
Eventual consistency model
An eventual consistency model is used when you upload or delete object data.
Planning for unified file and object access
You can use unified file and object access to access data by using object and file interfaces. Before you
use unified file and object access, you must plan for a number of aspects.
Planning for multi-region object deployment
Use the following information to plan your multi-region object deployment.
Authentication method
IBM Storage Scale for object storage supports a flexible array of configuration options for authentication.
If you already have Keystone that is deployed in your environment, you can configure IBM Storage Scale
for object storage to use the existing or external Keystone. If you configure Keystone as a part of an IBM
Storage Scale cluster, you can manage the user information locally, or you can integrate it with a Microsoft
Active Directory or LDAP system.
Related concepts
OpenStack repository configuration required by the object protocol
Load balancing
Use multiple protocol nodes to provide higher throughput and performance of Object Storage by allowing
more requests in parallel and distributing the workload among all protocol nodes.
Cluster host name
The cluster host name is required during the installation process.
Backup and disaster recovery strategy
SELinux considerations
To simplify the configuration of the IBM Storage Scale for Object Storage environment, the installation
process detects whether SELinux is enabled or not. If SELinux is enabled, the installation process
performs steps so that the object services and the database software that runs on the protocol nodes
can interact with the required file system and system resources.
Eventual consistency model
An eventual consistency model is used when you upload or delete object data.
Planning for unified file and object access
You can use unified file and object access to access data by using object and file interfaces. Before you
use unified file and object access, you must plan for a number of aspects.
Planning for multi-region object deployment
Use the following information to plan your multi-region object deployment.
338 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
You can use unified file and object access to access data by using object and file interfaces. Before you
use unified file and object access, you must plan for a number of aspects.
Planning for multi-region object deployment
Use the following information to plan your multi-region object deployment.
SELinux considerations
To simplify the configuration of the IBM Storage Scale for Object Storage environment, the installation
process detects whether SELinux is enabled or not. If SELinux is enabled, the installation process
performs steps so that the object services and the database software that runs on the protocol nodes
can interact with the required file system and system resources.
The openstack-selinux package is installed automatically when the spectrum-scale-object
package is installed. This packages installation configures the object services for SELinux.
If the installer detects that SELinux is enabled, it does the following steps:
1. Ensures that the Postgres database can access the Keystone database directory on the CES shared
root file system:
2. Ensures that object processes can access the object data fileset:
Attention:
• The object protocol is not supported in IBM Storage Scale 5.1.0.0. If you want to deploy object,
install the IBM Storage Scale 5.1.0.1 or a later release.
• If SELinux is disabled during installation of IBM Storage Scale for object storage, enabling
SELinux after installation is not supported.
SELinux packages required for IBM Storage Scale for Object Storage
When the IBM Storage Scale object protocol is installed, the following SELinux packages are also
installed:
• selinux-policy-base at 3.13.1-23 or higher
• selinux-policy-targeted at 3.12.1-153 or higher
When you use the object protocol, you cannot enable SELinux after the IBM Storage Scale installation.
Contact IBM Storage Scale support by sending an email to [email protected], if you have questions
about this restriction.
Related concepts
OpenStack repository configuration required by the object protocol
Load balancing
Use multiple protocol nodes to provide higher throughput and performance of Object Storage by allowing
more requests in parallel and distributing the workload among all protocol nodes.
Cluster host name
The cluster host name is required during the installation process.
Authentication method
IBM Storage Scale for object storage supports a flexible array of configuration options for authentication.
Backup and disaster recovery strategy
Eventual consistency model
340 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
• IBM Storage Scale 5.1.8 is the last release that has CES Swift Object protocol.
• IBM Storage Scale 5.1.9 will tolerate the update of a CES node from IBM Storage Scale 5.1.8.
– Tolerate means:
- The CES node will be updated to 5.1.9.
- Swift Object support will not be updated as part of the 5.1.9 update.
- You may continue to use the version of Swift Object protocol that was provided in IBM Storage
Scale 5.1.8 on the CES 5.1.9 node.
- IBM will provide usage and known defect support for the version of Swift Object that was provided
in IBM Storage Scale 5.1.8 until you migrate to a supported object solution that IBM Storage Scale
provides.
• Please contact IBM for further details and migration planning.
Related concepts
OpenStack repository configuration required by the object protocol
Load balancing
Use multiple protocol nodes to provide higher throughput and performance of Object Storage by allowing
more requests in parallel and distributing the workload among all protocol nodes.
Cluster host name
The cluster host name is required during the installation process.
Authentication method
IBM Storage Scale for object storage supports a flexible array of configuration options for authentication.
Backup and disaster recovery strategy
SELinux considerations
To simplify the configuration of the IBM Storage Scale for Object Storage environment, the installation
process detects whether SELinux is enabled or not. If SELinux is enabled, the installation process
performs steps so that the object services and the database software that runs on the protocol nodes
can interact with the required file system and system resources.
Eventual consistency model
An eventual consistency model is used when you upload or delete object data.
Planning for multi-region object deployment
Use the following information to plan your multi-region object deployment.
Planning for identity management modes for unified file and object access
As you plan for unified file and object access, it is important to understand the identity management
modes for unified file and object access.
Based on the identity management mode that you plan to use, you must plan for the authentication
mechanism to be configured with file and object. In an existing IBM Storage Scale setup in which an
authentication mechanism is already set up, a suitable identity management mode must be chosen for
unified file and object access.
For more information, see Identity management modes for unified file and object access in IBM Storage
Scale: Administration Guide.
342 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
For information on adding a region to a multi-region object deployment environment, see Adding a region
in a multi-region object deployment in IBM Storage Scale: Administration Guide.
Related concepts
OpenStack repository configuration required by the object protocol
Load balancing
Use multiple protocol nodes to provide higher throughput and performance of Object Storage by allowing
more requests in parallel and distributing the workload among all protocol nodes.
Cluster host name
The cluster host name is required during the installation process.
Authentication method
IBM Storage Scale for object storage supports a flexible array of configuration options for authentication.
Backup and disaster recovery strategy
SELinux considerations
To simplify the configuration of the IBM Storage Scale for Object Storage environment, the installation
process detects whether SELinux is enabled or not. If SELinux is enabled, the installation process
performs steps so that the object services and the database software that runs on the protocol nodes
can interact with the required file system and system resources.
Eventual consistency model
An eventual consistency model is used when you upload or delete object data.
Planning for unified file and object access
You can use unified file and object access to access data by using object and file interfaces. Before you
use unified file and object access, you must plan for a number of aspects.
+------+-----------+--------------+--------------+---------+-----------+-------------------------------------------+
| ID | Region | Service Name | Service Type | Enabled | Interface | URL |
+------+-----------+--------------+--------------+---------+-----------+-------------------------------------------+
Important: The external keystone and HA must be managed and configured by the customer.
1. Configure the external keystone with the mmobj command on all the participant clusters of the
multi-region setup.
2. Use the mmobj swift base command with the --remote-keystone-url and --configure-
remote-keystone arguments.
• You can use the keystone server that is installed on one of the IBM Storage Scale clusters.
+------+-----------+--------------+--------------+---------+-----------+-------------------------------------------+
| ID | Region | Service Name | Service Type | Enabled | Interface | URL |
+------+-----------+--------------+--------------+---------+-----------+-------------------------------------------+
| e310 | RegionOne | swift | object-store | True | public | http://region1:8080/v1/AUTH_%(tenant_id)s |
| 1679 | RegionOne | swift | object-store | True | internal | http://region1:8080/v1/AUTH_%(tenant_id)s |
| c458 | RegionOne | swift | object-store | True | admin | http://region1:8080 |
| 8a01 | Region2 | swift | object-store | True | public | http://region2:8080/v1/AUTH_%(tenant_id)s |
| b821 | Region2 | swift | object-store | True | internal | http://region2:8080/v1/AUTH_%(tenant_id)s |
| 5188 | Region2 | swift | object-store | True | admin | http://region2:8080 |
+------+-----------+--------------+--------------+---------+-----------+-------------------------------------------+
Note: If the region1 cluster stops functioning, the complete multi-region setup is unusable because the
keystone service is not available.
1. On the first cluster of multi-region setup, configure local Keystone with the mmobj command by
using the installation toolkit.
2. Use the mmobj swift base command with the --local-keystone arguments for configuring
with keystone with local authentication type.
3. For configuring the object authentication with ad | ldap, use the mmuserauth service
create|delete command after mmobj swift base with --local-keystone.
4. On the second and third clusters of the multi-region setup, configure the external keystone with
the mmobj command.
5. Use the mmobj swift base command with the --remote-keystone-url and --configure-
remote-keystone arguments.
344 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Network considerations for multi-region object deployment
To communicate with nodes in other regions, the Swift services connect to the network addresses as
defined in the ring files (which are the CES IP addresses).
Note: Every node must be able to connect to all CES IP addresses in all regions.
Make sure that the network routing is set up to enable the connections. Make sure that the necessary
firewall configuration is set up to allow connection to the object, account, and container servers (typically
ports 6200, 6201, and 6202) on all nodes in all regions. Swift uses the rsync command to replicate data
between regions, so the rsync port 873 also must be opened between the regions.
vim /etc/swift/proxy-server.conf
[pipeline:main] pipeline = healthcheck cache bulk authtoken keystone proxy-server
• To run client-assist, clients need all the packages listed for server nodes except SQLite.
346 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Table 33. OS support matrix (continued)
OS TCT server TCT client
RHEL 7.5 (Power8 and Power9 yes yes
LE)
RHEL 8.0 (Power8 and Power9 yes yes
LE)
RHEL 7.5 (s390x) yes yes
SLES 11.2 no yes
SLES 12.0 no yes
SLES12 SP3 (s390x) no yes
Ubuntu 14.x and 16.4 no yes
Ubuntu 16.04 and 18.04 (s390x) no yes
For the latest support matrix, see Transparent cloud tiering questions in IBM Spectrum Scale FAQ.
348 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
• In order for Cloud services to be able to create the vault, the user (whose access key is specified
in the mmcloudgateway account create configuration command) must have the "Vault
Provisioner" role that is assigned through the dsNet Manager UI.
To create vaults, go to dsNet Manager UI > Security tab and click user > Roles > Add "Vault
Provisioner" role.
Make sure that either “Create Only” or “Create and Delete” permission is selected under
Administration > Provisioning API configuration. Doing this enables Cloud services to create vaults by
using the IBM Cloud Object Storage vault provisioning APIs. It is not necessary to allow Cloud services
privileges to create the vault. You can create the vault separately by using IBM Cloud Object Storage
management services.
Note: Delete access is not required for the “Vault Provisioner”.
Note: To specify the container name of an existing container, use the --data-name/--meta-
container parameter of the mmcloudgateway command.
• For IBM Cloud Object Storage deployed on public cloud and with container mode enabled, you must
contact the cloud object storage admin to obtain the accessor IP address or hostname, S3 credentials,
and provisioning code (location) for the container vault.
• To create vaults through the provisioning API, IBM Cloud Object Storage uses provisioning templates.
You can provide a provisioning template to the Cloud services in two ways:
Using default template
A default vault template can be set on the dsNet Manager UI. Go to dsNet Manager UI > Configure
tab > Storage pools > Create Vault template. Then, dsNet system > Default Vault template and
then select the newly created template. The vault that is created by Cloud services uses the default
template.
Note: The default template on the IBM Cloud Object Storage system must have index that is
enabled.
Using Provisioning code
If the default vault template is not set or not preferred, then a provisioning code can be used.
Ensure that during the creation of the vault template, a unique user-defined provisioning code is
specified. The provisioning code is different from the name.
To look up the provisioning code, go to dsNet Manager UI > Configure tab > Storage pools > Vault
Templates > select the template, and look for “Provisioning Code”). Use the --location
option in the mmcloudgateway account create command to specify the provisioning code.
Using this mechanism, the vault template that is configured for Cloud services is used for vault
provisioning.
Note: If there is no default provisioning template set on the IBM Cloud Object Storage system and
a provisioning code is not specified to the mmcloudgateway account create command, the
command fails. If the provisioning code specified is not found on the IBM Cloud Object Storage
system, the command fails.
The following settings are recommended when you create a vault template on IBM Cloud Object Storage
dedicated for Transparent cloud tiering.
Table 34. Recommended settings when you create a vault template on IBM Cloud Object Storage
Configuration Recommended Values Comment
Width See IBM Cloud Object Storage
documented configuration for
production.
Threshold See IBM Cloud Object Storage
documented configuration for
production.
Essentially, IBM Cloud Object Storage needs two provisioning templates. One of them is used for storing
data and the other one is used for metadata or book-keeping. This vault provisioning template must be
set as default (Click the Configure tab and scroll down to see the option to set the default template).
Pass the provisioning code ('demo' in the example) of the first vault provisioning template to the
mmcloudgateway command during account creation by using the --location parameter.
350 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Firewall recommendations for Cloud services
This topic describes the firewall recommendations that you need to follow to be able to implement Cloud
services on your cluster.
Port that can be used is 8085 TCP
• Enables connections to Cloud services nodes from all IBM Storage Scale nodes on this port. All
communications from non-cluster nodes on this port can be blocked.
• Cloud services nodes are required to communicate with the configured Object storage provider.
Typically, this communication occurs over HTTPS (443) or HTTP (80). Contact your Object storage
provider for more details.
• The internal port that is used by Cloud services can be changed from 8085 to any other port by using
the mmcloudgateway config command.
Note: For firewall recommendations for other components such as performance monitoring tool, protocol
access, and GUI, see the Securing the IBM Storage Scale system using firewall topic in the IBM Storage
Scale: Administration Guide.
Performance considerations
While default configurations on the IBM Storage Scale and Cloud services work for the migration and
recall of data, some adjustments might be required for optimized performance. This topic addresses some
of such adjustments that will likely have the most significant effect on performance.
352 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
• If there are multiple gateway nodes in the cluster, using more than one CSAP for a Cloud Account is
a good idea. The number of requests that can be processed by a single Cloud Storage Access Point is
limited, and multiple nodes hitting the same access point can cause the performance to drop. A general
guideline is to have about as many CSAPs as the number of gateway nodes.
Mixing migrate and recall workloads
Cloud services internally shares threads that carry out an operation on each slice of data, as well as
threads that carry out the interactions with cloud object storage. Hence, running a huge workload of
migrates and recalls simultaneously, would affect the total turn-around of each activity, compared to
running migrates and recalls separately. Cloud services expects migrates to work in batches, where policy
identifies a set of cold files to be moved to a cloud storage tier. Recalls, however, are expected to be
accessed on demand and are given higher priority than migrates. It is wise to schedule migration policies
where possible during off-peak hours to avoid recall performance impacts.
Note: Bulk policy-based recall operations are supported, but not expected to be the common method
for recalling files. Since recalls are generally expected to be on demand, recalls are prioritized ahead of
migrates.
Distributing files using policies
IBM Storage Scale policies can be used to distribute the migrations and recalls to all the nodes in the
node class. To effectively use the policy, refer to the following points:
• The mmapplypolicy takes two parameters for the number of parallel threads processing the files (-m)
and number of files processed per thread (-b).
– –m has a default value of 24. If you have more CPU cores available, it is advisable to adjust the –m
value accordingly
– –b has a default value of 100. You can increase the number if you want to process more files in one
iteration.
– Plan the –m and –b carefully, so that all the nodes are given equal number of files. For example, if you
have 5000 files to migrate and 4 nodes with Cloud services installed, the default values of –m 24 and
–b 100 will try to distribute 2400 files to each node. There will not be enough files to be distributed to
all nodes, and two nodes will be idle.
• -N parameter of the mmapplypolicy will accept the node class name, so the policy will distribute the
files to all the nodes in the node class.
Using multiple file system or file sets for the same node group
A customer can configure multiple file systems and multiple file sets for a single node group, and run
migrates in parallel for all of them. If they are looking for high performance, it is recommended that they
configure the policy in a manner that, migrates run on a single file system or file set at a time. Cloud
services design uses a single server process, and resources such as memory, networking and threading
are shared between the containers. Running parallel migrates can split the resource, and hence the
effective throughput of a single container can be impacted.
Migration policy runs should not be done during the weekly and daily maintenance windows as migrations
conflict with some activities that lock the Cloud directory for long periods of time.
Container spillover
For achieving better performance and ease of maintenance, it is recommended to keep no more than
100 million entries per container. After that, the customer must create a new container for the same
file system/fileset and continue migrations. This will ensure that a new database is created for the new
container, and the container cloud database size does not grow too large. Operation such as reconcile
for a 100 million file database can take a few hours. Growing the size much beyond that results in
maintenance operations taking too long since the duration of these operations relative to database size is
non-linear.
Note:
The automatic container spillover (auto-spillover) is enabled by default during container creation. Auto-
spillover is applicable for containers used with tiering service only. Auto-spillover is not applicable for
Swift
For on-premise configurations, it is recommended to have multiple accessors setup, so that a load
balancer or Cloud services itself will have no single point of failure in its cloud services with Swift.
Amazon S3
Use the appropriate supported Amazon S3 region while configuring the cloud account. Load balancing or
multiple CSAPs are not necessary as Amazon S3 has a built-in load balancer.
354 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Security considerations
You can integrate Cloud services with IBM Security Key Lifecycle Manager (ISKLM) to provide security to
the data that is stored on the cloud storage tier, or you can use the native key manager provided with the
Cloud services.
Transparent cloud tiering: For information on integration of ISKLM with Transparent cloud tiering, see
Configuring Cloud services with SKLM in IBM Storage Scale: Administration Guide.
Note: Ensure that you back up your security keys by using the mmcloudgateway service
backupConfig command. Data encrypted by using the Cloud services cannot be recovered, if security
keys are lost.
Cloud data sharing: Cloud data sharing currently supports importing any cloud data, assuming it is not
read in an encrypted format. Cloud data sharing supports encrypted data only if it was exported by Cloud
data sharing and the encryption keys are shared between the importer and the exporter. For this reason,
it is recommended that the native Cloud services and Cloud data sharing encryption are used to provide
encryption at rest. A secure connection should be used to transfer data between IBM Storage Scale and
the cloud. Thus, data is stored encrypted on IBM Storage Scale, and stored encrypted on the cloud, and is
secured by the connection when transferring between the two systems.
This statement can also be added for manual application of the policy for a directory.
356 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
/* Define a cloud pool, using the ‘mmcloudgateway’ command to perform migrations to the pool */
RULE EXTERNAL POOL ‘cloudpool’ EXEC '/usr/lpp/mmfs/bin/mmcloudgateway files' OPTS '-F'
/* Define a migrate rule, in this example we will migrate from the system pool */
RULE ‘MigrateToCloud’ MIGRATE FROM POOL ‘system’
/* Define the threshold to use, in this example we will migrate when the pool is 85% full,
and attempt to migrate files until the pool is 75% full */
THRESHOLD (85, 75)
/* Next, define a weight for the file to determine which files to migrate first */
/* Here we will use the last access time for the file by subtracting it from the current time,
giving a higher weight to older files */
WEIGHT(CURRENT_TIMESTAMP - ACCESS_TIME)
/* Define that we want to move to the cloud pool */
TO POOL (‘cloudpool’)
/* We don’t want to migrate files that are smaller than 8k in size, because there are little to
no space savings due to file overhead */
WHERE (KB_ALLOCATED > 8)
/* Do not migrate Cloud services internal files, which reside in the .mcstore directory */
AND NOT(PATH_NAME LIKE ‘%/.mcstore/%’
/* Ignore files that have been modified in the past 5 days. This needs to be customized based on
the backup frequency. */
AND (DAYS(CURRENT_TIMESTAMP) - DAYS(MODIFICATION_TIME)) > 5
Client-assisted recalls
Non-gateway nodes can have an extended client which can service the recalls locally.
You must install a transparent cloud tiering server package on a non-gateway node.
To enable recalls from a non-gateway node, run mmcloudgateway clientassist enable on the
non-gateway node where the package is installed. If a node is client-assist enabled, the transparent cloud
tiering server nodes might still be called upon for transparent recalls if the node gets overloaded with
transparent recall requests with a full queue.
[default]
cloudkit_key = <PassPhrase>
Example:
358 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
In this example, the passphrase file is created at /usr/lpp/mmfs/<release_version>/cloudkit/
cloudkit_config.ini with the following content:
# cat .env
[default]
cloudkit_key = XXXXXXXX
export CLOUDKIT_PASSPHRASE_FILE_PATH=/usr/lpp/mmfs/<release_version>/cloudkit/
cloudkit_config.ini
# ./cloudkit init
I: Logging at /root/scale-cloudkit/logs/cloudkit-28-9-2023_0-2-45.log
? Passphrase file path for encrypting DB contents: /usr/lpp/mmfs/5.1.9.0/cloudkit/
cloudkit_config.ini
When deploying the IBM Storage Scale cluster in an existing VPC, the following requirements must be
met:
• This is a mandatory step. DHCP options set or DNS configured.
• This is a mandatory step. Private subnets (with allocatable IP address) in the availability zone (minimum
1 private subnet per availability zone).
• This is an optional step. A public subnet (a subnet with internet gateway attached) is only required if
either the following cases are met:
1. Where the cluster is planned to be accessed via a jump host. For more information, see “Other
considerations” on page 371.
2. If there is a need to pre-create an IBM Storage Scale AMI. For more information, see “Pre-creating
an IBM Storage Scale AMI” on page 360.
• This is an optional step. A NAT gateway attached to the private subnet is only required when the IBM
Storage Scale instances need access to the internet (for operating system updates and security patches,
and so on).
360 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
The cloudkit offers the following deployment models for IBM Storage Scale clusters:
• Combined-compute-storage: A unified IBM Storage Scale cluster with both storage and compute
nodes. It is recommended that any customer workload runs only on the compute nodes.
• Compute-only: An IBM Storage Scale cluster that only consists of compute nodes. This cluster does not
have any local filesystem and therefore must remote mount the filesystem from an IBM Storage Scale
storage cluster.
• Storage-only: This IBM Storage Scale cluster only consists of storage nodes which have access to
storage where the filesystem is created. This filesystem is remote mounted to any number of compute
only IBM Storage Scale clusters.
When you run the cloudkit create cluster command, the following prompt allows you to choose
between the different offered deployment models:
? IBM Spectrum Scale deployment model:[Use arrows to move, type to filter, ? for more help]
> Storage-only
Compute-only
Combined-compute-storage
? Tuning profile: [Use arrows to move, type to filter, ? for more help]
Throughput-Performance-Scratch-Storage
> Throughput-Performance-Persistent-Storage
Throughput-Advance-Persistent-Storage
Balanced
c4.large | vCPU(2) | RAM (3.75 GiB) | Dedicated EBS Bandwidth (500 Mbps) |
Networking Bandwidth (Moderate)
c4.xlarge | vCPU(4) | RAM (7.5 GiB) | Dedicated EBS Bandwidth (750 Mbps) |
Networking Bandwidth (High)
c4.2xlarge | vCPU(8) | RAM (15 GiB) | Dedicated EBS Bandwidth (1000 Mbps) |
Networking Bandwidth (High)
c4.4xlarge | vCPU(16) | RAM (30 GiB) | Dedicated EBS Bandwidth (2000 Mbps) |
Networking Bandwidth (High)
c4.8xlarge | vCPU(36) | RAM (60 GiB) | Dedicated EBS Bandwidth (4000 Mbps) |
Networking Bandwidth (10Gbps)
c6in.xlarge | vCPU(4) | RAM (8 GiB) | Dedicated EBS Bandwidth (Up to 20 Gbps)
c6in.2xlarge | vCPU(8) | RAM (16 GiB) | Dedicated EBS Bandwidth (Up to 20 Gbps)
m6in.xlarge | vCPU(4) | RAM (16 GiB) | Dedicated EBS Bandwidth (Up to 20 Gbps)
m6in.2xlarge | vCPU(8) | RAM (32 GiB) | Dedicated EBS Bandwidth (Up to 20 Gbps)
m6in.4xlarge | vCPU(16) | RAM (64 GiB) | Dedicated EBS Bandwidth (Up to 20 Gbps)
m6in.8xlarge | vCPU(32) | RAM (128 GiB) | Dedicated EBS Bandwidth (20 Gbps)
c6in.xlarge | vCPU(4) | RAM (8 GiB) | Dedicated EBS Bandwidth (Up to 20 Gbps)
c6in.2xlarge | vCPU(8) | RAM (16 GiB) | Dedicated EBS Bandwidth (Up to 20 Gbps)
c6in.4xlarge | vCPU(16) | RAM (32 GiB) | Dedicated EBS Bandwidth (Up to 20 Gbps)
i3.large | vCPU(2) | RAM (15.25 GiB) | Instance Storage (1 x 475GB NVMe SSD) |
Networking Bandwidth (Up to 10 Gbps)
i3.xlarge | vCPU(4) | RAM (30.50 GiB) | Instance Storage (1 x 950GB NVMe SSD) |
Networking Bandwidth (Up to 10 Gbps)
i3.2xlarge | vCPU(8) | RAM (61.00 GiB) | Instance Storage (1 x 1900GB NVMe SSD) |
Networking Bandwidth (Up to 10 Gbps)
i3.4xlarge | vCPU(16) | RAM (122 GiB) | Instance Storage (2 x 1900GB NVMe SSD) |
Networking Bandwidth (Up to 10 Gbps)
i3.8xlarge | vCPU(32) | RAM (244 GiB) | Instance Storage (4 x 1900GB NVMe SSD) |
Networking Bandwidth (Up to 10 Gbps)
i3.16xlarge | vCPU(64) | RAM (488 GiB) | Instance Storage (8 x 1900GB NVMe SSD) |
Networking Bandwidth (Up to 25 Gbps)
For more information on choosing instance types, see choosing instance types in AWS documentation.
The cloudkit provides the following choices for the disks (AWS Elastic Block storage) that can be attached
to the IBM Storage Scale storage nodes:
• gp2
• gp3
• io1
362 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
For more information on choosing appropriate EBS volumes, see Choosing the appropriate EBS volumes
in Amazon Web Service documentation.
For the ? Do you wish to encrypt boot and data volumes: prompt, you can:
• Specify No. The root and data corresponding EBS volumes will remain unencrypted.
• Specify Yes and do not provide a block device encryption key. The root and data corresponding to EBS
volumes will be encrypted using the default key provided by AWS.
• Specify Yes and provide a block device encryption key. The root and data corresponding to EBS volumes
will be encrypted using the key you provided.
Note:
• If the key used for encryption IBM Storage Scale EBS volumes is deleted, data cannot be retrieved.
• Invalid key or user configured to execute cloudkit lacks permissions to read the key which will lead to
failures.
Limitations
• Throughput-Performance-Scratch-Storage will not be encrypted via cloudkit. Since the disks
provided in scratch profile instance type, Instance storage, are hardware encrypted internally using an
XTS-AES-256 block cipher. Hence, it does not require external encryption.
• Encryption cannot be turned on or off after the EBS volume is created which means unencrypted
volumes created through cloudkit cannot be encrypted later and vice versa.
• Key rotation and life cycle management are responsibility of the users.
• If the key used for encrypting IBM Storage Scale is deleted, data cannot be retrieved.
Note: Roles can be added or removed by following the procedures describe in GCP documentation.
3. Verify the GCP quota limits and ensure that enough quotas exist for the GCP instance types that you
intend to deploy. Consult the quota limits of the GCP instance from Google Cloud console > Quota
page.
If necessary for the GCP instance types that you intend to deploy, request a service limit increase. For
more information, see Manage your quota using the Google Cloud console in GCP documentation.
4. Prepare the installer node where the cloudkit will run. For more information, see “Preparing the
installer node” on page 358.
• Deploy IBM Storage Scale into a new VPC with a single availability zone: This option builds a
new GCP environment that consists of the VPC, subnets, firewall rules, bastion hosts, and other
infrastructure components; then, it deploys IBM Storage Scale into this new VPC with a single
availability zone.
• Deploy IBM Storage Scale into an existing VPC: This option provisions IBM Storage Scale in your
existing GCP infrastructure.
When deploying the IBM Storage Scale cluster in an existing VPC, the following requirements must be
met:
• This is a mandatory step. Private subnets (with allocatable IP address) in the availability region
(minimum 1 private subnet per availability region).
364 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
• This is an optional step. A public subnet (a subnet with internet gateway attached) is only required if
either the following cases are met:
1. Where the cluster is planned to be accessed via a jump host. For more information, see “Other
considerations” on page 371 .
2. If there is a need to pre-create an IBM Storage Scale VM image. For more information, see “Pre-
creating an IBM Storage Scale VM image” on page 365.
• This is an optional step. A cloud NAT attached to the private subnet is only required when the IBM
Storage Scale instances need access to the internet (for operating system updates and security patches,
and so on).
• This is an optional step. If you configured a cloud DNS, then you must provide cloud DNS information
while deploying the cluster.
? IBM Spectrum Scale deployment model:[Use arrows to move, type to filter, ? for more help]
> Storage-only
Compute-only
Combined-compute-storage
? Tuning profile: [Use arrows to move, type to filter, ? for more help]
Throughput-Performance-Scratch-Storage
> Throughput-Performance-Persistent-Storage
Balanced
> n1-standard-2 | vCPU(2) | RAM (7.50 GB) | Egress Network Bandwidth (Up to 10 Gbps)
n2-standard-4 | vCPU(4) | RAM (16.0 GB) | Egress Network Bandwidth (Up to 10 Gbps)
e2-highmem-2 | vCPU(2) | RAM (16 GB) | Egress Network Bandwidth (Up to 4 Gbps)
e2-highmem-4 | vCPU(4) | RAM (32 GB) | Egress Network Bandwidth (Up to 8 Gbps)
e2-highmem-8 | vCPU(8) | RAM (64 GB) | Egress Network Bandwidth (Up to 16 Gbps)
e2-highcpu-8 | vCPU(8) | RAM (8 GB) | Egress Network Bandwidth (Up to 16 Gbps)
c2-standard-4 | vCPU(4) | RAM (16 GB) | Egress Network Bandwidth (Up to 10 Gbps)
366 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
• For Throughput-Performance-Persistent-Storage and Balanced profiles:
> n2-standard-2 | vCPU(2) | RAM (8.0 GB) | Egress Network Bandwidth (Up to 10 Gbps)
n2-standard-4 | vCPU(4) | RAM (16.0 GB) | Egress Network Bandwidth (Up to 10 Gbps)
n2-standard-8 | vCPU(8) | RAM (32.0 GB) | Egress Network Bandwidth (Up to 16 Gbps)
n2-standard-16 | vCPU(16) | RAM (64.0 GB) | Egress Network Bandwidth (Up to 32 Gbps)
n2-standard-32 | vCPU(32) | RAM (128.0 GB) | Egress Network Bandwidth (Up to 50 Gbps)
n2-standard-48 | vCPU(48) | RAM (192.0 GB) | Egress Network Bandwidth (Up to 50 Gbps)
> n2-standard-32 | vCPU(32) | RAM (128.0 GB) | Egress Network Bandwidth (Up to 50 Gbps)
n2-standard-48 | vCPU(48) | RAM (192.0 GB) | Egress Network Bandwidth (Up to 50 Gbps)
For more information on choosing instance types, see Machine families resource and comparison guide in
GCP documentation.
The cloudkit provides the following choices for the disks that can be attached to the IBM Storage Scale
storage nodes:
? Disk type: [Use arrows to move, type to filter, ? for more help]
> pd-balanced
pd-stndard
pd-ssd
? Data stored in boot and data disk(s) are encrypted automatically. Select an encryption key
management solution: [Use arrows to move, type to filter]
> Google-managed-encryption-key
Customer-managed-encryption-key
? Data stored in boot and data disk(s) are encrypted automatically. Select an encryption key
management solution: Customer-managed-encryption-key
? Google Cloud key ring: cloudkit-uscentral
? Customer-managed encryption key (CMEK): cloudkit-key
Installing IBM Storage Scale in a network restricted (air gap) setup with the
cloudkit
Learn how to install IBM Storage Scale in air gap setup.
Planning
To be able to execute cloudkit when using the air gap installation option, you must first meet different
prerequisites and complete the required configurations.
Two virtual machines are required to set up an air gap environment. These machines serve distinct roles,
the cloudkit installer node and the staging node.
368 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Configure the VPC endpoints
Virtual Private Cloud (VPC) endpoints offer a private connection between a VPC and other AWS services
(such as, EC2, etc), allowing traffic to be routed over the AWS network instead of over the internet.
In an air gap mode, the cloudkit requires EC2, STS, KMS, and SNS endpoints to be configured to the VPC.
Follow the steps below to configure them:
1. Log in to the AWS Management Console and navigate to the VPC dashboard.
2. In the navigation pane, select Endpoints and click Create Endpoint button.
3. Choose the EC2, STS, KMS, and SNS services for creating endpoints.
4. Select the VPC and subnet which is used to spin the cloudkit installer VM to create the endpoint.
5. Select the cloudkit installer VM security group to use the endpoints.
6. Ensure that the DNS name and ipv4 settings are enabled.
7. Ensure that the VPC endpoint policy is set to allow Full access.
8. Review the endpoint settings and click Create Endpoint.
mkdir -p $HOME/.terraform.d/plugins/registry.terraform.io/hashicorp/aws/4.61.0/linux_amd64/
mkdir -p $HOME/.terraform.d/plugins/registry.terraform.io/hashicorp/null/3.2.1/linux_amd64/
mkdir -p $HOME/.terraform.d/plugins/registry.terraform.io/hashicorp/template/2.2.0/
linux_amd64/
mkdir -p $HOME/.terraform.d/plugins/registry.terraform.io/hashicorp/time/0.9.1/linux_amd64/
mkdir -p $HOME/.terraform.d/plugins/registry.terraform.io/hashicorp/local/2.4.0/linux_amd64/
mkdir -p $HOME/.terraform.d/plugins/registry.terraform.io/hashicorp/tls/4.0.4/linux_amd64/
mkdir -p $HOME/.terraform.d/plugins/registry.terraform.io/integrations/github/5.20.0/
linux_amd64/
wget https://releases.hashicorp.com/terraform-provider-aws/4.61.0/terraform-provider-
aws_4.61.0_linux_amd64.zip
unzip terraform-provider-aws_4.61.0_linux_amd64.zip
rm -rf terraform-provider-aws_4.61.0_linux_amd64.zip
wget https://releases.hashicorp.com/terraform-provider-null/3.2.1/terraform-provider-
null_3.2.1_linux_amd64.zip
unzip terraform-provider-null_3.2.1_linux_amd64.zip
rm -rf terraform-provider-null_3.2.1_linux_amd64.zip
wget https://releases.hashicorp.com/terraform-provider-template/2.2.0/terraform-provider-
template_2.2.0_linux_amd64.zip
unzip terraform-provider-template_2.2.0_linux_amd64.zip
rm -rf terraform-provider-template_2.2.0_linux_amd64.zip
wget https://releases.hashicorp.com/terraform-provider-time/0.9.1/terraform-provider-
time_0.9.1_linux_amd64.zip
unzip terraform-provider-time_0.9.1_linux_amd64.zip
rm -rf terraform-provider-time_0.9.1_linux_amd64.zip
wget https://releases.hashicorp.com/terraform-provider-local/2.4.0/terraform-provider-
local_2.4.0_linux_amd64.zip
unzip terraform-provider-local_2.4.0_linux_amd64.zip
rm -rf terraform-provider-local_2.4.0_linux_amd64.zip
wget https://releases.hashicorp.com/terraform-provider-tls/4.0.4/terraform-provider-
tls_4.0.4_linux_amd64.zip
unzip terraform-provider-tls_4.0.4_linux_amd64.zip
rm -rf terraform-provider-tls_4.0.4_linux_amd64.zip
wget https://releases.hashicorp.com/terraform-provider-github/5.20.0/terraform-provider-
github_5.20.0_linux_amd64.zip
Copy these providers from staging node to air gapped cloudkit installer node.
cd providers
scp terraform-provider-aws_v4.61.0_x5 <cloudkit-vm>:/root/.terraform.d/plugins/
registry.terraform.io/hashicorp/aws/4.61.0/linux_amd64/
scp terraform-provider-null_v3.2.1_x5 <cloudkit-vm>:/root/.terraform.d/plugins/
registry.terraform.io/hashicorp/null/3.2.1/linux_amd64/
scp terraform-provider-template_v2.2.0_x4 <cloudkit-vm>:/root/.terraform.d/plugins/
registry.terraform.io/hashicorp/template/2.2.0/linux_amd64/
scp terraform-provider-time_v0.9.1_x5 <cloudkit-vm>:/root/.terraform.d/plugins/
registry.terraform.io/hashicorp/time/0.9.1/linux_amd64/
scp terraform-provider-local_v2.4.0_x5 <cloudkit-vm>:/root/.terraform.d/plugins/
registry.terraform.io/hashicorp/local/2.4.0/linux_amd64/
scp terraform-provider-tls_v4.0.4_x5 <cloudkit-vm>:/root/.terraform.d/plugins/
registry.terraform.io/hashicorp/tls/4.0.4/linux_amd64/
scp terraform-provider-github_v5.20.0 <cloudkit-vm>:/root/.terraform.d/plugins/
registry.terraform.io/integrations/github/5.20.0/linux_amd64/
# cat .terraformrc
disable_checkpoint = true
disable_checkpoint_signature = false
provider_installation {
filesystem_mirror {
path = "/root/.terraform.d/plugins/"
include = ["hashicorp/aws", "hashicorp/null", "hashicorp/template", "hashicorp/
time", "hashicorp/tls", "hashicorp/local", "integrations/github"]
}
}
2. To grant a filesystem access to a compute cluster in the air gap based mode, use the option below.
370 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
./cloudkit grant filesystem --airgap
3. To revoke a filesystem access provided to the compute cluster in the air gap based mode, use the
option below.
Limitations
• Create repository and image functionalities are not supported in air gap mode.
• Grant and revoke filesystem functionalities are supported to compute cluster only.
Other considerations
Consider these security, monitoring, and maintenance aspects while you are planning for the deployment
of IBM Storage Scale on public clouds.
Requirements for UID and GID on the cache and home clusters
This topic describes the UID and GID requirements on the cache and home clusters.
User IDs and group IDs must be managed the same way across the cache and home clusters. However,
for AFM relationships, which are using the native GPFS protocol, where user IDs are different on the home
and the cache, you can remap the IDs by using the GPFS UID remapping. For more information about ID
mapping, see Configuring ID mappings in IMU in IBM Storage Scale: Administration Guide.
372 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Note: AFM does not perform eviction of file inodes, even if the inode limit is reached. The cache eviction is
applicable only for file data block quotas.
• To remove the gateway node role from the cluster member node, issue the following command:
Parameter Value
Pagepool 8G
afmHardMemThreshold 40G
afmNumFlushThreads 8
afmDIO 2
maxFilestoCache 10000
# mmchconfig pagepool=8G
For more information about configuration parameters, see Parameters for performance tuning and
optimization in the IBM Storage Scale: Administration Guide.
All these recommendations are based on observations in a controlled test environment by running
moderate or reasonable workload. The parameters values might vary based on the setup or workload.
Tunable Value
Pagepool 8G
afmHardMemThreshold 40G
afmNumFlushThreads 8
afmDIO 2
maxFilestoCache 10000
afmMaxParallelRecoveries 3
To set these preceding parameters, use the mmchconfig command. For example, mmchconfig
pagepool=4G. For more information about configuration parameters, see Parameters for
performance tuning and optimization in the IBM Storage Scale: Administration Guide.
Network and computing requirement
Plan necessary network bandwidth between cache and home clusters to replicate incoming changes
based on a workload. This requirement varies based on the workload. The application is slower on
AFM SW/IW filesets because of the message that waiting on the gateway node for the replication. This
performance hit varies from 1.2x to 4x based on network and gateway node resources. If the gateway
node handles many filesets, more computational power is needed for filtering and dependency
checking logic.
374 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Limitations
For more information about the limitations of AFM, see AFM and AFM DR limitations.
# mmchconfig pagepool=4G
For more information about configuration parameters, see Parameters for performance tuning and
optimization in the IBM Storage Scale: Administration Guide.
Network and computing requirement
• Plan necessary network bandwidth between primary and secondary clusters to replicate incoming
changes based on a workload.
• This requirement varies based on the workload. The application is slower on AFM DR filesets because
of the message queuing on the gateway node for the replication. This performance hit varies from 1.2x
to 4x based on network and gateway node resources. If the gateway node handles many filesets, more
computational power is required for filtering and dependency checking logic.
Data synchronization for the AFM fileset conversion
• You can convert an existing GPFS-independent fileset to an AFM-ADR fileset by using the --inband
trucking method. You must not use the --outband (deprecated) option even though data was copied
by using the external tool.
• If the secondary site has already data, AFM does not copy data during the initial resynchronization. You
can still truck (out of band) data by using any other tool such as rsync and convert the fileset by using
the --inband option. AFM expects that files are in sync with nanoseconds time difference. Use rsync
version >= 3.10 on both source and destination to copy the data and later use the inband conversion.
The inband conversion skips the data, if data exists (and matches) on the secondary site.
Limitations
For more information about the limitations of AFM-DR, see “AFM and AFM DR limitations” on page 101.
376 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
1. Cloud object storage such as Amazon S3, Microsoft Azure Blob, and IBM Cloud Object Storage must be
in accordance with the workload requirement. Access keys and secret keys that are provided by these
services need to be set up for AFM to cloud object storage filesets.
To transfer the data between AFM to cloud object storage and cloud object storage endpoints, select
an appropriate protocol, for example, HTTP or HTTPS.
2. On an IBM Storage Scale cluster, file system space and inodes (number of inodes) need to be planned
for an AFM to cloud object storage fileset first before provision. For more information, see “File system
creation considerations” on page 268.
To control the number of inodes that are used by the AFM to cloud object storage fileset, you can
specify a limit on the number of inodes for that fileset. To set inodes limit, use the mmchfileset
command after the mmafmcosconfig command is run to set the relationship. For more information,
see mmchfileset command in the IBM Storage Scale: Command and Programming Reference Guide.
3. Planning of gateway nodes
An IBM Storage Scale cluster can have one or more gateway nodes. Multiple gateway nodes are
helpful, if you want to assign different filesets to a different gateway node. The multiple nodes on
a gateway node are useful to load balance the workload and also helpful for recovery and upgrade
scenarios.
Gateway nodes need to have access to cloud object storage endpoints. For more information about
gateway node recommendation, see “General recommendations for AFM gateway node configuration”
on page 373.
4. Network considerations
Plan necessary network bandwidth between AFM to cloud object storage and IBM Storage Scale
clusters to replicate data and workload.
The networking element is the major contributor in the overall performance delivery of the IBM
Storage Scale cluster where a few nodes act as Network Shared Disk (NSD) servers while most of the
client nodes access the file system over a TCP/IP network. Gateway nodes in this host system connect
to the outside world, which in this case is Amazon S3 cloud object storage, Microsoft Azure Blob, or
IBM Cloud Object Storage.
All the firewalls are set up to allow the gateway nodes to discover and communicate with these cloud
storage endpoints.
5. When you work with temporary credentials for accessing Cloud Object Storage such as Amazon S3,
Microsoft Azure Blob, IBM Cloud, and other services, you must obtain the security token and create
fileset by specifying --user-keys option of mmafmcosconfig command.
The mmuid2keys (/var/mmfs/etc/mmuid2keys) file must be configured to provide credentials in
the following format as shown:
Access_Key:Secret_Key:STS
The numbers are based on the default perfmon sensor configuration that is created by the mmperfmon
config generate command. Changing the default settings or adding more sensors, for example, for AFM,
protocols or other features, can increase the amount of required memory.
File space provisioning
The pmcollector service requires 20 GB file system space under /opt/IBM/zimon/ folder.
378 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
• RHEL 9.2 is the operating system.
• The mokutil tool is installed.
• An RPM package with the signed kernel modules is available. The kernel version of these modules must
match the kernel version that runs on the system.
• The public key that is provided by IBM for the verification of the signed kernel modules is available.
The public key is either part of the self-encrypting package or is included as part of the signed kernel
stand-alone package.
Firewall recommendations
The IBM Storage Scale system administrator is supposed to follow certain recommendations to set up
firewall to secure the IBM Storage Scale system from unauthorized access.
For more information about firewall recommendations, see Securing the IBM Storage Scale system using
firewall in IBM Storage Scale: Administration Guide.
The space requirements differ depending on the use case. The following two situations are possible:
380 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Chapter 3. Steps for establishing and starting your
IBM Storage Scale cluster
There are several steps that you must perform to establish and start your IBM Storage Scale cluster. This
topic provides the information that you need for performing those steps.
The installation toolkit, available on a few Linux distributions, automates many of the following steps. For
more information, see “Installing IBM Storage Scale on Linux nodes with the installation toolkit” on page
419.
You can install IBM Storage Scale and deploy protocols either manually or by using the installation toolkit.
This topic provides the information that you need for establishing and starting your IBM Storage Scale
cluster manually. If you have already installed IBM Storage Scale with the installation toolkit, then these
steps are already completed.
Tip: Ensure that there is approximately 5 GB of free space on the nodes to download, extract, and install
the packages.
Follow these steps to establish an IBM Storage Scale cluster:
1. Review supported hardware, software, and limits in the IBM Storage Scale FAQ in IBM Documentation
for the latest recommendations on establishing an IBM Storage Scale cluster.
2. Install the IBM Storage Scale licensed program on your system:
• For existing systems, see Chapter 18, “Upgrading,” on page 549.
• For new systems:
– For your Linux nodes, see Chapter 4, “Installing IBM Storage Scale on Linux nodes and deploying
protocols,” on page 383.
– For your AIX nodes, see Chapter 6, “Installing IBM Storage Scale on AIX nodes,” on page 497.
– For your Windows nodes, see Chapter 7, “Installing IBM Storage Scale on Windows nodes,” on
page 501.
3. Decide which nodes in your system you want to be the quorum nodes (see “Quorum” on page 238).
4. Create your GPFS cluster by issuing the mmcrcluster command. See “GPFS cluster creation
considerations” on page 243.
5. Use the mmchlicense command to assign an appropriate GPFS license to each of the nodes in the
cluster. For more information, see “IBM Storage Scale license designation” on page 227 .
If you use the installation toolkit to install IBM Storage Scale, then steps 2 to 5 in the following procedure
are completed by the installation toolkit, and step 6 can be optionally completed by the installation
toolkit.
After your IBM Storage Scale cluster is established:
1. Ensure you have configured and tuned your system according to the values suggested in the
Configuring and tuning your system for GPFS topic in IBM Storage Scale: Administration Guide.
2. Start IBM Storage Scale by issuing the mmstartup command. For more information, see mmstartup
command in IBM Storage Scale: Command and Programming Reference Guide.
3. Create new disks for use in your file systems by issuing the mmcrnsd command. See “Network Shared
Disk (NSD) creation considerations” on page 253.
4. Create new file systems by issuing the mmcrfs command. See “File system creation considerations”
on page 268.
5. Mount your file systems by issuing the mmmount command.
6. As an optional step, you can also create a temporary directory (/tmp/mmfs) to collect problem
determination data. The /tmp/mmfs directory can be a symbolic link to another location if more space
382 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Chapter 4. Installing IBM Storage Scale on Linux
nodes and deploying protocols
Use this information for installing IBM Storage Scale on Linux nodes and deploying protocols.
Before installing IBM Storage Scale, you must review the “Planning for GPFS” on page 233 and the IBM
Storage Scale FAQ in IBM Documentation.
Installing IBM Storage Scale without ensuring that the prerequisites listed in “Hardware requirements ”
on page 233, “Software requirements” on page 234, and “Installation prerequisites” on page 384 are
satisfied can lead to undesired results.
Note:
• CES supports HDFS protocols. CES HDFS follows the same installation methods and prerequisites as
the other protocols as documented in this section. For specific information about installing CES HDFS,
see Installation under CES HDFS in Big data and analytics support documentation.
• For information about installing IBM Storage Scale Erasure Code Edition, see IBM Storage Scale Erasure
Code Edition documentation.
The following methods are available for installing IBM Storage Scale on Linux nodes.
Installation Description
method
Installation On supported Linux distributions, you can install IBM Storage Scale and deploy
toolkit protocols by using the installation toolkit.
For more information, see “Installing IBM Storage Scale on Linux nodes with the
installation toolkit” on page 419.
For information on limitations if you are using the installation toolkit, see “Limitations
of the installation toolkit” on page 428.
Manual You can install the IBM Storage Scale packages manually by using commands, such as
rpm or yum on Red Hat Enterprise Linux, rpm or zypper on SLES, and dpkg or apt on
Ubuntu Linux.
For more information, see “Manually installing the IBM Storage Scale software
packages on Linux nodes” on page 391.
Installation prerequisites
These are the several prerequisites for installing IBM Storage 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 Storage Scale,
see “Software requirements” on page 234.
For a list of supported operating systems, architectures, and kernels, see IBM Storage Scale FAQ in
IBM Documentation.
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” on page 540 before you start any
installation activity.
Same version 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.
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” on page 442.
• 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” on page 442.
384 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
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 mmcrfs examples in the IBM
Storage Scale: Command and Programming Reference Guide.
• 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 in IBM Storage Scale: Administration Guide.
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 the 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” on page 442.
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
The node used for initiating installation of SMB, NFS, and/or Object protocols by 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 Storage Scale, see Securing the IBM Storage Scale system
using firewall and GPFS port usage in IBM Storage Scale: Administration Guide.
For examples of how to open firewall ports on different operating systems, see Examples of how to
open firewall ports in IBM Storage Scale: Administration Guide.
Repository setup
The installation toolkit contains all necessary code for installation. However, for manual installation
or installation with the installation toolkit, there might be base operating system packages required
as prerequisites. To satisfy any prerequisites, it is necessary for your nodes to have access to a DVD
repository or an external repository accessible by network. Repositories containing IBM Storage Scale
dependencies include the following x86_64 example:
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 385
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.
Network time protocol (NTP) setup
You must configure time synchronization on all nodes in your cluster by using tools such as NTPD and
Chrony. IBM Storage Scale necessitates all clocks to be in sync for installation, deployment, upgrade,
and cluster operation. For information about using these tools with the operating system on your
nodes, see the respective operating system documentation.
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 in IBM Storage
Scale: Problem Determination Guide.
# uname -opr
3.10.0-693.el7.x86_64 x86_64 GNU/Linux
When you have dsh set up, you can use it to install IBM Storage Scale on a large cluster. For details about
setting up dsh or a similar utility, review the documentation for the utility.
386 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
For more information, see “GPFS and network communication” on page 16.
Components Description
Installation toolkit and The components necessary to begin the protocol installation.
license
GPFS Core GPFS is included in this self-extracting package. It also includes call
home and file audit logging packages.
NFS (Ganesha) The packages for Ganesha, the open source, user-space implementation of
the NFS protocol. They can be installed, enabled, and configured by using the
installation toolkit.
SMB (Samba) The packages for Samba, the open-source implementation of the SMB
protocol. They can be installed and enabled using the installation toolkit.
Object (Swift and The Swift and Keystone packages are necessary for enablement of Object
Keystone) services. They can be installed, enabled, and configured using the installation
toolkit.
Performance The packages necessary for performance monitoring by GPFS (including
monitoring tool protocols). They can be installed and enabled by using the installation toolkit.
cp /media/archive/Spectrum_Scale_Standard-5.1.9.x-x86_64-Linux-install/
/tmp/Linux/Spectrum_Scale_Standard-5.1.9.x-x86_64-Linux-install
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 387
2. Verify that the self-extracting program has executable permissions, for example:
# ls -l /tmp/Spectrum_Scale_Standard-5.1.9.x-x86_64-Linux-install
If it is not executable, you can make it executable by issuing the chmod +x command.
Note: To get a list of all packages in the self-extracting installation image, issue the following
command (specifying the --manifest option):
./Spectrum_Scale_Standard-5.1.9.x-x86_64-Linux-install --manifest
manifest
sw,rpm,gpfs.base-5.1.9-x.x86_64.rpm,
Thu 16 Jun 2020 10:40:41 AM MST,md5sum:99e940728f73649520533c06ae14b941
sw,rpm,gpfs.adv-5.1.9-x.x86_64.rpm,
Thu 16 Jun 2020 10:46:43 AM MST,md5sum:8c7a635ee2381b075e7960813bef3c47
sw,rpm,gpfs.gskit-8.0.55.x.x86_64.rpm,
Thu 16 Jun 2020 10:45:15 AM MST,md5sum:2e844aa5351dd87c234f5273ef9f3673
sw,rpm,gpfs.gss.pmsensors-5.1.9-x.el7.x86_64.rpm,
Wed 15 Jun 2020 09:56:29 AM MST,md5sum:3f4c084e93f3bd0d7cdf4adb8fe65448
sw,rpm,gpfs.gss.pmcollector-5.1.9-x.el7.x86_64.rpm,
Wed 15 Jun 2020 09:56:30 AM MST,md5sum:5fd3d21c935fea27d3b8c9b97b8c49e2
sw,rpm,gpfs.gss.pmsensors-5.1.9-x.sles12.x86_64.rpm,
Wed 15 Jun 2020 09:56:34 AM MST,md5sum:abab4976a83814877a140bab5e96c12f
sw,rpm,gpfs.gss.pmcollector-5.1.9-x.sles12.x86_64.rpm,
Wed 15 Jun 2020 09:56:31 AM MST,md5sum:48ae6aedf41c6681c98bc167dc1babdf
sw,rpm,gpfs.gpl-5.1.9-x.noarch.rpm,
Thu 16 Jun 2020 10:52:11 AM MST,md5sum:5989f71ace5dd4e7ca92f030de451819
sw,rpm,gpfs.gui-5.1.9-x.noarch.rpm,
Mon 13 Jun 2020 10:34:37 AM MST,md5sum:e562910893e468cf9790865093623129
sw,rpm,gpfs.msg.en_US-5.1.9-x.noarch.rpm,
Thu 16 Jun 2020 10:44:37 AM MST,md5sum:6fe50b1bf9265d6dab322e0a472266ec
388 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
that you installed (Standard, Advanced, or Data Management). For more information, see “Location of
extracted packages” on page 393.
Note: For this release, the IBM Global Security Kit (GSKit) version for RPMs and Ubuntu Linux packages
must be at least 8.0.55.x or higher.
In this directory, there is a license subdirectory that contains license agreements in multiple languages.
To view which languages are provided, issue the following command:
ls /usr/lpp/mmfs/5.1.9.x/license
The license agreement remains available in the extraction target directory under the license
subdirectory for future access. The license files are written using operating system-specific code pages.
This enables you to view the license in English and in the local language configured on your machine. The
other languages are not guaranteed to be viewable.
Note: Some Red Hat packages are required for object installation. These packages are signed by
Red Hat with a GPG key. This key is called RPM-GPG-KEY-redhat-release and it is located in
the /usr/lpp/mmfs/<release>/Public_Keys/ directory. If you want to manually install object,
along with importing the IBM public key, you can import the Red Hat key as follows:
2. Confirm that the public key is imported into the RPM database.
rpm -K PackageName
You can check the signature of more than one package by using wildcard characters. For example:
rpm -K *.rpm.
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 389
Extracting IBM Storage Scale patches (update SLES and Red Hat Enterprise
Linux RPMs or Ubuntu Linux packages)
Typically, when you install an IBM Storage Scale system there are patches available. It is recommended
that you always look for the latest patches when installing or updating an IBM Storage Scale node.
Note: For more information about restrictions pertaining to Ubuntu Linux, see the IBM Storage Scale FAQ
in IBM Documentation.
IBM Storage Scale patches (update SLES and Red Hat Enterprise Linux RPMs and Ubuntu Linux packages)
are available from Fix Central.
The updated SLES and Red Hat Enterprise Linux RPMs and Ubuntu Linux packages are distributed as
self-extracting base software.
If you are applying a patch during the initial installation of IBM Storage Scale on a node, you only need
to build the portability layer once after the base and update SLES or Red Hat Enterprise Linux RPMs or
Ubuntu Linux packages are installed.
Related tasks
“Building the GPFS portability layer on Linux nodes” on page 396
Before starting GPFS, you must build and install the GPFS portability layer.
cat /etc/zipl.conf
Parameters = "... vmalloc=4096G"
zipl –V
390 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
2. Run the zipl command:
zipl –V
cat/etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT=" ... vmalloc=4096G "
grub2-mkconfig -o /boot/grub2/grub.cfg
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 391
The following packages are required for IBM Storage Scale Advanced Edition and IBM Storage Scale
Data Management Edition on Ubuntu Linux, in addition to the packages listed for IBM Storage Scale
Standard Edition or IBM Storage Scale Data Access Edition:
• gpfs.crypto*.deb
• gpfs.adv*.deb
Note: For this release, the IBM Global Security Kit (GSKit) version for RPMs and Ubuntu Linux
packages must be at least 8.0.55.x or later.
Optional packages for SLES and Red Hat Enterprise Linux
• gpfs.docs*noarch.rpm
• gpfs.java*.rpm
• gpfs.compression*.rpm
• gpfs.gui*.rpm
• gpfs.librdkafka*.x86_64.rpm (Red Hat Enterprise Linux x86_64 only)
• gpfs.afm.cos*.rpm
For more information about manually installing management GUI packages, see “Manually installing
IBM Storage Scale management GUI” on page 411.
The following performance monitoring packages are also optional for SLES and Red Hat Enterprise
Linux.
• gpfs.gss.pmcollector*.rpm
• gpfs.gss.pmsensors*.rpm
The following protocols packages are available for Red Hat Enterprise Linux 8.x:
• gpfs.nfs-ganesha*.el8.*.rpm
• gpfs.nfs-ganesha-gpfs*.el8.*.rpm
• gpfs.nfs-ganesha-utils*.el8.*.rpm
• gpfs.smb*_gpfs_*.el8.*.rpm
• spectrum-scale-object*.noarch.rpm
• gpfs.pm-ganesha*.el8.*.rpm
• pmswift*.noarch.rpm
The following protocols packages are available for Red Hat Enterprise Linux 7.x:
• gpfs.nfs-ganesha*.el7.*.rpm
• gpfs.nfs-ganesha-gpfs*.el7.*.rpm
• gpfs.nfs-ganesha-utils*.el7.*.rpm
• gpfs.smb*_gpfs_*.el7.*.rpm
• gpfs.pm-ganesha*.el7.*.rpm
The following protocols packages are available for SLES 15:
• gpfs.nfs-ganesha*.sles15.x86_64.rpm
• gpfs.nfs-ganesha-gpfs*.sles15.x86_64.rpm
• gpfs.nfs-ganesha-utils*.sles15.x86_64.rpm
• gpfs.smb*_gpfs_*.sles15.x86_64.rpm
• gpfs.pm-ganesha*.sles15.x86_64.rpm
For information on manually installing packages including protocols packages on Red Hat Enterprise
Linux, SLES, and Ubuntu nodes, see “Manually installing IBM Storage Scale and deploying protocols
on Linux nodes” on page 398.
392 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
For information about manually installing performance monitoring packages, see “Manually installing
the performance monitoring tool” on page 408.
Optional packages for Ubuntu Linux
The following packages are optional for Ubuntu Linux.
• gpfs.docs*all.deb
• gpfs.librdkafka*.deb
• gpfs.afm.cos*.deb
• gpfs.compression*.deb
The following performance monitoring packages are optional for Ubuntu Linux (x86_64 and s390x).
• gpfs.gss.pmcollector*20*.deb
• gpfs.gss.pmsensors*20*.deb
The following protocols packages are available for Ubuntu 20.04:
• gpfs.nfs-ganesha*~focal_amd64.deb
• gpfs.nfs-ganesha_gpfs*~focal_amd64.deb
• gpfs.nfs-ganesha-dbgsym*~focal_amd64.deb
• gpfs.python-nfs-ganesha*~focal_all.deb
• gpfs.nfs-ganesha-doc*all.~focal_deb
• gpfs.smb*gpfs*~focal_amd64.deb
• gpfs.smb-dbg_*gpfs*~focal_amd64.deb
• gpfs.pm-ganesha*~focal_amd64.deb
The following protocols packages are available for Ubuntu 22.04:
• gpfs.nfs-ganesha*~jammy_amd64.deb
• gpfs.nfs-ganesha_gpfs*~jammy_amd64.deb
• gpfs.nfs-ganesha-dbgsym*~jammy_amd64.deb
• gpfs.python-nfs-ganesha*~jammy_all.deb
• gpfs.nfs-ganesha-doc*all.~jammy_deb
• gpfs.smb*gpfs*~jammy_amd64.deb
• gpfs.smb-dbg_*gpfs*~jammy_amd64.deb
• gpfs.pm-ganesha*~jammy_amd64.deb
The following packages are required (and provided) only on the Elastic Storage Server (ESS):
• gpfs.gnr.base*.ppc64.rpm
• gpfs.gnr*.ppc64.rpm
• gpfs.gss.firmware*.ppc64.rpm
For more information about Elastic Storage Server (ESS), see Elastic Storage Server (ESS) documentation.
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 393
• SLES: /usr/lpp/mmfs/5.1.x.x/gpfs_rpms
NFS packages
• Red Hat Enterprise Linux 8.x: /usr/lpp/mmfs/5.1.x.x/ganesha_rpms/rhel8
• Red Hat Enterprise Linux 7.x: /usr/lpp/mmfs/5.1.x.x/ganesha_rpms/rhel7
• Ubuntu 20.04: /usr/lpp/mmfs/5.1.x.x/ganesha_debs/ubuntu/ubuntu20
• Ubuntu 22.04: /usr/lpp/mmfs/5.1.x.x/ganesha_debs/ubuntu/ubuntu22
• SLES 15: /usr/lpp/mmfs/5.1.x.x/ganesha_rpms/sles15
SMB packages
• Red Hat Enterprise Linux 8.x: /usr/lpp/mmfs/5.1.x.x/smb_rpms/rhel8
• Red Hat Enterprise Linux 7.x: /usr/lpp/mmfs/5.1.x.x/smb_rpms/rhel7
• Ubuntu 20.04: /usr/lpp/mmfs/5.1.x.x/smb_debs/ubuntu/ubuntu20
• Ubuntu 22.04: /usr/lpp/mmfs/5.1.x.x/smb_debs/ubuntu/ubuntu22
• SLES 15: /usr/lpp/mmfs/5.1.x.x/ganesha_rpms/sles15
Object packages
• Red Hat Enterprise Linux 8.x: /usr/lpp/mmfs/5.1.x.x/object_rpms/rhel8
Performance monitoring packages
• Red Hat Enterprise Linux 8.x: /usr/lpp/mmfs/5.1.x.x/zimon_rpms/rhel8
• Red Hat Enterprise Linux 7.x: /usr/lpp/mmfs/5.1.x.x/zimon_rpms/rhel7
• Ubuntu 20.04: /usr/lpp/mmfs/5.1.x.x/zimon_debs/zimon/ubuntu20
• Ubuntu 22.04: /usr/lpp/mmfs/5.1.x.x/zimon_debs/zimon/ubuntu22
• SLES 15: /usr/lpp/mmfs/5.1.x.x/zimon_rpms/sles15
Note: The pm-ganesha package is extracted in the following directories:
• Red Hat Enterprise Linux 8.x: /usr/lpp/mmfs/5.1.x.x/zimon_rpms/rhel8
Note: The pmswift package is also extracted on Red Hat Enterprise Linux 8.x.
• Red Hat Enterprise Linux 7.x: /usr/lpp/mmfs/5.1.x.x/zimon_rpms/rhel7
• SLES: /usr/lpp/mmfs/5.1.x.x/zimon_rpms/sles15
• Ubuntu: /usr/lpp/mmfs/5.1.x.x/zimon_debs/ubuntu
cd /usr/lpp/mmfs/5.1.9.x/gpfs_rpms
To install all of the required GPFS SLES or Red Hat Enterprise Linux RPMs for the IBM Storage Scale
Advanced Edition, IBM Storage Scale Data Management Edition, or IBM Storage Scale Developer Edition,
394 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
change to the directory where the installation image is extracted. For example, enter the following
command:
cd /usr/lpp/mmfs/5.1.9.x/gpfs_rpms
Note: IBM Storage Scale Developer Edition is available only on Red Hat Enterprise Linux on x86_64.
cd /usr/lpp/mmfs/5.1.9.x/gpfs_debs
To install all of the GPFS Ubuntu Linux packages for IBM Storage Scale Advanced Edition and IBM Storage
Scale Data Management Edition, change the directory to where the installation image is extracted. For
example, issue this command:
cd /usr/lpp/mmfs/5.1.9.x/gpfs_debs
Related concepts
“Manually installing IBM Storage Scale management GUI” on page 411
The management GUI provides an easy way for the users to configure, manage, and monitor the IBM
Storage Scale system.
“Installing call home” on page 531
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 395
The call home feature collects files, logs, traces, and details of certain system health events from different
nodes and services. These details are shared with the IBM support center for monitoring and problem
determination.
“Manually installing the performance monitoring tool” on page 408
The performance monitoring tool is automatically installed by the installation toolkit. You can also install
the performance monitoring tool manually.
“Object protocol further configuration” on page 482
If the Object protocol is enabled during installation, use the following information to verify the Object
protocol configuration. You can also enable features such as unified file and object access and multi-
region object deployment.
Using the mmbuildgpl command to build the GPFS portability layer on Linux
nodes
Starting with GPFS 4.1.0.4, you can use the mmbuildgpl command to simplify the build process.
To build the GPFS portability layer by using mmbuildgpl, enter the following command:
/usr/lpp/mmfs/bin/mmbuildgpl
Each kernel module is specific to a Linux version and platform. If you have multiple nodes running exactly
the same operating system level on the same platform, and only some of these nodes have a compiler
available, you can build the kernel module on one node, then create an installable package that contains
the binary module for ease of distribution.
396 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
If you choose to generate an installable package for portability layer binaries, perform the following
additional step:
/usr/lpp/mmfs/bin/mmbuildgpl --build-package
When the command finishes, it displays the location of the generated package as in the following
examples:
Wrote: /root/rpmbuild/RPMS/x86_64/gpfs.gplbin-4.18.0-305.12.1.el8_4.x86_64-5.1.9-x.x86_64.rpm
or
Wrote: /tmp/deb/gpfs.gplbin-5.4.0-81-generic_5.1.9-x_amd64.deb
You can then copy the generated package to other machines for deployment. By default, the generated
package can be deployed only to machines whose architecture, distribution level, Linux kernel, and IBM
Storage Scale maintenance level are identical with those of the machine on which the gpfs.gplbin
package was built. However, you can install the generated package on a machine with a different Linux
kernel by setting the MM_INSTALL_ONLY environment variable before you install the generated package.
If you install the gpfs.gplbin package, you do not need to install the gpfs.gpl package.
Note: During the package generation, temporary files are written to the /tmp/rpm or /tmp/deb directory,
so be sure there is sufficient space available. By default, the generated package goes to /usr/src/
packages/RPMS/<arch> for SUSE Linux Enterprise Server, /usr/src/redhat/RPMS/<arch> for Red Hat
Enterprise Linux, and /tmp/deb for Ubuntu Linux.
Important:
• The GPFS portability layer is specific to both the current kernel and the GPFS version. If either the
kernel or the GPFS version changes, a new GPFS portability layer needs to be built.
• Although operating system kernels might upgrade to a new version, they are not active until after a
reboot. Thus, a GPFS portability layer for this new kernel must be built after a reboot of the operating
system.
• Before you install a new GPFS portability layer, make sure to uninstall the prior version of the GPFS
portability layer first.
Using the Autoconfig tool to build the GPFS portability layer on Linux nodes
To simplify the build process, GPFS provides an automatic configuration tool called Autoconfig.
The following example shows the commands required to build the GPFS portability layer by using the
Autoconfig tool:
cd /usr/lpp/mmfs/src
make Autoconfig
make World
make InstallImages
Each kernel module is specific to a Linux version and platform. If you have multiple nodes running exactly
the same operating system level on the same platform, or if you have a compiler available on only one
node, you can build the kernel module on one node, then create an installable package that contains the
binary module for ease of distribution.
If you choose to generate an installable package for portability layer binaries, perform the following
additional step:
When the command finishes, it displays the location of the generated package as in the following
examples:
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 397
Wrote: /root/rpmbuild/RPMS/x86_64/gpfs.gplbin-4.18.0-305.12.1.el8_4.x86_64-5.1.9-x.x86_64.rpm
or
Wrote: /tmp/deb/gpfs.gplbin-5.4.0-81-generic_5.1.9-x_amd64.deb
You can then copy the generated package to other machines for deployment. By default, the generated
package can be deployed only to machines whose architecture, distribution level, Linux kernel, and IBM
Storage Scale maintenance level are identical with those of the machine on which the gpfs.gplbin
package was built. However, you can install the generated package on a machine with a different Linux
kernel by setting the MM_INSTALL_ONLY environment variable before you install the generated package.
If you install the gpfs.gplbin package, you do not need to install the gpfs.gpl package.
Note: During the package generation, temporary files are written to the /tmp/rpm or /tmp/deb directory,
so be sure there is sufficient space available. By default, the generated package goes to /usr/src/
packages/RPMS/<arch> for SUSE Linux Enterprise Server, /usr/src/redhat/RPMS/<arch> for Red Hat
Enterprise Linux, and /tmp/deb for Ubuntu Linux.
Important:
• The GPFS portability layer is specific to both the current kernel and the GPFS version. If either the
kernel or the GPFS version changes, a new GPFS portability layer needs to be built.
• Although operating system kernels might upgrade to a new version, they are not active until after a
reboot. Thus, a GPFS portability layer for this new kernel must be built after a reboot of the operating
system.
• Before you install a new GPFS portability layer, make sure to uninstall the prior version of the GPFS
portability layer first.
398 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
To check the status of the firewall on SLES, issue the following command:
To check the status of the firewall on Ubuntu, issue the following command:
For examples of how to open firewall ports on different operating systems, see Examples of how to open
firewall ports in IBM Storage Scale: Administration Guide.
• Every node must have a non-loopback IP address assigned. In some scenarios, a freshly installed node
might have its host name pointing to 127.0.0.1 in /etc/hosts. 127.0.0.1 is a loopback IP address and
it is not sufficient for multi-node IBM Storage Scale cluster creation. In these cases, each node needs a
static IP with connectivity to the other nodes.
• Optionally, the bash profile can be updated to allow easier access to IBM Storage Scale commands.
– Verify that the PATH environment variable for the root user on each node includes /usr/lpp/
mmfs/bin and the required tool directories. This allows a user to execute IBM Storage Scale
commands without having to first change directory to /usr/lpp/mmfs/bin.
– Export the WCOLL variable used by mmdsh. In the following example, /nodes is a manually created
file, listing line by line, each node within the cluster using the nodes' FQDN. Once IBM Storage Scale
is installed, this configuration allows the mmdsh command to execute commands on multiple nodes
simultaneously.
Example:
# cat ~/.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
######
# User specific environment and startup programs
######
######
# Specifics for GPFS testing
######
export PATH=$PATH:$HOME/bin:/usr/lpp/mmfs/bin
export WCOLL=/nodes
Log out and then log in again for the changes in the bash profile to take effect.
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 399
• On Red Hat Enterprise Linux, and SLES, issue the following command:
# cd /usr/lpp/mmfs/x.x.x.x/gpfs_rpms
# rpm -ivh gpfs.base*.rpm gpfs.gpl*rpm gpfs.license*rpm gpfs.gskit*rpm
gpfs.msg*rpm gpfs.compression*rpm gpfs.adv*rpm gpfs.crypto*rpm
# cd /usr/lpp/mmfs/x.x.x.x/gpfs_debs
# dpkg -i gpfs.base*deb gpfs.gpl*deb gpfs.license.ad*.deb gpfs.gskit*deb
gpfs.msg*deb gpfs.compression*deb gpfs.adv*deb gpfs.crypto*deb
# /usr/lpp/mmfs/bin/mmbuildgpl
A sample output is as follows. The output varies depending on the operating system:
--------------------------------------------------------
mmbuildgpl: Building GPL module begins at Thu Mar 24 15:18:23 CST 2016.
--------------------------------------------------------
Verifying Kernel Header...
kernel version = 31228004 (3.12.28-4-default, 3.12.28-4)
module include dir = /lib/modules/3.12.28-4-default/build/include
module build dir = /lib/modules/3.12.28-4-default/build
kernel source dir = /usr/src/linux-3.12.28-4/include
Found valid kernel header file under /lib/modules/3.12.28-4-default/build/include
Verifying Compiler...
make is present at /usr/bin/make
cpp is present at /usr/bin/cpp
gcc is present at /usr/bin/gcc
g++ is present at /usr/bin/g++
ld is present at /usr/bin/ld
Verifying Additional System Headers...
Verifying linux-glibc-devel is installed ...
Command: /bin/rpm -q linux-glibc-devel
The required package linux-glibc-devel is installed
make World ...
make InstallImages ...
--------------------------------------------------------
mmbuildgpl: Building GPL module completed successfully at Thu Mar 24 15:18:31 CST 2016.
--------------------------------------------------------
If the portability layer cannot be built due to missing prerequisite packages, you might need to install
prerequisite packages. For a list of prerequisite packages, see “Software requirements” on page 234.
If the repository setup and the kernel configuration are correct, you can install the prerequisite
packages by using one of the following commands, depending on the operating system:
Red Hat Enterprise Linux
SLES
Ubuntu
400 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
After IBM Storage Scale is built on all nodes, you can create the cluster. It is recommended to have an odd
number of quorum nodes and that your NSD nodes be designated as quorum nodes.
4. Create the cluster by using the following command from one of the nodes:
In this command example, NodesList is a file that contains a list of nodes and node designations to be
added to the cluster and its contents are as follows:
node1:quorum
node2
node3
node4:quorum-manager
node5:quorum-manager
Running the mmcrcluster command generates output similar to the following snippet:
5. Accept proper role licenses for the nodes by using the following commands from one of the nodes:
a) Accept the server licenses for the applicable nodes.
IBM Storage Scale cluster is now created. You can view the configuration information of the cluster by
using the following command:
# /usr/lpp/mmfs/bin/mmlscluster
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 401
The system displays output similar to the following snippet:
6. Start the GPFS daemons and the cluster by using the following command from one of the nodes:
# /usr/lpp/mmfs/bin/mmstartup -N NodesList
Where NodesList is the list of nodes on which the daemons and the cluster are to be started.
You can use the mmgetstate -N NodesList command to verify that the GPFS software is running on
these nodes.
Creating NSDs and file systems as part of installing IBM Storage Scale on
Linux systems
Create NSDS and file systems for installing IBM Storage Scale on supported Linux distributions as follows:
For more information about NSD creation considerations, see “Network Shared Disk (NSD) creation
considerations” on page 253.
1. Create NSDs as follows:
a) Identify available physical disks in the /dev directory.
b) Create the NSD stanza file to be used with the mmcrnsd command.
For example, consider you have 2 disks, /dev/sdc and /dev/sdd, and your node name is
exnode1 and it is running Linux. In this case, your NSD stanza file contents are similar to the
following:
%nsd:
device=/dev/sdc
nsd=nsd1
servers=exnode1
usage=dataAndMetadata
failureGroup=-1
pool=system
%nsd:
device=/dev/sdd
nsd=nsd2
servers=exnode1
usage=dataAndMetadata
failureGroup=-1
Note: The server name used in the NSD stanza file must be resolvable by the system.
c) Create the NSDs by using the following command:
# mmcrnsd –F NSD_Stanza_Filename
402 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Attention: When creating NSD stanza files ensure that you plan out the required file system
layout. This includes number of file systems, pools in each file system, failure group layout,
metadata versus data usage types, as well as other mmcrnsd and mmcrnsd stanzafile
parameters. Additionally, a stanzafile created for NSD creation by using the mmcrnsd
command, can also be used for file system creation through the mmcrfs command. If you are
using an NSD stanzafile for file system creation then you must be aware that a single file system
is created. If you require multiple file systems, then you must create a separate stanzafile for
each file system.
# mmshutdown -a
2. Configure the CES shared root file system by using the following command:
# mmchconfig cesSharedRoot=/gpfs/fs0
Note: It is recommended to configure an independent file system as the CES shared root file system.
3. Start GPFS on all nodes in the cluster by using the following command:
# mmstartup -a
5. Add to the protocol nodes that the IP addresses designated to be used for CES connectivity by using
the following command:
# mmlscluster --ces
# mmces address list
Currently, there are no services that are enabled. You can verify by using the mmces service list -a
command. A sample output is as follows:
7. Download and extract IBM Storage Scale protocol packages, and then accept the licensing
agreement. For more information, see “Extracting the IBM Storage Scale software on Linux nodes” on
page 387 and “Accepting the electronic license agreement on Linux nodes” on page 387.
For more information on the location of extracted packages, see “Location of extracted packages” on
page 393.
8. Remove conflicting Samba packages that might have been installed on each CES node by issuing one
of the following commands, depending on the operating system.
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 403
• On Red Hat Enterprise Linux and SLES, issue the following command:
9. Install IBM Storage Scale SMB package by issuing one of the following commands, depending on the
operating system.
• On Red Hat Enterprise Linux and SLES, issue the following command:
# dpkg -i gpfs.smb*.deb
For a list of packages for the current IBM Storage Scale release, see “Manually installing the IBM
Storage Scale software packages on Linux nodes” on page 391.
10. Install IBM Storage Scale NFS packages by issuing one of the following commands, depending on the
operating system.
• On Red Hat Enterprise Linux and SLES, issue the following command:
If you cannot install NFS package because of any error by using the dpkg -i command, issue the
following command:
404 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
• Enable NFS as follows:
a) If the kernel NFS service is running, mask and stop the kernel NFS service on all nodes where CES
NFS needs to be installed by using the following commands:
If you get the /sbin/rpc.statd: not found [No such file or directory] error, try the
following workaround.
Run the following commands on every protocol node.
# ln -s /usr/sbin/rpc.statd /sbin/rpc.statd
# ln -s /sbin/rpcinfo /usr/sbin/rpcinfo
After you have run these commands, try enabling the NFS services again.
• Enable the SMB services by using the following command:
• Enable object on Red Hat Enterprise Linux nodes. For more information, see “Manually installing IBM
Storage Scale for object storage on Red Hat Enterprise Linux ” on page 406.
The system returns output similar to the following if you have IBM Storage Scale Standard Edition or IBM
Storage Scale Data Access Edition installed:
or
ii gpfs.license.da 5.1.9-x amd64 IBM Spectrum Scale Data Access Edition ITLM files
If you have IBM Storage Scale Advanced Edition or IBM Storage Scale Data Management Edition installed,
you should also see the following lines in the output:
or
ii gpfs.license.dm 5.1.9-x amd64 IBM Spectrum Scale Data Management Edition ITLM
files
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 405
Verifying the IBM Storage Scale installation on SLES and Red Hat Enterprise
Linux nodes
You can verify the installation of the IBM Storage Scale SLES or Red Hat Enterprise Linux RPMs on each
node.
To check that the software is successfully installed, use the rpm command:
The system returns output similar to the following if you have IBM Storage Scale Standard Edition or IBM
Storage Scale Data Access Edition installed:
gpfs.docs-5.1.9-x
gpfs.base-5.1.9-x
gpfs.msg.en_US-5.1.9-x
gpfs.compression-5.1.9-x
gpfs.gpl-5.1.9-x
gpfs.gskit-8.0.55.x
gpfs.license.std-5.1.9-x
or
gpfs.license.da-5.1.9-x
If you have IBM Storage Scale Advanced Edition, IBM Storage Scale Data Management Edition, or IBM
Storage Scale Developer Edition installed, you should also see the following in the output:
gpfs.crypto-5.1.9-x
gpfs.adv-5.1.9-x
gpfs.license.dm-5.1.9-x or gpfs.license.adv-5.1.9-x or gpfs.license.dev-5.1.9-x
Note: IBM Storage Scale Developer Edition is available on Red Hat Enterprise Linux on x86_64.
For installations that include IBM Storage Scale RAID, you should also see the following in the output:
gpfs.gnr-5.1.9-x
For more information about IBM Storage Scale RAID, see IBM Storage Scale RAID: Administration in
Elastic Storage Server (ESS) documentation.
To run the system health check for verifying IBM Storage Scale installation, issue the following command:
Manually installing IBM Storage Scale for object storage on Red Hat
Enterprise Linux
IBM Storage Scale for object storage is typically installed by using the installation toolkit. If you do not
want to use the installation toolkit, manually install IBM Storage Scale for object storage as follows.
Important:
• CES Swift Object protocol feature is not supported from IBM Storage Scale 5.1.9 onwards.
• IBM Storage Scale 5.1.8 is the last release that has CES Swift Object protocol.
• IBM Storage Scale 5.1.9 will tolerate the update of a CES node from IBM Storage Scale 5.1.8.
– Tolerate means:
- The CES node will be updated to 5.1.9.
- Swift Object support will not be updated as part of the 5.1.9 update.
- You may continue to use the version of Swift Object protocol that was provided in IBM Storage
Scale 5.1.8 on the CES 5.1.9 node.
406 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
- IBM will provide usage and known defect support for the version of Swift Object that was provided
in IBM Storage Scale 5.1.8 until you migrate to a supported object solution that IBM Storage Scale
provides.
• Please contact IBM for further details and migration planning.
For more information about prerequisites, see “Software requirements” on page 234 and “Installation
prerequisites” on page 384.
Before you begin manually installing IBM Storage Scale for object storage, complete the following
prerequisite tasks:
1. Create protocol nodes for object service. For more information, see Configuring CES protocol service IP
addresses in IBM Storage Scale: Administration Guide.
2. Add at least one CES IP address.
Manually install the object protocol and then enable object services as follows.
1. On all protocol nodes, install the spectrum-scale-object package and its associated
dependencies by issuing the following command.
[spectrum_scale]
name=spectrum_scale
baseurl=file:///usr/lpp/mmfs/5.1.9.x/object_rpms/rhel8
enabled=1
gpgcheck=0
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 407
The mmobjpwd value represents a file with the passwords that you can use in your configuration. For
the password file specification format, see mmobj command. You can also pass configuration flags to
mmobj to add support for features such as:
• S3 capability
• Unified file
• Object access
• Storage policies
The mmobj command page has the full list of available features that you can use.
After the initial installation and configuration is complete, the object protocol needs to be enabled across
all the protocol nodes.
3. Complete the configuration and start object services on all protocol nodes by using the mmces
service enable command.
4. List the protocols that are enabled in the IBM Storage Scale cluster by using the mmces service
list command. List a verbose output of object services that are running on the local node by using
the -v flag.
5. You can enable new object storage features or manage existing object storage features including S3
capability, unified file and object access, and storage policies. For more information, see the mmobj
command in the IBM Storage Scale: Command and Programming Reference Guide.
408 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
For information on the default directories in which these packages are extracted, see “Location of
extracted packages” on page 393.
Performance monitoring packages
gpfs.gss.pmsensors-version_release.os.target_arch.file_format
gpfs.gss.pmcollector-version_release.os.target_arch.file_format
Then, use your operating system’s native package management mechanism to install the packages.
For example:
• To install performance monitoring sensors on a Red Hat Enterprise Linux 7.x x86_64 node, use the
following command:
• To install performance monitoring sensors on a Red Hat Enterprise Linux 8.x x86_64 node, use the
following command:
• To install performance monitoring sensors on a SLES 15 x86_64 node, use the following command:
• To install performance monitoring sensors on an Ubuntu amd64 node, use the following command:
dpkg -i gpfs.gss.pmsensors_x.x.x-x.U*amd64.deb
• To install a performance monitoring collector on a Red Hat Enterprise Linux 7.x PPC64LE node, use
the following command:
2. To configure performance monitoring after the packages are installed on all the selected nodes, use
the following commands:
3. To enable performance monitoring on a protocol node for NFS, SMB, or Object, follow the steps below:
• For NFS:
a. Install the pm-ganesha package as follows:
– RHEL or SLES: rpm -ivh gpfs.pm-ganesha_version-release.os.target_arch.rpm
– Ubuntu: dpkg -i gpfs.pm-ganesha_version-release.deb
b. Ensure that the /opt/IBM/zimon/defaults/ZIMonSensors_nfs.cfg sensor is created as
shown:
sensors={
name = "NFSIO"
period = 10
type = "Generic"
restrict = "cesNodes"
}
d. Run the following code to ensure that the newly added sensor is made visible to the system:
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 409
• For SMB:
a. Run the following command to add the sensor:
• For Object:
a. Install the pmswift package as follows:
– RHEL: rpm -ivh pmswift-version-release.noarch.rpm
– Ubuntu: dpkg -i pmswift_version-release.deb
Where version is equal to or greater than 4.2 and release is equal to or greater than 0.
The installation of the pmswift RPM also copies SWIFT related sensors configuration
files, namely, SwiftAccount.cfg, SwiftContainer.cfg, SwiftObject.cfg, and
SwiftProxy.cfg to the performance monitoring tool’s installation directory, /opt/IBM/
zimon/. The pmswift package converts the operational metrics for Object into a form that
is usable by the performance monitoring tool.
b. Edit the Object configuration files for all Object servers that reside in the cluster configuration
repository (CCR), using the following command:
/usr/local/pmswift/bin/pmswift-config-swift set
CCR then propagates the modified configuration files to /etc/swift/ directory on all the
protocol nodes within the cluster. The modified configuration files are:
– account - *.conf
– container - *.conf
– object - *.conf
– proxy - *.conf
c. Use the /usr/local/pmswift/bin/pmswift-config-zimon set command to edit the
sensors configuration information stored in the CCR. This adds the SWIFT related following
sensors entries:
{
# SwiftAccount operational metrics
name = "SwiftAccount"
period = 1
type = "generic"
},
{
# SwiftContainer operational metrics
name = "SwiftContainer"
period = 1
type = "generic"
},
{
# SwiftObject operational metrics
name = "SwiftObject"
period = 1
type = "generic"
},
{
# SwiftProxy operational metrics
name = "SwiftProxy"
period = 1
type = "generic"
},
410 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
These entries are then automatically propagated to the ZIMonSensors.cfg file in /opt/IBM/
zimon on all the nodes in the cluster.
d. Start the pmswiftd.service by using the following command:
For more information on how to manually upgrade pmswift, see the “Manually upgrading pmswift” on
page 576 topic.
4. If the protocol sensors are enabled on a GPFS-only node, you see an error message stating that the
sensors are unavailable. However, the other sensors continue to run.
5. Start the sensors on each node using the systemctl start pmsensors.service command.
6. On the collector nodes, start the collector, using the systemctl start pmcollector.service
command.
7. To ensure that sensors and collectors are restarted after the node reboots, you can enable them using
the following commands:
Sensors
To enable sensors, use the systemctl enable pmsensors.service command.
To disable sensors, use the systemctl disable pmsensors.service command.
Collector
To enable the collector, use the systemctl enable pmcollector.service command.
To disable the collector, use the systemctl disable pmcollector.service command.
The collector node starts gathering all the requested metrics.
Important: Once the packages are installed, pmsensor and pmcollector services are activated
automatically.
By default, the installation toolkit enables sensors on each protocol node (CES node) but not on the other
GPFS nodes (non-CES nodes).
Metrics can be retrieved from any node in the system by using the mmperfmon query command.
For more information, see mmperfmon command in IBM Storage Scale: Command and Programming
Reference Guide.
For more information about the performance monitoring tool, see Configuring the performance monitoring
tool in IBM Storage Scale: Problem Determination Guide.
Prerequisites
The prerequisites that are applicable for installing the IBM Storage Scale system through CLI are
applicable for GUI installation as well. For more information, see “Installation prerequisites” on page
384.
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 411
The IBM Storage Scale GUI package is also part of the installation package. You need to extract this
package to start the installation. The performance tool packages enable the performance monitoring tool
that is integrated into the GUI. The following packages are important for performance monitoring tools in
the GUI:
• The performance tool collector package. This package is placed only on the collector nodes. By default,
every GUI node is also used as the collector node to receive performance details and display them in
the GUI.
• The performance tool sensor package. This package is applicable for the sensor nodes, if not already
installed.
• iptables is required for the installation of Linux operating systems. However, it might not be a
prerequisite if the administrator configures the firewall for the specific GUI node. For more information,
see Firewall recommendations for IBM Storage Scale GUI in IBM Storage Scale: Administration Guide.
Note: For GUI installations on RHEL9 you must install nftables. You can run the dnf install
nftables command to install nftables.
However, to make the GUI functional in a system in which iptables are already existing, you must first
disable the existing iptables and then enable the nftables.
– To disable iptables, issue the following command:
Note: The GUI must be a homogeneous stack. That is, all packages must be of the same release. For
example, do not mix the 5.1.2 GUI rpm with a 5.1.3 base rpm. However, GUI PTFs and efixes can usually
be applied without having to install the corresponding PTF or efix of the base package. A GUI PTF and efix
is helpful if you want to get rid of a GUI issue without changing anything on the base layer.
The following table lists the IBM Storage Scale GUI and performance tool package that are essential for
different platforms.
Ubuntu 20 gpfs.gui_5.1.9-x_all.deb
gpfs.java_5.1.9-x_amd64.deb
gpfs.java_5.1.9-x_ppc64el.deb
412 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Table 38. GUI packages essential for each platform (continued)
GUI Platform Package name
RHEL 8.x x86 gpfs.gss.pmcollector-5.1.9-
x.el8.x86_64.rpm
gpfs.gss.pmsensors-5.1.9-
x.el8.x86_64.rpm
Ensure that the performance tool collector runs on the same node as the GUI.
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 413
Installation steps
You can install the management GUI either by using the package manager (yum or zypper commands) or
by installing the packages individually.
Installing management GUI by using package manager (yum or zypper commands)
It is recommended to use this method as the package manager checks the dependencies and
automatically installs missing platform dependencies. Issue the following commands to install
management GUI:
Red Hat Enterprise Linux
SLES
dpkg -i gpfs.java_5.1.9-x_<arch>.deb
dpkg -i gpfs.gss.pmsensors_5.1.9-x.<os>_<arch>.deb
dpkg -i gpfs.gss.pmcollector_5.1.9-x.<os>_<arch>.deb
apt-get install postgresql
dpkg -i gpfs.gui_5.1.9-x_all.deb
The sensor package must be installed on any additional node that you want to monitor. All sensors must
point to the collector node.
Note: In IBM Storage Scale 5.1.4 you can disable the GUI service after you have installed it without
restricting your access to the REST API service. You can configure WEB_GUI_ENABLED = false in
the gpfsgui.properties file to access only the REST API service. The WEB_GUI_ENABLED parameter
value is set to true by default.
Start the GUI
Start the GUI by issuing the systemctl start gpfsgui command.
Note: After installing the system and GUI package, you need to create the first GUI user to log in
to the GUI. This user can create other GUI administrative users to perform system management and
monitoring tasks. When you launch the GUI for the first time after the installation, the GUI welcome page
provides options to create the first GUI user from the command line prompt by using the /usr/lpp/
mmfs/gui/cli/mkuser <user_name> -g SecurityAdmin command.
414 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
following steps use the automated approach to configure and maintain performance data collection by
using the mmperfmon CLI command. Manually editing the /opt/IBM/zimon/ZIMonSensors.cfg file is
not compatible with this configuration mode.
1. Install the necessary software packages. Install the collector software package,
gpfs.gss.pmcollector, on all GUI nodes. Install the sensor software packages,
gpfs.gss.pmsensors, on all nodes, which are supposed to send the performance data.
2. Initialize the performance collection. Use the mmperfmon config generate --collectors
[node list] command to create an initial performance collection setup on the selected nodes.
The GUI nodes must be configured as collector nodes. Depending on the installation type, this
configuration might be already completed before. However, verify the existing configuration.
3. Enable nodes for performance collection. You can enable nodes to collect performance data by
issuing the mmchnode --perfmon -N [SENSOR_NODE_LIST] command. [SENSOR_NODE_LIST]
is a comma-separated list of sensor nodes' hostnames or IP addresses and you can also use a node
class. Depending on the type of installation, nodes might be configured for performance collection.
4. Review peer configuration for the collectors. The mmperfmon config update command updates
the multiple collectors with the necessary configuration. The collector configuration is stored in
the /opt/IBM/zimon/ZIMonCollector.cfg file. This file defines the collector peer configuration
and the aggregation rules. If you are using only a single collector, you can skip this step. The GUI must
have access to all data from each GUI node. For more information, see Configuring the collector in IBM
Storage Scale: Administration Guide.
5. Review aggregation configuration for the collectors. The collector configuration is stored in
the /opt/IBM/zimon/ZIMonCollector.cfg file. The performance collection tool is configured
with predefined rules on how data is aggregated when it gets older. By default, four aggregation
domains are created as shown:
• A raw domain that stores the metrics uncompressed.
• A first aggregation domain that aggregates data to 30-second averages.
• A second aggregation domain that stores data in 15-minute averages.
• A third aggregation domain that stores data in 6-hour averages.
You must not change the default aggregation configuration as the already collected
historical metric information might get lost. You cannot manually edit the /opt/IBM/zimon/
ZIMonCollector.cfg file in the automated configuration mode.
In addition to the aggregation that is done by the performance collector, the GUI might request
aggregated data based on the zoom level of the chart. For more information, see Configuring the
collector in IBM Storage Scale: Administration Guide.
6. Configure the sensors. Several GUI pages display performance data that is collected with the help of
performance monitoring tools. If data is not collected, the GUI shows the error messages like "No Data
Available" or "Objects not found" in the performance charts. Installation by using the spectrumscale
installation toolkit manages the default performance monitoring installation and configuration. The
GUI help that is available on the various pages shows performance metric information. The GUI
context-sensitive help also lists the sensor names.
The Services > Performance Monitoring page provides option to configure the sensor configuration
and provides hints for collection periods and restriction of sensors to specific nodes.
You can also use the mmperfmon config show command in the CLI to verify the sensor
configuration. Use the mmperfmon config update command to adjust the sensor configuration
to match your needs. For more information, see Configuring the sensor in IBM Storage Scale:
Administration Guide.
The local file /opt/IBM/zimon/ZIMonSensors.cfg can be different on every node and the system
might change this path whenever a configuration change occurs. Therefore, this file must not be
edited manually when you are using the automated configuration mode. During distribution of the
sensor configuration, the restrict clause is evaluated and the period for all sensors is set to 0 in
the /opt/IBM/zimon/ZIMonSensors.cfg file. The setting is defined for those nodes that did not
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 415
match the restrict clause. You can check the local file to confirm that a restrict clause worked as
intended.
If the selected node is in the DEGRADED state, then the CLUSTER_PERF_SENSOR is automatically
reconfigured to another node that is in the HEALTHY state. The performance monitoring service is
restarted on the previous and currently selected nodes. For more information, see Automatic assignment
of single node sensors in IBM Storage Scale: Problem Determination Guide.
Note: If the GPFSDiskCap sensor is frequently restarted, it can negatively impact the system performance.
The GPFSDiskCap sensor can cause a similar impact on the system performance as the mmdf command.
Therefore, to avoid using the @CLUSTER_PERF_SENSOR for any sensor in the restrict field of a single
node sensor until the node stabilizes in the HEALTHY state, it is advisable to use a dedicated healthy
node. If you manually configure the restrict field of the capacity sensors then you must ensure that all
the file systems on the specified node are mounted to record file system-related data, like capacity.
Use the Services > Performance Monitoring page to select the appropriate data collection periods for
these sensors.
For the GPFSDiskCap sensor, the recommended period is 86400, which means once per day. As the
GPFSDiskCap.period sensor runs mmdf command to get the capacity data, it is not recommended to use
a value less than 10800 (every 3 hours). To show fileset capacity information, it is necessary to enable
quota for all file systems where fileset capacity must be monitored. For more information, see the -q
option in the mmchfs command and mmcheckquota command.
To update the sensor configuration for triggering an hourly collection of capacity-based fileset capacity
information, run the mmperfmon command as shown in the following example,
416 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
gpfsgui
--clean
Issue the systemctl status pmcollector and systemctl status pmsensors commands to
know the status of the performance tool.
You can also check whether the performance tool backend can receive data by using the GUI. As
another option, you can also use a command-line performance tool that is called zc, which is available
in /opt/IBM/zimon folder. For example,
echo "get metrics mem_active, cpu_idle, gpfs_ns_read_ops last 10 bucket_size 1" | ./zc 127.0.0.1
Result example:
1: server-21.localnet.com|Memory|mem_active
2: server-22.localnet.com|Memory|mem_active
3: server-23.localnet.com|Memory|mem_active
4: server-21.localnet.com|CPU|cpu_idle
5: server-22.localnet.com|CPU|cpu_idle
6: server-23.localnet.com|CPU|cpu_idle
7: server-21.localnet.com|GPFSNode|gpfs_ns_read_ops
8: server-22.localnet.com|GPFSNode|gpfs_ns_read_ops
9: server-23.localnet.com|GPFSNode|gpfs_ns_read_ops
Row Timestamp mem_active mem_active mem_active cpu_idle cpu_idle cpu_idle gpfs_ns_read_ops
gpfs_ns_read_ops gpfs_ns_read_ops
1 2015-05-20 18:16:33 756424 686420 382672 99.000000 100.000000 95.980000 0 0 0
2 2015-05-20 18:16:34 756424 686420 382672 100.000000 100.000000 99.500000 0 0 0
3 2015-05-20 18:16:35 756424 686420 382672 100.000000 99.500000 100.000000 0 0 6
4 2015-05-20 18:16:36 756424 686420 382672 99.500000 100.000000 100.000000 0 0 0
5 2015-05-20 18:16:37 756424 686520 382672 100.000000 98.510000 100.000000 0 0 0
6 2015-05-20 18:16:38 774456 686448 384684 73.000000 100.000000 96.520000 0 0 0
7 2015-05-20 18:16:39 784092 686420 382888 86.360000 100.000000 52.760000 0 0 0
8 2015-05-20 18:16:40 786004 697712 382688 46.000000 52.760000 100.000000 0 0 0
9 2015-05-20 18:16:41 756632 686560 382688 57.580000 69.000000 100.000000 0 0 0
10 2015-05-20 18:16:42 756460 686436 382688 99.500000 100.000000 100.000000 0 0 0
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 417
You can configure and manage various features that are available with the IBM Storage Scale system by
using the IBM Storage Scale management GUI.
# iptables-save >/root/iptables.dump
# ip6tables-save >/root/ip6tables.dump
3. To edit the /etc/sysconfig/nftables.conf file and add the migrated files, issue the following
command:
include "/etc/nftables/ruleset-migrated-from-iptables.nft"
include "/etc/nftables/ruleset-migrated-from-ip6tables.nft"
5. To enable and start the nftables service, issue the following command:
6. To verify the rules that are migrated, issue the following command:
418 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Enabling the scalemgmt user to monitor and manage the system through GUI
As root privileges are not available to the GUI user, the system enables the scalemgmt user to run the CLI
commands through sudo. The GUI installation adds the file /etc/sudoers.d/scalemgmt_sudoers,
which allows the scalemgmt user to run commands that match the wildcard "/usr/lpp/mmfs/bin/mm".
During installation of the IBM Storage Scale management GUI, the following lines are appended to
the /etc/sudoers file:
Note: Do not alter these lines if you are editing the /etc/sudoers file. If these lines are removed or
moved from the default location, the GUI cannot run the CLI commands as a non-root user.
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 419
From the self-extracting package, the installation toolkit is extracted to this directory, by default:
/usr/lpp/mmfs/package_code_version/ansible-toolkit
Using the installation toolkit is driven through the spectrumscale command in this directory, and this
directory can optionally be added to the path.
The installation toolkit operation consists of four phases:
1. User input by using spectrumscale commands:
a. All user input is recorded into a cluster definition file in /usr/lpp/mmfs/5.1.9.0/ansible-
toolkit/ansible/vars.
b. Review the cluster definition file to make sure that it accurately reflects your cluster configuration.
c. As you input your cluster configuration, you can have the installation toolkit act on parts of the
cluster by not specifying nodes that might have incompatible operating systems, OS versions, or
architectures.
2. A spectrumscale install phase:
a. Installation acts upon all nodes that are defined in the cluster definition file.
b. GPFS and performance monitoring packages are installed.
c. File audit logging and AFM to cloud object storage packages might be installed.
d. GPFS portability layer is created.
e. GPFS is started.
f. A GPFS cluster is created.
g. Licenses are applied.
h. GUI nodes might be created and the GUI might be started upon these nodes.
i. Performance monitoring, GPFS ephemeral ports, and cluster profile might be configured.
j. NSDs are created.
k. File systems are created.
3. A spectrumscale deploy phase:
a. Deployment acts upon all nodes that are defined into the cluster definition file.
b. SMB, NFS, HDFS, and Object protocol packages are copied to all protocol nodes and installed.
c. SMB, NFS, HDFS, and Object services might be started.
d. File audit logging and message queue might be configured.
e. Licenses are applied.
f. GUI nodes might be created and the GUI might be started upon these nodes.
g. Performance monitoring, call home, file audit logging, GPFS ephemeral ports, and cluster profile
might be configured.
4. A spectrumscale upgrade phase:
Note: The upgrade phase does not allow new function to be enabled. In the upgrade phase, the
required packages are upgraded, but adding functions must be done either before or after the upgrade.
a. Upgrade acts upon all nodes input into the cluster definition file. However, you can exclude a subset
of nodes from the upgrade configuration.
b. All installed or deployed components are upgraded. During the upgrade phase, any missing
packages might be installed and other packages that are already installed are upgraded.
c. Upgrade can be done in the following ways:
• Online upgrade (one node at a time)
Online upgrades are sequential with multiple passes. For more information, see “Upgrade
process flow” on page 593.
420 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
• Offline upgrade
Offline upgrades can be done in parallel saving a lot of time in the upgrade window.
• Upgrade while excluding a subset of nodes
d. Allows for prompting to be enabled on a node to pause to allow for application migration from the
node before proceeding with upgrade.
For more information, see “Upgrading IBM Storage Scale components with the installation toolkit” on
page 591 and “Upgrade process flow” on page 593.
For information about command options available with the spectrumscale command, see the
spectrumscale command description in the IBM Storage Scale: Command and Programming Reference
Guide.
The following table lists the features available in the installation toolkit in the reverse chronological order
of releases.
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 421
Table 39. Installation toolkit: List of features (continued)
Release Features
5.1.4.x • Support for Ubuntu 22.04 on x86_64.
• Support for Red Hat Enterprise Linux 8.6 on x86_64, PPC64LE, and
s390x.
• Modified the command to enable workload prompt to allow
administrators to stop and migrate workloads before a node is
shut down for upgrade. For more information, see “Upgrading IBM
Storage Scale components with the installation toolkit” on page
591.
5.1.3.x • Support for parallel offline upgrade of all nodes in the cluster.
• Support for Ansible 2.10.x.
5.1.2.x • Support for Red Hat Enterprise Linux 8.5 on x86_64, PPC64LE, and
s390x.
• Support for user-defined profiles of GPFS configuration
parameters.
• Support for populating cluster state information from mixed CPU
architecture nodes. The information is populated from nodes that
have the same CPU architecture as the installer node.
• Several optimizations in the upgrade path resulting in faster
upgrades than in earlier releases.
422 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Table 39. Installation toolkit: List of features (continued)
Release Features
5.1.1.x • Migration to the Ansible® automation platform:
– Enables scaling up to more number of nodes
– Avoids issues that arise due to using an agent-based tooling
infrastructure such as Chef
– Enables parity with widely-adopted, modern tooling
infrastructure
• Support for Red Hat Enterprise Linux 8.4 on x86_64, PPC64LE, and
s390x
• Support for Ubuntu 20.04 on PPC64LE
• Support for multiple recovery groups in IBM Storage Scale Erasure
Code Edition
• Simplification of file system creation:
The file system is created during the installation phase rather than
the deployment phase.
• Support for IPv6 addresses
• Support for the CES interface mode
• IBM Storage Scale deployment playbooks are now open sourced
on GitHub. Users can access the playbooks from the external
GitHub repository and implement in their environment on
their own. For more information, see https://github.com/IBM/ibm-
spectrum-scale-install-infra.
Note: The installation toolkit (./spectrumscale command) is
only available as part of the IBM Storage Scale installation
packages that can be downloaded from IBM FixCentral.
• Added an option to enable workload prompt to allow
administrators to stop and migrate workloads before a node is shut
down for upgrade.
• Discontinued the following functions:
– NTP configuration
Time synchronization configuration across all nodes in a cluster
is recommended. Do it manually by using the available method.
– File and object authentication configuration
File and object authentication configuration must be done by
using the mmuserauth command.
– NSD balance
Balance the NSD preferred node between the primary and
secondary nodes by using the ./spectrumscale nsd
servers command.
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 423
Table 39. Installation toolkit: List of features (continued)
Release Features
5.1.0.x • Support for Ubuntu 20.04 on x86_64
• Support for Red Hat Enterprise Linux 8.3 on x86_64, PPC64LE, and
s390x
• Support for Red Hat Enterprise Linux 7.9 on x86_64, PPC64LE, and
s390x
• Support for NFS and SMB protocols, and CES on SLES 15 on
x86_64
• Support for installing and upgrading AFM to cloud object storage
(gpfs.afm.cos) package
5.0.5.x • Support for Red Hat Enterprise Linux 8.2 on x86_64, PPC64LE, and
s390x
• Support for Red Hat Enterprise Linux 7.8 on x86_64, PPC64,
PPC64LE, and s390x
• Support for packages and repository metadata signed with a GPG
(GNU Privacy Guard) key
• Enhanced handling of host entries in the /etc/hosts file. Support for
both FQDN and short name
424 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Table 39. Installation toolkit: List of features (continued)
Release Features
5.0.3.x • Support for SLES 15 on x86_64 and s390x
Note: NFS, SMB, and object are not supported on SLES 15.
• Upgrade related enhancements:
– Upgrade flow changes to minimize I/O disruptions
– Enhanced upgrade pre-checks to determine the packages that
must be upgraded.
Compare the versions of the installed packages with the
versions in the repository of the packages you want to upgrade
to. In a mixed operating system cluster, the comparison is done
with the package repository applicable for the operating system
running on the respective nodes.
– Mixed OS support for upgrade
– Enhanced upgrade post-checks to ensure that all packages have
been upgraded successfully
– Enhanced dependency checks to ensure dependencies are met
for each required package
• IBM Storage Scale Erasure Code Edition
– Ability to define a new setup type ece
– Ability to designate a scale-out node
– Ability to define recovery group, vdisk set, and file system
– Support for installation and deployment of IBM Storage Scale
Erasure Code Edition
– Support for config populate function in an IBM Storage Scale
Erasure Code Edition environment
– Offline upgrade support for IBM Storage Scale Erasure Code
Edition
5.0.2.x • Support for IBM Z (RHEL 7.x, SLES12.x, Ubuntu 16.04 and Ubuntu
18.04 on s390x)
• Support for RHEL 7.6 on x86_64, PPC64, PPC64LE, and s390x
• Support for offline upgrade of nodes or components while they are
stopped or down
• Support for excluding nodes from an upgrade run
• Support for rerunning an upgrade procedure after a failure
• Support for watch folder
• Configuration of message queue for file audit logging and watch
folder
• Enhancements in CES shared root creation and detection in config
populate
• Upgraded bundled Chef package
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 425
Table 39. Installation toolkit: List of features (continued)
Release Features
5.0.1.x • Support for Ubuntu 18.04 on x86_64
• Support for RHEL 7.5 on x86_64, PPC64, and PPC64LE
• Support for Ubuntu 16.04.4 on x86_64
• Config populate support for call home and file audit logging
• Performance monitoring configuration-related changes
426 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
1. Using a series of spectrumscale commands to specify environment details, or using ./
spectrumscale config populate to populate cluster wide properties in the cluster definition
file in preparation for upgrade.
2. Using the spectrumscale upgrade command to upgrade all nodes and features as specified in
the cluster definition file.
See “Using the installation toolkit to perform installation tasks: Explanations and examples” on page
442 for information on how to use the command options listed in Table 40 on page 427 to perform the
installation and deployment. After you review the examples, you can tailor them according to your needs
and then proceed to implement them.
Table 40. spectrumscale command options for installing IBM Storage Scale and deploying protocols
spectrumscale command option Purpose
node add Adds node specifications to the cluster definition
file
node delete Removes node specifications from the cluster
definition file
nsd add Adds NSD specifications to the cluster definition
file
nsd clear Clears all NSDs
nsd delete Removes a single NSD
nsd list Lists all NSDs currently in the configuration
nsd modify Modifies an NSD
filesystem list Lists all file systems that currently have NSDs
assigned to them
filesystem modify Changes the block size and mount point of a file
system
config gpfs Adds IBM Storage Scale specific properties to the
cluster definition file
install Installs IBM Storage Scale on the configured
nodes, creates a cluster, and creates NSDs.
config protocols Provides details about the IBM Storage Scale
environment to be used during protocol
deployment
config perfmon Configures performance monitoring settings
config object Defines object-specific properties to be applied
during deployment
config populate Populates cluster definition file with current cluster
configuration
deploy Creates file systems and deploys protocols on your
configured nodes
callhome Configures call home settings
fileauditlogging Configures file audit logging settings
upgrade Upgrades the various components of the
installation.
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 427
The list of spectrumscale command options listed is not exhaustive. For all command options available
with the spectrumscale command and for more information about these command options, see the
spectrumscale command description in the IBM Storage Scale: Command and Programming Reference
Guide.
428 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Table 41. Installation toolkit limitations (continued)
Function Description Workaround, if any
Concurrent upgrade The installation toolkit does not support
concurrent upgrade. You must plan for
an outage depending on your setup.
This brief outage prevents mixed code
versions from running at the same time
and it is also needed in a manual
upgrade.
Although the upgrade is non-concurrent,
data is typically still accessible during
the upgrade window. Access might
be lost and need to be reestablished
multiple times due to how the upgrade
procedure is run among nodes.
Configuration change The installation toolkit does not support • If you want to change the
changing the configuration of entities configuration of existing file
that exist such as file systems and systems or NSDs, use the IBM
NSDs. For example, changing the block Storage Scale commands after
size or the default replication factor for installation or deployment.
data blocks for an existing file system is • If you want to change
not supported. However, the installation the authentication method,
toolkit can be used to add nodes, NSDs, see Modifying authentication
or file systems to an existing cluster. method in IBM Storage Scale:
The installation does not support Administration Guide.
authentication reconfiguration. It does
not use the authentication section of the
cluster definition file during upgrade.
Customer designation of sensor The installation toolkit does not 1. Use the -r flag to reconfigure
or collector nodes support customer designation of sensor performance monitoring, if
or collector nodes. The installation needed.
toolkit automatically sets up sensor or
2. Follow up with manual
collectors without allowing the user
configuration of performance
to choose which nodes have these
monitoring.
functions.
Disabling or uninstalling The installation toolkit does not support Use the manual procedures.
protocols and uninstalling GPFS disabling or uninstalling protocols and
• For information about removing
uninstalling GPFS on an existing GPFS
exports, see Managing protocol
cluster.
data exports in IBM Storage
Scale: Administration Guide.
• For information about disabling
protocol services, see
Managing protocol services
in IBM Storage Scale:
Administration Guide.
• For information about
uninstalling GPFS, see Chapter
17, “Steps to permanently
uninstall IBM Storage Scale,”
on page 539.
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 429
Table 41. Installation toolkit limitations (continued)
Function Description Workaround, if any
ESS and IBM Storage Scale The installation toolkit does not support Use the manual procedure to
Erasure Code Edition mixed an environment in which ESS and IBM install, deploy, or upgrade IBM
environment Storage Scale Erasure Code Edition Storage Scale Erasure Code
coexist. Edition in a cluster that contains
ESS.
Encryption The installation toolkit does not support
encrypted file systems. Therefore,
installation and deployment by using the
installation toolkit do not work if the
CES shared root file system or any other
file system that the installation toolkit
works with is encrypted.
EPEL repositories The installation toolkit does not support Remove or disable EPEL
the configuration of protocols when repositories before you use
EPEL repositories are configured. the installation toolkit for
installation, deployment, or
upgrade.
File system DMAPI flag set to Yes The file system DMAPI flag is used For information on manual
(-z) in IBM Storage Scale for IBM Storage procedures for installation and
Protect for Space Management and deployment, see “Manually
installation and deployment
policy management, attaching with an installing the IBM Storage Scale
IBM Storage Protect server, and with software packages on Linux
IBM Spectrum Archive. nodes” on page 391.
430 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Table 41. Installation toolkit limitations (continued)
Function Description Workaround, if any
File system DMAPI flag set to Yes An upgrade by using the installation • For information on using the
(-z) toolkit is affected by the presence of the installation toolkit for upgrade
upgrade DMAPI flag in a few ways: in clusters where the DMAPI
flag is set to Yes for any of the
1. If the CES shared root shares a file
file systems, see “Upgrading
system that has the DMAPI flag set:
IBM Storage Scale on IBM
• In this situation, the installation Spectrum Archive Enterprise
toolkit cannot unmount or mount Edition (EE) nodes by using
the file system on each node it the installation toolkit” on page
attempts to upgrade unless the 609.
user has preemptively removed the • In the case of a failed upgrade
DMAPI flag and stopped all DMAPI that needs to be restarted, if
services. For more information, see some of the nodes have been
“Upgrading IBM Storage Scale on restarted, then steps need to
IBM Spectrum Archive Enterprise be taken to get all of the
Edition (EE) nodes by using the file systems mounted again
installation toolkit” on page 609. and the cluster healthy before
• This scenario is different from another attempt can be made.
scenario 2 because the CES shared This might require stopping
root file system is essential for DMAPI services again if they
maintaining healthy CES status of auto-started after a node was
the cluster. Without the CES shared upgraded.
root mounted, the CES component
remains unhealthy and prevents
upgrade from continuing.
2. If a non-CES shared root file system
has the DMAPI flag set:
• In this scenario, the installation
toolkit cannot unmount the file
system during upgrade of each
node unless the user stopped
all DMAPI-related services and
unmounted the file system.
• Thereafter, the installation toolkit
cannot remount the file system
after upgrade of each node. The file
system is left unmounted and the
user needs to bring it up manually
on each node individually after
the GPFS portion of the upgrade
finished. Otherwise, the user can
wait until the upgrade finishes and
start the file system on all nodes at
once.
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 431
Table 41. Installation toolkit limitations (continued)
Function Description Workaround, if any
FPO configuration for disks The installation toolkit does not support Do one of the following:
the extra stanza file flags required for
1. Create NSDs using the
FPO setup.
installation toolkit.
2. Manually edit the NSD stanza
file afterward. The installation
toolkit places the NSD stanza
file in the /usr/lpp/mmfs
directory.
3. Use mmchnsd to do the
changes.
OR
1. Create the cluster by using
the installation toolkit.
2. Deploy protocols on the
protocol nodes by using the
installation toolkit.
3. Manually create the NSDs for
the FPO setup.
Host-based SSH authentication The installation toolkit does not Either set up key-based SSH
support host-based SSH authentication. authentication temporarily for
It supports only key-based SSH use with the toolkit, or follow
authentication. the manual steps in “Manually
installing the IBM Storage Scale
software packages on Linux
nodes” on page 391.
Kafka packages To make the IBM Storage Scale Ensure that the prerequisite
cluster ready for file audit logging packages for gpfs.librdkafka
and watch folder functions, the are installed. For more
installation toolkit automatically installs information, see “Requirements,
the gpfs.librdkafka package for limitations, and support for file
supported operating systems and audit logging” on page 533.
hardware architectures. This might
lead to errors if the prerequisites for
gpfs.librdkafka are not installed.
432 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Table 41. Installation toolkit limitations (continued)
Function Description Workaround, if any
Local host • The installation toolkit does not
support specifying the IP address that
the local host resolves to, such as
127.0.0.1, as the installer node.
• The installation toolkit does not
support adding the local host or the
IP address that the local host resolves
to, such as 127.0.0.1, as a node in the
cluster configuration.
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 433
Table 41. Installation toolkit limitations (continued)
Function Description Workaround, if any
NSD SAN attachment during The installation toolkit cannot be used 1. Create NSDs using the
initial installation for NSD SAN attachment during initial installation toolkit.
installation because when adding NSDs
2. Manually edit the NSD stanza
using the installation toolkit, a primary
file afterward. The NSD
and an optional comma-separated list
stanza files created by the
of secondary NSD servers must be
installation toolkit are named
designated.
in the StanzaFile.xx
format and they are located
in the /usr/lpp/mmfs/
directory.
3. Use mmchnsd to do the
changes.
Object protocol with IPv6 The installation toolkit does not support
configured object protocol in a cluster in which IPv6
is configured.
Online upgrade of a 2-node Online upgrade of a 2-node cluster Do an offline upgrade. For more
cluster without tie-breaker disks that does not have tie-breaker disks information, see “Performing
configured is not supported. To do an offline upgrade or excluding
online upgrade of a 2-node cluster by nodes from upgrade by using
using the installation toolkit, tie-breaker installation toolkit” on page 601.
disks must be configured in the cluster.
A 1-node cluster can be upgraded only
offline.
Package managers other than The installation toolkit requires the use
yum, zypper, or apt-get of yum (RHEL), zypper (SLES), and
apt-get (Ubuntu) package managers
to function.
PPC and x86_64 or PPC and The installation toolkit does not support Use the installation toolkit on
s390x or x86_64 and s390x mix mixed CPU architecture configurations. a subset of nodes that are
supported and then manually
install or deploy on the remaining
nodes. For upgrading a mixed
CPU architecture cluster, you can
use the installation toolkit in
two hops. For more information,
see “Upgrading mixed CPU
architecture cluster” on page
606.
Quorum or manager The installation toolkit allows a user to Manually change node roles by
configuration after cluster add -m (to specify a manager node) and using the mmchnode command.
installation -q (to specify a quorum node) flags
to various nodes as they are added.
If the proposed configuration does
not match the existing configuration,
the installation toolkit does nothing to
change it.
434 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Table 41. Installation toolkit limitations (continued)
Function Description Workaround, if any
Remote mounted file systems • Object protocol deployment using the
installation toolkit fails in case of
remotely mounted file systems. This
occurs because the object component
must both list and create filesets,
which is not allowed on a remotely
mounted file system.
• NFS and SMB deployments on remote
mounted file systems work using the
installation toolkit.
• The setup of a CES shared root
file system when the file system is
remotely mounted works using the
installation toolkit.
Repository proxy The installation toolkit does not support Ensure that there are no
proxy setups when working with stale or failed repositories
repositories. yum repolist must not and that only the base OS
have any failed repos and it must be repositories are enabled during
clean. any installation toolkit activities
such as installation, deployment,
or upgrade.
RPMs that have dependencies In an environment where some RPMs
upon GPFS RPMs and GPFS have dependencies on base GPFS RPMs
settings or GPFS settings, the installation toolkit
cannot be used for installation or
upgrade.
Running mmchconfig The installation toolkit does not run Use mmchconfig
release=LATEST to complete mmchconfig release=LATEST after release=LATEST after an
an upgrade an upgrade. This is to give users time upgrade using the installation
to verify an upgrade success and decide toolkit to finalize the upgrade
if the code level upgrade should be across the cluster.
finalized.
Separate admin and daemon The installation toolkit does not support
network separate admin and daemon network.
Sudo user The installation toolkit does not function
correctly unless run as root. Running as
sudo or as another user does not work.
Support for AIX, Debian, The installation toolkit does not support Use the installation toolkit on
PowerKVM, Windows AIX, Debian, PowerKVM, Windows a subset of nodes that are
operating systems. If these operating supported and then manually
systems are installed on any cluster perform installation, deployment,
nodes, do not add these nodes to the or upgrade on the remaining
installation toolkit. nodes. For information about
manual upgrade, see Chapter 18,
“Upgrading,” on page 549.
Tie-Breaker NSD configuration The installation toolkit does not Manually set the tie-breaker
configure tie-breaker disks. configuration as required using
mmchconfig after completing
installation using the toolkit.
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 435
Table 41. Installation toolkit limitations (continued)
Function Description Workaround, if any
Transparent cloud tiering The installation toolkit does not install, Use the manual procedures. For
configure, or upgrade Transparent cloud more information, see Chapter 8,
tiering. “Installing Cloud services on IBM
Storage Scale nodes,” on page
519.
Unique NSD device configuration The installation toolkit relies upon a
user having already configured and run
the nsddevices sample script provided
within a GPFS installation.
The mmcrnsd and mmchnsd commands
require running of the nsddevices
script beforehand. Therefore, the
installation toolkit will fail if this is not
done by the user.
Upgrade while skipping over The installation toolkit does not support Do an offline upgrade from
versions skipping over major or minor versions of version 4.1.1.x to 5.1.x. For more
IBM Storage Scale releases when doing information, see “Performing
an online upgrade. For example, if an offline upgrade or excluding
IBM Storage Scale cluster is at version nodes from upgrade by using
4.1.1.x, you cannot use the installation installation toolkit” on page 601.
toolkit for an online upgrade directly to
version 5.1.x.
Related concepts
“Limitations of config populate option of the installation toolkit ” on page 462
Table 42. Operating systems supported with the installation toolkit in a mixed cluster
CPU architecture Operating system
x86_64 • Red Hat Enterprise Linux 7.x
• Red Hat Enterprise Linux 8.x
• SLES 15
• Ubuntu 20.04 and 22.04 1
For latest information about supported operating systems, see IBM Storage Scale FAQ in IBM
Documentation.
436 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Note:
• The object protocol is not supported on Red Hat Enterprise Linux 7.x.
• The object protocol is not supported on SLES and Ubuntu.
• The object protocol is not supported on the s390x architecture.
Important:
• For using the installation toolkit in a mixed operating system cluster, all protocol nodes must be running
on the same operating system. However, nodes that are running on different minor versions of Red Hat
Enterprise Linux 7.x or 8.x can be designated as protocol nodes in the same cluster.
• For using the installation toolkit in a mixed operating system cluster, all nodes must have the same CPU
architecture.
The installation toolkit performs the required validations in a mixed operating system cluster to prevent
users from attempting any configurations that are not supported. These validations include the following.
Table 43. Validations by the installation toolkit in a mixed operating system cluster
Operation that is attempted with the installation Validations done
toolkit
Node addition by using the spectrumscale node Check whether the operating system of the target
add NodeName command node is supported. If it is not supported, an error
occurs.
Protocol node designation by using the • Check whether the operating system of the target
spectrumscale node add NodeName -p node is SLES 15. If it is SLES 15, a warning
command is generated that states: Object protocol is not
supported on SLES 15.
• Check whether all protocol nodes being added
are running on the same operating system. If
you attempt to add protocol nodes running on
different operating systems, then that operation
is not allowed.
For example, if you have added a protocol node
running on Red Hat Enterprise Linux 7.x and then
you try to add another protocol node running on
SLES 15, then that operation is not allowed.
Protocol enablement by using the Check whether the protocol being enabled is
spectrumscale enable Protocol command supported on the operating system that is running
on the node. If the protocol is not supported, an
error occurs and you cannot continue with the
installation and deployment.
For example, if you try to enable object on a node
running on SLES 15, an error occurs.
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 437
system cluster with Ubuntu nodes in two hops. For more information, see “Upgrading mixed operating
system cluster with Ubuntu nodes” on page 605.
438 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
• net-tools
• Ansible 2.9.15
Supported Ansible version
The installation toolkit requires Ansible version 2.9.15.
Note: The installation toolkit also works in Ansible 2.10.x environments.
The following Ansible installation considerations apply, depending on your operating system.
• You can manually install Ansible 2.9.15 by using the following command.
• You can manually install Ansible 2.10 by using the following command.
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 439
supported by IBM Storage Scale and installation toolkit might get installed if auto updates are not
disabled.
Uninstall RPM Package Manager (RPM) on Ubuntu nodes
To use the installation toolkit on Ubuntu nodes, you must uninstall the RPM Package Manager
(RPM) from these nodes.
Cluster configuration repository (CCR) is enabled
Before using the installation toolkit, ensure that CCR is enabled. For new installations, CCR is
enabled by default. You can check that CCR is enabled in the cluster by using the following
command.
# mmlscluster
440 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
• Configure repositories depending on whether you have internet connection or not. However, ensure
that base operating system packages are available and EPEL repositories are disabled.
4. Ensure that the ports that are needed for installation are open.
Note: The installation toolkit checks if the firewall daemon is running and displays a warning if it is
running. If the required ports are open, you can ignore the warning.
For information about the ports that need to be open, see Securing the IBM Storage Scale system using
firewall in IBM Storage Scale: Administration Guide.
5. Ensure that the required kernel packages are installed.
For more information, see “Software requirements” on page 234.
Note: You might have to force the installation of a specific version of these packages because a
package of a version newer than the corresponding kernel might get picked up by default.
6. Ensure that networking is set up in one of the following ways.
• DNS is configured such that all host names, either short or long, are resolvable.
• All host names are resolvable in the /etc/hosts file. The host entries in the /etc/hosts file are
required to be in the following order:
If the entries in the /etc/hosts file are not in this order, the installation toolkit displays a warning
and continues with the rest of the procedure. The installation toolkit supports both FQDN and
short name during installation, upgrade, or deployment. During fresh installations, the nodes are
configured based on the entries in /etc/hosts. If /etc/hosts contains short names then the
nodes are added with the short names, if the host names are reachable. For existing clusters, the
installation toolkit configures the new node according to the configuration of the existing cluster.
For example, if the existing cluster is configured with short names then the new node is added with
the short name.
7. Obtain the IBM Storage Scale self-extracting installation package from IBM Fix Central.
8. Ensure that the LC_ALL and the LANGUAGE parameters are set to en_US.UTF-8.
You can use the locale command to check the current settings. If these parameters are set to
a value different than en_US.UTF-8, use the following export statements before you issue the ./
spectrumscale commands.
export LC_ALL=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
mkdir directory_name
b) Copy the prebuilt generated gplbin package to the above repository directory. For example,scp
gpfs.gplbin.rpm /usr/lpp/mmfs/5.1.9.0/directory_name.
c) Install createrepo utility if it does not already exist.
Createrepo .
e) Pass the defined rpm directory name to the install toolkit configuration file.
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 441
./spectrumscale config gpfs --gplbin_dir directory_name
Note: Toolkit always validates the directory name and the repository data file exists inside the
dedicated path /usr/lpp/mmfs/5.1.9.0/. It gives fatal error if the file and repository data does
not exist.
f) Run the install/deploy process by executing the following commands:
i) Define the rpm directory name in the configuration file.
442 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
• “Installing IBM Storage Scale management GUI by using the installation toolkit” on page 461
• “Logging and debugging for installation toolkit” on page 456
cd /usr/lpp/mmfs/5.1.9.x/ansible-toolkit
The -s argument identifies the IP address that nodes use to retrieve their configuration. This IP
address is associated with a device on the installer node. This validation is automatically done during
the setup phase.
Note: If there are multiple subnets in your cluster, it is recommended to specify a private IP address
with the ./spectrumscale setup -s command.
Optionally, you can specify a private SSH key to be used to communicate with nodes in the cluster
definition file, by using the -i argument.
In an Elastic Storage Server (ESS) cluster, if you want to use the installation toolkit to install IBM
Storage Scale and deploy protocols, you must specify the setup type as ess while setting up the
installer node as follows.
For more information, see “ESS awareness with the installation toolkit” on page 464.
If you want to use the installation toolkit to install IBM Storage Scale Erasure Code Edition, you must
specify the setup type as ece while setting up the installer node as follows.
For more information, see IBM Storage Scale Erasure Code Edition documentation.
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 443
Adding node definitions to the cluster definition file
You can add node definitions to the cluster definition file by using the ./spectrumscale node add
command.
Note: For information on adding protocol nodes to the cluster definition file, see “Adding protocol nodes
to the cluster definition file” on page 452.
1. If the installation toolkit is being used from a location outside of any of the nodes to be installed, an
admin node is required. The admin node is used to run cluster-wide commands.
To specify an admin node in the cluster definition file, use the -a argument.
If no admin node is specified in the cluster definition file, the node on which the installation toolkit
is running is automatically designated as the admin node. If GUI nodes are to be installed, each GUI
node must also be marked as an admin node.
The role of an admin node is to serve as the coordinator of the installation, deployment, and upgrade
when using the installation toolkit. This node also acts as a central repository for all IBM Storage Scale
packages. For larger clusters, it is important to have an admin node with plenty of network bandwidth
to all other nodes in the cluster.
2. To add client nodes to the cluster definition file, provide no arguments.
3. To add manager nodes to the cluster definition file, use the -m argument.
If no manager nodes are added to the cluster definition, the installation toolkit automatically
designates manager nodes using the following algorithm:
a. First, all protocol nodes in the cluster definition are designated as manager nodes.
b. If there are no protocol nodes, all NSD nodes in the cluster definition are designated as manager
nodes.
c. If there are no NSD nodes, all nodes in the cluster definition are designated as manager nodes.
4. To add quorum nodes to the cluster definition, use the -q argument.
If no quorum nodes are added to the cluster definition, the installation toolkit automatically designates
quorum nodes using the following algorithm:
a. If the number of nodes in the cluster definition is less than 4, all nodes are designated as quorum
nodes.
b. If the number of nodes in the cluster definition is between 4 and 9 inclusive, 3 nodes are
designated as quorum nodes.
c. If the number of nodes in the cluster definition is between 10 and 18 inclusive, 5 nodes are
designated as quorum nodes.
d. If the number of nodes in the cluster definition is greater than 18, 7 nodes are designated as
quorum nodes.
This algorithm preferentially selects NSD nodes as quorum nodes. If the number of NSD nodes is
less than the number of quorum nodes to be designated then any other nodes are selected until the
number of quorum nodes is satisfied.
444 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
5. To add NSD servers to the cluster definition, use the -n argument.
6. To add Graphical User Interface servers to the cluster definition, use the -g argument. A GUI server
must also be an admin node.
If no nodes have been specified as management GUI servers, then the GUI is not installed. It
is recommended to have at least 2 management GUI interface servers and a maximum of 3 for
redundancy.
7. To add a call home node to the cluster definition, use the -c argument.
If a call home node is not specified, the installation toolkit assigns one of the nodes in the cluster as
the call home node.
8. To display a list of all nodes in the cluster definition file, use the ./spectrumscale node list
command. For example:
• If you want to use the installation toolkit to install IBM Storage Scale and deploy protocols in an Elastic
Storage Server (ESS) cluster, you must add the EMS node of the ESS system as follows.
For more information, see “ESS awareness with the installation toolkit” on page 464.
• For information on adding nodes to an existing installation, see “Adding nodes, NSDs, or file systems to
an existing cluster” on page 477.
Adding and configuring NSD server nodes in the cluster definition file
Note: A CES shared root file system is required for protocols deployment with IBM Storage Scale.
1. To configure NSDs, you must first add your NSD server nodes to the configuration:
2. Once NSD server nodes are in the configuration, add NSDs to the configuration:
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 445
• The installation toolkit supports standalone NSDs which connect to a single NSD server or shared
NSDs which connect to both a primary and a secondary NSD server.
• When adding a standalone NSD, skip the secondary NSD server parameter.
• When adding a shared NSD, it is important to know the device name on the node which is to
become the primary NSD server. It is not necessary to know the device name on the secondary NSD
server because the device is looked up using its UUID.
Note: Although it is not necessary to know the device name on the secondary NSD server, it may
be helpful to create a consistent mapping of device names if you are using multipath. For more
information, see “NSD disk discovery” on page 23.
Here is an example of adding a shared NSD to the configuration by specifying the device name on the
primary server along with the primary and secondary servers.
3. The name of the NSD is automatically generated based on the NSD server names. This can be
changed after the NSD has been added by using the modify command and specifying a new name
with the -n flag; the new name must be unique:
4. It is possible to view all NSDs currently in the configuration using the list command:
5. To remove a single NSD from the configuration, supply the name of the NSD to the delete command:
6. To clear all NSDs and start from scratch, use the clear command:
7. Where multiple devices are connected to the same pair of NSD servers, they can be added in bulk
either by providing a list of all devices, or by using wild cards:
or
A connection is made to the primary server to expand any wild cards and check that all devices are
present. When using wild cards, it is important to ensure that they are properly escaped, as otherwise
they may be expanded locally by your shell. If any devices listed cannot be located on the primary
server, a warning is displayed, but the command continues to add all other NSDs.
8. When adding NSDs, it is good practice to have them distributed such that each pair of NSD servers
is equally loaded. This is usually done by using one server as a primary for half of the NSDs, and the
other server as primary for the remainder.
9. Ordinarily a connection is made to the primary NSD server when adding an NSD. This is done to check
device names and so that details such as the disk size can be determined, but is not vital. If it is not
feasible to have a connection to the nodes while adding NSDs to the configuration, these connections
446 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
can be disabled using the --no-check flag. Extra care is needed to manually check the configuration
when using this flag.
10. You can set the failure group, file system, pool, and usage of an NSD in two ways:
• using the add command to set them for multiple new NSDs at once
• using the modify command to modify one NSD at a time
For information on adding NSDs to an existing installation, see “Adding nodes, NSDs, or file systems to an
existing cluster” on page 477.
File systems are defined with the NSD configuration and they are only created at the time of installation, if
there are NSDs assigned to them.
Note: A CES shared root file system is required for protocols deployment with IBM Storage Scale.
1. To specify a file system, use the nsd add or nsd modify command to set the file system property of
the NSD:
2. To list all file systems that currently have NSDs assigned to them, use the list command. This also
displays file system properties including the block size and mount point:
3. To alter the block size and mount point from their default values, use the modify command:
Important: NSDs and file systems are created when the ./spectrumscale install command is
issued.
It is not possible to directly rename or delete a file system; this is instead done by reassigning the
NSDs to a different file system using the nsd modify command.
At this point, the cluster definition file contains:
• Nodes and node types defined
• NSDs optionally defined
• File systems optionally defined
To proceed with the IBM Storage Scale installation, go to the next task: “Installing IBM Storage Scale and
creating a cluster” on page 449.
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 447
For information on adding file systems to an existing installation, see “Adding nodes, NSDs, or file systems
to an existing cluster” on page 477.
The valid values for -p option are default (for gpfsProtocolDefaults profile), randomio (for
gpfsProtocolRandomIO profile), and ProfileName (for user-defined profile).
– The system-defined profiles are based on workload type: sequential I/O (gpfsProtocolDefaults)
or random I/O (gpfsProtocolRandomIO). These defined profiles can be used to provide initial
default tunables or settings for a cluster. If more tunable changes are required, see mmchconfig
command and the mmcrcluster command in IBM Storage Scale: Command and Programming
Reference Guide.
– You can specify a user-defined profile of attributes to be applied. The profile file specifies GPFS
configuration parameters with values different than the documented defaults.
A user-defined profile must have the following properties:
- It must not begin with the string gpfs.
- It must have the .profile suffix.
- It must be located in the /var/mmfs/etc/ directory.
Note: The installation toolkit places the user-defined profile in the /var/mmfs/etc/ from the
path that you specify with the ./spectrumscale config gpfs -p PathToUserDefinedProfile
command.
A sample user-defined profile is available at this path: /usr/lpp/mmfs/samples/
sample.profile. For more information, see mmcrcluster command and mmchconfig command in
IBM Storage Scale: Command and Programming Reference Guide.
If no profile is specified in the cluster definition, the gpfsProtocolDefaults profile is automatically
set on cluster creation.
• To specify the remote shell binary to be used by GPFS, use the -r argument.
If no remote shell is specified in the cluster definition, /usr/bin/ssh is used as the default.
• To specify the remote file copy binary to be used by GPFS, use the -rc argument.
If no remote file copy binary is specified in the cluster definition, /usr/bin/scp is used as the default.
448 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
• To specify an ephemeral port range to be set on all GPFS nodes, use the -e argument.
For information about the ephemeral port range, see GPFS port usage in IBM Storage Scale:
Administration Guide.
If no port range is specified in the cluster definition, 60000-61000 is used as default.
• To view the current GPFS configuration settings, issue the following command.
For more information, see “Enabling and configuring call home using the installation toolkit” on page
458.
2. Do environment checks before initiating the installation procedure.
This step is not mandatory because running ./spectrumscale install with no arguments also
runs these checks before the installation.
3. Start the IBM Storage Scale installation and the creation of the cluster.
./spectrumscale install
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 449
• Build the GPFS portability layer on all nodes
• Install and configure performance monitoring tools
• Create a GPFS cluster
• Configure licenses
• Set ephemeral port range
• Create NSDs, if any are defined in the cluster definition
• Create file systems, if any are defined in the cluster definition
• Run post-install environment checks
Add nodes to an existing GPFS cluster and create any new NSDs
• Run preinstall environment checks
• Install the IBM Storage Scale packages on nodes to be added to the cluster
• Install and configure performance monitoring tools on nodes to be added to the cluster
• Add nodes to the GPFS cluster
• Configure licenses
• Create NSDs, if any are defined in the cluster definition
• Create file systems, if any are defined in the cluster definition
• Run post-installation environment checks
Important: The installation toolkit does not alter anything on the existing nodes in the cluster. You
can determine the existing nodes in the cluster by using the mmlscluster command.
The installation toolkit might change the performance monitoring collector configuration if you are
adding the new node as a GUI node or an NSD node, due to collector node prioritization. However,
if you do not want to change the collector configuration then you can use the ./spectrumscale
config perfmon -r off command to disable performance monitoring before initiating the
installation procedure.
All nodes in the cluster definition are in a cluster
• Run preinstall environment checks
• Skip all steps until NSD creation
• Create NSDs (if any new NSDs are defined in the cluster definition)
• Run post-install environment checks
For more information, see spectrumscale command in IBM Storage Scale: Command and
Programming Reference Guide.
What to do next
Upon completion of the installation, you have an active GPFS cluster. Within the cluster, NSDs might
be created, file systems might be created, performance monitoring is configured, and all product
licenses are accepted.
The installation can be rerun in the future to:
• Add NSD server nodes
• Add GPFS client nodes
• Add GUI nodes
• Add NSDs
• Define new file systems
450 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Deploying protocols
Use this information to deploy protocols in an IBM Storage Scale cluster using the installation toolkit.
Deployment of protocol services is performed on a subset of the cluster nodes that are designated as
protocol nodes using the ./spectrumscale node add node_name -p command. Protocol nodes
have an additional set of packages installed that allow them to run the NFS, SMB, and Object protocol
services.
Data is served through these protocols from a pool of addresses designated as Export IP addresses or
CES "public" IP addresses using ./spectrumscale config protocols -e IP1,IP2,IP3... or
added manually using the mmces address add command. The allocation of addresses in this pool is
managed by the cluster, and IP addresses are automatically migrated to other available protocol nodes in
the event of a node failure.
Before deploying protocols, there must be a GPFS cluster that has GPFS started and it has at least one file
system for the CES shared root file system.
Notes: Here are a few considerations for deploying protocols.
1. All the protocol nodes must be running the supported operating systems, and the protocol nodes must
have the same CPU architecture. Although the other nodes in the cluster could be on other platforms
and operating systems.
For information about supported operating systems for protocol nodes and their required minimum
kernel levels, see IBM Storage Scale FAQ in IBM Documentation.
2. The packages for all protocols are installed on every node designated as a protocol node; this is done
even if a service is not enabled in your configuration.
3. Services are enabled and disabled cluster wide; this means that every protocol node serves all
enabled protocols.
4. If SMB is enabled, the number of protocol nodes is limited to 16 nodes.
5. If your protocol node has Red Hat Enterprise Linux 7.x installed, there might be an NFS service already
running on the node that can cause issues with the installation of IBM Storage Scale NFS packages. To
avoid these issues, before starting the deployment, you must do the following:
a. Stop the NFS service using the systemctl stop nfs.service command.
b. Disable the NFS service using the systemctl disable nfs.service command.
This command ensures that this change is persistent after system reboot.
6. The installation toolkit does not support adding protocol nodes to an existing ESS cluster prior to ESS
version 3.5.
Deploying protocols involves doing the following sub-tasks.
1. “Defining a shared file system for protocols” on page 451
2. “Adding protocol nodes to the cluster definition file” on page 452
3. “Enabling NFS and SMB” on page 452
4. “Configuring object” on page 452
5. “Adding CES IP addresses” on page 453
6. “Running the ./spectrumscale deploy command” on page 454
To use protocol services, a shared file system (CES shared root file system) must be defined. If
GPFS has already been configured, the shared file system can be specified manually or by re-running
the spectrumscale install command to assign an existing NSD to the file system. If re-running
spectrumscale install, be sure that your NSD servers are compatible with the installation toolkit
and contained within the cluster definition file.
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 451
You can use the ./spectrumscale config protocols command to define the shared file system
with the -f option and the shared file system mount point or path with the -m option.
For example: ./spectrumscale config protocols -f cesshared -m /gpfs/cesshared.
To view the current settings, issue this command:
You can view the current list of enabled protocols by using the spectrumscale node list command.
For example:
Configuring object
Attention:
452 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
• The object protocol is not supported in IBM Storage Scale 5.1.0.0. If you want to deploy object,
install the IBM Storage Scale 5.1.0.1 or a later release.
• If SELinux is disabled during installation of IBM Storage Scale for object storage, enabling
SELinux after installation is not supported.
If the object protocol is enabled, further protocol-specific configuration is required. You can configure
these options by using the spectrumscale config object command, which has the following
parameters:
usage: spectrumscale config object [-h] [-l] [-f FILESYSTEM] [-m MOUNTPOINT]
[-e ENDPOINT] [-o OBJECTBASE]
[-i INODEALLOCATION]
[-au ADMINUSER] [-ap ADMINPASSWORD]
[-SU SWIFTUSER] [-sp SWIFTPASSWORD]
[-dp DATABASEPASSWORD]
[-s3 {on,off}]
The object protocol requires a dedicated fileset as its back-end storage; this fileset is defined using the
--filesystem (-f), --mountpoint(-m) and --objectbase (-o) flags to define the file system, mount
point, and fileset respectively.
The --endpoint(-e) option specifies the host name that is used for access to the file store. This should
be a round-robin DNS entry that maps to all CES IP addresses; this distributes the load of all keystone
and object traffic that is routed to this host name. Therefore, the endpoint is an IP address in a DNS or in
a load balancer that maps to a group of export IPs (that is, CES IPs that were assigned on the protocol
nodes).
The following user name and password options specify the credentials used for the creation of an
admin user within Keystone for object and container access. The system prompts for these during ./
spectrumscale deploy pre-check and ./spectrumscale deploy run if they have not already been
configured. The following example shows how to configure these options to associate user names and
passwords: ./spectrumscale config object -au -admin -ap -dp
The -ADMINUSER(-au) option specifies the admin user name. This credential is for the Keystone
administrator. This user can be local or on remote authentication server based on authentication type
used.
The -ADMINPASSWORD(-ap) option specifies the password for the admin user.
Note: You are prompted to enter a Secret Encryption Key which is used to securely store the password.
Choose a memorable pass phrase which you are prompted for each time you enter the password.
The -SWIFTUSER(-su) option specifies the Swift user name. The -ADMINUSER(-au) option specifies the
admin user name. This credential is for the Swift services administrator. All Swift services are run in this
user's context. This user can be local or on remote authentication server based on authentication type
used.
The -SWIFTPASSWORD(-sp) option specifies the password for the Swift user.
Note: You are prompted to enter a Secret Encryption Key which is used to securely store the password.
Choose a memorable pass phrase which you are prompted for each time you enter the password.
The -DATABASEPASSWORD(-dp) option specifies the password for the object database.
Note: You are prompted to enter a Secret Encryption Key which is used to securely store the password.
Choose a memorable pass phrase which you are prompted for each time you enter the password
The -s3 option specifies whether the S3 (Amazon Simple Storage Service) API should be enabled.
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 453
IP addresses are shared between all protocols and they are organized in a public IP address pool; there
can be fewer public IP addresses than protocol nodes. Export IP addresses must have an associated host
name and reverse DNS lookup must be configured for each export IP address.
1. Add export IP addresses to your cluster by using this command:
IPAddress/PrefixLength
For example,
IPv6
2001:0DB8::/32
IPv4
192.0.2.0/20
You must specify the prefix length for every CES IP address, otherwise you cannot add the IP address
by using the installation toolkit.
• When you are using IPv6 addresses, prefix length must be in the range 1 - 124.
• When you are using IPv4 addresses, prefix length must be in the range 1 - 30.
2. If you are using the CES interface mode, specify the interfaces by using the following command.
Where INTERFACES is the comma-separated list of network interfaces. For example, eth0,eth1.
3. View the current configuration by using the following command:
View the CES shared root and the IP address pool by using the following command:
./spectrumscale deploy
Note: You are prompted for the Secret Encryption Key that you provided while configuring object and/or
authentication unless you disabled prompting.
This does the following:
454 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
• Performs pre-deploy checks.
• Deploys protocols as specified in the cluster definition file.
• Performs post-deploy checks.
You can explicitly specify the --precheck (-pr) option to perform a dry run of pre-deploy checks
without starting the deployment. This is not required, however, because ./spectrumscale deploy
with no argument also runs these checks. Alternatively, you can specify the --postcheck (-po) option
to perform a dry run of post-deploy checks without starting the deployment. These options are mutually
exclusive.
After a successful deployment, you can verify the cluster and CES configuration by running this command:
$ /usr/lpp/mmfs/bin/mmlscluster --ces
What to do next
You can rerun the ./spectrumscale deploy command in the future to do the following tasks:
• Add protocol nodes
• Enable additional protocols
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 455
Note: The installation toolkit does not set any NFSIO parameter related setting.
During the installation toolkit prechecks if it is found that the collector nodes require reconfiguring then
the ./spectrumscale config perfmon -r on command needs to be run to enable the installation
toolkit to perform this reconfiguration.
Note: A reconfiguration results in the removal of an existing collector and it might move the collector
to different nodes and reset sensor data. Custom sensors and data might be erased. To disable
reconfiguration, run the ./spectrumscale config perfmon -r off command.
If reconfiguration is disabled then the installation toolkit performs all installation tasks except for those
related to performance monitoring and the management GUI, if GUI servers are specified.
After the installation or the deployment completes and sensors are added, the latest state of events of
type TIPS might not get immediately refreshed. As a result, the output of the mmhealth node show
ces command might contain messages such as the following for the CES component:
nfs_sensors_not_configured(NFSIO)
smb_sensors_not_configured(SMBGlobalStats, SMBStats)
To resolve this issue, run the mmhealth node show --refresh command.
For information on how to install the performance monitoring tool manually, see “Manually installing the
performance monitoring tool” on page 408.
For information on performance monitoring related configuration in a cluster containing ESS, see “ESS
awareness with the installation toolkit” on page 464.
For information on configuring the performance monitoring tool, see Configuring the Performance
Monitoring tool in IBM Storage Scale: Problem Determination Guide.
Console output
The installation toolkit reports progress to the console. By default, only information level messages are
displayed. If you need more verbose output, pass the -v flag to the spectrumscale command.
Note: This flag must be the first argument passed to the spectrumscale command. For example:
Log files
In addition to console output, the install and deploy functions of the installation toolkit log verbose
output to the logs subdirectory of the installation toolkit: /usr/lpp/mmfs/x.x.x.x/ansible-
toolkit/logs
The full log path is also displayed on the console when logging begins. The log file contains verbose
output even if the -v flag is not specified on the command line.
456 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Gathering support information
If an unresolvable error is encountered when using the installation toolkit, a support package can
be gathered by using the installer.snap.py script that is available in the same directory as the
installation toolkit.
Note: The installer.snap.py script must be run from the installation toolkit directory.
The installer.snap.py script gathers information from each of the nodes defined in the configuration
and packages it such that it is ready for submission to the IBM Support Center. It creates a tar file with the
prefix installer_snap in the /tmp directory.
The script gathers the following information:
• Cluster configuration file
• installation toolkit logs
• Information from the local node of the protocol services
• A GPFS snap file from each node defined in the configuration
• Basic environment information from the local node including:
– Current OS and kernel version
– System message log (dmesg)
– File system usage
– Network configuration
– Current processes
Enabling and configuring file audit logging using the installation toolkit
You can use the installation toolkit to enable and configure the file audit logging function in the cluster
definition file. After enabling this function at the cluster level, you must enable it on file systems. The file
audit logging package (gpfs.librdkafka) is installed on all supported nodes in the cluster specified
to the installation toolkit during the installation, even if file audit logging is not enabled in the cluster
configuration. In a cluster containing an ESS system wherein the setup type is ESS or ess in the cluster
definition file, the file audit logging packages are installed on protocol nodes and client nodes. They are
not installed on ESS EMS and I/O server nodes. Based on the file audit logging configuration options
specified in the cluster definition file using the installation toolkit, the function is enabled and configured
in the cluster accordingly during the deployment.
For information on required packages for file audit logging, see “Requirements, limitations, and support
for file audit logging” on page 533 and “Installation prerequisites” on page 384.
Note: A file system must be specified in the cluster definition file before you can enable file audit logging.
You can configure the file audit logging related options in the cluster definition file by using the installation
toolkit as follows.
By default, file audit logging is disabled in the cluster definition file.
• To enable file audit logging in the cluster definition file, issue the following command before doing
installation or deployment with the installation toolkit:
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 457
• To disable file audit logging in the cluster definition file, issue the following command:
• To list the file audit logging configuration in the cluster definition file, issue the following command:
You can verify whether file audit logging is enabled in the cluster definition file by viewing the output of
the ./spectrumscale node list command:
After enabling the file audit logging function in the cluster definition file, you must enable it on file
systems on which you want to enable file audit logging.
• To enable file audit logging on a file system in the cluster definition file, issue the following command:
You can also specify the retention period and log fileset name with this command. For example, to
specify a retention period of 180 days and to specify the log fileset name testlog, issue the following
command:
• To disable file audit logging on a file system in the cluster definition file, issue the following command:
Note: These file audit logging configuration-related changes become effective after the deployment
procedure, initiated with ./spectrumscale deploy, is completed.
458 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Note: If you want to only configure call home for a subset of the supported cluster nodes, or if you want to
manually assign specific nodes to a specific call home group, see Configuring call home to enable manual
and automated data upload in IBM Storage Scale: Problem Determination Guide.
The installation toolkit does not support all operating systems and platforms supported by call home. For
example, the installation toolkit supports SLES and Ubuntu only on x86_64 and s390x, while call home
also supports SLES and Ubuntu on Power.
The call home node needs to have network connectivity to the IBM Support Center because the call
home node needs to upload data to IBM Support Center for all the members of its call home group. The
call home node must be able to reach https://esupport.ibm.com either directly or using the proxy,
which is specified in the call home configuration.
For more information about the call home function, see Monitoring the IBM Storage Scale system by using
call home in IBM Storage Scale: Problem Determination Guide.
You can specify the call home node using the installation toolkit by issuing the following command:
Note: This step is not mandatory. If a call home node is not specified, the installation toolkit assigns one
of the nodes in the cluster as the call home node.
You can specify more than one node with this command. It is recommended to have at least one call
home node for every 128 call home group members to prevent potential performance issues.
To configure call home options in the cluster definition file by using the installation toolkit, use the ./
spectrumscale callhome command as follows.
• To enable the call home in the cluster definition file by using the installation toolkit, issue the following
command.
Note: By default, call home is listed as enabled in the cluster definition file.
• To disable the call home in the cluster definition file by using the installation toolkit, issue the following
command.
The call home function is enabled by default in the cluster definition file. If you disable it in the
cluster definition file, when you issue the ./spectrumscale install command, then no call home
configuration is performed.
• To specify the call home configuration settings in the cluster definition file by using the installation
toolkit, issue the ./spectrumscale callhome config command. The following command example
shows configuring the mandatory call home parameters:
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 459
[ INFO ] Setting Customer email to [email protected]
[ INFO ] Setting Customer country to US
You are then prompted to accept or decline the support information collection message.
By accepting this request, you agree to allow IBM and its subsidiaries to store and use
your contact information and your support information anywhere they do business worldwide.
For more
information, please refer to the Program license agreement and documentation. If you agree,
please
respond with 'accept' for acceptance, else with 'not accepted' to decline: accept
Note: You can specify the -a parameter with ./spectrumscale callhome config to accept the
support information collection message in advance.
• To clear the call home configuration specified in the cluster definition file by using the installation
toolkit, issue the ./spectrumscale callhome clear command. For example:
• To schedule the call home data collection in the cluster definition file by using the installation toolkit,
issue the ./spectrumscale callhome schedule command. For example:
If call home data collection is scheduled daily, data uploads are by default executed at 02:xx AM each
day. If call home data collection is scheduled weekly, data uploads are by default executed at 03:xx AM
each Sunday. In both cases, xx is a random number from 00 to 59.
You can use the ./spectrumscale callhome schedule -c command to clear the call home data
collection schedule.
• To list the call home configuration settings in the cluster definition file by using the installation toolkit,
issue the following command.
Note: These call home configuration-related changes become effective after the installation procedure,
initiated with ./spectrumscale install, is completed.
460 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
For detailed information on the ./spectrumscale callhome command options, see spectrumscale
command in IBM Storage Scale: Command and Programming Reference Guide.
The IBM Storage Scale GUI requires passwordless ssh to all other nodes in the cluster. Therefore, the GUI
server node must be added as an admin node using the -a flag:
If no nodes have been specified as GUI servers, then the GUI will not be installed. It is recommended to
have 2 GUI interface servers and a maximum of 3 for redundancy.
The GUI will be installed on specified GUI servers when you run the ./spectrumscale install
command and on protocol nodes also specified as GUI servers during the ./spectrumscale deploy
command.
At the end of a successful GPFS installation or protocol deployment, you can access the GUI through a
web browser with the following node address: https://<GUI server IP or hostname>.
Note: After installing the system and GUI package, you need to create the first GUI user to log in
to the GUI. This user can create other GUI administrative users to perform system management and
monitoring tasks. When you launch the GUI for the first time after the installation, the GUI welcome page
provides options to create the first GUI user from the command line prompt by using the /usr/lpp/
mmfs/gui/cli/mkuser <user_name> -g SecurityAdmin command.
Populating cluster definition file with current cluster state using the
installation toolkit
You can use the installation toolkit to populate the cluster definition file with the current cluster state.
Before using this functionality, review its limitations. For more information, see “Limitations of config
populate option of the installation toolkit ” on page 462.
Note: If you are using the object protocol or proxy enabled call home, the config populate functionality
does not extract any password from the current cluster configuration. You must enter the password when
prompted.
In the following scenarios, you might need to update the cluster definition file with the current cluster
state:
• A manually created cluster in which you want to use the installation toolkit
• A cluster created using the installation toolkit in which manual changes were done
Use the installation toolkit to populate the cluster definition file as follows:
1. Define the installer node by issuing the ./spectrumscale setup -s InstallNode command.
2. Repopulate the cluster definition file with the current cluster state by issuing the ./spectrumscale
config populate --node Node command.
Note: This command creates the backup of the existing cluster definition file and it creates a new
cluster definition file.
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 461
• You can pass --skip nsd flag with config populate command to skip the nsd and filesystem details.
• In a cluster containing ESS, you must specify the EMS node with the config populate command.
For example:
• You can also use this functionality to populate the cluster definition file with file audit logging and
call home related information.
If you are performing an upgrade, proceed with the rest of the upgrade steps. For more information, see
“Upgrading IBM Storage Scale components with the installation toolkit” on page 591.
462 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Table 44. Limitations of the config populate functionality (continued)
Function Description
Highly-available write cache (HAWC) The config populate functionality does not detect
HAWC information. However, the existing HAWC
information is not affected.
Heterogeneous cluster The config populate functionality can be used
in a cluster that contains nodes with mixed
CPU architectures with some restrictions. The
installation toolkit populates the information of
nodes in the cluster that have the same CPU
architecture as the installer node. Information
for nodes of a different CPU architecture is not
populated.
IBM Storage Protect for Space Management and The config populate functionality does not detect
IBM Spectrum Archive Enterprise Edition (EE) IBM Storage Protect for Space Management and
IBM Spectrum Archive Enterprise Edition (EE)
information.
The installation toolkit provides some DMAPI
detection and gives recommendations on how
to proceed in case issues are encountered. For
example: DMAPI holds an FS open for one of
these functions, thereby causing upgrades to fail.
In this case, the installation toolkit shows a hint
that identifies the node and that it might need to be
rebooted to proceed with the upgrade.
IBM Storage Scale release 4.2.0.2 In the IBM Storage Scale release 4.2.0.2,
although the config populate functionality can
be used to populate the cluster definition
file with the current cluster state, not all
parameters are properly updated. For example,
CES IPs are not properly detected and you
might need to add them manually by using
the following command: ./spectrumscale
config protocols -e ces_ip1,ces_ip2,....
Review your cluster configuration after running ./
spectrumscale config populate to ensure
that all desired values are populated.
Local read-only cache (LROC) The config populate functionality does not detect
LROC information. However, the existing LROC
information is not affected.
Non-federated performance monitoring setup The config populate functionality does not support
non-federated performance monitoring setup.
The installation toolkit converts all performance
monitoring configuration to federated mode
unless specified to ignore performance monitoring
completely.
NSD SAN attachment The config populate functionality does not support
retrieval of the NSD information in case of an NSD
SAN attachment.
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 463
Table 44. Limitations of the config populate functionality (continued)
Function Description
Offline mode in upgrade configuration The config populate functionality cannot be used if
one or more nodes in the cluster are designated as
offline in the upgrade configuration.
Transparent cloud tiering The config populate functionality does not detect
Transparent cloud tiering related information.
Windows, AIX The config populate functionality does not support
these operating systems.
If any of these operating systems are detected
on a node and if that node has the same CPU
architecture and endianness as the node from
which the installation toolkit is running, the config
populate functionality shows a warning, skips the
node, and continues populating information from
other supported nodes.
Related concepts
“Limitations of the installation toolkit” on page 428
Before using the installation toolkit to install IBM Storage Scale and deploy protocols, review the following
limitations and workarounds, if any.
You can add other types of nodes such as client nodes, NSD servers, and so on depending on your
requirements. For more information, see “Defining the cluster topology for the installation toolkit” on
page 443.
2. Specify one of the newly added protocol nodes as the installer node and specify the setup type by
issuing the following command.
The installer node is the node on which the installation toolkit is extracted and from where the
installation toolkit command, spectrumscale, is initiated.
3. Specify the EMS node of the ESS system to the installation toolkit by issuing the following command.
This node is also automatically specified as the admin node. The admin node, which must be the EMS
node in an ESS configuration, is the node that has access to all other nodes to perform configuration
during the installation.
You can use the config populate option of the installation toolkit to populate the cluster definition
file with the current configuration of the EMS node, and the protocol and the client nodes in the cluster.
464 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
In a cluster containing ESS, you must specify the EMS node with the config populate command.
For example:
For more information, see “Populating cluster definition file with current cluster state using the
installation toolkit” on page 461.
4. Proceed with specifying other configuration options, installing, and deploying by using the installation
toolkit. For more information, see “Defining the cluster topology for the installation toolkit” on page
443, “Installing IBM Storage Scale and creating a cluster” on page 449, and “Deploying protocols” on
page 451.
Several validations are done when you use the installation toolkit in an ESS cluster to ensure that
functions that are configured on EMS and I/O server nodes are not affected. Additionally, some
considerations apply when you are using the installation toolkit in an ESS cluster. These validations and
considerations are as follows.
• Adding EMS node and I/O server nodes as protocol nodes is not allowed.
• Adding GUI nodes in the ESS cluster by using the installation toolkit is not allowed. It is assumed that
the EMS node is running a GUI setup and the ability to add more GUI nodes by using the installation
toolkit is disabled to not affect the existing configuration. During upgrade, the installation toolkit does
not alter an existing configuration that contains one or more GUI setups. The upgrade of any of these
components is done outside of the ESS EMS and I/O server nodes, and their configuration is not
changed.
• Adding I/O server nodes as NSD nodes by using the installation toolkit is not allowed.
• Creating NSDs and file systems from disks within the ESS I/O server nodes by using the installation
toolkit is not allowed.
• Specifying a cluster name by using the installation toolkit is not allowed. The existing cluster name is
detected and used by the toolkit.
• CES shared root file system must be mounted on all protocol nodes.
• Only performance monitoring sensor packages are installed on all nodes in an ESS cluster other than
the ESS EMS and I/O server nodes. They are configured to point to the existing collector on the EMS
node. Apart from package installation, the installation toolkit adds protocol-specific sensors to the
overall cluster performance monitoring configuration during the installation and deployment phases.
During upgrade, the installation toolkit does not alter an existing configuration that might have one or
more collectors or sensors. The upgrade of any of these components is done outside of the ESS EMS
and I/O server nodes, and their configuration is not changed.
Related concepts
“Using the installation toolkit to perform installation tasks: Explanations and examples” on page 442
Use these explanations and examples of installation toolkit options and tasks to perform installation and
deployment by using the installation toolkit.
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 465
The data and metadata replication features of GPFS are used to maintain a secondary copy of each
file system block, relying on the concept of disk failure groups to control the physical placement of the
individual copies:
1. Separate the set of available disk volumes into two failure groups. Define one failure group at each of
the active production sites.
2. Create a replicated file system. Specify a replication factor of 2 for both data and metadata.
With two copies of the data in separate locations, if one site has an unrecoverable disaster, you can
recover from a single site with no data loss. Data from two separate sites can share namespace and be
accessed by either site. CES groups are enabled to control traffic to the local site. For more information,
see Synchronous mirroring with GPFS replication in IBM Storage Scale: Administration Guide.
466 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Because data is synchronously replicated, the application gets consistent data and no data is lost during
failover or failback. Synchronous replication requires a reliable high-speed, low latency network between
sites, and it has a performance impact on the application when the failback occurs.
Asynchronous replication with AFM
This use case covers the synchronous replication solution only. The use case shows how in an active-
active stretch cluster when one site's storage is offline, you can still read from and write to a replica of the
data to the site that is online.
Note: Stretch CES clusters with SMB must have low latencies. High latencies might result in performance
degradation.
Asynchronous replication with AFM can work on a high latency network. Because data is asynchronously
replicated, all updates might not be replicated when a failure occurs. Therefore, the application needs to
be able to tolerate data loss and to run recovery operations to fail back. This setup requires two separate
GPFS clusters instead of one cluster at multiple geographical sites.
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 467
Figure 41. Local Site CES Group
For this use case example, the installation toolkit was used to install the IBM Storage Scale software.
You can find the installation toolkit by changing directories to where it was extracted (the default 5.1.x.x
extraction path follows. This path might vary depending on the code level).
cd /usr/lpp/mmfs/5.1.x.x/installer
Use these instructions to install and deploy a stretch cluster.
1. Designate a setup node by issuing the following command:
468 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
The setup node is used to run all of the toolkit commands and to specify the protocol and NSD nodes.
2. Specify the protocol and NSD nodes by issuing the following commands:
The -s argument identifies the IP address that nodes use to retrieve their configuration. This IP
address is one associated with a device on the installation node. (The IP address is automatically
validated during the setup phase.)
The -q argument indicates the quorum nodes that are to be configured in the cluster. To keep the
cluster accessible during a failure, configure most of the quorum nodes to have GPFS active. In this
use case, there are five quorum nodes, therefore three must be active to keep the cluster accessible.
These nodes were chosen specifically because they are the least likely to become inaccessible at the
same time. Because nsd1A and nsd2A are at one site, nsd1B and nsd2B are at a second site, and
nsd3C is at a third site, the likelihood of more than three going down at a time is minimal.
No manager nodes were specified with the -m argument, but by default, if no -m argument is
specified, the installation toolkit automatically sets the protocol nodes to manager nodes, leaving an
even balance across both sites.
The GUI node designations are specified with the -g argument to be on protocol nodes that reside
on the same site, but you can choose to have a single GUI, two GUIs on one site, or two GUIs on
different sites. In this case, two GUIs were tested on a single site.
3. Define NSD mappings to physical disks and assign those NSDs to failure groups and file systems. The
following example NSDs are designated as dataAndMetadata; however, if you have the capacity (disk
space and disk speed), set up Metadata disks on SSDs for the best performance.
./spectrumscale nsd add -p nsd1A -s nsd2A -u dataAndMetadata -fs ces -fg 2 /dev/mapper/lun_8
./spectrumscale nsd add -p nsd1B -s nsd2B -u dataAndMetadata -fs ces -fg 1 /dev/mapper/
lun_1
./spectrumscale nsd add -p nsd1B -s nsd2B -u dataAndMetadata -fs gpfs0 -fg 2 /dev/mapper/
lun_6
./spectrumscale nsd add -p nsd2B -s nsd1B -u dataAndMetadata -fs gpfs0 -fg 2 /dev/mapper/
lun_4
./spectrumscale nsd add -p nsd1B -s nsd2B -u dataAndMetadata -fs gpfs0 -fg 2 /dev/mapper/
lun_10
./spectrumscale nsd add -p nsd2B -s nsd1B -u dataAndMetadata -fs gpfs0 -fg 2 /dev/mapper/
lun_24
./spectrumscale nsd add -p nsd2A -s nsd1A -u dataAndMetadata -fs gpfs0 -fg 1 /dev/mapper/
lun_2
./spectrumscale nsd add -p nsd1A -s nsd2A -u dataAndMetadata -fs gpfs0 -fg 1 /dev/mapper/
lun_3
./spectrumscale nsd add -p nsd2A -s nsd1A -u dataAndMetadata -fs gpfs0 -fg 1 /dev/mapper/
lun_4
./spectrumscale nsd add -p nsd1A -s nsd2A -u dataAndMetadata -fs gpfs0 -fg 1 /dev/mapper/
lun_5
Each file system, ces or gpfs0, has multiple disks that have primary and secondary servers at each
site. This ensures that the file system stays online when an entire site goes down. With multiple
primary and secondary servers for each disk and failure group that is local to each site, the GPFS
replication keeps the data up to date across both sites. A disk with a primary and secondary server
on site A belongs to failure group 1, and a disk with a primary and secondary server on site B belongs
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 469
to failure group 2. This enables the two-way replication across the failure groups, meaning that one
replica of data is kept at each site. The nsd3C node is known as the tiebreaker node. The physical
disks that reside on that node /dev/sda and /dev/sdbare are designated as ‘descOnly’ disks and are
local to that node and are their own failure group. The descOnly argument indicates that the disk
contains no file data or metadata. it is used solely to keep a copy of the file system descriptor. It is
recommended to have that tiebreaker node in a separate geographical location than the other two
sites.
4. Set up the file system characteristics for two-way replication on both the ces and gpfs0 file systems
by issuing the following command:
13. After the deployment completes, check the AD setup and status.
For the use case, the same AD server was on both sites, but you can use any authentication type in
a stretch cluster that is supported on a single-site IBM Storage Scale cluster. Note that because a
stretch cluster is still one cluster, more than one authentication method per site is not supported.
To check the status of the cluster's authentication issue either of these commands mmuserauth
service list or mmuserauth service check --server-reachability.
470 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Issue the mmuserauth service list command. The system displays information similar to the
following:
Issue the mmuserauth service check --server-reachability command. The system displays
information similar to the following:
mmchconfig readReplicaPolicy=fastest
mmchconfig unmountOnDiskFail=yes -N nsd3
mmchconfig workerThreads=1024 -N cesNode
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 471
mmchconfig -ipagepool=43G -N protocol1A
mmchconfig -ipagepool=31G -N protocol2A
mmchconfig pagepool=48G -N protocol3A
mmchconfig pagepool=48G -N protocol4A
mmchconfig pagepool=48G -N protocol1B
mmchconfig pagepool=48G -N protocol2B
mmchconfig pagepool=48G -N protocol3B
mmchconfig pagepool=48G -N protocol4B
mmchconfig pagepool=12G -N nsd1A
mmchconfig pagepool=16G -N nsd1B
mmchconfig pagepool=12G -N nsd2B
mmchconfig pagepool=12G -N nsd3C
mmchconfig maxFilesToCache=2M
mmchconfig maxMBpS=5000 -N cesNodes
For details on each parameter, see Parameters for performance tuning and optimization in IBM Storage
Scale: Administration Guide. The use case was tested with readReplicaPolicy=fastest which
is the recommended setting. A known limitation with readReplicaPolicy=fastest is that with
networks that add ~3 ms latency (which are common in such installations) there is no substantial
difference between local and remote disks (assuming the disk latency might be in the 40/50ms
range). Thus, you might still read data from the remote site. Therefore, it is acceptable to use
readReplicaPolicy=local to ensure the data is written/read on the local site as long as the local
servers are on the same subnet as the clients and the remote servers are not. An NSD server on the
same subnet as the client is also considered as local.
The readReplicaPolicy=fastest setting will work with either network topology, both sites on the
same subnet or each site on its own subnet, as long as there is a measurable difference in the I/O
access time.
2. Set up the CES nodes.
CES group are needed when the CES networks on each site cannot communicate with each other. By
having each site's local nodes in the same CES group, the administrator is able to control where the
CES IPs failover to when there is an issue with a specific protocol node. If CES groups are not set up,
a CES IP from Site A might attempt to failover to a node on Site B, and because there is no adapter
for that IP to alias to on Site B (assuming different subnets), the failover will not succeed. CES groups
make it easy to manage what CES nodes can host what CES IPs.
Set the CES nodes in the cluster to the corresponding groups by issuing the mmchnode --ces-group
command (CES group names are not case-sensitive). For example:
In the example, protocol nodes protocol1A and protocol2A are set to the Site A CES group, protocol
nodes protocol1Band protocol2B are set to the Site B CES group.
For detailed instructions, see Setting up Cluster Export Services groups in an IBM Storage Scale cluster
in IBM Storage Scale: Administration Guide.
3. Assign CES IPs to the corresponding CES groups. This ensures that IPs that reside on nodes in Site
A do not fail over to nodes that reside in Site B and vice versa. Issue the mmces address change
command. For example:
4. To verify the CES groups your nodes belong to, issue the mmces node list command. The sample
output is as follows:
472 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
11 protocol2B none siteB
12 protocol3B none siteB
13 protocol4B none siteB
6 protocol1A none siteA
7 protocol2A none siteA
8 protocol3A none siteA
9 protocol4A none siteA
5. To verify the CES groups your CES IPs belong to, issue the mmces address list command. The
sample output is as follows:
A load balancer is recommended for the protocol stack to cater to a site loss. The load balancer will
ensure that you do not encounter issues if using DNS Round Robin when a site goes down and that the
host name in the DNS server can resolve all of the IP addresses.
A healthy cluster shows all the disks that have a status of up. You can also verify the replication settings
using the mmlsfs -m -M -r -R command. The sample output is as follows:
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 473
------------------- ------------------------ -----------------------------------
-m 2 Default number of metadata replicas
-M 3 Maximum number of metadata replicas
-r 2 Default number of data replicas
-R 3 Maximum number of data replicas
If the default number of data and metadata replicas is set to two, this will indicate that you have no disk
failures and that your data is being replicated across both failure groups.
Issue the mmlsdisk ces command. The sample output is as follows:
If you lose access to one site’s storage due to maintenance, network issues, or hardware issues, the disks
in the cluster are marked as down and the mmhealth node show command results shows them as
down. This is acceptable because the stretch cluster can keep operating when an entire site goes down.
There can be a negative impact on performance while one site is down, but that is expected.
To see the disk cluster status for the use case, issuing the mmlsdisk gpfs0 command shows the
following information:
For the use case, the results of the mmhealth node show -N nsd2B disk command show three
disks:
To see all of the failed disks, issue the mmhealth node show nsd2B command (without the -N
attribute). For the use case, the system displays the following information:
474 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
nsd17 DEPEND 18 min. ago -
nsd18 DEPEND 18 min. ago -
nsd19 DEPEND 18 min. ago -
nsd2 DEPEND 18 min. ago -
nsd20 DEPEND 18 min. ago disk_down
nsd22 DEPEND 18 min. ago disk_down
nsd23 DEPEND 18 min. ago disk_down
nsd24 DEPEND 18 min. ago disk_down
nsd25 DEPEND 18 min. ago disk_down
nsd3 DEPEND 18 min. ago -
nsd4 DEPEND 18 min. ago -
nsd5 DEPEND 18 min. ago -
nsd6 DEPEND 18 min. ago -
nsd7 DEPEND 18 min. ago -
nsd8 DEPEND 18 min. ago -
nsd9 DEPEND 18 min. ago -
After the issue is resolved, restart the disks and make sure that the data and metadata replicas are intact.
First, ensure that GPFS is active on all nodes. Next, issue the mmchdisk <filesystem> start-a
command. This informs GPFS to try to access the disks that are marked down and, if possible, to move
them back into the up state. This is accomplished by first changing the disk availability from down to
recovering. The file system metadata is then scanned and any missing updates (replicated data that was
changed while the disk was down) are repaired. If this operation is successful, the availability is then
changed to up. If the metadata scan fails, availability is changed to unrecovered. This could occur if too
many disks are down. The metadata scan can be re-initiated later by issuing the mmchdisk command
again. If more than one disk in the file system is down, all of the disks that are down must be started
at the same time by issuing mmchdisk <filesystem> start -a. If you start them separately and
metadata is stored on any disk that remains down, the mmchdisk start command fails.
mmnsddiscover: Attempting to rediscover the disks. This may take a while ...
mmnsddiscover: Finished.
nsd2A: Rediscovered nsd server access to nsd26.
nsd2A: Rediscovered nsd server access to nsd28.
nsd3C: Rediscovered nsd server access to nsd31.
sdn2B: Rediscovered nsd server access to nsd23.
nsd1B: Rediscovered nsd server access to nsd23.
nsd2B: Rediscovered nsd server access to nsd24.
nsd1B: Rediscovered nsd server access to nsd24.
nsd1A: Rediscoverensd server access to nsd29.
nsd2A: Rediscovered nsd server access to nsd30.
nsd2A: Rediscoved red nsd server access to nsd27.
nsd2B: Rediscovered nsd server access to nsd25.
nsd2B: Rediscovered nsd server access to nsd22.
nsd2A: Rediscovered nsd server access to nsd25.
nsd2A: Rediscovered nsd server access to nsd22.
Scanning file system metadata, phase 1 ...
33 % complete on Fri Feb 3 11:46:41 2017
66 % complete on Fri Feb 3 11:56:57 2017
100 % complete on Fri Feb 3 11:58:24 2017 Scan completed successfully.
Scanning file system metadata, phase 2 ...
Scan completed successfully.
Scanning file system metadata, phase 3 ...
8 % complete on Fri Feb 3 11:58:29 2017
16 % complete on Fri Feb 3 11:58:32 2017
23 % complete on Fri Feb 3 11:58:35 2017
…
91 % complete on Fri Feb 3 11:59:18 2017
95 % complete on Fri Feb 3 11:59:22 2017
98 % complete on Fri Feb 3 11:59:25 2017
100 % complete on Fri Feb 3 11:59:26 2017
Scan completed successfully.
Scanning file system metadata, phase 4 ...
Scan completed successfully.
Scanning user file metadata ...
2.37 % complete on Fri Feb 3 11:59:46 2017 ( 2473984 inodes with total 672770 MB data
processed)
3.86 % complete on Fri Feb 3 12:00:07 2017 ( 4734976 inodes with total 1094807 MB data
processed)
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 475
4.59 % complete on Fri Feb 3 12:00:27 2017 ( 7880704 inodes with total 1301307 MB data
processed)
5.30 % complete on Fri Feb 3 12:00:47 2017 ( 11003904 inodes with total 1501577 MB data
processed)
6.01 % complete on Fri Feb 3 12:01:07 2017 ( 14077952 inodes with total 1703928 MB data
processed)
6.70 % complete on Fri Feb 3 12:01:27 2017 ( 17154048 inodes with total 1896877 MB data
processed)
7.36 % complete on Fri Feb 3 12:01:47 2017 ( 20135936 inodes with total 2084748 MB data
processed)
7.97 % complete on Fri Feb 3 12:02:07 2017 ( 22512640 inodes with total 2257626 MB data
processed)
8.21 % complete on Fri Feb 3 12:02:27 2017 ( 23322624 inodes with total 2327269 MB data
processed)
8.39 % complete on Fri Feb 3 12:02:48 2017 ( 24182784 inodes with total 2377108 MB data
processed)
8.52 % complete on Fri Feb 3 12:03:09 2017 ( 25182208 inodes with total 2414040 MB data
processed)
8.64 % complete on Fri Feb 3 12:03:29 2017 ( 26166272 inodes with total 2447380 MB data
processed)
…
96.58 % complete on Fri Feb 3 12:36:40 2017 ( 198458880 inodes with total 27362407 MB data
processed)
96.82 % complete on Fri Feb 3 12:37:00 2017 ( 202438144 inodes with total 27430464 MB data
processed)
97.06 % complete on Fri Feb 3 12:37:20 2017 ( 206526720 inodes with total 27498158 MB data
processed)
97.30 % complete on Fri Feb 3 12:37:40 2017 ( 210588672 inodes with total 27567944 MB data
processed)
97.46 % complete on Fri Feb 3 12:38:00 2017 ( 266730496 inodes with total 27612826 MB data
processed)
97.52 % complete on Fri Feb 3 12:38:20 2017 ( 302344960 inodes with total 27629694 MB data
processed)
97.59 % complete on Fri Feb 3 12:38:40 2017 ( 330066432 inodes with total 27648547 MB data
processed)
100.00 % complete on Fri Feb 3 12:38:52 2017 ( 394185216 inodes with total 27657707 MB data
processed)
Scan completed successfully.
The recovery time for this command can vary depending on how much data was written while the disks
were down. If the disks were down for a long time (greater than 24 hours) and a lot of data was written
in that time, it is expected that the mmchdisk command could take quite a while to complete. The time
needed to bring up the disks depends on the quantity of data changed during the time the disks were
down. This command is run while the file data remains accessible to the applications so I/O clients can
continue to operate.
476 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Performing additional tasks using the installation toolkit
Use this information for using the installation toolkit for tasks such as deploying protocols on existing
clusters and adding nodes to an existing installation.
2. Designate protocol nodes in your environment to use for the deployment by using the following
command.
3. Designate GUI nodes in your environment to use for the deployment by using the following command.
4. Configure protocols to point to a shared root file system by using the following command.
10. Deploy protocols on your defined environment by using the following command.
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 477
– Client nodes:
– NSD nodes:
– Protocol nodes:
– GUI nodes:
For the list of supported node types that can be added, see spectrumscale command in IBM Storage
Scale: Administration Guide.
Important: The installation toolkit does not alter anything on the existing nodes in the cluster. You
can determine the existing nodes in the cluster by using the mmlscluster command.
The installation toolkit might change the performance monitoring collector configuration if you are
adding the new node as a GUI node or an NSD node, due to collector node prioritization. However,
if you do not want to change the collector configuration then you can use the ./spectrumscale
config perfmon -r off command to disable performance monitoring before initiating the
installation procedure.
b) Install IBM Storage Scale on the new nodes by using the following commands.
c) If protocol nodes are being added, deploy protocols by using the following commands.
mmlsnsd
./spectrumscale nsd list
478 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Enabling another protocol on an existing cluster that has protocols enabled
Use this information to enable protocols on an existing cluster that has other protocols that are enabled
by using the installation toolkit.
1. Use one of the following steps depending on your configuration.
• Enable NFS on all protocol nodes by using the following command.
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 479
3. On all nodes that are going to serve as protocol nodes, install core GPFS RPMs from the /usr/lpp/
mmfs/5.x.x.x/gpfs_rpms.
Attention: Ensure that you do not install packages such as perfmon, gui, callhome, java,
and protocols now. These components are installed and configured with the protocols
deployment.
The core GPFS RPMs that need to be installed include:
• gpfs.base
• gpfs.gpl
• gpfs.license.xx
• gpfs.gskit
• gpfs.docs
• gpfs.msg.en_US
• gpfs.compression
• gpfs.adv (optional)
• gpfs.crypto (optional)
4. Add the nodes that are going to serve as protocol nodes to the cluster by using the mmaddnode
command.
5. Enable the Cluster Configuration Repository (CCR) on the cluster if it is not enabled already.
Attention: If GPFS levels between protocol nodes and ESS differ significantly, ensure that the
nodes with the newer code level of GPFS are designated as both quorum and manager nodes. For
example, old ESS systems with GPFS 4.1.0-8 are incompatible with CES. These ESS systems can
be a part of a cluster with protocols only if they are not designated as quorum and manager nodes.
This aspect requires careful planning and administration because:
• By default, ESS nodes are designated as quorum and manager nodes.
• In some cases, there might not be extra nodes outside of ESS to make sure that only nodes with the
newer code level are designated as quorum and manager nodes.
6. Verify that passwordless SSH is working between all nodes in the cluster.
7. Verify that firewall ports are set correctly.
8. Verify that the CES shared root file system is mounted and that it is set to auto mount.
9. Set NFSv4 ACLs for file systems that are going to be used for protocol data, if they are not set already.
10. On one of the nodes that are going to serve as protocol nodes, run the installation toolkit to start
deploying protocols.
Note:
• Designate only the nodes that you plan to use as protocol nodes. Do not designate existing ESS
nodes such as EMS or I/O nodes as protocol nodes.
• Point to existing file systems only. Do not attempt to create new file systems or NSDs for this
purpose.
For information about deploying protocols in a cluster, see spectrumscale command in IBM
Storage Scale: Command and Programming Reference Guide and “Deploying protocols on an existing
cluster” on page 477.
Related concepts
“ESS awareness with the installation toolkit” on page 464
480 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
You can use the installation toolkit to install IBM Storage Scale and deploy protocols in a cluster
containing Elastic Storage Server or IBM Elastic Storage System (ESS).
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 481
10.0.0.102 prt002st001 none none
10.0.0.103 prt003st001 none none
10.0.0.104 prt004st001 none none
10.0.0.105 prt005st001 none none
10.0.0.106 prt006st001 none none
Additional IPs can be added to a node. In this example, IPs 10.0.0.108 and 10.0.0.109 are added to
protocol node 5 (prt005st001).
IPs can also be moved among nodes manually. This is helpful if IP allocation becomes unbalanced among
the nodes. Continuing from the prior example, prt005st001 now has three protocol IPs whereas all
other nodes have a single protocol IP. To balance this out a bit better, 10.0.0.109 will be manually
moved to node prt004st001.
482 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
• IBM Storage Scale 5.1.8 is the last release that has CES Swift Object protocol.
• IBM Storage Scale 5.1.9 will tolerate the update of a CES node from IBM Storage Scale 5.1.8.
– Tolerate means:
- The CES node will be updated to 5.1.9.
- Swift Object support will not be updated as part of the 5.1.9 update.
- You may continue to use the version of Swift Object protocol that was provided in IBM Storage
Scale 5.1.8 on the CES 5.1.9 node.
- IBM will provide usage and known defect support for the version of Swift Object that was provided
in IBM Storage Scale 5.1.8 until you migrate to a supported object solution that IBM Storage Scale
provides.
• Please contact IBM for further details and migration planning.
Object is set up, enabled, and configured by the installation toolkit, but a few extra steps are necessary to
ready the Object protocol for use. Verify the Object protocol by running a few tests.
# source $HOME/openrc
# openstack user list
# openstack project list
# swift stat
# date > object1.txt
# swift upload test_container object1.txt
object1.txt
# swift list test_container
object1.txt
When the SELinux mode is Enforcing and a user on the protocol node needs to run Swift helper
commands, the runcon command must be used. Otherwise, the system might generate SELinux failure
logs. For example, the *.recon files in the /var/cache/swift directory are updated by Swift helper
services such as replicator and updater.
1. To run the helper command, type: runcon -t swift_t -r system_r swift helper command
2. To check whether the SELinux context is correct, run the matchpathcon command: matchpathcon
-V /var/cache/swift/*
The system displays the following output:
/var/cache/swift/account.recon verified.
/var/cache/swift/container.recon has context
unconfined_u:object_r:var_t:s0, should be system_u:object_r:swift_var_cache_t:s0
/var/cache/swift/object.recon verified.
3. To fix the SELinux context in the file, run the restorecon command: restorecon /var/cache/
swift/container.recon
For more information about SELinux consideration, see “SELinux considerations” on page 339.
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 483
To set up an initial multi-region environment, run the following command on the first cluster after it is
installed:
You can add a region to a multi-region deployment environment. For more information, see Adding a
region in a multi-region object deployment in IBM Storage Scale: Administration Guide.
Related concepts
Installing and using unified file and object access
Unified file and object access are installed when you install IBM Storage Scale for object storage in an IBM
Storage Scale cluster. No additional steps are required for installing unified file and object access.
Related tasks
Enabling unified file and object access after upgrading from IBM Storage Scale 4.2 or later
Use these steps to enable unified file and object access after you upgrade from IBM Storage Scale Version
4.2 or later.
The high-level flow of administering unified file and object access is shown in the following diagram.
The flow of changing the identity management mode for unified file and object access with the id_mgmt
parameter is also shown.
484 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
For detailed steps, see Administering unified file and object access in IBM Storage Scale: Administration
Guide.
Related concepts
Enabling multi-region object deployment initially
For multi-region object deployment, each region is a separate cluster and on each cluster IBM Storage
Scale for object storage is installed independently by using the installer.
Related tasks
Enabling unified file and object access after upgrading from IBM Storage Scale 4.2 or later
Chapter 4. Installing IBM Storage Scale on Linux nodes and deploying protocols 485
Use these steps to enable unified file and object access after you upgrade from IBM Storage Scale Version
4.2 or later.
Enabling unified file and object access after upgrading from IBM Storage
Scale 4.2 or later
Use these steps to enable unified file and object access after you upgrade from IBM Storage Scale Version
4.2 or later.
1. Enable the file-access object capability.
For detailed steps, see Enabling the file-access object capability in IBM Storage Scale: Administration
Guide.
2. By default, the ibmobjectizer service interval is set to 30 minutes. Set the ibmobjectizer service
interval to another value according to your requirement.
For detailed steps, see Setting up the objectizer service interval in IBM Storage Scale: Administration
Guide.
3. By default, the identify management mode for unified file and object access is set to local_mode.
Change the identity management mode according to your requirement.
For detailed steps, see Configuring authentication and setting identity management modes for unified
file and object access in IBM Storage Scale: Administration Guide.
For the other unified file and object access tasks that you can do, see Administering unified file and object
access in IBM Storage Scale: Administration Guide.
Related concepts
Enabling multi-region object deployment initially
For multi-region object deployment, each region is a separate cluster and on each cluster IBM Storage
Scale for object storage is installed independently by using the installer.
Installing and using unified file and object access
Unified file and object access are installed when you install IBM Storage Scale for object storage in an IBM
Storage Scale cluster. No additional steps are required for installing unified file and object access.
486 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Chapter 5. Installing IBM Storage Scale on public
cloud by using cloudkit
Use this information for installing IBM Storage Scale on public cloud with cloudkit.
Note: Currently, Amazon Web Services (AWS) and Google Cloud Platform (GCP) are supported for
deployment on public clouds.
You can install IBM Storage Scale on public cloud by using the cloudkit. You can also use the cloudkit for
tasks such as cloud resource provisioning, IBM Storage Scale install and configuration.
Preparation
The cloudkit needs to be installed on a Linux-based host before it can be used for an IBM Storage Scale
deployment on public cloud. Such Linux-based host is referred to as installer node. For information about
setting up an installer node, see “Preparing the installer node” on page 358. After the cloudkit setup is
complete, log in to the installer node.
The cloudkit binary is found at the /usr/lpp/mmfs/release_version/cloudkit directory. In this
directory, the IBM Storage Scale cloudkit can be invoked through the cloudkit command. Optionally,
this directory can be added to the path.
Before attempting to create an IBM Storage Scale cluster on a public cloud, the cloudkit must be
configured as described in the next sections.
Initialization
1. Use the cloudkit init command to install the prerequisites needed for the utility.
To configure, run the cloudkit init command:
$ ./cloudkit init
I: Logging at /root/scale-cloudkit/logs/cloudkit-25-10-2023_0-11-59.log
? Passphrase file path for encrypting DB contents: /root/secrets/cloudkit_config.ini
The passPhrase file need to pass during the init command run. For more information, see
Preparing the cloudkit environment file.
Note: When a new version of IBM Storage Scale data bundle is downloaded from IBM Fix Central and
extracted to a node, it is mandatory to rerun the cloudkit init command even if the command was
previously run for a different version of IBM Storage Scale.
2. Use the cloudkit configure command to configure local machine to use your cloud account. For
more information, see Configuring the cloudkit in the IBM Storage Scale: Administration Guide.
3. Use the cloudkit validate command to check permission needed to deploy the cluster and verify
cloud quota for cluster install.
The following permissions are required for executing the cloudkit:
• AWS permissions
iam:ListAttachedUserPoliciesservicequotas:ListServiceQuotas
ec2:AuthorizeSecurityGroupIngress
ec2:ModifyVpcAttribute
ec2:CreateInternetGateway
ec2:CreateSecurityGroup
ec2:CreateVpcEndpoint
iam:PutRolePolicy
iam:GetRole
logs:DeleteLogGroup
ec2:DescribeVpcs
ec2:DescribeSecurityGroupRules
autoscaling:DescribeScalingActivities
ec2:DescribePlacementGroups
ec2:DescribeVpcClassicLink
iam:CreateRole
s3:ListAllMyBuckets
s3:DeleteBucket
ec2:DeleteRouteTable
iam:GetInstanceProfile
488 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
ec2:DisassociateAddress
ec2:DescribeInternetGateways
ec2:CreateVpc
ec2:CreateLaunchTemplateVersion
ec2:CreateRouteTable
ec2:DescribeNatGateways
s3:CreateBucket
ec2:DeleteSecurityGroup
iam:AddRoleToInstanceProfile
ec2:DeleteKeyPair
ec2:RevokeSecurityGroupIngress
ec2:RunInstances
iam:DeleteRolePolicy
ec2:DescribeNetworkInterfaces
ec2:DeregisterImage
iam:ListInstanceProfilesForRole
ec2:DescribeLaunchTemplateVersions
iam:DeleteRole
ec2:DescribeDhcpOptions
ec2:DescribeVpcClassicLinkDnsSupport
ec2:GetLaunchTemplateData
ec2:DescribePrefixLists
ec2:DisassociateRouteTable
s3:PutBucketPolicy
ec2:DeletePlacementGroup
SNS:DeleteTopic
autoscaling:CreateAutoScalingGroup
ec2:DetachInternetGateway
ec2:DeleteNetworkAclEntry
ec2:DescribeKeyPairs
ec2:RevokeSecurityGroupEgress
autoscaling:DeleteAutoScalingGroupautoscaling:CreateLaunchConfiguration
ec2:ModifyVpcEndpoint
autoscaling:SetInstanceProtection
ec2:DescribeVpcEndpoints
iam:GetRolePolicy
ec2:DeleteNatGateway
iam:CreateInstanceProfile
SNS:ListTagsForResource
ec2:DescribeImages
s3:GetBucketLocation
logs:ListTagsLogGroup
iam:PassRole
ec2:CreatePlacementGroup
ec2:AssociateRouteTable
ec2:DeleteVpc
logs:CreateLogGroup
ec2:DeleteInternetGateway
ec2:DescribeNetworkAcls
ec2:DescribeInstanceCreditSpecifications
ec2:CreateDhcpOptions
iam:ListGroupPolicies
ec2:DeleteVpcEndpoints
ec2:DeleteRoute
ec2:DescribeVolumes
autoscaling:DescribeAutoScalingGroups
iam:DeleteInstanceProfile
s3:DeleteObject
autoscaling:UpdateAutoScalingGroup
ec2:DeleteDhcpOptions
s3:PutObject
ec2:CreateKeyPair
ec2:DescribeRouteTables
ec2:AssociateDhcpOptions
iam:ListAttachedRolePolicies
ec2:TerminateInstances
s3:DeleteBucketPolicy
ec2:DescribeVpcAttribute
iam:ListRolePolicies
ec2:DescribeAddresses
ec2:ModifyImageAttribute
ec2:AllocateAddress
ec2:CreateNatGateway
ec2:DescribeInstances
ec2:DescribeSubnets
iam:ListAttachedGroupPolicies
ec2:DescribeInstanceAttribute
SNS:Subscribe
logs:DeleteMetricFilter
ec2:CreateImage
s3:ListBucket
ec2:DescribeInstanceTypes
Chapter 5. Installing IBM Storage Scale on public cloud by using cloudkit 489
ec2:DescribeLaunchTemplates
ec2:DescribeSecurityGroups
ec2:CreateSubnet
ec2:StopInstances
SNS:CreateTopic
ec2:CreateNetworkAclEntry
SNS:SetTopicAttributes
SNS:Unsubscribe
ec2:DeleteSubnet
s3:GetBucketWebsite
ec2:ReleaseAddress
iam:RemoveRoleFromInstanceProfile
ec2:AttachInternetGateway
logs:PutMetricFilter
SNS:GetTopicAttributes
ec2:DescribeRegions
ec2:AuthorizeSecurityGroupEgress
ec2:DescribeInstanceStatus
ec2:DescribeAvailabilityZones
ec2:CreateLaunchTemplate
ec2:DescribeTags
ec2:DeleteSnapshot
logs:DescribeMetricFilters
SNS:GetSubscriptionAttributes
logs:DescribeLogGroups
ec2:CreateRoute
ec2:CreateTags
ec2:DescribeIamInstanceProfileAssociations
iam:ListGroupsForUser
ec2:DeleteLaunchTemplate
s3:ListBucketVersions
s3:PutBucketWebsite
autoscaling:SuspendProcesses
kms:*
Deployment
Before deploying IBM Storage Scale on a public cloud, make sure to complete the procedures described
in “Initialization” on page 488.
To understand the deployment option provided by the cloudkit, you need to know the way cloudkit
deploys IBM Storage Scale on a cloud and the stages it goes through:
490 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
To help you plan your requirement deployment architecture, refer to “Planning the virtual private cloud
(VPC) architecture for AWS” on page 360 and “Planning the virtual private cloud (VPC) architecture for
GCP” on page 364.
Administering
The cloudkit can be used to manage a previously deployed cloudkit cluster using the following options.
1. Use the cloudkit grant filesystem command to remote mount a filesystem from a storage
cluster to a compute cluster previously created by the same instance of cloudkit.
2. Use the cloudkit grant repository command to provide access to a package repository located
on the cloud object store to a specific Virtual Private Cloud.
3. Use the cloudkit grant guiaccess command to provide scale storage GUI access through
jump host.
4. Use the cloudkit revoke filesystem command to remove a previous remote mount
configuration.
5. Use the cloudkit revoke repository command to remove the access from a Virtual Private
Cloud to a repository.
6. Use the cloudkit revoke guiaccess command to remove scale storage GUI access through
jump host.
7. Use the cloudkit edit cluster command to scale out cluster resources.
For more information, see Administering cloudkit in the IBM Storage Scale: Administration Guide.
To see an end-to-end process of using interactive command, see the demo.
Upgrade
The cloudkit can be used to upgrade existing package repository and an IBM Storage Scale cluster using
the following options:
1. Use cloudkit upgrade repository command to upgrade the existing repository to specified
cloudkit version.
2. Use cloudkit upgrade cluster command to upgrade the existing cluster to specified cloudkit
version.
Note: Upgrade of IBM Storage Scale cluster is only supported on AWS.
For more information, see “Upgrading IBM Storage Scale on cloud” on page 561.
Cleanup
The cloudkit can be used to delete the resources which we provisioned:
1. Use the cloudkit delete cluster command to delete the cluster.
2. Use the cloudkit delete repo command to delete the repository.
3. Use the cloudkit delete image command to delete the image.
Note: Cloudkit keeps track of resources created using it. When the 'cluster with a new vpc' is created
by cloudkit, make sure this VPC does not contain any active resources before proceeding with deletion
of cluster. As this cluster stack contains VPC resources and if there are other resources created beyond
cloudkit using this VPC resources could block the cluster deletion.
In scenarios of cluster with jumphost created via cloudkit, it will be deleted as part of cluster deletion
operation. If this jumphost is being used by other clusters, their access might be impacted. Hence it is
advised to verify the usage of jumphost before proceeding with deletion.
The following table lists the command options to perform cloud resource provisioning, IBM Storage Scale
install and configuration.
Chapter 5. Installing IBM Storage Scale on public cloud by using cloudkit 491
Table 45. cloudkit command options
cloudkit command option Purpose
configure Configure local machine to use your cloud account
create Create a resource from stdin
delete Delete a specific resource
describe Show details of a specific resource
grant Grant access to a specific resource
help Help about any command
init Installs prerequisite(s) required for the utility
list List a resource from stdin
revoke Revoke filesystem mount access
validate Validate resources
edit Edit a specific resource
upgrade Upgrade a resource from stdin
version Prints the version number of the tool
Other Considerations
Firewall ports that cloudkit adds to its ingress
Compute cluster with bastion:
Note: "Allow ICMP traffic from bastion to compute instances" and "Allow SSH traffic from bastion to
compute instances" are not added if direct connect is used.
Storage cluster with bastion:
492 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
80 TCP "Allow http traffic within storage instances"
443 TCP "Allow https traffic within storage instances"
443 TCP "Allow GUI traffic from bastion/jumphost"
Note: "Allow ICMP traffic from bastion to storage instances" and "Allow SSH traffic from bastion to
storage instances" are not added if direct connect is used.
Compute cluster with remote mount:
Limitations of cloudkit
To ensure the proper functioning of cloudkit, consider the outlined in this topic when using this command
line interface for IBM Storage Scale.
The limitations of cloudkit are:
• Deleting a cluster may lead to failure if there are other resources that reference the resources created
by cloudkit, or if there are additional resources sharing the network resources created by cloudkit that
are not recognized by cloudkit.
• The image created using cloudkit create image will contain root partition of 10 GB, and can be
extended to size of user passed input using growpart and resizefs.
• To ensure the secure usage of the bastion private key, cloudkit fails to accept if the permissions of
bastion private key is other than 400 or 600.
• Cloudkit stores its states, temporary files, and logs under $HOME/scale-cloudkit, it is user's
responsibility to replicate and keep it secure. If this metadata is lost, it cannot be reconstructed.
However, loss of this metadata does not delete the resources on the cloud.
• One namespace (filesystem) will be configured per storage cluster or combined storage along with
compute cluster creation as part of the cloudkit.
• If any of the ebs volumes is detached and reattached after the initial cluster creation, these ebs
volumes must be manually deleted after the cluster is destroyed.
• Run grant from the same cloudkit version which is used to deploy the other resources like compute
and storage cluster.
• The cloudkit is currently limited to be executed as root user. Attempting to execute cloudkit as non root
user, even with sudo privileges will result in failure.
• While running the upgrade cluster, it asks to choose the upgrade version from the list of old and new
version, expected to list only new version.
• Ensure to have filesystem mounted after you perform edit operation. Use mmmount all -a command.
• Edit operation is not assigning any new quorum node. You need to manually assign additional quorum
node from newly added nodes.
• NSD disks are not balanced after edit operation and if you want to re-balance the existing filesystem
data across disks then run the mmrestripefs -b command.
Chapter 5. Installing IBM Storage Scale on public cloud by using cloudkit 493
Table 46. Supported public clouds
Note: IBM's statements regarding its plans, directions, and intent are subject to change or withdrawal
without notice at IBM's sole discretion. Information provided is intended to outline our general product
direction and it should not be relied on in making a purchasing decision.
Table 47. Operating systems that are supported by cloudkit installer nodes
Supported OS Version Limitations Additional Information
Red Hat Enterprise Linux 8.6, 8.8, 9.0, 9.1, N/A On-premise physical host or
(RHEL) and 9.2 VM only.
Red Hat Enterprise Linux 9.2 N/A Cloud VM only.
(RHEL)
494 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Table 48. IBM Storage Scale features (continued)
IBM Storage Scale function Automatic configuration Manual operation after cloudkit
through cloudkit usage
Remote mount from Fusion to Prerequisites configured Yes through Fusion installation
cloudkit created storage cluster automatically
Data Management Edition license Yes -
application
Data Access Edition license Yes -
application
Erasure Code Edition license No (cloudkit not available for Not supported
application ECE)
Call home Not supported Yes through install toolkit or mm
command CLI, if desired
Performance Data collection Yes -
Storage cluster encryption Yes (Encryption at Rest) Yes through mm command CLI
and manually created key server
supported by IBM Storage Scale
Quotas - Yes through mm command CLI
ACLs - Yes through mm command CLI
ILM No (single pool configured) Not supported as only a single
pool is configured
File clones - Yes through mm command CLI
Snapshots - Yes through mm command CLI
CSI volume snapshot - Yes through CSI
GUI Yes -
REST-API server Yes (as part of GUI) -
CSI - Yes, with manual setup through
CSI documentation, prerequisites
of vanilla K8s (EKS is not
supported), prerequisites of
Scale CSI, and understanding of
CSI networking requirements.
File Audit Logging - Yes through mm command CLI
Clustered watch folder - Yes through mm command CLI
CES protocols No Not supported
AFM No Not supported
AFM-COS Technical Preview
AFM-DR No Not supported
Compression - Not supported
GPU Direct storage - Not supported
Scale up (nodes) No Not supported
Chapter 5. Installing IBM Storage Scale on public cloud by using cloudkit 495
Table 48. IBM Storage Scale features (continued)
IBM Storage Scale function Automatic configuration Manual operation after cloudkit
through cloudkit usage
Scale up CNSA compute cluster - Supported through CNSA
independent of storage cluster
and cloudkit
Scale up (file system capacity No Not supported
Scale down (nodes) No Not supported
Scale down (file system capacity) No Not supported
Scale out (adding new roles) Yes -
496 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Chapter 6. Installing IBM Storage Scale on AIX nodes
There are three steps for installing GPFS on AIX nodes.
Before you begin installation, read “Planning for GPFS” on page 233 and the IBM Storage Scale FAQ in
IBM Documentation.
Do not attempt to install GPFS if you do not have the prerequisites listed in “Hardware requirements ” on
page 233 and “Software requirements” on page 234.
Ensure that the PATH environment variable on each node includes /usr/lpp/mmfs/bin.
The installation process includes:
1. “Creating a file to ease the AIX installation process” on page 497
2. “Verifying the level of prerequisite software” on page 497
3. “Procedure for installing GPFS on AIX nodes” on page 497
k145n01.dpd.ibm.com
k145n02.dpd.ibm.com
k145n03.dpd.ibm.com
k145n04.dpd.ibm.com
k145n05.dpd.ibm.com
k145n06.dpd.ibm.com
k145n07.dpd.ibm.com
k145n08.dpd.ibm.com
mkdir /tmp/gpfslpp
2. Copy the installation images from the CD-ROM to the new directory, by issuing:
This command places these GPFS installation files in the images directory:
gpfs.base
gpfs.docs.data
gpfs.msg.en_US
gpfs.license.xx
gpfs.compression
gpfs.gskit
gpfs.crypto (IBM Storage Scale Advanced Edition or IBM Storage Scale Data Management
Edition only)
gpfs.adv (IBM Storage Scale Advanced Edition or IBM Storage Scale Data Management Edition
only)
498 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
cd /tmp/gpfslpp
2. Use the inutoc . command to create a .toc file. The .toc file is used by the installp command.
inutoc .
3. If you are installing on a shared file system network, to place the GPFS images on each node in your
network, issue:
Otherwise, issue:
For information about using rcp with IBM Storage Scale, see “Remote file copy command” on page 248.
lslpp -l gpfs\*
Path: /etc/objrepos
gpfs.base 5.1.9.x COMMITTED GPFS File Manager
The output that is returned on your system can vary depending on the edition that you have installed (IBM
Storage Scale Standard Edition or IBM Storage Scale Data Access Edition or IBM Storage Scale Advanced
Edition or IBM Storage Scale Data Management Edition).
Note: The path returned by lslpp -l shows the location of the package control data used by installp.
The listed path does not show GPFS file locations. To view GPFS file locations, use the -f flag.
500 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Chapter 7. Installing IBM Storage Scale on Windows
nodes
There are several steps for installing GPFS on Windows nodes. The information in this topic points you to
the detailed steps.
Before you begin installation, read the following:
• “Planning for GPFS” on page 233
• The IBM Storage Scale FAQ in IBM Documentation
• “GPFS for Windows overview” on page 501 and all of its subtopics
Do not install GPFS unless you have the prerequisites listed in “Hardware requirements ” on page 233
and “Software requirements” on page 234.
The installation process includes:
1. “Installing GPFS prerequisites” on page 509
2. “Procedure for installing GPFS on Windows nodes” on page 512
3. “Configuring a mixed Windows and UNIX (AIX or Linux) cluster” on page 514
To install GPFS for Windows, first configure your Windows systems as described in “Installing GPFS
prerequisites” on page 509. This includes steps such as joining an Active Directory domain and
installing Cygwin from the Cygwin website (www.cygwin.com), which provides a UNIX-like environment
on Windows. GPFS installation is simple once the prerequisites are completed. Finally, if your system will
be part of a cluster that includes UNIX nodes, follow the steps described in “Configuring a mixed Windows
and UNIX (AIX or Linux) cluster” on page 514. This includes creating the GPFS Administration service,
installing OpenSSH, and other requirements. Complete this process before performing configuration steps
common to all GPFS supported platforms.
Note: Throughout this information, UNIX file name conventions are used. For example, the GPFS cluster
configuration data is stored in the /var/mmfs/gen/mmsdrfs file. On Windows, the UNIX namespace
starts under the Cygwin installation directory, which by default is %SystemDrive%\cygwin64, so the
GPFS cluster configuration data is stored in the C:\cygwin64\var\mmfs\gen\mmsdrfs file.
502 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
GPFS provides support for the Windows access control model for file system objects.
Related concepts
GPFS support for Windows
GPFS limitations on Windows
GPFS for Windows supports most of the GPFS features that are available on AIX and Linux, but some
limitations apply.
File name considerations
File names created on UNIX-based GPFS nodes that are not valid on Windows are transformed into valid
short names. A name may not be valid either because it is a reserved name like NUL or COM2, or because
it has a disallowed character like colon (:) or question mark (?).
Case sensitivity
Native GPFS is case-sensitive; however, Windows applications can choose to use case-sensitive or case-
insensitive names.
Antivirus software
If more than one GPFS Windows node is running antivirus software that scans directories and files, shared
files only need to be scanned by one GPFS node. It is not necessary to scan shared files more than once.
Differences between GPFS and NTFS
GPFS differs from the Microsoft Windows NT File System (NTFS) in its degree of integration into the
Windows administrative environment, Windows Explorer, and the desktop.
Access control on GPFS file systems
504 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
GPFS provides support for the Windows access control model for file system objects.
Related concepts
GPFS support for Windows
GPFS limitations on Windows
GPFS for Windows supports most of the GPFS features that are available on AIX and Linux, but some
limitations apply.
File system name considerations
Case sensitivity
Native GPFS is case-sensitive; however, Windows applications can choose to use case-sensitive or case-
insensitive names.
Antivirus software
If more than one GPFS Windows node is running antivirus software that scans directories and files, shared
files only need to be scanned by one GPFS node. It is not necessary to scan shared files more than once.
Differences between GPFS and NTFS
GPFS differs from the Microsoft Windows NT File System (NTFS) in its degree of integration into the
Windows administrative environment, Windows Explorer, and the desktop.
Access control on GPFS file systems
GPFS provides support for the Windows access control model for file system objects.
Case sensitivity
Native GPFS is case-sensitive; however, Windows applications can choose to use case-sensitive or case-
insensitive names.
This means that case-sensitive applications, such as those using Windows support for POSIX interfaces,
behave as expected. Native Win32 applications (such as Windows Explorer) have only case-aware
semantics.
The case specified when a file is created is preserved, but in general, file names are case insensitive. For
example, Windows Explorer allows you to create a file named Hello.c, but an attempt to create hello.c
in the same folder will fail because the file already exists. If a Windows node accesses a folder that
contains two files that are created on a UNIX node with names that differ only in case, Windows inability
to distinguish between the two files might lead to unpredictable results.
Antivirus software
If more than one GPFS Windows node is running antivirus software that scans directories and files, shared
files only need to be scanned by one GPFS node. It is not necessary to scan shared files more than once.
When you run antivirus scans from more than one node, schedule the scans to run at different times
to allow better performance of each scan, as well as to avoid any conflicts that might arise because of
concurrent exclusive access attempts by the antivirus software from multiple nodes. Note that enabling
real-time antivirus protection for GPFS volumes could significantly degrade GPFS performance and cause
excessive resource consumption.
Tip: Consider using a single, designated Windows node to perform all virus scans.
Latest versions of Windows such as Windows 10 come with a built-in antivirus component known as
Windows Defender®. While performing real-time scanning of files, Windows Defender might memory-map
these files even when they are not in use by any user application. This memory-mapping of files on
GPFS file systems by Windows Defender in the background, can result in performance degradation.
Therefore, it is recommended that GPFS drives or volumes be excluded from Windows Defender scans all
together. Another side effect of this background memory-mapping of GPFS files by antivirus programs is
that an attempt to compress or uncompress GPFS files from these Windows nodes might fail. For more
information, see File compression and memory mapping in IBM Storage Scale: Administration Guide.
Related concepts
GPFS support for Windows
GPFS limitations on Windows
GPFS for Windows supports most of the GPFS features that are available on AIX and Linux, but some
limitations apply.
File system name considerations
File name considerations
File names created on UNIX-based GPFS nodes that are not valid on Windows are transformed into valid
short names. A name may not be valid either because it is a reserved name like NUL or COM2, or because
it has a disallowed character like colon (:) or question mark (?).
Case sensitivity
Native GPFS is case-sensitive; however, Windows applications can choose to use case-sensitive or case-
insensitive names.
Differences between GPFS and NTFS
506 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
GPFS differs from the Microsoft Windows NT File System (NTFS) in its degree of integration into the
Windows administrative environment, Windows Explorer, and the desktop.
Access control on GPFS file systems
GPFS provides support for the Windows access control model for file system objects.
508 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
File names created on UNIX-based GPFS nodes that are not valid on Windows are transformed into valid
short names. A name may not be valid either because it is a reserved name like NUL or COM2, or because
it has a disallowed character like colon (:) or question mark (?).
Case sensitivity
Native GPFS is case-sensitive; however, Windows applications can choose to use case-sensitive or case-
insensitive names.
Antivirus software
If more than one GPFS Windows node is running antivirus software that scans directories and files, shared
files only need to be scanned by one GPFS node. It is not necessary to scan shared files more than once.
Differences between GPFS and NTFS
GPFS differs from the Microsoft Windows NT File System (NTFS) in its degree of integration into the
Windows administrative environment, Windows Explorer, and the desktop.
Configuring Windows
This topic provides some details on installing and configuring Windows on systems that will be added to a
GPFS cluster.
The IBM Storage Scale FAQ in IBM Documentation lists the versions of the Windows operating system
that are supported by GPFS.
Installing Cygwin
Cygwin is a POSIX environment available for Windows and can be downloaded from the Cygwin website
(www.cygwin.com). GPFS uses this component to support many of its administrative scripts. System
510 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
administrators have the option of using either the GPFS Admin Command Prompt or GPFS Admin
Korn Shell to run GPFS commands.
Cygwin must be installed before installing GPFS. It is a software package that provides a Unix-like
environment on Windows and provides runtime support for POSIX applications and includes programs
such as grep, ksh, ls, and ps.
When running Cygwin setup, only the standard packages are installed by default. GPFS requires
installation of additional packages, which are listed in “Installing the 64-bit version of Cygwin” on page
511.
Note: Starting with GPFS 4.1.1, the 32-bit version of Cygwin is no longer supported for Windows nodes
running GPFS. Users that are running GPFS 4.1 with the 32-bit version of Cygwin installed must upgrade
to the 64-bit version of Cygwin before installing GPFS 4.1.1. For more information, see “Upgrading from
the 32-bit version of Cygwin to the 64-bit version of Cygwin” on page 511. For users on GPFS releases
prior to 4.1 (SUA based), see “Offline upgrade with complete cluster shutdown” on page 638.
Upgrading from the 32-bit version of Cygwin to the 64-bit version of Cygwin
Follow these instructions to upgrade from the 32-bit version of Cygwin to the 64-bit version of Cygwin:
1. Uninstall GPFS 4.1 and reboot.
2. Uninstall IBM GSKit for GPFS and reboot.
3. Uninstall the GPFS 4.1 license.
4. Stop and delete any Cygwin 32-bit services, such as OpenSSH, that might have been configured.
5. Do not uninstall the 32-bit version of Cygwin yet, or you may lose GPFS configuration information.
6. Install the 64-bit version of Cygwin using the instructions in “Installing the 64-bit version of Cygwin”
on page 511.
7. Install the GPFS 4.1.1 license for the appropriate edition; for example, gpfs.ext-4.1.1-Windows-
license.msi.
8. Install the appropriate GPFS 4.1.1 edition; for example, gpfs.ext-4.1.1.x-Windows.msi.
9. Install IBM GSKit for GPFS.
10. Uninstall the 32-bit version of Cygwin completely.
11. Follow the procedures in “Installing and configuring OpenSSH on Windows nodes” on page 516.
512 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
The following command installs GPFS without prompting you for input or generating any error dialog
boxes:
The msiexec.exe executable file supports display options other than /passive. See msiexec
documentation for details.
RemoteShell=no
This property applies to the product package (for example, gpfs.base-5.1.x.x-Windows-
license.msi). It is equivalent to running mmwinservctl set –remote-shell no, but performs
this configuration change before mmwinserv initially starts. This option is available to satisfy security
policies that restrict network communication protocols.
You can verify that GPFS is installed correctly by opening the Programs and Features control panel.
IBM Storage Scale should be included in the list of installed programs. The program's version should
match the version of the update package.
The GPFS software license agreement is shipped and is viewable electronically. The license agreement
will remain available in the %SystemDrive%\Program Files\IBM\GPFS\5.1.9.x\license
directory for future access.
Related concepts
GPFS for Windows overview
GPFS for Windows participates in a new or existing GPFS cluster in conjunction with AIX and Linux
systems.
Installing GPFS prerequisites
This topic provides details on configuring Windows systems prior to installing GPFS.
Running GPFS commands
Once GPFS is installed, the account you use for GPFS administrative operations (such as creating a cluster
and file systems) will depend on your cluster type.
Configuring a mixed Windows and UNIX (AIX or Linux) cluster
Configuring the Windows HPC server
In order for Windows HPC Server to function with GPFS, disable dynamic hosts file and re-enable dynamic
DNS updates by doing the following:
514 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
attributes. This means that any references to IDMU in the documentation should be interpreted as RFC
2307 attributes.
For IDMU or ADUC installation and configuration information, see Configuring ID mappings in Active
Directory Users and Computers for Active Directory Users and Computers (ADUC) in IBM Storage Scale:
Administration Guide.
Whenever root's password changes, the mmwinserv logon information needs to be updated to use the
new password. The following command updates on all Windows nodes in a cluster with a new password:
As long as mmwinserv is running, the service will not be affected by an expired or changed password
and GPFS will continue to function normally. However, GPFS will not start after a system reboot
when mmwinserv is configured with an invalid password. If for any reason the Windows domain or
root password changes, then mmwinservctl should be used to update the domain and password.
The domain and password can also be updated on a per node basis by choosing Administrative
Tools > Computer Management > Services and Applications > Services, and selecting GPFS
Administration. Choose File > Properties > Logon and update the <domain>\username and the
password.
For more information, see mmwinservctl command in IBM Storage Scale: Command and Programming
Reference Guide.
If using a mixed cluster, OpenSSH must be configured on the Windows nodes. Refer to the Cygwin FAQ
(www.cygwin.com/faq.html) and documentation on how to setup sshd. Replace the usage of the account
cyg_server in the Cygwin documentation with root when setting up a privileged account for sshd.
The following are some guidelines in addition to the Cygwin instructions on setting up sshd:
1. Verify that all nodes can be pinged among themselves by host name, Fully Qualified Domain Name
(FQDN) and IP address.
2. If not using IPv6, disable it. For more information, see How to disable IPv6 or its components in
Windows (support.microsoft.com/kb/929852).
3. Check that passwd contains the privileged user that you plan to use for GPFS operations, as well as its
correct home path:
516 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
root:unused:11103:10513:U-WINGPFS\root,S-1-5-21-3330551852-1995197583-3793546845-1103:/cygdrive/c/home/
root:/bin/bash
4. From the Cygwin shell, run /usr/bin/ssh-host-config and respond yes to the prompts. When
prompted to enter the value of CYGWIN for the daemon, enter ntsec. Specify root in response to the
query for the new user name. You may receive the following warning:
As long as the account (in this case, root) is in the local Administrators group, you can ignore this
warning.
5. When the installation is complete, enter the following:
Note: The OpenSSH READMEs are available at /usr/share/doc/openssh. Also see the IBM Storage
Scale FAQ in IBM Documentation.
Once OpenSSH is installed, the GPFS administrative account root needs to be configured so that it
can issue ssh and scp commands without requiring a password and without producing any extraneous
messages. This kind of passwordless access is required from any node used for GPFS administration to all
other nodes in the cluster.
For additional information, see Requirements for administering a GPFS file system in IBM Storage Scale:
Administration Guide and Troubleshooting Windows problems in IBM Storage Scale: Problem Determination
Guide.
Related concepts
GPFS for Windows overview
GPFS for Windows participates in a new or existing GPFS cluster in conjunction with AIX and Linux
systems.
Installing GPFS prerequisites
This topic provides details on configuring Windows systems prior to installing GPFS.
Procedure for installing GPFS on Windows nodes
IBM provides GPFS as Windows Installer packages (MSI), which allow both interactive and unattended
installations. Perform the GPFS installation steps as the Administrator or some other member of the
Administrators group.
Running GPFS commands
Once GPFS is installed, the account you use for GPFS administrative operations (such as creating a cluster
and file systems) will depend on your cluster type.
Configuring the Windows HPC server
In order for Windows HPC Server to function with GPFS, disable dynamic hosts file and re-enable dynamic
DNS updates by doing the following:
Related concepts
GPFS for Windows overview
GPFS for Windows participates in a new or existing GPFS cluster in conjunction with AIX and Linux
systems.
Installing GPFS prerequisites
This topic provides details on configuring Windows systems prior to installing GPFS.
Procedure for installing GPFS on Windows nodes
IBM provides GPFS as Windows Installer packages (MSI), which allow both interactive and unattended
installations. Perform the GPFS installation steps as the Administrator or some other member of the
Administrators group.
Running GPFS commands
Once GPFS is installed, the account you use for GPFS administrative operations (such as creating a cluster
and file systems) will depend on your cluster type.
Configuring a mixed Windows and UNIX (AIX or Linux) cluster
518 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Chapter 8. Installing Cloud services on IBM Storage
Scale nodes
The Cloud services installation is not included in the IBM Storage Scale installation toolkit workflow. It
needs to be installed separately on top of the IBM Storage Scale cluster. However, the Cloud services
RPMs are available with the IBM Storage Scale package.
Before you begin, ensure that you have created a node class. For more information, see the Creating a
node class topic in the IBM Storage Scale: Administration Guide. Also, ensure that your server meets the
prerequisites. For more information, see “Software requirements for Cloud services ” on page 346.
For example, to create a node class called TCTNodeClass by using three nodes 10.10.10.10, 11.11.11.11,
and 12.12.12.12, issue this command:
mmnlsnodeclass
Installation steps
This topic describes the procedure for installing Cloud services on IBM Storage Scale nodes.
Cloud services creates the following folders after installation:
• /var/MCStore
• <filesystem>/.mcstore
• /opt/ibm/MCStore
Do not make any changes to these folders in order to avoid any undesired results.
The Cloud services RPMs are available with IBM Storage Scale Advanced Edition, IBM Storage Scale
Data Management Edition, IBM Storage Scale Developer Edition, or IBM Storage Scale Erasure Code
Edition. You can verify this by issuing this command: rpm -qa | grep gpfs.adv. Depending on the
target Linux distribution, the RPMs are available in the following paths where *_rpms or *_debs is the
component specific directory:
• Red Hat Enterprise Linux 7.x: /usr/lpp/mmfs/5.0.x.x/*_rpms/rhel7
• Ubuntu 16.04 LTS: /usr/lpp/mmfs/5.0.x.x/*_debs/ubuntu16
• SLES 12: /usr/lpp/mmfs/5.0.x.x/*_rpms/sles12
With each build of IBM Storage Scale, two RPMs are available for Cloud services:
• gpfs.tct.server-x.x.x.x86_64.rpm. This is the server package that is installed on the Cloud services
nodes. These nodes must have outbound WAN connectivity to be able to support data migration
between IBM Storage Scale cluster and the cloud object storage. When installed on non-cloud gateway
nodes, files are recalled locally without routing the requests through the gateway nodes. To enable the
client-assisted recall, you must run mmcloudgateway clientassist enable.
• gpfs.tct.client-x.x.x.x86_64.rpm. This is the client package that contains the Cloud services binary files
(specifically the data manager commands). This package must be installed on all remaining cluster
nodes to activate ILM-based file migration or file recall that is initiated from that node (every node in the
cluster is safe). The client RPM is not required on the nodes where the server package is installed.
Note: It is important to install the client package on every node so that files that are deleted from
the IBM Storage Scale cluster are deleted efficiently from the cloud storage tier. If this package is not
installed, files are deleted less aggressively and only as a result of running the reconcile service.
Note: For policy-based migrations, it is recommended that the file system manager node (rather all
nodes with manager roles) is installed at least with the client RPM. This ensures that if any migration
request goes to the file system manager node that is not a Transparent cloud tiering node, the request
is forwarded to one of the server nodes in the node class, and the migration seamlessly takes place. If
the RPM is not there on the file system manager, then migration fails. Transparent cloud tiering is needed
on all clients (not just for migration requests) or transparent recall does not work properly and delete
processing is not handled efficiently for files transferred to the cloud.
1. Copy the server RPMs to the desired nodes.
2. Install Cloud services package on each node by issuing the following command depending on your
architecture:
rpm -ivh gpfs.tct.server-x.x.x.x86_64.rpm
Note: By default, the Cloud services is installed under the /opt/ibm/MCStore directory.
3. Install the client package on the desired nodes by issuing the following command depending on your
OS and architecture:
520 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
• For SLES or Red Hat Enterprise Linux: rpm -ivh gpfs.tct.client-x.x.x.<arch>.rpm
• For Ubuntu Linux: dpkg -i gpfs.tct.client-x.x.x.<arch>.deb
1. Add the new node to the existing node class by using the mmchnodeclass add command. For
example,
2. Install the Cloud services RPMs (either client or server) on the node that is added. For more
information, see “Installation steps” on page 520.
3. Designate the node as Cloud services node.
For more information, see the Designating the Cloud services nodes topic in the IBM Storage Scale:
Administration Guide.
4. Start the Cloud services software on the new node by using the mmcloudgateway service start
command.
522 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Chapter 9. Installing and configuring IBM Storage
Scale management API
The IBM Storage Scale management API implementation is based on the IBM Storage Scale GUI stack.
Installation and configuration of GUI sets up the API infrastructure. That is, you do not need to perform
any API specific deployment procedures.
Ensure that the following tasks are completed to start using the IBM Storage Scale management API to
monitor and manage the IBM Storage Scale system:
1. Install the GUI server. Use any of the following options to install the GUI:
a. Manually installing IBM Storage Scale management GUI in IBM Storage Scale: Concepts, Planning,
and Installation Guide
b. Installing IBM Storage Scale management GUI by using the spectrumscale installation toolkit in IBM
Storage Scale: Concepts, Planning, and Installation Guide
2. After installing the system and GUI package, you need to create the first GUI user to log in to the GUI.
This user can create other GUI administrative users to perform system management and monitoring
tasks. When you launch the GUI for the first time after the installation, the GUI welcome page
provides options to create the first GUI user from the command line prompt by using the /usr/lpp/
mmfs/gui/cli/mkuser <user_name> -g SecurityAdmin command.
3. Create new users and provide the required permissions. You can either use the Access > GUI Users
GUI page or the usr/lpp/mmfs/gui/cli/mkuser command to create new users and assign roles.
For more information on how to create GUI users and assigning user roles, see Managing GUI users
section in the IBM Storage Scale: Administration Guide.
Every API call to the IBM Storage Scale needs a valid GUI user and password. For example, curl -k -u
admin:admin001 -XGET -H content-type:application/json "https://<IP address>:443/scalemgmt/v2/
info". The user roles assigned to the user determine actions that can be performed.
IOMMU disabled
ACS disabled
3. Check for IBM Storage Scale support in the output of gdscheck -p as shown in the following
example:
4. If the GPFS log (mmfs log) contains the following information after you start IBM Storage Scale, it
indicates that the GDS support is successfully enabled:
and
526 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Chapter 11. Installation of Active File Management
(AFM)
Consider the following while you install Active File Management (AFM).
The home and cache are two separate operational clusters that are separated from each other through
LAN or WAN. The cluster setup has no considerations for using AFM functions. AFM functions are
available on all editions of IBM Storage Scale.
The home cluster can be a legacy NAS or a cluster that is running GPFS version 3.5 or earlier, or IBM
Storage Scale 4.1 or later. The cache cluster can run GPFS 3.5, or IBM Storage Scale 4.1 or later.
User-extended attributes, ACLs, and sparse files are not supported on a home cluster that is running GPFS
version 3.5 or earlier, if the home cluster is a legacy NFS export.
The NFS version 3 and 4 or GPFS protocol can be used for communication. The native NSD protocol can
be used when the home cluster is also an IBM Storage Scale cluster and the cache can remotely mount
the file system on the home cluster.
Nodes that can act as gateway nodes must be identified on the cache cluster. Gateway nodes must
preferably be configured in the cache cluster before you create filesets and start applications.
Nodes that can act as NFS servers must be identified on the home cluster. If the GPFS protocol is planned
to be used, the home file system must be remote mounted on all the gateway nodes in the cache cluster.
Gateway nodes and NFS servers must preferably be configured in the cache and home clusters before you
create filesets and start applications.
AIX AFM gateway nodes in the AFM cache cluster must be running the Linux operating system.. AIX
cannot be configured either as a home or AFM-DR secondary.
The current dataStructureDump directory is tmp/mmfs by default. You can change the default value
of the dataStructureDump directory by using the mmchconfig command.
• There must not be multiple nodes with the same short host name within the GPFS cluster.
• In the case of the customer provided remote shell or remote file-copy commands, the customer must
make sure that these commands support the following options:
• When you are using the sudo wrappers and a custom dataStructureDump directory, you must ensure
that this directory is recursively executable for the sudo user, as specified in the IBM Storage Scale
settings.
Note: In this case, the dataStructureDump directory is not set to the default value of /tmp/mmfs.
532 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Chapter 14. Installing file audit logging
Before file audit logging can be installed, consider the requirements, limitations, and steps associated
with it.
For more information about enabling file audit logging, see Configuring file audit logging in the IBM Storage
Scale: Administration Guide.
534 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Chapter 15. Installing clustered watch folder
Before clustered watch folder can be installed, consider the requirements, limitations, and steps
associated with it.
For more information, see “Clustered watch folder” on page 196.
536 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Chapter 16. Installing the signed kernel modules for
UEFI secure boot
IBM Storage Scale 5.1.9.0 supports the UEFI secure boot feature. For IBM Storage Scale, using UEFI
secure boot means that the kernel modules are cryptographically signed by IBM so that their integrity can
be verified when the system starts.
Follow the next steps to install the signed kernel modules for IBM Storage Scale.
1. Verify that the secure boot is enabled on the system by using the next command:
3. Download from Fix Central the RPM package that holds the signed kernel modules. The public key
is either part of the self-extracting package or it is included as part of the signed kernel stand-alone
package.
4. Import the public key with this command:
For more information, see Enrolling public key on target system by adding the public key to the MOK
list in Red Hat documentation.
5. Check that the key import was successful by issuing the command:
Note: The installer directory in this command depends upon the release version.
2. Check /etc/resolv.conf for any changes that pointed the authentication directory to DNS, and
remove them.
3. If the object protocol was enabled and storage policies were created, use the mmobj policy
list -v command and save the output list before you run the mmces service disable OBJ
command.
Uninstalling Ansible
The installation toolkit is built on the Ansible automation platform. For more information, see “Supported
Ansible version” on page 439.
You might need to uninstall Ansible as a part of the cleanup process or if the supported version is not
installed. Check the Ansible version that is installed and, if needed, uninstall Ansible after verifying that it
is not being used for any other purpose.
1. Check the version of Ansible that is installed by using one of the following commands.
ansible --version
or
2. Uninstall Ansible by using one of the following commands depending on your environment.
• Uninstall by using the rpm command on RHEL and SLES nodes.
540 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
• Uninstall by using the yum command on RHEL nodes.
• Uninstall by using the pip3 command on RHEL, SLES, and Ubuntu nodes.
2. Delete the ID-mapping information when authentication was configured with AD. To do so, use the
following command.
Note: Once this ID-mapping information is deleted, you might not be able to access existing files (or
you might experience other unforeseen access issues), so do this only if you do not need access to
existing data.
Disabling CES
Disable CES on every node nodeNameX. To do so, issue the following command:
Delete the objectization temp directory. In the following example, the temp directory was created in
the fs1 file system at /ibm/fs1/ibmobjectizer/tmp:
rm -rf /ibm/fs1/ibmobjectizer/tmp
mmlsfileset fs1
mmunlinkfileset fs1 object_fileset
mmdelfileset fs1 object_fileset -f
Use the following commands for each row except the first:
mmchconfig cesSharedRoot=DEFAULT
5. Check your recent package installs to determine which packages need to be removed by issuing the
following commands:
RHEL and SLES
Ubuntu
dpkg -l
After you have determined which packages need to be removed, do so by issuing the following
commands, as needed:
RHEL and SLES
mmdsh -N NodeList yum erase gpfs.smb nfs-ganesha-mount \
nfs-ganesha-vfs PyQt4 nfs-ganesha-utils phonon-backend-gstreamer phonon sip qt-x11 kde-filesystem \
qt qt-settings libmng nfs-ganesha-proxy nfs-ganesha-nullfs nfs-ganesha-gpfs -y
542 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
mmdsh -N NodeList yum erase mariadb-libs -y
Ubuntu
mmdsh -N NodeList dpkg -P gpfs.smb nfs-ganesha-mount nfs-ganesha-vfs \
PyQt4 nfs-ganesha-utils phonon-backend-gstreamer phonon sip qt-x11 kde-filesystem qt qt-settings libmng \
nfs-ganesha-proxy nfs-ganesha-nullfs gpfs.nfs-ganesha-gpfs gpfs.nfs-ganesha -y
SLES
mmdsh -N NodeList yum erase bind-utils krb5-client openldap2-client sssd-tools ypbind yp-tools -y
Ubuntu
Note: Plan to erase the SSSD packages only if you do not plan to use the SSSD service on the nodes
for any other purpose.
SSSD packages cleanup commands are as follows:
RHEL
Ubuntu
6. Issue rpm -qa --last|more or dpkg -l on all nodes again, as the preceding list does not contain
everything in the new builds.
If the pmswift package still exists, remove it as follows:
RHEL and SLES
Ubuntu
544 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
mmdsh -N NodeList shutdown -r now
Ubuntu
gpfs.msg.en_US-5.1.9-x.noarch
gpfs.gskit-8.0.55.x.x86_64
gpfs.license.xx-5.1.9-x.x86_64
gpfs.crypto-5.1.9-x.x86_64
gpfs.adv-5.1.9-x.x86_64
gpfs.docs-5.1.9-x.noarch
gpfs.base-5.1.9-x.x86_64
gpfs.gpl-5.1.9-x.noarch
b. Before removing anything, make sure that GPFS is shut down on all nodes. To do so, issue the
following command:
mmshutdown -a
c. Remove the packages by issuing the following commands in the order shown.
Note: When you remove the gpfs.base package, you lose the mmdsh access.
Therefore, be sure to remove gpfs.base last, as shown here.
RHEL and SLES
Ubuntu
Note: In the preceding commands, the package name gpfs.license.xx needs to be changed
depending on the IBM Storage Scale product edition.
13. Reinstall GPFS.
14. Proceed to “Installation prerequisites” on page 384 and “Using the installation toolkit to perform
installation tasks: Explanations and examples” on page 442.
Note: If you want to remove all cluster configurations, you can also apply the mmdelnode -f command
to each node; however, if you choose to do so, you will also have to recreate cluster, BSDs, and file
systems.
546 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
2. If the GUI runs on an IBM Storage Scale cluster where sudo wrapper is enabled, export the name of
the user that was configured as the file system administrator as an environment variable by issuing the
following command:
export SUDO_USER=gpfsadmin
In this example, the name of the sudo user is gpfsadmin. Exporting the environment variable
is necessary so that the uninstall process get to know which user name must be used to run
the administrative file system commands that are necessary while uninstalling the GUI. For more
information on how to configure the IBM Storage Scale GUI to use sudo wrapper, see Configuring IBM
Storage Scale GUI to use sudo wrapper in IBM Storage Scale: Administration Guide.
3. Issue the following command to clean up the GUI database:
4. Issue one of the following commands depending on the platform to remove the GUI package.
• Red Hat Enterprise Linux and SLES
rpm -e gpfs.gui-5.1.9-x.noarch
• Ubuntu
dpkg -r gpfs.gui_5.1.9-x_all.deb
These commands stop the GUI services and remove the GUI node from the GUI_MGT_SERVERS node
class.
Note: If you use mmchnodeclass to change the GUI_MGT_SERVERS node class while the GUI services
are running, the management GUI adds the removed node to the GUI_MGT_SERVERS node class again.
For more information, see Creating a container pair set topic in the IBM Storage Scale: Administration
Guide.
3. Delete the Cloud services by issuing a command similar to this:
For more information, see Creating a Cloud services topic in the IBM Storage Scale: Administration
Guide.
4. Delete the CSAP by issuing a command similar to this:
For more information, see Defining cloud storage access points topic in the IBM Storage Scale:
Administration Guide.
5. Delete the cloud storage account by issuing a command similar to this:
For more information, see the Managing a cloud storage account topic in the IBM Storage Scale:
Administration Guide.
6. Stop the Cloud services on all nodes by issuing a command similar to this:
For more information, see the Stopping the Transparent cloud tiering topic in the IBM Storage Scale:
Administration Guide.
7. Disable Cloud services nodes on the node group by issuing a command similar to this:
For more information, see the Designating the Transparent cloud tiering nodes topic in the IBM Storage
Scale: Administration Guide.
8. Delete the node class if required. For more information, see the mmdelnodeclass command in the
IBM Storage Scale: Command and Programming Reference Guide
9. Uninstall the Cloud services RPMs (both server and client) from all the nodes by issuing the following
command:
• rpm -e gpfs.tct.server-x-x.x.x86_64
• rpm -e gpfs.tct.client-x.x.x.x86_64.rpm
548 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Chapter 18. Upgrading
To upgrade to a newer version of IBM Storage Scale, first consider the version that you are upgrading from
and then consider coexistence and compatibility issues.
IBM Storage Scale supports a limited form of backward compatibility between two adjacent releases.
Limited backward compatibility allows you to temporarily operate with a mixture of IBM Storage Scale
nodes running on the newer version and nodes running an earlier version:
• Within a cluster, limited backward compatibility enables you to perform an online upgrade to the new
IBM Storage Scale version of the code if an online upgrade from your current version to the newer
version is supported.
• In a multicluster environment, limited backward compatibility allows the individual clusters to be
upgraded on their own schedules. Access to the file system data can be preserved even though some of
the clusters might still be running at an earlier version.
• In multicluster environments, it is recommended to upgrade the home cluster before the cache cluster
especially if file audit logging, watch folder, clustered watch, and AFM functions are being used.
Tip: Ensure that there is approximately 5 GB of free space on the nodes to download, extract, and install
the packages.
Note: Cluster Export Services (CES) nodes that have the Samba service enabled, do not support backward
compatibility. For more information about upgrading CES nodes, see “Upgrade process flow” on page
593.
Online upgrades allow you to install new IBM Storage Scale code on one node at a time while maintaining
access to the file systems without shutting down IBM Storage Scale on other nodes. However, you must
upgrade all nodes within a short time. The time dependency exists because some IBM Storage Scale
features in the newer version become available on each node as soon as the node is upgraded, while
other features are not available until you upgrade all participating nodes.
You can also perform offline upgrades, if you can shut down the entire cluster. An offline upgrade is
similar to the online upgrade procedure. However, due to the entire cluster being offline, it is possible to
jump straight to the latest code level instead of hopping to an intermediate level, as might be required
during an online upgrade. For information about an offline upgrade procedure, see “Offline upgrade with
complete cluster shutdown” on page 638.
Important: Online upgrade from an unsupported version of IBM Storage Scale or GPFS is not supported.
For information about the upgrade process flow used by the installation toolkit, see “Upgrade process
flow” on page 593. You can use this process flow as a reference for doing manual upgrades on Linux
nodes.
After all nodes are upgraded to the new code, you must finalize the upgrade by running the commands
mmchconfig release=LATEST and mmchfs -V full (or mmchfs -V compat). Also, certain new
features might require you to run the mmmigratefs command to enable them. For more information, see
“Completing the upgrade to a new level of IBM Storage Scale” on page 620.
For the latest information on upgrade, coexistence, and compatibility, see the Supported OS and software
versions section of IBM Storage Scale FAQ in IBM Documentation.
IBM Storage Scale upgrade consists of these topics:
• “IBM Storage Scale supported upgrade paths” on page 550
• “Online upgrade support for protocols and performance monitoring” on page 551
• “Upgrading IBM Storage Scale nodes” on page 552
• “Upgrading IBM Storage Scale non-protocol Linux nodes” on page 553
• “Upgrading IBM Storage Scale protocol nodes” on page 557
• “Upgrading AFM and AFM DR” on page 565
550 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Table 51. IBM Storage Scale supported online upgrade paths (continued)
Upgrad To: To: To: To: To: To: To: To: To: To: To: To: To: To: To: To:
ing 5.0. 5.0. 5.0. 5.0. 5.0. 5.0. 5.1. 5.1. 5.1. 5.1. 5.1. 5.1. 5.1. 5.1. 5.1. 5.1.
from: 0.x 1.x 2.x 3.x 4.x 5.x 0.x 1.x 2.x 3.x 4.x 5.x 6.x 7.x 8.x 9.x
5.1.5.x -- -- -- -- -- -- -- -- -- -- -- ✓ ✓ ✓ ✓ ✓
5.1.6.x -- -- -- -- -- -- -- -- -- -- -- -- ✓ ✓ ✓ ✓
5.1.7.x -- -- -- -- -- -- -- -- -- -- -- -- -- ✓ ✓ ✓
5.1.8.x -- -- -- -- -- -- -- -- -- -- -- -- -- -- ✓ ✓
5.1.9.x -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- ✓
• ✓: Supported
• X: Not supported
• --: Not applicable
Note: After an IBM Storage Scale version is past its end of service (EOS) date, no further testing or proof
of upgrade path to later supported releases is done. It is strongly recommended to upgrade to a newer
version of IBM Storage Scale that is supported before your currently installed version is past its EOS date.
Important: The versions that are not shown in the upgrade paths table are past their EOS date. You
can access upgrade procedures for these versions in the IBM Storage Scale documentation of earlier
releases. For example, if you have IBM Storage Scale 4.2.3.x version, refer to IBM Storage Scale 5.0.x
documentation. However, online upgrade from an unsupported version is not supported. You must use an
offline upgrade for such upgrade paths.
Remember:
• Online upgrade support for protocol nodes depends on which services are enabled and deployed.
Different protocol services have different levels of online upgrade support. For more information, see
“Online upgrade support for protocols and performance monitoring” on page 551.
• IBM Storage Scale installation toolkit can be used for upgrades from version 4.1.1.x onwards.
Related information
IBM Spectrum Scale Software Version Recommendation Preventive Service Planning
IBM Spectrum Scale RAID FAQ in IBM Documentation
3. Important: Back up your file systems to ensure that your data is protected.
4. If file systems are mounted on the node, issue the mmumount command to unmount them.
Do not use the -f option of the mmumount command.
5. Shut down IBM Storage Scale on the node by issuing the following command:
mmshutdown
Note: You do not need to close mmccrmonitor and other mm processes because they are handled by
IBM Storage Scale upgrade post-install scripts.
6. Upgrade the node to a new version of IBM Storage Scale. The steps for upgrading depend on the
operating system that is installed on the node.
• Instructions for upgrading AIX nodes:
– When you upgrade from 5.0.x or later to 5.1.y.z, you must first upgrade to 5.1.y.0 and then
upgrade to 5.1.y.z.
– Copy the installation images and install the IBM Storage Scale licensed programs as described in
the Chapter 6, “Installing IBM Storage Scale on AIX nodes,” on page 497 section.
552 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
i) Uninstall the version of IBM Storage Scale from which you are upgrading and restart the
system.
ii) Uninstall IBM GPFS GSKit applicable for the IBM Storage Scale version from which you are
upgrading and reboot the system.
iii) Uninstall the IBM Storage Scale license.
b. Copy the installation images and install the IBM Storage Scale licensed program as described in
Installing IBM Storage Scale on Windows nodes.
Important: For Windows upgrades, you must issue all the IBM Storage Scale administration
commands from the 5.1.x node.
7. Start IBM Storage Scale on the node by issuing the following command:
mmstartup
8. Mount any file systems that are not mounted automatically when the IBM Storage Scale daemon
starts.
When all the nodes in the cluster are successfully upgraded to the new level, the next step is to complete
the upgrade. For more information, see “Completing the upgrade to a new level of IBM Storage Scale” on
page 620.
Important: Back up your file systems to ensure that your data is protected.
3. If file systems are mounted on the node, run the following command to unmount them:
mmumount all
mmshutdown
Note: You do not need to close the mmccrmonitor command and other mm processes because they
are handled by IBM Storage Scale upgrade post-install scripts.
Verify that the GPFS daemon has terminated and that the kernel extensions are unloaded by using
mmfsenv -u. If the mmfsenv -u command reports that it cannot unload the kernel extensions
because they are busy, then the installation can proceed, but the node must be rebooted after the
installation. Kernel extensions are busy means that a process has a current directory in some GPFS
file system directory or it has an open file descriptor. The Linux utility lsof can identify the process
and that process can then be killed. Retry mmfsenv -u after killing the process and if the command
succeeds, then a reboot of the node can be avoided.
Note:
• The mmfsenv -u command is normally used with assistance from support or for cases where its
usage is specifically documented such as in this scenario.
cd /usr/lpp/mmfs/<x.x.x.x>/gpfs_rpms
cd /usr/lpp/mmfs/<x.x.x.x>/gpfs_debs
Where <x.x.x.x> is the version level of IBM Storage Scale that you are upgrading to.
7. Upgrade the node by using one of the following set of commands. The command choice depends on
the operating system and the product edition that is installed on the node.
Note: The following commands are specific to the current release. If you are upgrading to an earlier
release, see the documentation for that release.
Tip: To determine the currently installed edition, run the following command:
mmlslicense -L
Note:
• Starting with IBM Storage Scale 5.1.0 or later, there are no separate packages for call home, since
call home is integrated into the gpfs.base package.
• If you are upgrading to IBM Storage Scale 5.1.0 or later, you do not need to upgrade the
gpfs.kafka package.
• Red Hat Enterprise Linux 7.x and 8.x
Note: For rpm packages specific to operating systems such as rhel7, rhel8, and rhel9, you need to
install them from specific directories such as rhel7/, rhel8/, and rhel9/.
– If IBM Storage Scale Standard Edition or IBM Storage Scale Data Access Edition is installed on
the node, run the following command. The entire command must be on one line.
– If IBM Storage Scale Advanced Edition or IBM Storage Scale Data Management Edition or IBM
Storage Scale Developer Edition is installed on the node, run the following command. The entire
command must be on one line:
554 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
– If IBM Storage Scale Advanced Edition or IBM Storage Scale Data Management Edition is
installed on the node, run the following command. The entire command must be on one line:
• Ubuntu Linux
– If IBM Storage Scale Standard Edition or IBM Storage Scale Data Access Edition is installed on
the node, run the following command. The entire command must be on one line:
– If IBM Storage Scale Advanced Edition or IBM Storage Scale Data Management Edition is
installed on the node, run the following command. The entire command must be on one line:
• If Ubuntu Linux is installed on the node, run the following command from the gpfs_debs
directory:
Attention: On Ubuntu Linux nodes, in version 5.0.2 and later, you might see an older
version of the gpfs.ext package. You can safely remove this package by running the
following command:
dpkg -P gpfs.ext
c. For IBM Storage Scale Advanced Edition and IBM Storage Scale Data Management Edition, if you
plan to use the AFM-based Asynchronous Disaster Recovery (AFM DR) feature, the file encryption
feature, or the Transparent cloud tiering feature, you must install the following packages:
• gpfs.adv
• gpfs.crypto
9. After a successful upgrade, rebuild the GPFS portability layer (GPL). For more information, see
“Building the GPFS portability layer on Linux nodes” on page 396.
11. Upgrade management GUI packages. For more information, see “Manually upgrading the IBM
Storage Scale management GUI” on page 578.
12. Start IBM Storage Scale on the node by running the following command:
mmstartup
13. Mount any file systems that are not mounted automatically when the IBM Storage Scale daemon
starts.
14. If you disable the call home service in a preceding step, run the following command to enable it:
Repeat the preceding steps on all non-protocol nodes in the cluster. After these steps are done for all
non-protocol nodes in the cluster, proceed with the following steps.
15. Upgrade the license package corresponding to the installed IBM Storage Scale product edition on all
nodes in the cluster.
• For Red Hat Enterprise Linux and SLES:
• For Ubuntu:
556 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Upgrading IBM Storage Scale protocol nodes
Use these steps to upgrade protocol nodes in an IBM Storage Scale cluster.
Perform the following steps for each protocol node in the cluster:
1. Stop all user activity in the file systems on the node that you are upgrading.
2. Stop any protocol services that are running on the node:
a. Issue the following command to suspend Cluster Export Services (CES) and stop the protocol
services on the node:
If you are upgrading from IBM Storage Scale version 5.0.2.0 or earlier, issue the following
commands to suspend the protocol node and stop the protocol services:
b. If you are upgrading from IBM Storage Scale version 5.0.1.2 or earlier to version 5.0.2 or later,
issue the following command to ensure that the mmumount of the CES file system completes
successfully:
mmcesmonitor stop
3. If the call home service is enabled on the cluster, issue the following command to disable it:
Important: Back up your file systems to ensure that your data is protected.
4. If file systems are mounted on the node, issue the following command to unmount them:
mmumount all
mmshutdown
Note: You do not need to close mmccrmonitor and other mm processes because they are handled by
IBM Storage Scale upgrade post-install scripts.
Verify that the GPFS daemon has terminated and that the kernel extensions are unloaded by using
mmfsenv -u. If the mmfsenv -u command reports that it cannot unload the kernel extensions
because they are busy, then the installation can proceed, but the node must be rebooted after the
installation. Kernel extensions are busy means that a process has a current directory in some GPFS
file system directory or it has an open file descriptor. The Linux utility lsof can identify the process
and that process can then be killed. Retry mmfsenv -u after killing the process and if the command
succeeds, then a reboot of the node can be avoided.
Note:
• The mmfsenv -u command is normally used with assistance from support or for cases where its
usage is specifically documented such as in this scenario.
• The mmfsenv -u command only checks the local node from which it is run, not all the nodes in the
cluster.
6. Extract the IBM Storage Scale software packages as described in the topic “Extracting the IBM
Storage Scale software on Linux nodes” on page 387. For more information about the location of
extracted packages, see “Location of extracted packages” on page 393.
7. Change to the directory that contains the IBM Storage Scale package files.
cd /usr/lpp/mmfs/<x.x.x.x>/gpfs_rpms
cd /usr/lpp/mmfs/<x.x.x.x>/gpfs_debs
Where <x.x.x.x> is the version level of IBM Storage Scale that you are upgrading to.
8. Upgrade the protocol node by using one of the following set of steps for depending on the operating
system and the product edition that is installed on the node.
Note: The following commands are specific to the current release. If you are upgrading to an earlier
release, see the documentation for that release.
Tip: To determine the currently installed edition, issue the following command:
mmlslicense -L
Note:
• Starting with IBM Storage Scale 5.1.0 or later, there are no separate packages for call home, since
call home is integrated into the gpfs.base package.
• If you are upgrading to IBM Storage Scale 5.1.0 or later, you do not need to upgrade the
gpfs.kafka package.
• Red Hat Enterprise Linux 7.x and 8.x
Note: For rpm packages specific to operating systems such as rhel7, rhel8, and rhel9, you need to
install them from specific directories such as rhel7/, rhel8/, and rhel9/.
– If IBM Storage Scale Standard Edition or IBM Storage Scale Data Access Edition is installed on
the node, run the following command. The entire command must be on one line.
– If IBM Storage Scale Advanced Edition or IBM Storage Scale Data Management Edition or IBM
Storage Scale Developer Edition is installed on the node, run the following command. The entire
command must be on one line:
– If IBM Storage Scale Advanced Edition or IBM Storage Scale Data Management Edition is
installed on the node, run the following command. The entire command must be on one line:
• Ubuntu Linux
558 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
– If IBM Storage Scale Standard Edition or IBM Storage Scale Data Access Edition is installed on
the node, run the following command. The entire command must be on one line:
– If IBM Storage Scale Advanced Edition or IBM Storage Scale Data Management Edition is
installed on the node, run the following command. The entire command must be on one line:
• If Ubuntu Linux is installed on the node, issue the following command from the gpfs_debs
directory:
Attention: On Ubuntu Linux nodes, in version 5.0.2 and later, you might see an older
version of the gpfs.ext package. You can safely remove this package by issuing the
following command:
dpkg -P gpfs.ext
c. For IBM Storage Scale Advanced Edition and IBM Storage Scale Data Management Edition, if you
plan to use the AFM-based Asynchronous Disaster Recovery feature, the file encryption feature, or
the Transparent cloud tiering feature, you must install the following packages:
• gpfs.adv
• gpfs.crypto
10. After a successful upgrade, rebuild the GPFS portability layer (GPL). For more information, see
“Building the GPFS portability layer on Linux nodes” on page 396.
11. Upgrade object packages on the protocol node. For more information, see “Upgrading object
packages” on page 567.
12. Upgrade performance monitoring packages. For more information, see “Manually upgrading the
performance monitoring tool” on page 574 and “Manually upgrading pmswift” on page 576.
13. Upgrade management GUI packages. For more information, see “Manually upgrading the IBM
Storage Scale management GUI” on page 578.
14. Start IBM Storage Scale on the node by issuing the following command:
mmstartup
15. Mount any file systems that are not mounted automatically when the IBM Storage Scale daemon
starts.
16. Upgrade NFS packages on the protocol node. For more information, see “Upgrading NFS packages”
on page 571.
17. If you disabled the call home service in a preceding step, issue the following command to enable it:
18. If you suspended CES in a preceding step, issue the following command to resume CES and start
protocol services on the node.
If you are upgrading from IBM Storage Scale version 5.0.2.0 or earlier, issue the following commands
to resume the protocol node and start the protocol services:
Repeat the preceding steps on all protocol nodes in the cluster. After these steps are done for all protocol
nodes in the cluster, proceed with the following steps.
19. Do object version sync and start object on all protocol nodes. For more information, see “Upgrading
object packages” on page 567.
20. Upgrade SMB packages on all protocol nodes. For more information, see “Upgrading SMB packages”
on page 569.
21. If you are upgrading from IBM Storage Scale 5.1.0.x or earlier to IBM Storage Scale 5.1.1.x or later,
remove the gpfs.protocols-support package, if it is present.
• For Red Hat Enterprise Linux and SLES:
560 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
• For Ubuntu:
Prerequisites
Before you start the upgrade process, ensure that you meet the following prerequisites:
Repository upgrade
A cloudkit repository upgrade applies to GPFS rpms and their dependencies on existing cloud
repositories.
To upgrade a repository, enter the following command:
Example:
Upgrade verification
After an upgrade, check the GPFS version and confirm the repository upgrade by running the next
command:
Example:
562 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Cluster upgrade
A cloudkit cluster upgrade performs an online upgrade and allows to install a new version of IBM
Storage Scale on one node at a time, while maintaining access to the file systems.
To upgrade an IBM Storage Scale cloud cluster, enter the following command:
Example:
I: To use this cluster via REST interface, you can run (an example API):
curl -u '<gui_username>:<gui_password>' -X GET -k https://13.208.175.133:3125/scalemgmt/v2/
info
mmdiag --version
Then, run the describe command to check that the IBM Storage Scale version is updated with the
upgraded target version.
Example:
564 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
The GDS technical preview for IBM Storage Scale 5.1.1 and all the following IBM Storage Scale versions
starting with 5.1.2 are not concurrently upgradeable. You need to perform the following steps when you
need to use GDS on IBM Storage Scale 5.1.2:
1. Stop all GDS I/O on IBM Storage Scale 5.1.1.x.
2. Upgrade IBM Storage Scale to 5.1.2 or later. For more information, see Chapter 18, “Upgrading,” on
page 549.
3. Update MOFED to supported level. For more information, see Mellanox OFED installation.
4. Update CUDA to the supported version. For more information, see Installing GDS.
5. Update the NVIDIA GDS driver. For more information, see GDS package installation.
Upgrading clusters with IBM Storage Scale versions that do support GDS, that is, 5.1.2 or later
The various versions of GDS in IBM Storage Scale are compatible backwards and thus the general IBM
Storage Scale upgrade procedure can be followed. For more information, see Chapter 18, “Upgrading,” on
page 549.
Related concepts
“GPUDirect Storage support for IBM Storage Scale” on page 27
IBM Storage Scale's support for NVIDIA's GPUDirect Storage (GDS) enables a direct path between GPU
memory and storage. This solution addresses the need for higher throughput and lower latencies. File
system storage is directly connected to the GPU buffers to reduce latency and load on the CPU. For IBM
Storage Scale, this means that data can be read or written directly from / to an NSD server's pagepool and
it is sent to the GPU buffer of the IBM Storage Scale clients by using RDMA. IBM Storage Scale with GDS
requires an InfiniBand or RoCE fabric. In IBM Storage Scale, the mmdiag command is enhanced to print
diagnostic information for GPUDirect Storage.
“Planning for GPUDirect Storage” on page 266
IBM Storage Scale support for GPUDirect Storage (GDS) enables a direct path between GPU memory and
storage. You need to ensure that certain conditions are met before you start installing the feature.
Related tasks
“Installing GPUDirect Storage for IBM Storage Scale” on page 525
IBM Storage Scale support for GPUDirect Storage (GDS) enables a direct path between GPU memory and
storage.
566 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
The cache cluster and the home cluster can be upgraded by using the same method. If any of these
clusters has protocol nodes, upgrade these nodes. For more information, see “Online upgrade support for
protocols and performance monitoring” on page 551.
After you completed upgrade, see “Completing the upgrade to a new level of IBM Storage Scale” on page
620. To know upgrade support for protocols and performance monitoring, see “Online upgrade support
for protocols and performance monitoring” on page 551.
3. Before upgrade, check if any messages are left in the queue. Wait until all pending messages are
completed.
4. Issue the following command to stop replication of the fileset:
5. Before you upgrade the gateway node, issue the following command to verify that the replication
stopped:
6. Unmount the file system and shut down GPFS on the gateway node.
7. Upgrade the gateway node.
8. Issue mmstartup to start the gateway node daemon.
9. Check the node state by issuing mmgetstate.
10. After the node is active, mount the file systems and issue the following command:
2. On all protocol nodes, update the spectrum-scale-object package to the newer version as
follows:
• Use the yum command to update spectrum-scale-object on Red Hat Enterprise Linux.
a. If needed, set up a yum repository for object packages by creating a new file in /etc/
yum.repos.d, such as /etc/yum.repos.d/gpfs_object.repo, with the following content:
[gpfs_object]
name=gpfs_object
baseurl=file:///usr/lpp/mmfs/VERSION/object_rpms/rhel8
enabled=1
gpgcheck=0
Make sure that the path in the baseurl property corresponds to the path to the newer object
packages on the system.
b. The Object protocol in IBM Storage Scale 5.1.2.0 and earlier 5.1.x releases requires OpenStack
16 repositories to be available on all protocol nodes to satisfy the necessary dependencies.
For information on how to set up these repositories, see “OpenStack repository configuration
required by the object protocol” on page 335.
c. After the repository is set up, run the following command to update the spectrum-scale-
object package:
d. Repeat these steps on each protocol node to update the spectrum-scale-object package
on all protocol nodes to the newer version.
e. If a repository file in /etc/yum.repos.d is created in a preceding step, remove the file after
the upgrade completes.
568 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Migrate the existing object protocol configuration to be consistent with the level of installed packages
after you upgrade all protocol nodes to the newer version of the spectrum-scale-object package.
Note: Use the following command to find the list of configured protocol nodes:
mmlsnode -N CESNodes
This command needs to be issued only one time in the cluster to update the configuration on all
protocol nodes.
4. Run the following command to start object protocol-related services on all protocol nodes:
Related tasks
“Upgrading object packages to IBM Storage Scale 5.1.8 or earlier by using the installation toolkit” on page
608
SMB package update in an IBM Storage Scale cluster is done in two phases to minimize the downtime of
the SMB service. The protocol nodes in the cluster are divided in two halves and SMB is updated on each
half one by one. In the following steps, NodeList1 is the comma-separated list of nodes in the first half of
the cluster and NodeList2 is the comma-separated list of nodes in the second half of the cluster.
Note: All protocol nodes that are running the SMB service must have the same version of gpfs.smb
installed at any time. A brief outage of the SMB service is required to upgrade gpfs.smb to the newer
version across all protocol nodes. The procedure that is outlined here is intended to reduce the outage to
a minimum.
1. On the first half of the protocol nodes, do the following steps.
a) Issue the following command to suspend the nodes and stop all the protocol services that are
running on these nodes.
Note: Suspending nodes triggers IP address reassignment and client failover. For more information,
see “SMB fail-over scenarios and upgrade” on page 322.
b) On each node in the first half of protocol nodes, issue one of the following commands, depending
on the operating system, to upgrade the SMB package.
• Red Hat Enterprise Linux or SLES
The name of the IBM Storage Scale SMB package for SLES is in this format:
gpfs.smb_version_string.sles15.architecture.rpm.
Note: After you upgrade the operating system on the protocol nodes from SLES 12, you might
need to uninstall any obsolete packages.
• Ubuntu
apt-get autoremove
Note: This command suspends the remaining protocol nodes and results in a brief outage of the
SMB service till the upgraded nodes are started again in the following step. Suspending nodes
triggers IP address reassignment and client failover. For more information, see “SMB fail-over
scenarios and upgrade” on page 322.
3. On the first half of the protocol nodes, issue the following command to resume the nodes and start all
the protocol services that are enabled on these nodes.
For more information on viewing the health status of a node, and detailed information about the health
status and potential corrective actions, see System health monitoring use cases and Events in IBM
Storage Scale: Problem Determination Guide.
4. On the second half of the protocol nodes, do the following steps.
a) On each node in the second half of protocol nodes, issue one of the following commands,
depending on the operating system, to upgrade the SMB package.
• Red Hat Enterprise Linux or SLES
The name of the IBM Storage Scale SMB package for SLES is in this format:
gpfs.smb_version_string.sles15.architecture.rpm.
Note: After you upgrade the operating system on the protocol nodes from SLES 12, you might
need to uninstall any obsolete packages.
• Ubuntu
The name of the IBM Storage Scale SMB package for Ubuntu 20.04 LTS is in this format:
gpfs.smb_version_string~focal_architecture.deb.
Note: After you upgrade the operating system on the protocol nodes from Ubuntu 16.04 or
Ubuntu 18.04, uninstall any obsolete packages by issuing the following command on each of
these nodes.
apt-get autoremove
b) Issue the following command to resume the nodesand start all the protocol services that are
enabled on these nodes.
For more information on viewing the health status of a node, and detailed information about the
health status and potential corrective actions, see System health monitoring use cases and Events in
IBM Storage Scale: Problem Determination Guide.
570 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Related concepts
“Protocol authentication configuration changes during upgrade” on page 611
During IBM Storage Scale protocol nodes upgrade, do protocol authentication-related configuration
depending on your authentication setup.
For a list of packages for the current IBM Storage Scale release, see “Manually installing the IBM
Storage Scale software packages on Linux nodes” on page 391.
For more information about viewing the health status of a node, and detailed information about the
health status and potential corrective actions, see System health monitoring use cases and Events in
IBM Storage Scale: Problem Determination Guide.
For more information about migrating from CNFS to CES NFS, see Migration of CNFS clusters to CES
clusters in IBM Storage Scale: Administration Guide.
b. For each group, execute the mmcallhome capability, mmcallhome proxy, the mmcallhome
schedule commands to configure the system with the existing settings available in the global
field.
After each change for each group, the corresponding group entry will disappear from the list
command output. Therefore, the new group uses the global value for their setting. The system
displays output similar to this:
572 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
g1 g5001-21.localnet.com disabled
g2 g5001-22.localnet.com disabled
Change the capability to enabled for the group g1. The g1 group is set to use the global value,
and is not listed in the output of the mmcallhome capability list command anymore, as
shown in the sample output:
Additional messages:
License acceptance specified on command line. Callhome enabled.
[root@g5001-21 ~]# mmcallhome capability list
group callHomeNode status
-------- ----------------------- ----------
global --- enabled
g2 g5001-22.localnet.com disabled
574 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Reinstalling performance monitoring collector on Red Hat Enterprise Linux 8.x
nodes
If performance collection functionality is enabled on an IBM Storage Scale node and you run a leapp
upgrade from Red Hat Enterprise Linux 7.x to 8.x, the el7 gpfs.gss.pmcollector package is removed
and the el8 package needs to be reinstalled after the leapp upgrade.
Reinstall gpfs.gss.pmcollector on all Red Hat Enterprise Linux 8.x collector nodes as follows.
Note: For this procedure, it is assumed that when the gpfs.gss.pmcollector package was removed
when leapp upgrade was invoked, the performance monitoring collector configuration was saved
in /opt/IBM/zimon/ZIMonCollector.cfg.rpmsave.
1. Install the applicable gpfs.gss.pmcollector package.
The performance monitoring el8 package is located in the /usr/lpp/mmfs/5.x.x.x/zimon_rpms/
rhel8 directory.
2. Back up the current performance monitoring collector configuration.
mv /opt/IBM/zimon/ZIMonCollector.cfg /opt/IBM/zimon/ZIMonCollector.cfg.orig
3. Restore the earlier saved version of the performance monitoring collector configuration.
cp /opt/IBM/zimon/ZIMonCollector.cfg.rpmsave /opt/IBM/zimon/ZIMonCollector.cfg
For more information about the performance monitoring tool, see Configuring the Performance Monitoring
tool in IBM Storage Scale: Problem Determination Guide.
Uninstall pmswift-version-release.noarch.rpm
1. Stop the pmsensors.service by using the following command:
2. If uninstalling pmswift-4.1.1-4 or later, stop the pmswiftd.service by using the following command:
If you are uninstalling pmswift-4.1.1-3, it should edit the Object configuration files for all Object
servers and remove the entries created at the time of installation. The Object configuration files
in /etc/swift/ directory are:
• account - *.conf
• container - *.conf
• object - *.conf
• proxy - *.conf
This should also edit the sensors configuration file, /opt/IBM/zimon/ZIMonSensors.cfg, to
remove the Object related sensors entries created at the time of installation. If you are uninstalling
pmswift-4.1.1-4 or later these files will be left alone.
4. Ensure that following directories/files are removed. If they are not removed, you can, remove them
manually.
a. /usr/local/swiftmon directory or /usr/local/pmswift directory
b. /var/log/swiftmon directory or /var/log/pmswift directory
c. /var/run/swiftmon directory or /var/runpmswift.pid file
d. For pmswift-4.1.1-4 and later remove /etc/rc.d/init.d/pmswift file and for pmswift-4.1.1-3
remove /etc/rc.d/init.d/pmprovider file
e. For pmswift-4.1.1-3 SwiftAccount.cfg, SwiftContainer.cfg, SwiftObject.cfg and
SwiftProxy.cfg files from within the Performance Monitoring tool’s installation
directory, /opt/IBM/zimon/.
5. Ensure that for pmswift-4.1.1-3 the pmprovider.service and for pmswift-4.1.1-4 and later the
pmswftd.service is not available anymore by running the following command:
systemctl daemon-reload
Install pmswift-version-release.noarch.rpm
1. Install the pmswift rpm by using the following command:
576 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
a. /usr/local/pmswift directory
b. /var/log/pmswift directory
c. /etc/logrotate.d/pmswift file
d. /etc/rc.d/init.d/pmswiftd file
e. SwiftAccount.cfg, SwiftContainer.cfg, SwiftObject.cfg and SwiftProxy.cfg files
in the Performance Monitoring tool’s installation directory, /opt/IBM/zimon/.
3. Edit the Object configuration files for all Object servers that reside in CCR, using the /usr/
local/pmswift/bin/pmswift-config-swift set command. CCR will then propagate modified
configuration files to /etc/swift/ directory on all the protocol nodes within the cluster. The
modified configuration files are:
• account - *.conf
• container - *.conf
• object - *.conf
• proxy - *.conf
4. Edit the sensors configuration file information stored in the CCR using the /usr/local/
pmswift/bin/pmswift-config-zimon set command to add the following Object related
sensors entries:
{
# SwiftAccount operational metrics
name = "SwiftAccount"
period = 1
type = "generic"
restrict= "cesNodes"
},
{
# SwiftContainer operational metrics
name = "SwiftContainer"
period = 1
type = "generic"
restrict= "cesNodes"
},
{
# SwiftObject operational metrics
name = "SwiftObject"
period = 1
type = "generic"
restrict= "cesNodes"
},
{
# SwiftProxy operational metrics
name = "SwiftProxy"
period = 1
type = "generic"
restrict= "cesNodes"
},
These entries are then automatically propagated to the ZIMonSensors.cfg file in /opt/IBM/zimon on
all the nodes in the cluster.
5. Start the pmswiftd.service by using the following command:
dpkg -i gpfs.gui_5.1.9-x_all.deb
2. After installing the packages, you can configure the performance monitoring tools by using the
management GUI, if it is required. For more information, see “Enabling performance tools in
management GUI” on page 414.
3. If the minimum release level set for IBM Storage Scale is not same as the GUI version, change the
release level by issuing the mmchconfig release=LATEST command. As changing the minimum
release level affects the cluster behavior, refer the mmchconfig command man page and other related
topics before you make this configuration change. For more information, see “Completing the upgrade
to a new level of IBM Storage Scale” on page 620.
578 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
4. Issue the systemctl status gpfsgui command to verify the GUI service status.
5. Issue the systemctl status pmcollector and systemctl status pmsensors commands to
verify the status of the performance tool.
Note: Transparent cloud tiering statistics on the IBM Storage Scale GUI is enabled only when the
ENABLE_MCSTORE parameter in the /usr/lpp/mmfs/gui/conf/gpfsgui.properties is set to
"true". During upgrade from IBM Storage Scale 4.2.1.1 to 4.2.2, this parameter is reset to "false", even
though its original value is "true", and the Transparent cloud tiering statistics does not show up on
the IBM Storage Scale GUI. Therefore, it is recommended to manually set the value of the property
to "true" after an upgrade. To activate this change, you must restart the gpfsgui.service. All
other configurations will be intact after the upgrade, and you can continue to perform data migration
seamlessly as before.
3. To upgrade the client package, issue the following command:
580 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
rpm -Uvh gpfs.tct.server-1.1.2.1.x86_64.rpm
Note: Transparent cloud tiering statistics on the IBM Storage Scale GUI is enabled only when the
ENABLE_MCSTORE parameter in the /usr/lpp/mmfs/gui/conf/gpfsgui.properties is set to
"true". During upgrade from IBM Storage Scale 4.2.2 to 4.2.2.1, this parameter is reset to "false", even
though its original value is "true", and the Transparent cloud tiering statistics does not show up on
the IBM Storage Scale GUI. Therefore, it is recommended to manually set the value of the property
to "true" after an upgrade. To activate this change, you must restart the gpfsgui.service. All
other configurations will be intact after the upgrade, and you can continue to perform data migration
seamlessly as before.
3. For upgrading the client system, issue this command:
5. Verify the version by using the mmcloudgateway service version command. The system displays
output similar to this:
Node Daemon node name TCT Type TCT Version Equivalent Product
Version
---------------------------------------------------------------------------------------------
---
1 c350f1u1b7.pok.stglabs.ibm.com Server 1.1.3 4.2.3
Note: This upgrade takes longer than others because of the database schema change. The larger the
database of migrated files, the longer this upgrade will take.
5. Verify the version by using the mmcloudgateway service version command. The system displays
output similar to this:
Node Daemon node name TCT Type TCT Version Equivalent Product
Version
---------------------------------------------------------------------------------------------
---
1 c350f1u1b7.pok.stglabs.ibm.com Server 1.1.3 4.2.3
582 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
rpm -Uvh gpfs.tct.server-1.1.4.x86_64.rpm
5. Verify the version by using the mmcloudgateway service version command. The system displays
output similar to this:
Node Daemon node name TCT Type TCT Version Equivalent Product
Version
---------------------------------------------------------------------------------------------
---
1 c350f1u1b7.pok.stglabs.ibm.com Server 1.1.4 5.0.0
Note: This upgrade takes longer than others because of the database schema change. The larger the
database of migrated files, the longer this upgrade will take.
Note:
• After the upgrade, the previous sensors are no more valid and Cloud services performance monitoring
will fail on the GUI. Therefore, you must remove the old sensors and populate new ones. For more
information, see “Upgrading the Cloud services sensors ” on page 586.
• After the upgrade, do not use any transparent recall policy that was applied in IBM Storage Scale
4.2.x and earlier releases. You might experience hangs during transparent recalls if the old policies
are reused. Therefore, you must remove the older policy (which was applied before upgrade using
mmchpolicy <file-system> -P Default) and enable the transparent recall for the container
using the mmcloudgateway containerpairset update command, after the upgrade.
6. Verify the version by using the mmcloudgateway service version command. The system displays
output similar to this:
Node Daemon node name TCT Type TCT Version Equivalent Product
Version
---------------------------------------------------------------------------------------------
---
1 c350f1u1b7.pok.stglabs.ibm.com Server 1.1.4 5.0.0
Note: This upgrade takes longer than others because of the database schema change. The larger the
database of migrated files, the longer this upgrade will take.
• After the upgrade, the previous sensors are no more valid and Cloud services performance monitoring
will fail on the GUI. Therefore, you must remove the old sensors and populate new ones. For more
information, see “Upgrading the Cloud services sensors ” on page 586.
• After the upgrade, do not use any transparent recall policy that was applied in IBM Storage Scale
4.2.x and earlier releases. You might experience hangs during transparent recalls if the old policies
are reused. Therefore, you must remove the older policy (which was applied before upgrade using
mmchpolicy <file-system> -P Default) and enable the transparent recall for the container
using the mmcloudgateway containerpairset update command, after the upgrade.
After the upgrade, the previous sensors are no more valid and Cloud services performance monitoring
will fail on the GUI. Therefore, you must remove the old sensors and populate new ones. For more
information, see “Upgrading the Cloud services sensors ” on page 586.
584 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
1. Copy the gpfs.tct.server-1.1.5.x86_64.rpm file to each of the nodes that is specified as
Transparent cloud tiering server nodes.
2. Run this command:
6. Verify the version by using the mmcloudgateway service version command. The system displays
output similar to this:
Node Daemon node name TCT Type TCT Version Equivalent Product
Version
---------------------------------------------------------------------------------------------
---
1 c350f1u1b7.pok.stglabs.ibm.com Server 1.1.5 5.0.1
Note: This upgrade takes longer than others because of the database schema change. The larger the
database of migrated files, the longer this upgrade takes.
After the upgrade, the previous sensors are no more valid and Cloud services performance monitoring
will fail on the GUI. Therefore, you must remove the old sensors and populate new ones. For more
information, see “Upgrading the Cloud services sensors ” on page 586.
6. Verify the version by using the mmcloudgateway service version command. The system displays
output similar to this:
Node Daemon node name TCT Type TCT Version Equivalent Product
Version
---------------------------------------------------------------------------------------------
---
1 c350f1u1b7.pok.stglabs.ibm.com Server 1.1.6 5.0.2
Note: This upgrade takes longer than others because of the database schema change. The larger the
database of migrated files, the longer this upgrade will take.
After the upgrade, the previous sensors are no more valid and Cloud services performance monitoring
will fail on the GUI. Therefore, you must remove the old sensors and populate new ones. For more
information, see “Upgrading the Cloud services sensors ” on page 586.
2. Remove the old sensors files from the /opt/IBM/zimon folder of every Cloud services node:
• rm MCStoreGPFSStats.cfg
• rm MCStoreIcstoreStats.cfg
• rm MCStoreLWEStats.cfg
3. Copy the following sensor files from the /opt/ibm/MCStore/config/ folder to the /opt/IBM/
zimon folder:
• TCTDebugDbStats.cfg
• TCTDebugLweDestroyStats.cfg
• TCTFsetGpfsConnectorStats.cfg
• TCTFsetIcstoreStats.cfg
586 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
• TCTFsGpfsConnectorStats.cfg
• TCTFsIcstoreStats.cfg
4. On each Cloud services server node, create a new MCStore-sensor-definition.cfg file
under /opt/IBM/zimon/ and copy the following sensors text into it:
sensors=
{
#Transparent cloud tiering statistics
name = "TCTDebugDbStats"
period = 10
type = "Generic"
},
{
#Transparent cloud tiering statistics
name = "TCTDebugLweDestroyStats"
period = 10
type = "Generic"
},
{
#Transparent cloud tiering statistics
name = "TCTFsetGpfsConnectorStats"
period = 10
type = "Generic"
},
{
#Transparent cloud tiering statistics
name = "TCTFsetIcstoreStats"
period = 10
type = "Generic"
},
{
#Transparent cloud tiering statistics
name = "TCTFsGpfsConnectorStats"
period = 10
type = "Generic"
},
{
#Transparent cloud tiering statistics
name = "TCTFsIcstoreStats"
period = 10
type = "Generic"
}
6. Specify the following command to verify that all the sensors are added:
cephMon = "/opt/IBM/zimon/CephMonProxy"
cephRados = "/opt/IBM/zimon/CephRadosProxy"
colCandidates = "jupiter-vm856.pok.stglabs.ibm.com", "jupiter-vm934.pok.stglabs.ibm.com"
colRedundancy = 2
collectors = {
host = ""
port = "4739"
}
config = "/opt/IBM/zimon/ZIMonSensors.cfg"
ctdbstat = ""
daemonize = T
hostname = ""
ipfixinterface = "0.0.0.0"
logfile = "/var/log/zimon/ZIMonSensors.log"
loglevel = "info"
588 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
},
{
name = "GPFSFilesystemAPI"
period = 10
},
{
name = "GPFSLROC"
period = 0
},
{
name = "GPFSCHMS"
period = 0
},
{
name = "GPFSAFM"
period = 0
},
{
name = "GPFSAFMFS"
period = 0
},
{
name = "GPFSAFMFSET"
period = 0
},
{
name = "GPFSRPCS"
period = 10
},
{
name = "GPFSWaiters"
period = 10
},
{
name = "GPFSFilesetQuota"
period = 3600
restrict = "jupiter-vm856.pok.stglabs.ibm.com"
},
{
name = "GPFSFileset"
period = 300
restrict = "jupiter-vm934.pok.stglabs.ibm.com"
},
{
name = "GPFSPool"
period = 300
restrict = "jupiter-vm934.pok.stglabs.ibm.com"
},
{
name = "GPFSDiskCap"
period = 86400
restrict = "jupiter-vm856.pok.stglabs.ibm.com"
},
{
name = "TCTDebugDbStats"
period = 10
type = "Generic"
},
{
name = "TCTDebugLweDestroyStats"
period = 10
type = "Generic"
},
{
name = "TCTFsetGpfsConnectorStats"
period = 10
type = "Generic"
},
{
name = "TCTFsetIcstoreStats"
period = 10
type = "Generic"
},
{
name = "TCTFsGpfsConnectorStats"
period = 10
type = "Generic"
},
{
name = "TCTFsIcstoreStats"
period = 10
type = "Generic"
7. Specify the following commands to restart your pmsensors and pmcollector on the nodes:
Upgrade paths and commands for file audit logging and clustered
watch folder
Use the following information to upgrade file audit logging and clustered watch folder in IBM Storage
Scale.
File audit logging base functionality was introduced in IBM Storage Scale 5.0.0.
Clustered watch folder base functionality was introduced in IBM Storage Scale 5.0.3.
In IBM Storage Scale 5.1.0, there is a large architecture change that removes the dependency for
the message queue and the gpfs.kafka package. The mmmsgqueue config --remove-msgqueue
command automatically upgrades all components that are needed and disables then re-enables all of
the existing healthy audits and watches. When you run this command, there is a small outage where no
events are generated. The prerequisites to run this command are as follows:
• Run mmchconfig release=LATEST first.
• All file system versions where file audit logging or clustered watch folder are enabled or are planned to
be enabled must set to at least IBM Storage Scale 5.1.0 or later. See mmlsfs <fs> -V to query the file
system version.
• When upgrading file audit logging and clustered watch folder in remote cluster environments, you must
ensure the following:
– For file audit logging, ensure that your system meets the requirements for using file audit logging with
remotely mounted file systems. For more information, see “Requirements for using file audit logging
with remotely mounted file systems” on page 534.
– To avoid version conflicts, it is required that you upgrade the accessing clusters before upgrading the
owning cluster. Unexpected errors might occur on the remotely mounted file systems with file audit
590 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
logging enabled if the remote cluster is at IBM Storage Scale 5.0.1 or earlier and the owning cluster
was upgraded first.
Note: For more information about issues that might occur during an upgrade, see File audit logging issues
in the IBM Storage Scale: Problem Determination Guide.
If file audit logging or clustered watch folder has never been enabled or your cluster was installed at 5.1.2
or later, the mmmsgqueue config --remove-config command does not need to run.
If you are upgrading from 5.0.5.X with msgqueue enabled, you must disable file audit logging and
clustered watch folder and then run mmmsgqueue config --remove before the upgrade. File audit
logging and clustered watch folder can be enabled after the upgrade completes.
If you are upgrading from 5.1.0.X/5.1.1.X with msgqueue enabled, you must run mmmsgqueue config
--remove-msgqueue prior to the upgrade. This re-enables file audit logging and clustered watch folders
automatically.
After a full cluster upgrade to 5.1.3 and above, regardless of file system level, the mmrestorefs
command will not restore files that are located in the .audit_log fileset or configuration fileset. The
current configuration will not be overwritten and audit records will not be removed or restored.
If running file audit logging or watch folder in a mixed release environment, issue the management
commands from the lowest release level node.
The prompt is displayed on every specified node. You can also enable workload prompt on all nodes in the
cluster definition file by using the -N all option of the command.
Note: You can skip package dependency check during the Toolkit upgrade precheck by using the following
command.
592 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Failure recovery
In case the upgrade does not complete successfully, certain steps need to be done to identify the issue
and take appropriate action to recover from the upgrade failure. For more information, see Upgrade issues
and Upgrade recovery in IBM Storage Scale: Problem Determination Guide.
Upgrade phases
• Upgrade precheck
• “Phase 1” on page 594: Upgrade of all non-protocol nodes
Note: If the nodes that are being upgraded are protocol nodes, this phase is not applicable.
• “Phase 2” on page 595: Upgrade of protocol nodes (except SMB and CES components)
Note: If the nodes that are being upgraded are non-protocol nodes, this phase is not applicable.
• “Phase 3” on page 597: Object version sync, SMB upgrade, and CES upgrade on protocol nodes;
License package upgrade on all nodes; and File audit logging message queue enabling at cluster level.
Note: If the nodes that are being upgraded are non-protocol nodes, the object version sync, SMB
upgrade, and CES upgrade tasks of this phase are not applicable.
• Phase 4: CES HDFS upgrade on DataNodes and NameNodes
• Upgrade post-check
Upgrade precheck
Important: It is highly recommended to run the upgrade precheck while you are planning to upgrade,
before the actual upgrade procedure. Doing this allows you adequate time to address any issues flagged
during the upgrade precheck. The upgrade precheck can be done hours or days in advance and it does not
have any impact on the cluster operations.
As part of the upgrade precheck, the following tasks are performed by the installation toolkit.
• Determine the installed IBM Storage Scale packages across the cluster on all nodes.
• Compare the versions of the installed packages with the versions in the repository of the packages that
you want to upgrade to.
In a mixed operating system cluster, the comparison is done with the package repository applicable for
the operating system running on the respective nodes.
• Determine which packages need to be upgraded on each node.
• For every package that needs to be upgraded or installed, dependency check is done to ensure that all
dependencies are met. The upgrade procedure throws an error and exits, if any dependency is not met.
• Check whether passwordless SSH is set up.
• Check if supported OS is installed.
• Check whether upgrade path is valid.
594 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
9 Start up GPFS and mount the file systems.
Attention: At this point, I/O from this node
resumes.
Phase 2
8 Upgrade NFS.
9 Upgrade performance monitoring.
10 Upgrade GUI.
11 Start up GPFS and mount the file systems.
Attention: At this point, I/O from this node
resumes.
596 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Phase 3
1 Perform object version sync from one of the protocol nodes and start object
services on all protocol nodes.
Attention: At this point, object I/O resumes in the whole
cluster.
Phase 4
In this phase, as part of the CES HDFS upgrade, the gpfs.hdfs-protocol package is upgraded on
all DataNodes and NameNodes. For more information, see Upgrading CES HDFS Transparency in IBM
Storage Scale: Big data and analytics support.
Upgrade post-check
As part of the upgrade post-check, the following tasks are performed by the installation toolkit.
• Check the health of the nodes.
• Compare the versions of the installed packages with the versions in the package repository.
In a mixed operating system cluster, the comparison is done with the package repository applicable for
the operating system running on the respective nodes.
• If any package is not upgraded, the installation toolkit prompts you to rerun the upgrade procedure.
You must complete the upgrade to the new code level to take advantage of the new functionality. For
more information, see “Completing the upgrade to a new level of IBM Storage Scale” on page 620.
Related concepts
Performing offline upgrade or excluding nodes from upgrade by using installation toolkit
Upgrade rerun after an upgrade failure
The installation toolkit supports upgrade rerun if an upgrade fails.
Related tasks
Performing online upgrade by using the installation toolkit
598 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Use the following procedure to do an online upgrade of IBM Storage Scale by using the installation toolkit.
Upgrading object packages to IBM Storage Scale 5.1.8 or earlier by using the installation toolkit
Upgrading IBM Storage Scale on IBM Spectrum Archive Enterprise Edition (EE) nodes by using the
installation toolkit
To do an offline upgrade based on the findings in the precheck results, do the steps in “Designating
nodes as offline in the upgrade configuration” on page 602.
7. Run the upgrade process by using the ./spectrumscale upgrade run command.
Accept the warnings for system impact and interruption during the upgrade.
Note: On Ubuntu nodes, if the call home capability is enabled, after upgrading the call home
packages to version 5.0.1 or later, issue the following commands from one of the nodes that is a
part of a call home group.
After the upgrade is completed, the installation toolkit automatically runs the upgrade post checks.
You can manually run the upgrade post checks by issuing the ./spectrumscale upgrade
postcheck command.
600 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
8. If the fresh upgrade is not successful, do an upgrade rerun as needed. For more information, see
“Upgrade rerun after an upgrade failure” on page 607.
9. After the upgrade process is done, complete the upgrade to the new code level to take advantage of
the new functions. For more information, see “Completing the upgrade to a new level of IBM Storage
Scale” on page 620.
10. Do the protocols authentication configuration that is required after you upgrade protocol nodes. For
more information, see “Protocol authentication configuration changes during upgrade” on page 611.
Related concepts
Upgrade process flow
Performing offline upgrade or excluding nodes from upgrade by using installation toolkit
Upgrade rerun after an upgrade failure
The installation toolkit supports upgrade rerun if an upgrade fails.
Related tasks
Upgrading object packages to IBM Storage Scale 5.1.8 or earlier by using the installation toolkit
Upgrading IBM Storage Scale on IBM Spectrum Archive Enterprise Edition (EE) nodes by using the
installation toolkit
[ INFO ] The node vm1.ibm.com was added in excluded list previously. Clearing
this from excluded list. [ INFO ] Adding vm1.ibm.com as smb offline
• After an offline upgrade, you must ensure that all unhealthy services are manually started by using
mmces service start for protocol components and mmstartup for GPFS.
An offline upgrade is done on this node, which means that all installed packages are upgraded without
restarting any services.
Important: Before you designate a node as offline, you must ensure that none of the components are
active and if the node is a protocol node, then it must be suspended.
– To check the status of the GPFS daemon, issue the mmgetstate command.
– To stop the GPFS daemon, issue the mmshutdown command.
– To check the status of protocol components, issue the mmces service list command.
– To suspend the protocol node and stop the protocol services, issue the mmces node suspend
--stop command.
If you are upgrading from IBM Storage Scale version 5.0.2.0 or earlier, issue the following commands
to suspend the protocol node and stop the protocol services:
• To designate all nodes as offline and do a full offline upgrade across the cluster, issue this command:
All installed packages are upgraded on all the nodes in the cluster, but no services are restarted on any
of the nodes.
602 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
• Clearing the offline designation.
– To clear all offline designations from a specific node, issue this command:
– To clear all the offline designations from all the nodes, issue this command:
• To clear both the offline and the exclude configuration, issue this command:
• To view all configuration that is done for offline upgrade, issue this command:
The output of this command includes the nodes that are excluded and the nodes where the components
are designated as offline. An offline upgrade is initiated based on this configuration.
For example,
• Ensure that not all admin nodes are excluded and that at least one admin node is available in the
nonexcluded list. For example, if you have three admin nodes in a cluster that you want to upgrade, then
This command ensures that the installation toolkit does not do any action on node1 and node2 during
upgrade.
• Clearing the exclude designations.
– To clear the exclude configuration from specific nodes, issue this command:
Note: It is not recommended to clear only a subset of the protocol nodes that are designated as
offline.
– To clear the exclude configuration from all nodes, issue this command:
3. For nodes that are designated as excluded, designate them as offline if all services are not running by
using this command:
4. Run the upgrade procedure on the offline designated nodes by using this command:
The installation toolkit upgrades the packages and restarts the services only for an online upgrade. For
an offline upgrade, the installation toolkit only upgrades the packages that are currently installed on
the offline designated nodes.
5. After the upgrade procedure is completed, do the following:
• Restart the GPFS daemon by using the mmstartup command on each offline designated node.
• If the object protocol is configured, do the post-upgrade object configuration by using the following
command from one of the protocol nodes.
• Resume the protocol node and restart the protocol services by using the mmces node resume
--start command for every offline designated node that is a protocol node.
If you are upgrading from IBM Storage Scale version 5.0.2.0 or earlier, issue the following commands
to resume the protocol node and start the protocol services:
604 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
• Configure the protocols authentication that is required after you upgrade protocol nodes. For more
information, see “Protocol authentication configuration changes during upgrade” on page 611.
# mmshutdown -a
2. If your cluster comprises protocol nodes, suspend protocol services on those nodes.
3. Designate all nodes in the cluster as offline in the upgrade configuration of the installation toolkit.
In the 1st phase, the installation toolkit upgrades core components such as GPFS, file audit logging,
performance monitoring, and GUI on all nodes in parallel. In the 2nd phase, the installation toolkit
upgrades all protocol components on all protocol nodes in parallel.
606 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Limitations of excluding nodes in the upgrade configuration
You cannot exclude a node if SMB service is running on it. This restriction is not applicable for NFS or
object. For example, when you try to exclude from the upgrade configuration the vm1 node that is running
SMB, an error occurs.
[ FATAL ] In order to exclude a protocol node running SMB from the current upgrade, the SMB
service must first be stopped on that node.
Please stop SMB using the mmces command and retry.
Related concepts
Upgrade process flow
Upgrade rerun after an upgrade failure
The installation toolkit supports upgrade rerun if an upgrade fails.
Related tasks
Performing online upgrade by using the installation toolkit
Use the following procedure to do an online upgrade of IBM Storage Scale by using the installation toolkit.
Upgrading object packages to IBM Storage Scale 5.1.8 or earlier by using the installation toolkit
Upgrading IBM Storage Scale on IBM Spectrum Archive Enterprise Edition (EE) nodes by using the
installation toolkit
Upgrading object packages to IBM Storage Scale 5.1.8 or earlier by using the
installation toolkit
Important:
• CES Swift Object protocol feature is not supported from IBM Storage Scale 5.1.9 onwards.
• IBM Storage Scale 5.1.8 is the last release that has CES Swift Object protocol.
• IBM Storage Scale 5.1.9 will tolerate the update of a CES node from IBM Storage Scale 5.1.8.
– Tolerate means:
- The CES node will be updated to 5.1.9.
- Swift Object support will not be updated as part of the 5.1.9 update.
- You may continue to use the version of Swift Object protocol that was provided in IBM Storage
Scale 5.1.8 on the CES 5.1.9 node.
- IBM will provide usage and known defect support for the version of Swift Object that was provided
in IBM Storage Scale 5.1.8 until you migrate to a supported object solution that IBM Storage Scale
provides.
• Please contact IBM for further details and migration planning.
Note: Object packages from IBM Storage Scale version 5.0.x cannot be directly upgraded to IBM Storage
Scale version 5.1.9. Before upgrading to the IBM Storage Scale version 5.1.9, you must update the object
packages to IBM Storage Scale version 5.1.8 or an earlier version. After the upgrade to IBM Storage Scale
version 5.1.8 or earlier is complete, you can attempt the upgrade to IBM Storage Scale version 5.1.9.
Upgrading object packages from IBM Storage Scale version 5.0.x to IBM Storage Scale versions 5.1.0.x
through 5.1.8.x by using the installation toolkit requires certain extra steps because the object protocol is
not supported on Red Hat Enterprise Linux 7.x.
In IBM Storage Scale versions 5.1.0.x through 5.1.8.x, the object protocol is supported only on Red Hat
Enterprise Linux 8.x. Therefore, object upgrade from IBM Storage Scale version 5.0.x involves a system
upgrade from Red Hat Enterprise Linux 7.x to 8.x along with upgrade to IBM Storage Scale versions
5.1.0.x through 5.1.8.x.
The object protocol in IBM Storage Scale 5.1.2.0 and earlier 5.1.x releases requires the OpenStack
installation repositories to be available on the protocol nodes to resolve the necessary dependencies.
Before beginning the upgrade, ensure that the systems have access to the OpenStack packages. Red Hat
Enterprise Linux systems with the Red Hat OpenStack Platform subscription can get the packages from
the subscription manager. The packages are also available through publicly accessible repositories, which
are described in OpenStack packages for RHEL and CentOS on the OpenStack documentation website.
Do the following steps for upgrading object packages from IBM Storage Scale version 5.0.x to IBM Storage
Scale versions 5.1.0.x through 5.1.8.x by using the installation toolkit. Because the object upgrade must
be done in the offline mode, all protocol services are down during the duration of this process.
1. Stop all object services on all protocol nodes by running the following command from one of the
protocol nodes.
2. Clean up object-related packages on each node by using “Instructions for removing object protocol
packages when upgrading protocol nodes to Red Hat Enterprise Linux 8.x” on page 633.
3. Use leapp upgrade to upgrade from Red Hat Enterprise Linux 7.x to 8.x on each node. For more
information, see Upgrading from RHEL 7 to RHEL 8 on the Red Hat documentation website.
The Object protocol in IBM Storage Scale 5.1.2.0 and earlier 5.1.x releases requires OpenStack 16
repositories to be available on all protocol nodes to satisfy the necessary dependencies. For more
608 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
information about how to set up these repositories, see “OpenStack repository configuration required
by the object protocol” on page 335.
Note: The protocol nodes need to be upgraded in the offline mode.
4. Proceed with the offline upgrade by using the installation toolkit according to the instructions in
“Performing offline upgrade or excluding nodes from upgrade by using installation toolkit” on page
601.
Note: When suspending the protocol nodes as part of the offline upgrade, it is expected to see error
messages about missing OpenStack commands.
5. After the upgrade is completed, start IBM Storage Scale on the protocol nodes and resume these
nodes by using the following commands.
mmstartup -N ProtocolNodes
mmces node resume -N ProtocolNodes
6. Migrate the object protocol configuration to the latest version by running the following command from
a protocol node.
Related concepts
Upgrade process flow
Performing offline upgrade or excluding nodes from upgrade by using installation toolkit
Upgrade rerun after an upgrade failure
The installation toolkit supports upgrade rerun if an upgrade fails.
Related tasks
Performing online upgrade by using the installation toolkit
Use the following procedure to do an online upgrade of IBM Storage Scale by using the installation toolkit.
Upgrading IBM Storage Scale on IBM Spectrum Archive Enterprise Edition (EE) nodes by using the
installation toolkit
b) Deactivate failover operations by issuing the following command on all IBM Spectrum Archive
Enterprise Edition (EE) nodes.
dsmmigfs disablefailover
dsmmigfs stop
d) Stop the IBM Storage Protect for Space Management service by issuing the following command on
all IBM Spectrum Archive Enterprise Edition (EE) nodes.
After these steps, proceed with downloading, extracting, and doing other steps before an installation
toolkit upgrade precheck. For more information, see “Upgrading IBM Storage Scale components with the
installation toolkit” on page 591.
2. Run the installation toolkit upgrade precheck by issuing the following commands.
cd /usr/lpp/mmfs/5.1.x.x/ansible-toolkit
./spectrumscale upgrade precheck
export SSFEATURE_OVERRIDE_EXT_PKG_DEPS=true
4. Rerun the installation toolkit upgrade precheck by issuing the following command.
b) Start the IBM Storage Protect for Space Management daemons by issuing the following command
on all IBM Spectrum Archive Enterprise Edition (EE) nodes.
dsmmigfs start
c) Activate failover operations by issuing the following command on all IBM Spectrum Archive
Enterprise Edition (EE) nodes.
dsmmigfs enablefailover
d) Start IBM Spectrum Archive Enterprise Edition (EE) by issuing the following command from one of
theIBM Spectrum Archive Enterprise Edition (EE) nodes.
After these steps, you must complete the upgrade to a new code level to take advantage of the new
functions. For more information, see “Completing the upgrade to a new level of IBM Storage Scale” on
page 620.
610 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Related concepts
Upgrade process flow
Performing offline upgrade or excluding nodes from upgrade by using installation toolkit
Upgrade rerun after an upgrade failure
The installation toolkit supports upgrade rerun if an upgrade fails.
Related tasks
Performing online upgrade by using the installation toolkit
Use the following procedure to do an online upgrade of IBM Storage Scale by using the installation toolkit.
Upgrading object packages to IBM Storage Scale 5.1.8 or earlier by using the installation toolkit
You identify authentication scheme that is configured for file protocols with the value of the field FILE
protocols is configured for in the command output.
Upgrade authentication for file protocols set up with the LDAP-based authentication
scheme
If file protocols are set up with the LDAP-based authentication scheme, complete the following steps.
These steps are applicable for any variation of the LDAP-based authentication scheme.
Note: Issue the following commands when upgrade steps for the first protocol node in the cluster are
being done. Do not repeat the following steps for the remaining protocol nodes.
1. Install the sssd-tools package on all the protocol nodes.
2. Obscure the password that is stored in the SSSD configuration file by doing the following steps.
a. Copy the current SSSD configuration file to the /tmp path.
b. Store the secret of the LDAP user that is used to integrate with the LDAP server in the current
session.
d. Clear the secret from the current session by issuing the following command.
# unset secret
e. Publish the updated file to the CCR by issuing the following command.
f. Delete the SSSD configuration file from the /tmp path by issuing the following command.
# /bin/rm /tmp/sssd_update.conf
3. On each protocol node, publish the updated SSSD configuration file as follows.
a. Publish the new SSSD configuration file from IBM Storage Scale configuration repository to the
node.
4. Validate that the users from the LDAP server can be successfully resolved on all the protocol nodes.
Upgrade authentication for file protocols set up with the LDAP-based authentication
scheme and communication with the LDAP server secured by TLS
If file protocols are set up with the LDAP-based authentication scheme and the communication with the
LDAP server is secured by using the TLS protocol, do the following steps. These steps are applicable for
any variation of the LDAP-based authentication scheme that is secured by TLS.
Note:
• You can confirm that you are using LDAP secured with TLS, if ENABLE_SERVER_TLS is true in the
output of the mmuserauth service list command.
• Issue the following commands when upgrade steps for the first protocol node in the cluster are being
done. Do not repeat the following steps for the remaining protocol nodes.
1. Fetch the configuration file from the CCR.
TLS_PROTOCOL_MIN 3.3
c. Add the following new entry to the file based on an operating system (OS) of the protocol node.
If the OS of the protocol node is RHEL or SLES, add the following entry.
TLS_CIPHER_SUITE DEFAULT:!SSLv3:!TLSv1:!TLSv1.1:@STRENGTH
TLS_CIPHER_SUITE NORMAL:-VERS-ALL:+VERS-TLS1.3:+VERS-TLS1.2:-AES-128-CBC:-AES-256-CBC
612 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
d. Save the file.
3. Publish the updated file to the CCR by issuing the following command.
4. Propagate the changes to all the protocol nodes of the cluster by issuing the following command.
# /bin/rm /tmp/ldap_conf.from.ccr
Upgrade authentication for file protocols set up with AD or LDAP file authentication
with Kerberos
From IBM Storage Scale 5.1.2, the system file /etc/krb5.keytab is not used for file authentication that
involves Kerberos. IBM Storage Scale uses a custom keytab file.
If you are using AD or LDAP file authentication with Kerberos, do the following steps to upgrade the
authentication configuration.
Note: You can confirm that you are using AD or LDAP file authentication with Kerberos, if either
ENABLE_NFS_KERBEROS or ENABLE_KERBEROS is true in the output of the mmuserauth service
list command.
1. Complete the upgrade steps on protocol nodes by using the installation toolkit or the manual upgrade
procedure.
2. Run the /usr/lpp/mmfs/bin/mmktupgrade script.
The script creates a custom keytab file /var/mmfs/etc/krb5_scale.keytab and does the
necessary NFS and SMB configuration changes.
3. Restart NFS and SMB on protocol nodes for the configuration changes to take effect.
Note: To prevent downtime, you can restart services on these nodes in a phased manner.
After these steps, IBM Storage Scale uses the custom keytab file for Kerberos authentication.
If this error occurs, set the LDAPMAP_DOMAINS variable to none in the cluster configuration repository
(CCR) by doing the following steps from any protocol node.
1. Edit the /tmp/authccr file and set LDAPMAP_DOMAINS=none. If the LDAPMAP_DOMAINS entry is not
present, add the entry and set it to none.
2. Issue this command.
Warning: The mmccr command is an IBM Storage Scale internal component and it must be used
only under the guidance of IBM Support. If the mmccr command is used incorrectly, the cluster can
become nonoperational.
cd /usr/lpp/mmfs/x.x.x.x/ansible-toolkit
./spectrumscale upgrade precheck
cd /usr/lpp/mmfs/x.x.x.x/ansible-toolkit
./spectrumscale upgrade run
With these steps, the product edition is changed and the applicable packages are installed on all nodes
that are specified in the cluster definition file.
• Use the following steps to change the product edition manually, one node at a time.
Note: In the following steps, rpm and dpkg commands are used for installing and uninstalling
packages. You can also use package manager commands such as yum, zypper, and apt-get for
installing and uninstalling packages, if the respective repository is set up in your environment.
614 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
a) Download from IBM FixCentral the installation image of the IBM Storage Scale edition that you are
planning to change to.
b) Extract the installation image.
c) Unmount all file systems on the node.
mmumount all
mmlsmount -L -N NodeName
mmshutdown
f) Uninstall the current license package by using one of the following commands depending on your
product edition change path and the operating system.
– IBM Storage Scale Standard Edition to IBM Storage Scale Data Access Edition or IBM Storage
Scale Advanced Edition or IBM Storage Scale Data Management Edition
RHEL and SLES:
rpm -e License_Package_Name
You can obtain the license package name by using the rpm -qa | grep gpfs.license
command.
Ubuntu:
dpkg -P License_Package_Name
You can obtain the license package name by using the dpkg -l | grep gpfs.license
command.
– IBM Storage Scale Advanced Edition to IBM Storage Scale Data Management Edition
RHEL and SLES:
rpm -e License_Package_Name
You can obtain the license package name by using the rpm -qa | grep gpfs.license
command.
Ubuntu:
dpkg -P License_Package_Name
You can obtain the license package name by using the dpkg -l | grep gpfs.license
command.
g) Install the new license package by using one of the following sets of commands depending on your
product edition change path and the operating system.
– IBM Storage Scale Standard Edition to IBM Storage Scale Data Access Edition
RHEL and SLES:
cd /usr/lpp/mmfs/x.x.x.x/gpfs_rpms
rpm -ivh gpfs.license.da*.rpm
Ubuntu:
cd /usr/lpp/mmfs/x.x.x.x/gpfs_debs
dpkg -i gpfs.license.da*.deb
– IBM Storage Scale Standard Edition to IBM Storage Scale Data Management Edition
cd /usr/lpp/mmfs/x.x.x.x/gpfs_rpms
rpm -ivh gpfs.license.dm*.rpm
Ubuntu:
cd /usr/lpp/mmfs/x.x.x.x/gpfs_debs
dpkg -i gpfs.license.dm*.deb
– IBM Storage Scale Standard Edition to IBM Storage Scale Advanced Edition
RHEL and SLES:
cd /usr/lpp/mmfs/x.x.x.x/gpfs_rpms
rpm -ivh gpfs.license.adv*.rpm
Ubuntu:
cd /usr/lpp/mmfs/x.x.x.x/gpfs_debs
dpkg -i gpfs.license.adv*.deb
– IBM Storage Scale Advanced Edition to IBM Storage Scale Data Management Edition
RHEL and SLES:
cd /usr/lpp/mmfs/x.x.x.x/gpfs_rpms
rpm -ivh gpfs.license.dm*.rpm
Ubuntu:
cd /usr/lpp/mmfs/x.x.x.x/gpfs_debs
dpkg -i gpfs.license.dm*.deb
mmstartup
mmumount all -a
mmlsmount -L
mmshutdown -a
f) Uninstall the current license package by using one of the following commands depending on your
product edition change path and the operating system.
– IBM Storage Scale Standard Edition to IBM Storage Scale Data Access Edition or IBM Storage
Scale Advanced Edition or IBM Storage Scale Data Management Edition
616 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
RHEL and SLES:
You can obtain the license package name by using the rpm -qa | grep gpfs.license
command.
Ubuntu:
You can obtain the license package name by using the dpkg -l | grep gpfs.license
command.
– IBM Storage Scale Advanced Edition to IBM Storage Scale Data Management Edition
RHEL and SLES:
You can obtain the license package name by using the rpm -qa | grep gpfs.license
command.
Ubuntu:
You can obtain the license package name by using the dpkg -l | grep gpfs.license
command.
NodeList is a file that contains the list of nodes.
g) Use one of the following sets of commands depending on your product edition change path and the
operating system.
– Install the new license package.
- IBM Storage Scale Standard Edition to IBM Storage Scale Data Access Edition
RHEL and SLES:
Ubuntu:
- IBM Storage Scale Advanced Edition to IBM Storage Scale Data Management Edition
RHEL and SLES:
Ubuntu:
– Install the new license package, and gpfs.adv and gpfs.crypto packages.
- IBM Storage Scale Standard Edition to IBM Storage Scale Data Management Edition
RHEL and SLES:
Ubuntu:
- IBM Storage Scale Standard Edition to IBM Storage Scale Advanced Edition
RHEL and SLES:
Ubuntu:
mmstartup -a
• To migrate from 4.2.2.x Express Edition to 4.2.3 Standard Edition or later on Red Hat Enterprise Linux
and SLES, use these steps.
a) Uninstall the Express Edition license RPM by issuing the following command.
rpm -e gpfs.license.exp*.rpm
b) Update the existing RPMs and install new RPMs by issuing the following command.
dpkg -i gpfs*deb
• To migrate from 4.2.2.x Express Edition to the 4.2.3 Standard Edition or later on Debian and Ubuntu,
use these steps.
618 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
a) Uninstall the Express Edition license package by issuing the following command.
dpkg -r gpfs.license.exp*deb
b) Update the existing packages and install new packages by issuing the following command.
dpkg -i gpfs*deb
AIX
• Depending on whether you want to be able to revert to the previous version without reinstalling or
uninstalling or not, do one of the following sets of steps.
• If you want to be able to revert to previous version without reinstalling or uninstalling, do one of the
following sets of steps:
- To migrate from 4.2.0.x or 4.2.1.x Express Edition to 4.2.3 Standard Edition or later on AIX, use
these steps.
1. Update existing packages to 4.2.3 level or a later version by using the PTF images on
FixCentral.
2. Install additional packages from CD images.
- To migrate from 4.2.2.x Express Edition to 4.2.3 Standard Edition on AIX, use these steps.
1. Update existing packages to 4.2.3 level or a later version by using the PTF images on
FixCentral.
2. Install more packages from CD images.
3. After a successful update, uninstall the gpfs.license.exp package.
To revert to the previous version, do the following steps:
1. Uninstall all additional packages installed from CD images.
2. Reject the PTF images.
3. If you are reverting to 4.2.2.x and you had uninstalled the gpfs.license.exp package for
migrating to Standard Edition, install the gpfs.license.exp package.
• If you can reinstall or uninstall to revert to the previous version, do one of the following sets of
steps:
- To migrate from 4.2.0.x or 4.2.1.x Express Edition to 4.2.3 Standard Edition or later on AIX, install
4.2.3 packages from CD images.
- To migrate from 4.2.2.x Express Edition to 4.2.3 Standard Edition or later on AIX, use these steps.
1. Install 4.2.3 or a later version packages from CD images.
2. After a successful update, uninstall the gpfs.license.exp package.
Windows
• To migrate from 4.2.2.x or earlier Express Edition to Standard Edition 4.2.3 or later on Windows, use
these steps.
a) Uninstall the current IBM Storage Scale packages (For example, gpfs.base-4.x.x.0-
Windows.msi, gpfs.gskit-8.0.x.x.msi, and gpfs.x.license.msi).
b) Restart the system.
c) Install gpfs.ext-4.x.x.-Windows-license.msi, gpfs.ext-4.x.x.0-Windows.msi, and
gpfs.gskit-8.0.x.x.msi packages.
mmchconfig release=LATEST,<parameterN=value>,<parameterN+1=value>...
The following table describes the options and parameters that are referred to in this topic.
620 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Table 54. Other options and parameters with mmchconfig release=LATEST (continued)
Option/Parameter Purpose Comment
--accept-no-compliance- Specify this option if you do not want It is recommended to run
to-nist-standards to continue running the cluster with the the security transport that
security transport that follows the NIST follows the NIST SP800-131A
SP800-131A recommendations. recommendations:
For more information, see the topic NIST • Set nistCompliance
compliance in the IBM Storage Scale: attribute to SP800-131A
Administration Guide
mmchconfig
nistCompliance=SP800-131
A
• Set nistCompliance
attribute to SP800-131A at
the same time when you
upgrade IBM Storage Scale
to a new level.
mmchconfig
release=LATEST,nistCompl
iance=SP800-131A
# mmauth show .
ii) Enter mmauth show . again and verify that the value for SHA digest is no longer
(undefined).
622 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
c) If the value for cipherList is (none specified) or EMPTY, do one of the following actions:
• If you want a level of security in communications between nodes and with other clusters, follow
these steps:
i) Set cipherList to AUTHONLY or to a supported cipher:
ii) Enter mmauth show . again and verify that the value for cipherList is no longer (none
specified) or EMPTY.
• If you do not want a level of security cluster communications, let cipherList remain set to
(none specified) or EMPTY.
2. Enter the following command to upgrade the cluster configuration data and enable new functionality.
You can add the parameters that are described in Table 54 on page 620 to the command line:
mmchconfig release=LATEST
Note: Until you run the mmchconfig release=LATEST command, the management GUI might not
be fully operational at the new code level.
Important: If the mmchconfig command detects any nodes that are not available or cannot be
reached, it lists the names of those nodes. If any such nodes are listed, correct the problem and run
the command again until it verifies all the nodes and completes successfully.
Note: If the mmchconfig command fails with an error message that indicates that cipherlist is set
to EMPTY, do one of the following actions:
• If you want the cluster to run with a higher security mode than EMPTY, set cipherList to
AUTHONLY or to a supported cipher:
Return to the first part of Step 2 and run the mmchconfig command as before.
• If you want the cluster to continue with the security mode set to EMPTY, return to the first part
of Step 2 and run the mmchconfig command with the additional parameter --accept-empty-
cipherlist-security.
3. If you have not already done so, assign an appropriate IBM Storage Scale license to each of the nodes
in the cluster.
See “IBM Storage Scale license designation” on page 227 for a detailed description of the IBM Storage
Scale license types. To see what the minimum required IBM Storage Scale license is for each of the
nodes in the cluster, enter the following command:
mmlslicense -L
To assign an IBM Storage Scale server license to the nodes that require it, enter the following
command:
To assign an IBM Storage Scale client license to the nodes that require it, enter:
4. Enable backward compatible format changes or upgrade all file systems to the latest metadata format
changes.
Attention: Before you continue with this step, it is important to understand the differences
between mmchfs -V compat and mmchfs -V full:
• If you enter mmchfs -V compat, only changes that are backward compatible with the
previous file system version are enabled. Nodes in remote clusters that are running at the
previous IBM Storage Scale version or later will still be able to mount the file system. Nodes
To upgrade the desired file system to the latest metadata format changes, enter the following
command:
Certain new file system features might require more processing that cannot be handled by the mmchfs
-V command alone. To fully activate such features, in addition to mmchfs -V, you must also run the
mmmigratefs command.
Note: The first mount of a file system after you run mmchfs -V might fail with a no-disk-space error.
This situation might occur if the file system is relatively low on metadata disk space (10% or less free).
If so, enter the command again. Typically the file system is mounted without a problem after the initial
failed mount.
After completing the upgrade, you might need to enable cluster configuration repository (CCR) and fast
extended attributes (fastea).
5. Enable cluster configuration repository (CCR) and fast extended attributes (fastea) as follows, if
required.
a) Enable the CCR in the cluster as follows.
mmchcluster --ccr-enable
For more information, see mmmigratefs command in IBM Storage Scale: Command and
Programming Reference Guide.
624 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Note: The following features are a few among several IBM Storage Scale features that require fast
extended attributes (fastea) to be enabled to work.
• Clones
• Independent filesets
• Encryption
• Active file management (AFM)
6. If you have file audit logging or clustered watch folder enabled on any file systems, follow the steps in
“Upgrade paths and commands for file audit logging and clustered watch folder” on page 590.
Note: Ensure that you include the gpfs.librdkafka package as part of the upgrade process if those
packages are currently installed.
7. Set the value of the tscCmdAllowRemoteConnections attribute to no.
The tscCmdAllowRemoteConnections attribute specifies whether the ts* commands are allowed
to use the remote TCP/IP connections when communicating with the local or other mmfsd daemons.
The scope of the tscCmdAllowRemoteConnections attribute is local to a cluster and it has the
same value on all the nodes in the cluster.
Warning: Make sure that all remote clusters must be at 5.1.3 or later. Setting the
tscCmdAllowRemoteConnections parameter to no impacts the remote cluster functions,
hence the recommendation is to check the version of the remote clusters. If any
remote cluster is running a version of IBM Storage Scale older than 5.1.3, setting the
tscCmdAllowRemoteConnections parameter value to no in the home cluster can generate
Operation not permitted errors. For more information, see mmchconfig command in IBM
Storage Scale: Command and Programming Reference Guide.
Reverting to a previous level of GPFS when you have not issued mmchconfig
release=LATEST
If you have not issued the mmchconfig release=LATEST command, perform these steps.
1. Stop all user activity in the file systems.
2. Cleanly unmount all mounted GPFS file systems. Do not use force unmount.
3. Stop GPFS on all nodes in the cluster:
mmshutdown -a
4. Run the appropriate uninstallation program to remove GPFS from each node in the cluster. For
example:
installp -u gpfs
• For Windows nodes, open the Programs and Features control panel and remove IBM General
Parallel File System.
For more information about the remaining steps, see IBM Storage Scale in IBM Documentation, and
search for the appropriate IBM Storage Scale: Concepts, Planning, and Installation Guide for your
release.
5. Copy the installation images of the previous GPFS licensed program on all affected nodes.
6. Install the original install images and all required PTFs.
7. For Linux nodes running GPFS, you must rebuild the GPFS portability layer.
8. Restart all nodes.
Related tasks
Reverting to a previous level of GPFS when you have issued mmchconfig release=LATEST
If you have issued the mmchconfig release=LATEST command, you must rebuild the cluster. Perform
these steps.
mmshutdown -a
mmdelnode -a
6. Run the appropriate uninstallation command to remove GPFS from each node in the cluster. For
example:
• For Linux nodes:
installp -u gpfs
• For Windows nodes, open the Programs and Features control panel and remove IBM
General Parallel File System.
For the remaining steps, see IBM Storage Scale in IBM Documentation, and search for the
appropriate IBM Storage Scale: Concepts, Planning, and Installation Guide for your release.
7. Copy the installation images of the previous GPFS licensed program on all affected nodes.
626 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
8. Install the original installation images and all required PTFs.
9. For Linux nodes running GPFS, you must rebuild the GPFS portability layer.
10. Restart all nodes.
11. Recreate your original cluster by using the mmcrcluster command. Run the mmchlicense
command to set the appropriate licenses after the cluster is created.
12. Use the mmchconfig command to restore any previously set configuration settings that are
compatible with GPFS 4.2 or below.
13. Import the file system information using the mmimportfs command. Specify the file created by the
mmexportfs command from Step “4” on page 626:
mmstartup -a
15. Mount the file systems if this is not done automatically when the GPFS daemon starts.
Related tasks
Reverting to a previous level of GPFS when you have not issued mmchconfig release=LATEST
If you have not issued the mmchconfig release=LATEST command, perform these steps.
Coexistence considerations
Each GPFS cluster can have multiple GPFS file systems that coexist on the cluster, but function
independently of each other. In addition, each file system might have different data management
programs.
Note: The GPFS Data Management API (DMAPI) and GPFS file system snapshots can coexist; however,
access to the files in a snapshot using DMAPI is restricted. For more information, see IBM Storage Scale:
Command and Programming Reference Guide.
Compatibility considerations
All applications that ran on the previous release of GPFS will run on the new level of GPFS. File systems
that were created under the previous release of GPFS can be used under the new level of GPFS.
Order of upgrade
Important: Before upgrading the OS on a node, ensure that the new OS version that you are planning to
upgrade to is supported on the current IBM Storage Scale version. For information on the supported OS
versions, see Functional Support Matrices in IBM Storage Scale FAQ.
• If the new OS version that you are planning to upgrade to is supported on the current IBM Storage Scale
version, upgrading IBM Storage Scale is not mandatory. Proceed with upgrading the OS.
• If the new OS version that you are planning to upgrade to is not supported on the current IBM Storage
Scale version, do the following:
1. Determine the IBM Storage Scale version on which the new OS version that you are planning to
upgrade to is supported by referring to Functional Support Matrices in IBM Storage Scale FAQ.
2. Upgrade IBM Storage Scale.
628 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
3. After the IBM Storage Scale upgrade is completed, upgrade to the new OS version.
OS upgrade flow
Do the following steps on each node on which the OS is being upgraded.
1. If a protocol node is being upgraded, do the following:
a. Suspend the protocol node and stop the protocol services running on the node by issuing the
following command.
b. Wait for the protocol service monitor to change to the suspended state.
2. Disable the GPFS autoload setting that causes GPFS to be started whenever the operating system
reboots by issuing the following command.
3. Unmount GPFS file systems on the node by issuing the following command.
mmumount all
mmshutdown
5. Check if there are any residual GPFS processes running and kill them, if needed.
6. If required, uninstall the OFED driver using the bundled uninstallation script in the OFED package.
7. Perform the OS upgrade steps according to the respective documentation.
mmstartup
17. Verify that all file systems are mounted on the node by issuing the following command.
mmlsmount all
b. Ensure that CES IPs are hosted by this node and that all services are healthy by issuing the
following commands.
630 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Use these steps to upgrade the OS and to install kernel updates, firmware updates, and driver updates on
IBM Storage Scale protocol nodes.
Guidance for Red Hat Enterprise Linux 8.x on IBM Storage Scale nodes
Red Hat Enterprise Linux 8.x is supported starting with IBM Storage Scale release 5.0.4.
Remember: Red Hat Enterprise Linux 8.0 is not an Extended Update Support (EUS) release, so the errata
stream stops when Red Hat Enterprise Linux 8.1 is released. Do not use Red Hat Enterprise Linux 8.0 in
production. Upgrade Red Hat Enterprise Linux to 8.1 to stay within the IBM Storage Scale support matrix.
The following list contains some general guidance when installing Red Hat Enterprise Linux 8.x on IBM
Storage Scale nodes.
• After Red Hat Enterprise Linux 8.x is installed, IBM Storage Scale on x86 requires elfutils-devel
to be installed for successfully building the GPFS portability layer (GPL) by using the mmbuildgpl
command.
• Review the Red Hat Enterprise Linux 8.x documentation topic Considerations for adopting RHEL8 for all
hardware and driver support that was previously supported but has since been removed.
• Review the IBM Storage Scale FAQ in IBM Documentation for more information and for the supported
kernel versions.
Red Hat provides a leapp upgrade utility to upgrade the OS from Red Hat Enterprise Linux 7.x to 8.x but
it has some limitations. It is recommended to provision a new Red Hat Enterprise Linux 8.x node instance
instead of using a leapp upgrade if possible. If you are using the leapp upgrade utility, there are
some details to be aware of that are as follows.
• A leapp upgrade might upgrade the IBM Storage Scale node to the latest release of Red Hat
Enterprise Linux 8.x. Ensure that leapp upgrade does not upgrade the node to an unsupported OS
version. For supported OS and kernel versions, see IBM Storage Scale FAQ in IBM Documentation.
Note: On s390x, a leapp upgrade from Red Hat Enterprise 7.x to 8.x is not supported. Using the
leapp utility for the upgrade can lead to an unbootable system as described in the Red Hat bugzillas
RH1890215 and RH1881428. Contact IBM support if you plan to upgrade from Red Hat Enterprise 7.x
to 8.x on s390x.
• Using the leapp upgrade utility to upgrade from Red Hat Enterprise Linux 7.6 to 8.x with IBM Storage
Scale 5.0.4.x or later installed might result in the removal of some IBM Storage Scale packages. This
package removal might potentially happen with any third-party software. It is highly recommended
to use leapp-0.8.1-1 or later. The leapp utility is supported by Red Hat and any issues that are
encountered with the leapp upgrade utility must be reported to Red Hat. Before you run leapp
upgrade, save the list of IBM Storage Scale packages that are installed on the system by using the
rpm -qa | grep gpfs command and then compare it to the packages installed after the upgrade.
The /var/log/leapp directory also contains the packages that are to be removed.
• If Cluster Export Services (CES) are enabled on an IBM Storage Scale node running on a version earlier
than 5.1.0 and you run a leapp upgrade from Red Hat Enterprise Linux 7.x to 8.x, then you must first
stop object and remove its associated packages. For more information, see “Instructions for removing
object protocol packages when upgrading protocol nodes to Red Hat Enterprise Linux 8.x” on page
633.
Note: With certain versions of IBM Storage Scale, the object protocol is not supported on Red Hat
Enterprise Linux 8.x. Refer to IBM Storage Scale FAQ in IBM Documentation for determining the IBM
Storage Scale version on which the object protocol is supported on Red Hat Enterprise Linux 8.x and if
you can reinstall object or not.
• If Cluster Export Services (CES) are enabled on an IBM Storage Scale 5.0.4.x or later node and
you run a leapp upgrade from Red Hat Enterprise Linux 7.x to 8.x, the NFS el7 packages are
removed. The NFS el8 packages (gpfs.nfs-ganesha-*.rpm, gpfs.nfs-ganesha-gpfs-*.rpm,
gpfs.nfs-ganesha-utils-*.rpm) need to be installed after the leapp upgrade. The NFS el8
packages are located in the /usr/lpp/mmfs/5.x.x.x/ganesha_rpms/rhel8 directory. You can
use yum localinstall or rpm -ivh commands to install these packages.
After the OS upgrade, do the following steps to confirm correctness of the /etc/nsswitch.conf file
on the nodes:
1. Check whether the current configuration is valid by issuing the following command:
632 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
# authselect check
2. Check whether the /etc/nsswitch.conf file is linked to the current authselect profile
nsswitch.conf file by issuing the following command:
# ls -l /etc/nsswitch.conf
3. If either the current configuration is incorrect or the /etc/nsswitch.conf file is not linked to the
current authselect profile, apply forcefully the current authselect profile on the nodes.
a. Check the current authselect profile by issuing the following command:
# authselect current
b. Apply forcefully the authselect profile again by issuing the following command:
The packages that leapp upgrade might remove can vary depending on packages that are installed
and dependencies that might exist. It might be required to reinstall any removed packages, which can
typically be determined by viewing the log /var/log/leapp/leapp-upgrade.log and looking for
Removing dependent packages after the leapp upgrade completes and the node restarts.
3. After the packages that are mentioned in the preceding step are removed, the following packages
must be downgraded to the level of the system Red Hat Enterprise Linux packages by running the
following command:
If these packages are not removed or downgraded, the upgrade to Red Hat Enterprise Linux 8.x using
the leapp utility might fail with a message such as the following message:
The leapp command with the --verbose option might display messages such as the following
message:
file *** from install of package ### conflicts with file from package ###
If the messages are related to the packages associated with the object protocol, performing the
cleanup steps eliminates these errors.
After the object protocol is stopped and the associated packages are removed, proceed with the Red Hat
Enterprise Linux 8.x upgrade.
Note: Due to the object packages being removed for the leapp upgrade, these special steps need to be
done when you are using the installation toolkit to upgrade the object protocol to version 5.1.x after the
system upgrade is complete:
1. Use the installation toolkit offline upgrade for the protocol nodes.
2. After the installation toolkit has successfully completed the upgrade, manually migrate the object
configuration data to version 5.1 by using the following command:
For more information, see “Upgrading object packages to IBM Storage Scale 5.1.8 or earlier by using the
installation toolkit” on page 608.
634 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
If you are upgrading from a release earlier than IBM Storage Scale 5.0.0, you can either use the offline
upgrade procedure that requires complete cluster shutdown or do the upgrade in two hops.
For more information, see the following topics:
• Upgrading overview
• “IBM Storage Scale supported upgrade paths” on page 550
• “Upgrading IBM Storage Scale components with the installation toolkit” on page 591
• Offline upgrade with complete cluster shutdown
• “Guidance for upgrading the operating system on IBM Storage Scale nodes” on page 628
• Which Linux distributions are supported by IBM Storage Scale? [IBM Storage Scale FAQ]
The following considerations apply if you are upgrading from an operating system that is not supported in
IBM Storage Scale 5.1.x.x:
• After you upgrade to the new operating system, you might need to reinstall packages specific to the new
operating system for some components such as performance monitoring, NFS, SMB, or GUI.
• The object protocol is not supported on Ubuntu and Red Hat Enterprise Linux 7.x on IBM Storage Scale
5.1.x.x. If you want to continue to use the object protocol on Ubuntu or Red Hat Enterprise Linux 7.x
operating systems, it is advised to continue on IBM Storage Scale 5.0.x. System upgrade paths are as
follows:
Ubuntu 16.0.4 or 18.04
1. Disable the object.
2. Upgrade to Ubuntu 20.04.
3. Upgrade to IBM Storage Scale 5.1.x.x.
Note: Object services will not be available after the upgrade.
Red Hat Enterprise Linux 7.6 or earlier 7.x
1. Stop object services.
2. Clean up object packages. For more information, see “Instructions for removing object protocol
packages when upgrading protocol nodes to Red Hat Enterprise Linux 8.x” on page 633.
3. Upgrade protocol nodes to Red Hat Enterprise Linux 8.1 or later by using the Red Hat Leapp
utility.
4. Upgrade to IBM Storage Scale 5.1.x.x.
• If you have NFS or SMB enabled on SLES 12 nodes, you must disable NFS and SMB before you upgrade
the operating system to SLES 15 and then you upgrade to IBM Storage Scale 5.1.x.x. You can enable
SMB and NFS after these tasks are completed.
• If you have NFS or SMB enabled on Ubuntu 16.04 or 18.04 nodes, you must disable NFS and SMB
before you upgrade the operating system to Ubuntu 20.04 and then you upgrade to IBM Storage Scale
5.1.x.x. You can enable SMB and NFS after these tasks are completed.
636 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Table 55. Upgrade paths if upgrade from OS not supported in IBM Storage Scale 5.1.x.x (continued)
Current IBM Storage Scale Current operating system Recommended course of action
version version to target operating for upgrade
system version
Version 4.2.3.x or earlier (4.2.0.x SLES 12 to SLES 15 1. Upgrade to IBM Storage
or later) Scale 5.0.x.x by using the
installation toolkit.
2. Upgrade the operating
system.
3. Upgrade to IBM Storage
Scale 5.1.x.x by using the
installation toolkit.
You can also use the offline
upgrade procedure to directly
upgrade to 5.1.x.x after the
operating system upgrade is
done.
mmshutdown -N NodeBeingUpgraded
d) Find the uninstallation script within the drivers package and execute it on the node being upgraded.
2. Create a local repository for the OS upgrade.
A repository must be created so that the OS can be upgraded. This repository can be DVD or ISO
based. Make sure that you remove any repositories pointing to old OS versions.
3. Upgrade the OS and reboot the node after the OS upgrade.
For more information, see “Guidance for upgrading the operating system on IBM Storage Scale nodes”
on page 628.
4. Install the kernel update and reboot the node after the kernel update.
5. Rebuild the GPFS portability layer using the mmbuildgpl command.
For more information, see “Building the GPFS portability layer on Linux nodes” on page 396.
6. Install the required firmware updates and reboot the node after the firmware update.
7. Install the latest drivers, as applicable and reboot the node after the driver update.
8. Verify that GPFS is active on the node and then resume CES.
mmgetstate -a
mmces node resume -N NodeBeingUpgraded --start
mmces node list
mmces service list -a
mmces address list
9. Repeat the preceding steps on each protocol node that needs to be serviced, one node at a time.
638 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
mmces stop Protocol -a
mmumount all -a
mmshutdown -a
Verify that the GPFS daemon has terminated and that the kernel extensions are unloaded by using
mmfsenv -u. If the mmfsenv -u command reports that it cannot unload the kernel extensions
because they are busy, then the installation can proceed, but the node must be rebooted after the
installation. Kernel extensions are busy means that a process has a current directory in some GPFS
file system directory or it has an open file descriptor. The Linux utility lsof can identify the process
and that process can then be killed. Retry mmfsenv -u after killing the process and if the command
succeeds, then a reboot of the node can be avoided.
Note:
• The mmfsenv -u command is normally used with assistance from support or for cases where its
usage is specifically documented such as in this scenario.
• The mmfsenv -u command only checks the local node from which it is run, not all the nodes in the
cluster.
Refer to the IBM Storage Scale FAQ in IBM Documentation for the supported operating system
versions that apply to the IBM Storage Scale release that you are upgrading to.
5. If the operating system needs to be upgraded, then complete that upgrade.
6. Extract the IBM Storage Scale installation image so that all installation files (rpm, deb, bff, msi, and so
on) are available.
7. Run the necessary platform-specific commands to upgrade GPFS.
• SLES and RHEL Linux:
Where <OS> is the operating system specific directory such as rhel7 or sles15.
– The gpfs-adv and gpfs-crypto packages are available only with IBM Storage Scale Advanced
Edition, IBM Storage Scale Data Management Edition, or IBM Storage Scale Developer Edition.
– Depending on the IBM Storage Scale edition that you are installing, install the appropriate
gpfs.license package.
– IBM Storage Scale Developer Edition is available only on Red Hat Enterprise Linux on x86_64.
• Ubuntu:
dpkg -i /usr/lpp/mmfs/5.x.y.z/gpfs_debs/
<OS>{gpfs.adv*.deb,gpfs.base*.deb,gpfs.crypto*.deb,
gpfs.docs*.deb,gpfs.gpl*.deb,gpfs.gskit*.deb,gpfs.msg*.deb,
gpfs.license.XX*.deb,gpfs.compression*.deb}
dpkg -i /usr/lpp/mmfs/5.x.y.z/zimon_debs/
<OS>{gpfs.gss.pmsensors*.deb,gpfs.gss.pmcollector*.deb}
• Windows:
a. Uninstall the version of GPFS or IBM Storage Scale that you are upgrading from and restart.
b. Uninstall the license of GPFS or IBM Storage Scale version that you are upgrading from.
c. Uninstall Open Secure Shell for GPFS on Windows, if applicable.
d. Disable any SUA daemon, such as OpenSSH, that might be configured. Do not uninstall SUA
yet, or you may lose GPFS configuration information.
e. Install the 64-bit version of Cygwin. For more information, see “Installing Cygwin” on page
510.
f. Install gpfs.base-5.1.x.x-Windows-license.msi.
g. Install gpfs.base-5.1.x.x-Windows.msi.
h. Install IBM® GSKit for GPFS.
i. Uninstall SUA completely.
j. Configure passwordless SSH in Cygwin for mixed (Linux, AIX, Windows) clusters or use
mmwinservctl on a Windows only cluster.
8. On Linux systems, rebuild the GPFS portability layer (GPL) with the mmbuildgpl command. For more
information, see “Building the GPFS portability layer on Linux nodes” on page 396.
9. Restart GPFS by issuing the mmstartup command and remount file systems by issuing the mmmount
command, as necessary. If you have protocol nodes, start the CES operations by issuing the mmces
service start Protocol -a command.
Note: At this point, all code is at the upgraded level, but the cluster is not upgraded and new
functions cannot be configured until the upgrade is completed.
10. Complete the upgrade as documented in “Completing the upgrade to a new level of IBM Storage
Scale” on page 620.
Related concepts
“IBM Storage Scale supported upgrade paths” on page 550
Use this information to understand the supported upgrade paths for IBM Storage Scale.
“Performing offline upgrade or excluding nodes from upgrade by using installation toolkit” on page 601
640 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Accessibility features for IBM Storage Scale
Accessibility features help users who have a disability, such as restricted mobility or limited vision, to use
information technology products successfully.
Accessibility features
The following list includes the major accessibility features in IBM Storage Scale:
• Keyboard-only operation
• Interfaces that are commonly used by screen readers
• Keys that are discernible by touch but do not activate just by touching them
• Industry-standard devices for ports and connectors
• The attachment of alternative input and output devices
IBM Documentation, and its related publications, are accessibility-enabled.
Keyboard navigation
This product uses standard Microsoft Windows navigation keys.
IBM Director of Licensing IBM Corporation North Castle Drive, MD-NC119 Armonk, NY 10504-1785 US
For license inquiries regarding double-byte character set (DBCS) information, contact the IBM Intellectual
Property Department in your country or send inquiries, in writing, to:
Intellectual Property Licensing Legal and Intellectual Property Law IBM Japan Ltd. 19-21, Nihonbashi-
Hakozakicho, Chuo-ku Tokyo 103-8510, Japan
INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS"
WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED
TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A
PARTICULAR PURPOSE. Some jurisdictions do not allow disclaimer of express or implied warranties in
certain transactions, therefore, this statement may not apply to you.
This information could include technical inaccuracies or typographical errors. Changes are periodically
made to the information herein; these changes will be incorporated in new editions of the publication.
IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this
publication at any time without notice.
Any references in this information to non-IBM websites are provided for convenience only and do not in
any manner serve as an endorsement of those websites. The materials at those websites are not part of
the materials for this IBM product and use of those websites is at your own risk.
IBM may use or distribute any of the information you provide in any way it believes appropriate without
incurring any obligation to you.
Licensees of this program who wish to have information about it for the purpose of enabling: (i) the
exchange of information between independently created programs and other programs (including this
one) and (ii) the mutual use of the information which has been exchanged, should contact:
IBM Director of Licensing IBM Corporation North Castle Drive, MD-NC119 Armonk, NY 10504-1785 US
Such information may be available, subject to appropriate terms and conditions, including in some cases,
payment of a fee.
The licensed program described in this document and all licensed material available for it are provided by
IBM under terms of the IBM Customer Agreement, IBM International Program License Agreement or any
equivalent agreement between us.
The performance data discussed herein is presented as derived under specific operating conditions.
Actual results may vary.
Information concerning non-IBM products was obtained from the suppliers of those products, their
published announcements or other publicly available sources. IBM has not tested those products and
Each copy or any portion of these sample programs or any derivative work must include
a copyright notice as follows:
If you are viewing this information softcopy, the photographs and color illustrations may not appear.
Trademarks
IBM, the IBM logo, and ibm.com are trademarks or registered trademarks of International Business
Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be
trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at
Copyright and trademark information at www.ibm.com/legal/copytrade.shtml.
Intel is a trademark of Intel Corporation or its subsidiaries in the United States and other countries.
Java and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle and/or
its affiliates.
The registered trademark Linux is used pursuant to a sublicense from the Linux Foundation, the exclusive
licensee of Linus Torvalds, owner of the mark on a worldwide basis.
Microsoft and Windows are trademarks of Microsoft Corporation in the United States, other countries, or
both.
Red Hat, OpenShift®, and Ansible are trademarks or registered trademarks of Red Hat, Inc. or its
subsidiaries in the United States and other countries.
UNIX is a registered trademark of the Open Group in the United States and other countries.
644 Notices
IBM Privacy Policy
At IBM we recognize the importance of protecting your personal information and are committed to
processing it responsibly and in compliance with applicable data protection laws in all countries in which
IBM operates.
Visit the IBM Privacy Policy for additional information on this topic at https://www.ibm.com/privacy/
details/us/en/.
Applicability
These terms and conditions are in addition to any terms of use for the IBM website.
Personal use
You can reproduce these publications for your personal, noncommercial use provided that all proprietary
notices are preserved. You cannot distribute, display, or make derivative work of these publications, or
any portion thereof, without the express consent of IBM.
Commercial use
You can reproduce, distribute, and display these publications solely within your enterprise provided
that all proprietary notices are preserved. You cannot make derivative works of these publications, or
reproduce, distribute, or display these publications or any portion thereof outside your enterprise, without
the express consent of IBM.
Rights
Except as expressly granted in this permission, no other permissions, licenses, or rights are granted,
either express or implied, to the Publications or any information, data, software or other intellectual
property contained therein.
IBM reserves the right to withdraw the permissions that are granted herein whenever, in its discretion, the
use of the publications is detrimental to its interest or as determined by IBM, the above instructions are
not being properly followed.
You cannot download, export, or reexport this information except in full compliance with all applicable
laws and regulations, including all United States export laws and regulations.
IBM MAKES NO GUARANTEE ABOUT THE CONTENT OF THESE PUBLICATIONS. THE PUBLICATIONS
ARE PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
INCLUDING BUT NOT LIMITED TO IMPLIED WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT,
AND FITNESS FOR A PARTICULAR PURPOSE.
Notices 645
646 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Glossary
This glossary provides terms and definitions for IBM Storage Scale.
The following cross-references are used in this glossary:
• See refers you from a nonpreferred term to the preferred term or from an abbreviation to the spelled-
out form.
• See also refers you to a related or contrasting term.
For other terms and definitions, see the IBM Terminology website (www.ibm.com/software/globalization/
terminology) (opens in new window).
B
block utilization
The measurement of the percentage of used subblocks per allocated blocks.
C
cluster
A loosely coupled collection of independent systems (nodes) organized into a network for the purpose
of sharing resources and communicating with each other. See also GPFS cluster.
cluster configuration data
The configuration data that is stored on the cluster configuration servers.
Cluster Export Services (CES) nodes
A subset of nodes configured within a cluster to provide a solution for exporting GPFS file systems by
using the Network File System (NFS), Server Message Block (SMB), and Object protocols.
cluster manager
The node that monitors node status using disk leases, detects failures, drives recovery, and selects
file system managers. The cluster manager must be a quorum node. The selection of the cluster
manager node favors the quorum-manager node with the lowest node number among the nodes that
are operating at that particular time.
Note: The cluster manager role is not moved to another node when a node with a lower node number
becomes active.
clustered watch folder
Provides a scalable and fault-tolerant method for file system activity within an IBM Storage Scale
file system. A clustered watch folder can watch file system activity on a fileset, inode space, or an
entire file system. Events are streamed to an external Kafka sink cluster in an easy-to-parse JSON
format. For more information, see the mmwatch command in the IBM Storage Scale: Command and
Programming Reference Guide.
control data structures
Data structures needed to manage file data and metadata cached in memory. Control data structures
include hash tables and link pointers for finding cached data; lock states and tokens to implement
distributed locking; and various flags and sequence numbers to keep track of updates to the cached
data.
D
Data Management Application Program Interface (DMAPI)
The interface defined by the Open Group's XDSM standard as described in the publication
System Management: Data Storage Management (XDSM) API Common Application Environment (CAE)
Specification C429, The Open Group ISBN 1-85912-190-X.
E
ECKD
See extended count key data (ECKD).
ECKD device
See extended count key data device (ECKD device).
encryption key
A mathematical value that allows components to verify that they are in communication with the
expected server. Encryption keys are based on a public or private key pair that is created during the
installation process. See also file encryption key, master encryption key.
extended count key data (ECKD)
An extension of the count-key-data (CKD) architecture. It includes additional commands that can be
used to improve performance.
extended count key data device (ECKD device)
A disk storage device that has a data transfer rate faster than some processors can utilize and that is
connected to the processor through use of a speed matching buffer. A specialized channel program is
needed to communicate with such a device. See also fixed-block architecture disk device.
F
failback
Cluster recovery from failover following repair. See also failover.
failover
(1) The assumption of file system duties by another node when a node fails. (2) The process of
transferring all control of the ESS to a single cluster in the ESS when the other clusters in the ESS fails.
See also cluster. (3) The routing of all transactions to a second controller when the first controller fails.
See also cluster.
failure group
A collection of disks that share common access paths or adapter connections, and could all become
unavailable through a single hardware failure.
FEK
See file encryption key.
648 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
fileset
A hierarchical grouping of files managed as a unit for balancing workload across a cluster. See also
dependent fileset, independent fileset.
fileset snapshot
A snapshot of an independent fileset plus all dependent filesets.
file audit logging
Provides the ability to monitor user activity of IBM Storage Scale file systems and store events
related to the user activity in a security-enhanced fileset. Events are stored in an easy-to-parse JSON
format. For more information, see the mmaudit command in the IBM Storage Scale: Command and
Programming Reference Guide.
file clone
A writable snapshot of an individual file.
file encryption key (FEK)
A key used to encrypt sectors of an individual file. See also encryption key.
file-management policy
A set of rules defined in a policy file that GPFS uses to manage file migration and file deletion. See
also policy.
file-placement policy
A set of rules defined in a policy file that GPFS uses to manage the initial placement of a newly created
file. See also policy.
file system descriptor
A data structure containing key information about a file system. This information includes the disks
assigned to the file system (stripe group), the current state of the file system, and pointers to key files
such as quota files and log files.
file system descriptor quorum
The number of disks needed in order to write the file system descriptor correctly.
file system manager
The provider of services for all the nodes using a single file system. A file system manager processes
changes to the state or description of the file system, controls the regions of disks that are allocated
to each node, and controls token management and quota management.
fixed-block architecture disk device (FBA disk device)
A disk device that stores data in blocks of fixed size. These blocks are addressed by block number
relative to the beginning of the file. See also extended count key data device.
fragment
The space allocated for an amount of data too small to require a full block. A fragment consists of one
or more subblocks.
G
GPUDirect Storage
IBM Storage Scale's support for NVIDIA's GPUDirect Storage (GDS) enables a direct path between
GPU memory and storage. File system storage is directly connected to the GPU buffers to reduce
latency and load on CPU. Data is read directly from an NSD server's pagepool and it is sent to the GPU
buffer of the IBM Storage Scale clients by using RDMA.
global snapshot
A snapshot of an entire GPFS file system.
GPFS cluster
A cluster of nodes defined as being available for use by GPFS file systems.
GPFS portability layer
The interface module that each installation must build for its specific hardware platform and Linux
distribution.
Glossary 649
GPFS recovery log
A file that contains a record of metadata activity and exists for each node of a cluster. In the event of
a node failure, the recovery log for the failed node is replayed, restoring the file system to a consistent
state and allowing other nodes to continue working.
I
ill-placed file
A file assigned to one storage pool but having some or all of its data in a different storage pool.
ill-replicated file
A file with contents that are not correctly replicated according to the desired setting for that file. This
situation occurs in the interval between a change in the file's replication settings or suspending one of
its disks, and the restripe of the file.
independent fileset
A fileset that has its own inode space.
indirect block
A block containing pointers to other blocks.
inode
The internal structure that describes the individual files in the file system. There is one inode for each
file.
inode space
A collection of inode number ranges reserved for an independent fileset, which enables more efficient
per-fileset functions.
ISKLM
IBM Security Key Lifecycle Manager. For GPFS encryption, the ISKLM is used as an RKM server to
store MEKs.
J
journaled file system (JFS)
A technology designed for high-throughput server environments, which are important for running
intranet and other high-performance e-business file servers.
junction
A special directory entry that connects a name in a directory of one fileset to the root directory of
another fileset.
K
kernel
The part of an operating system that contains programs for such tasks as input/output, management
and control of hardware, and the scheduling of user tasks.
M
master encryption key (MEK)
A key used to encrypt other keys. See also encryption key.
MEK
See master encryption key.
metadata
Data structures that contain information that is needed to access file data. Metadata includes inodes,
indirect blocks, and directories. Metadata is not accessible to user applications.
metanode
The one node per open file that is responsible for maintaining file metadata integrity. In most cases,
the node that has had the file open for the longest period of continuous time is the metanode.
650 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
mirroring
The process of writing the same data to multiple disks at the same time. The mirroring of data
protects it against data loss within the database or within the recovery log.
Microsoft Management Console (MMC)
A Windows tool that can be used to do basic configuration tasks on an SMB server. These tasks
include administrative tasks such as listing or closing the connected users and open files, and creating
and manipulating SMB shares.
multi-tailed
A disk connected to multiple nodes.
N
namespace
Space reserved by a file system to contain the names of its objects.
Network File System (NFS)
A protocol, developed by Sun Microsystems, Incorporated, that allows any host in a network to gain
access to another host or netgroup and their file directories.
Network Shared Disk (NSD)
A component for cluster-wide disk naming and access.
NSD volume ID
A unique 16-digit hex number that is used to identify and access all NSDs.
node
An individual operating-system image within a cluster. Depending on the way in which the computer
system is partitioned, it may contain one or more nodes.
node descriptor
A definition that indicates how GPFS uses a node. Possible functions include: manager node, client
node, quorum node, and nonquorum node.
node number
A number that is generated and maintained by GPFS as the cluster is created, and as nodes are added
to or deleted from the cluster.
node quorum
The minimum number of nodes that must be running in order for the daemon to start.
node quorum with tiebreaker disks
A form of quorum that allows GPFS to run with as little as one quorum node available, as long as there
is access to a majority of the quorum disks.
non-quorum node
A node in a cluster that is not counted for the purposes of quorum determination.
Non-Volatile Memory Express (NVMe)
An interface specification that allows host software to communicate with non-volatile memory
storage media.
P
policy
A list of file-placement, service-class, and encryption rules that define characteristics and placement
of files. Several policies can be defined within the configuration, but only one policy set is active at one
time.
policy rule
A programming statement within a policy that defines a specific action to be performed.
pool
A group of resources with similar characteristics and attributes.
Glossary 651
portability
The ability of a programming language to compile successfully on different operating systems without
requiring changes to the source code.
primary GPFS cluster configuration server
In a GPFS cluster, the node chosen to maintain the GPFS cluster configuration data.
private IP address
An IP address used to communicate on a private network.
public IP address
An IP address used to communicate on a public network.
Q
quorum node
A node in the cluster that is counted to determine whether a quorum exists.
quota
The amount of disk space and number of inodes assigned as upper limits for a specified user, group of
users, or fileset.
quota management
The allocation of disk blocks to the other nodes writing to the file system, and comparison of the
allocated space to quota limits at regular intervals.
R
Redundant Array of Independent Disks (RAID)
A collection of two or more disk physical drives that present to the host an image of one or more
logical disk drives. In the event of a single physical device failure, the data can be read or regenerated
from the other disk drives in the array due to data redundancy.
recovery
The process of restoring access to file system data when a failure has occurred. Recovery can involve
reconstructing data or providing alternative routing through a different server.
remote key management server (RKM server)
A server that is used to store master encryption keys.
replication
The process of maintaining a defined set of data in more than one location. Replication consists of
copying designated changes for one location (a source) to another (a target) and synchronizing the
data in both locations.
RKM server
See remote key management server.
rule
A list of conditions and actions that are triggered when certain conditions are met. Conditions include
attributes about an object (file name, type or extension, dates, owner, and groups), the requesting
client, and the container name associated with the object.
S
SAN-attached
Disks that are physically attached to all nodes in the cluster using Serial Storage Architecture (SSA)
connections or using Fibre Channel switches.
Scale Out Backup and Restore (SOBAR)
A specialized mechanism for data protection against disaster only for GPFS file systems that are
managed by IBM Storage Protect for Space Management.
secondary GPFS cluster configuration server
In a GPFS cluster, the node chosen to maintain the GPFS cluster configuration data in the event that
the primary GPFS cluster configuration server fails or becomes unavailable.
652 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Secure Hash Algorithm digest (SHA digest)
A character string used to identify a GPFS security key.
session failure
The loss of all resources of a data management session due to the failure of the daemon on the
session node.
session node
The node on which a data management session was created.
Small Computer System Interface (SCSI)
An ANSI-standard electronic interface that allows personal computers to communicate with
peripheral hardware, such as disk drives, tape drives, CD-ROM drives, printers, and scanners faster
and more flexibly than previous interfaces.
snapshot
An exact copy of changed data in the active files and directories of a file system or fileset at a single
point in time. See also fileset snapshot, global snapshot.
source node
The node on which a data management event is generated.
stand-alone client
The node in a one-node cluster.
storage area network (SAN)
A dedicated storage network tailored to a specific environment, combining servers, storage products,
networking products, software, and services.
storage pool
A grouping of storage space consisting of volumes, logical unit numbers (LUNs), or addresses that
share a common set of administrative characteristics.
stripe group
The set of disks comprising the storage assigned to a file system.
striping
A storage process in which information is split into blocks (a fixed amount of data) and the blocks are
written to (or read from) a series of disks in parallel.
subblock
The smallest unit of data accessible in an I/O operation, equal to one thirty-second of a data block.
system storage pool
A storage pool containing file system control structures, reserved files, directories, symbolic links,
special devices, as well as the metadata associated with regular files, including indirect blocks and
extended attributes. The system storage pool can also contain user data.
T
token management
A system for controlling file access in which each application performing a read or write operation
is granted some form of access to a specific block of file data. Token management provides data
consistency and controls conflicts. Token management has two components: the token management
server, and the token management function.
token management function
A component of token management that requests tokens from the token management server. The
token management function is located on each cluster node.
token management server
A component of token management that controls tokens relating to the operation of the file system.
The token management server is located at the file system manager node.
transparent cloud tiering (TCT)
A separately installable add-on feature of IBM Storage Scale that provides a native cloud storage tier.
It allows data center administrators to free up on-premise storage capacity, by moving out cooler data
to the cloud storage, thereby reducing capital and operational expenditures.
Glossary 653
twin-tailed
A disk connected to two nodes.
U
user storage pool
A storage pool containing the blocks of data that make up user files.
V
VFS
See virtual file system.
virtual file system (VFS)
A remote file system that has been mounted so that it is accessible to the local user.
virtual node (vnode)
The structure that contains information about a file system object in a virtual file system (VFS).
W
watch folder API
Provides a programming interface where a custom C program can be written that incorporates the
ability to monitor inode spaces, filesets, or directories for specific user activity-related events within
IBM Storage Scale file systems. For more information, a sample program is provided in the following
directory on IBM Storage Scale nodes: /usr/lpp/mmfs/samples/util called tswf that can be
modified according to the user's needs.
654 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Index
Index 655
AFM DR characteristics (continued) B
trucking
inband 122 Backup considerations 356
outband 122 backup planning 286
AFM gateway node 12, 373 bandwidth
AFM gateway nodes requirements on the cache and home increasing aggregate 2
clusters 373 best practices 119, 120
AFM mode bin directory 386
operations 49 block
AFM node 12 allocation map 13
AFM recovery improvements size 274
remove operations 88 block allocation map 277
rename operations 88
AFM to cloud object services replication
Limitations 151
C
AFM to cloud object storage 145, 149 cache 15
afmRecoveryVer2 88 cache and home
afmSyncReadMount 84 AFM 42
AIX cache cluster
electronic license agreement 498 AFM 40
installation instructions for GPFS 497 UID/GID requirements
installing GPFS 497 375
prerequisite software 497 cache eviction 75
allocation map cached
block 13 files 48
inode 13 cached and uncached files
logging of 14 AFM 48
allowing the GPFS administrative account to run as a service, caching modes 41
Windows 515 call home
antivirus software configuration 458
Windows 506 event based uploads 204
API heartbeats 206
configuring 523 installation 458
fields parameter 165 mmcallhome 204, 206, 219
filter parameter 167 monitoring IBM Spectrum Scale system remotely 219
installing 523 monitoring IBM Storage Scale system remotely 204,
paging 169 206
application programs Call home
communicating with GPFS 18 Upgrade
applying maintenance levels to GPFS 628 v4.2.0. to v4.2.1 or later 573
architecture, GPFS 9 v4.2.1. to v5.0.0 572
assigning a static IP address case sensitivity
Windows 510 Windows 505
asynchronous CCR 26
delay 49 CES
operations 49 data uploads 153
asynchronous delay mmces command 153
AFM 49 overview 30
atime value 276 protocol 153
audit logging SMB limitations
installation 457 exports 322
authentication CES HDFS support
basic concepts 307 planning 345
protocol user authentication 307 CES IPs 453
authentication planning CES NFS limitations 319
file access 310 CES NFS Linux limitations 319
object access 315 CES NFS support
protocols 307, 309 overview 32
autoload attribute 251 CES shared root file system 451
automatic mount changing
shared file system access 3 secondary site 112, 113
characteristics 119, 120
clean up
Cloud services 547
656 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
clean up the environment 547 commands (continued)
cleanup procedures for installation 540 mmdelnsd 253, 254
cloud data sharing mmedquota 281
creating a node class 519 mmfsck 14, 19, 23
security considerations 355 mmlsdisk 22, 264
Cloud data sharing mmlsfs 14, 319
operation 184 mmlsquota 281
cloud providers mmmount 19
Cloud services 187 mmrepquota 281
transparent cloud tiering 187 mmstartup 251
Cloud services mmwinservctl 247, 248
creating a ndoe class 519 operating system 18
modifying 522 processing 22, 23
planning 345 remote file copy
security considerations 355 rcp 248
software requirements 346 scp 248
upgrade 579 remote shell
upgrade to 1.1.2.1 580 rsh 247
upgrade to 1.1.3 581, 582 ssh 247
upgrade to 1.1.4 582, 583 communication
upgrade to 1.1.5 584 cache and home 42
upgrade to 1.1.6 585 GPFS daemon to daemon 245
cloudkit 562, 563 invariant address requirement 233
cloudkit upgrade cluster 563 comparison
cloudkit upgrade repository 562 live system backups 291
cluster configuration data files snapshot based backups 291
/var/mmfs/gen/mmsdrfs file compatibility considerations 627
25 concepts
content 25 AFM DR 106
Cluster Export Services configuration
overview 30 files 25
cluster manager flexibility in your GPFS cluster 3
description 9 of a GPFS cluster 243
initialization of GPFS 19 configuration and tuning settings
cluster node configuration file 251
considerations 348 default values 251
Clustered configuration repository 26 GPFS files 4
clustered watch folder configuration of protocol nodes
events 198 object protocol 482–484, 486
introduction 196 configuration tasks
JSON 199 SMB export limitations 322
limitations 535 configuring
remotely mounted file systems 536 api 523
requirements 535 configuring a mixed Windows and UNIX cluster 514
coexistence considerations 627 configuring a Windows HPC server 517
Coherency option 329 configuring GPFS 443
collecting details 201 configuring quota
collecting problem determination data 381 transparent cloud tiering 357
commands configuring system for transparent cloud tiering 348
cloudkit 562, 563 configuring the GPFS Administration service, Windows 515
description of GPFS commands 4 configuring Windows 510
failure of 247 considerations for backup
mmbackup 26 Transparent Cloud Tiering 356
mmcallhome 572, 573 considerations for GPFS applications
mmchcluster 247, 248 exceptions to Open Group technical standards 379
mmchconfig 15, 17 NFS V4 ACL 379
mmchdisk 22 stat() system call 379
mmcheckquota 19 controlling the order in which file systems are mounted 284
mmchfs 268, 278, 281, 319 conversion
mmcrcluster 17, 243, 247, 248, 497 mode 54
mmcrfs 268, 278, 281, 319 conversion of mode
mmcrnsd 253, 254 AFM 54
mmdefedquota 281, 282 created files (maximum number) 283
mmdefquotaon 282 creating a node class
Index 657
creating a node class (continued) direct access storage devices (DASD) for NSDs, preparing
transparent cloud tiering 519 264
creating GPFS directory directory, bin 386
/tmp/gpfslpp on AIX nodes Disable gpfs leases 327
498 disable leases 327
creating the GPFS administrative account, Windows 515 disabling protocols
creating the GPFS directory authentication considerations 309
/tmp/gpfslpp on Linux nodes disabling the Windows firewall 510
387 disaster recovery
data mirroring 155
protocol cluster disaster recovery 155
D SOBAR 155
daemon use of GPFS replication and failure groups 3
communication 245 disk descriptor replica 264
description of the GPFS daemon 5 disk usage
memory 15 verifying 282
quorum requirement 9 disks
starting 251 considerations 252
DASD for NSDs, preparing 264 failure 241
data file system descriptor 12
availability 2 media failure 23
consistency of 2 mmcrfs command 273
guarding against failure of a path to a disk 242 recovery 22
maximum replicas 280 releasing blocks 23
recoverability 237 stanza files 254
replication 279, 280 state of 22
data blocks storage area network 252
logging of 14 stripe group 12
recovery of 14 DMAPI
Data Management API (DMAPI) coexistence considerations 627
enabling 282 considerations for IBM Storage Protect for Space
data privacy Management 627
methodical command 220 DMAPI file handle size considerations
data protection for IBM Storage Protect for Space Management 627
backing up data 155, 156 documentation
commands 157 installing man pages on AIX nodes 499
create and maintain snapshots 157 installing man pages on Linux nodes 390
data mirroring 156 domain
fileset backup 156 Active Directory 510
restoring a file system from a snapshot 157 Windows 510
restoring data 156, 157
data recovery E
commands 157
data upload ECKD devices, preparing environment for 265
scheduled upload 207 electronic license agreement
default data replication 280 AIX nodes 498
default metadata replication 279 Linux nodes 387
default quotas Enable gpfs leases 327
description 282 enable leases 327
files 14 enable share modes 328
deleting authentication 317 enabling
deleting ID mapping 317 protocols 404
deleting old sensors enabling file system features 283
? 586 enabling protocols
deploying protocols authentication considerations 309
existing cluster 477 existing cluster 479
deploying protocols on Linux nodes environment for ECKD devices, preparing 265
procedure for 451, 455, 456, 461, 591, 599 environment, preparing 386
deployment considerations 119, 120, 124 ESS
df command (specifying whether it will report numbers adding protocol nodes 479
based on quotas for the fileset) 283 deploying protocols 479
diagnosing errors 479 ESS 3000 awareness 464
differences between GPFS and NTFS ESS awareness 464
Windows 507 estimated node count 280
658 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
event based uploads file system manager (continued)
FTDC2CallHome 204 command processing 22, 23
events description 10
file audit logging 193 internal log file 278
exceptions mount of a file system 19
CES NFS Linux 319 NSD creation considerations 262
expiring a disconnected RO cache 80 quota management function 11
explanations and examples, installing GPFS and protocols selection of 11
442, 443 token management function 10
Express Edition Windows drive letter 281
migrating to Standard 618 file system name considerations
Extended attributes (EAs) Windows 504
planning 299 file systems
external Kafka sink 197 administrative state of 4, 25
extracting GPFS patches 390 AFM node 12
extracting the IBM Storage Scale software 387 authorization 278
extracting update SUSE Linux Enterprise Server and Red Hat block size 274
Enterprise Linux RPMs 390 creating 268
extraction, packaging overview and 387 descriptor 12
device name 273
disk descriptor 273
F enabling DMAPI 282
Fail-over scenarios 322 interacting with a GPFS file system 18
failback internal log file 278
new primary site 112 last time accessed 276
old primary site 111 list of disk descriptors 278
failed fresh upgrade maximum number of 13
upgrade rerun 607 maximum number of files 283
failover maximum number of mounted files 13
secondary site 111 maximum size 13
failover in AFM 81 maximum size supported 13
failure metadata 12
disk 241 metadata integrity 11
Network Shared Disk server 241 mount options 281
node 237–240 mounting 3, 19, 273
failure groups mountpoint 281
definition of 2 NFS export 319
loss of 264 NFS V4 export 319
preventing loss of data access 241 number of nodes mounted by 280
use of 263 opening a file 19
features quotas 281
AFM DR 106 reading a file 20
file audit logging recoverability parameters 279, 280
attributes 193 repairing 23
events 193 sample creation 284
fileset 192 shared access among clusters 1
installing 533 simultaneous access 2
limitations 533 sizing 268
producers 191 stripe group 12
records 192 time last modified 277
requirements 533 Windows drive letter 281
file authentication 310 writing to a file 21, 22
File client limitations 322 file systems (controlling the order in which they are
file name considerations mounted) 284
Windows 505 files
file system creation 278 .toc 498
file system descriptor /etc/filesystems 25, 26
failure groups 263 /etc/fstab 25, 26
inaccessible 264 /var/mmfs/etc/mmfs.cfg 26
quorum 263 /var/mmfs/gen/mmsdrfs 25,
file system features 26
enabling 283 consistency of data 2
file system level backups 293 GPFS recovery logs 14
file system manager inode 13
Index 659
files (continued) GPFS (continued)
installation on AIX nodes 497 disk storage use 12
maximum number of 13, 283 enabling protocols 479
mmfslinux 6 enabling protocols on Linux 404
structure within GPFS 12 Express Edition 618
files that can be created, maximum number of 283 failure recovery processing 25
fileset backups 293 file consistency 2
fileset disabling file structure 12, 14
AFM 93 file system creation 268, 273, 274, 276–284
fileset to home file system manager 10
AFM 53 for improved performance 2
filesetdf option 283 hardware requirements 233
filesets 3 increased data availability 2
firewall installing 381, 383, 384, 386, 387, 389–391, 396, 397,
Windows, disabling 510 405, 406, 408, 411, 419, 426, 428, 442, 443, 449,
firewall recommendations 451, 455, 456, 461, 462, 481–484, 486, 497–499,
transparent cloud tiering 351 501–510, 512–514, 517, 520, 576, 591, 599
Force flushing contents before Async Delay 60 installing CES on Linux 403
fresh transparent cloud tiering cluster installing on AIX nodes 497–499
setting up 547 installing on Linux 398
fresh upgrade failure installing on Linux nodes 383, 384, 386, 387, 390, 391,
solution 607 405, 406, 408, 411, 419, 426, 442, 443, 449, 481–484,
Functional overview 486, 576
REST API 163 installing on Windows nodes 501–510, 512–514, 517
installing packages on Linux 399, 402
installing protocols on Linux 403
G installing with toolkit 419
Ganesha limitations 319 IP address usage 17
gateway kernel extensions 5
node failure 73 management functions 9–12
recovery 73 memory usage 14, 15
GDS 27, 266, 525, 564 metanode 11
global namespace migration 549, 625–627
AFM 46 multi-region object deployment 36, 342–345
Google Cloud Platform 149 network communication 16, 18
GPFS NSD disk discovery 23
adding file systems 477 object capabilities 38
adding LTFS nodes 481 object storage support 34–38
adding nodes 477, 479, 481 OS upgrade 628, 633
adding nodes with toolkit 477 pinned memory 15
adding NSDs 477 planning 227, 233, 234, 237, 240–243, 268, 286–288,
adding protocol nodes 479 291, 293, 295, 297, 307, 309, 310, 315, 317, 318, 331,
adding protocols with toolkit 477 333, 335–340
administration commands 4 planning for transparent cloud tiering 347, 348
AFM gateway node 12 portability layer 6
application interaction 18–23 product editions 225, 230
architecture 9, 12, 14, 16, 18 product overview 181
backup data 26 protocol node 11
basic structure 4–6 protocols support 29, 30, 32–34
CES 30 quota files 14
CES NFS support 32 recoverability 237–242
CES node 11 recovery logs 14
cluster configuration data files 25 RHEL 8.x upgrade 631
cluster configurations 6 S3 API 37
cluster creation 243–245, 247–251 servicing protocol nodes 637
Cluster Export Services 30 simplified administration 4
cluster manager 9 simplified storage management 3
considerations for applications 379 SMB support 33
daemon 5 software requirements 234
daemon communication 16, 17 special management functions 9
deploying protocols 451, 455, 456, 461, 462, 477, 591, strengths 1–4
593, 599 stretch cluster use case 465
diagnosing errors 479 system flexibility 3
disk considerations 253, 262–265 thin provisioned disks 254
660 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
GPFS (continued) H
unified file and object access 35, 340–342
uninstalling 539, 540, 546 hard limit, quotas 281
upgrade 552, 553, 557, 620 hardware requirements 233
upgrading 549–553, 557, 567, 569, 571, 574, 575, Hardware requirements
593, 620, 625–628, 634 transparent cloud tiering 345
upgrading from 3.5 638 heartbeats
user interaction 18–23 call home events 206
GPFS administration commands 16 mmhealth command 206
GPFS administrative adapter port name 244 highly available write cache
GPFS architecture 9 planning 302
GPFS clusters home
administration adapter port name 244 AFM 40
configuration data files 4 home cluster
configuration file 251 UID/GID requirements
configuration servers 247 375
creating 243 How WORM works 187
daemon HPC server (Windows), configuring 517
starting 251
daemon communication 16
establishing 381
I
introduction 1 IBM Cloud Object Storage migration
naming 249 transparent cloud tiering 590
nodes in the cluster 245, 247–251 IBM Cloud Object Storageconsiderations 348
operating environment 6 IBM Global Security Kit (GSKit) 1
planning nodes 243 IBM Spectrum Archive
portability layer 396, 397 adding nodes 481
recovery logs IBM Spectrum Scale
creation of 14 Active File Management 40–42, 44, 46–49, 53, 54, 60,
unavailable 23 62, 64, 72, 73, 75, 78, 80, 81, 83, 91, 93, 127, 140,
server nodes 243 372, 373, 527, 565
starting 381 Active File Management - Disaster Recovery 375
starting the GPFS daemon 9, 251 Active File Management DR 104–107, 111–113, 375,
user ID domain 250 529
GPFS communications adapter port name 244 AFM
GPFS daemon communications 16 .afm 54
GPFS for Linux on Z, running 390 .pconflicts 54
GPFS for Windows Multiplatform .ptrash 54
overview 501 AFM gateway nodes requirements on the cache and
GPFS introduction 1 home clusters 373
GPFS limitations on Windows 503 AFM to Cloud Object Server replication
GPFS patches, extracting 390 Eviction feature 140
GPFS product structure AFM to cloud object storage 127
capacity based licensing 230 asynchronous delay 49
GPFS strengths 1 cache cluster 40
GPFS, configuring 443 cache eviction 75
GPFS, installing 426 cached and uncached files 48
GPFS, installing over a network 499 caching modes 41
GPFS, planning for 233 encryption 93
GPFS, reverting to a previous level 625, 626 expiring a disconnected RO cache 80
GPG key Failover 81
verifying 389 fileset disabling 93
GPU 27 fileset to home 53
GPUDirect Storage Force flushing contents before Async Delay 60
installing 525 gateway node 373
planning 266 gateway node failure 73
upgrading 564 gateway recovery 73
GSKit 1 global namespace 46
GUI home 40
overview 158 Inode limits to set at cache and home 372
GUI without root privileges 418 install 527
guidelines for maintenance tasks 355 iw cache maintenance 91
operation with disconnected home 78
Index 661
IBM Spectrum Scale (continued) IBM Storage Protect (continued)
AFM (continued) identify backup candidates 288
Parallel data transfer using multiple remote mounts metadata storage 287
62 provisioning 286
Parallel data transfers 60 IBM Storage Protect backup planning 286, 288
partial file caching 64 IBM Storage Protect for Space Management
peer snapshot 72 DMAPI file handle size considerations 627
planned maintenance 91 file system backups 297
planning 372 IBM Storage Protect space managed file system backups
prefetch 64 297
primary gateway 44 IBM Storage Scale
psnap 72 5.0.y 552
resync on SW filesets 83 5.1.x 552
revalidation parameters 47 Active File Management 40, 42, 57, 89, 93
synchronous or asynchronous operations 49 adding file systems 477
UID and GID requirements on the cache and home adding nodes 477, 479, 481
clusters 372 adding nodes with toolkit 477
unplanned maintenance 91 adding NSDs 477
upgrade 565 adding protocols with toolkit 477
viewing snapshots at home 81 administration commands 4
workerThreads on cache cluster 372 AFM
AFM communication Fast creates 57
cache and home 42 IBM Storage Protect 89
AFM DR NFS backend protocol 42
concepts 106 using mmbackup 93
failback 111, 112 WAN latency 40
failover 111 AFM DR
installing 529 role reversal 109
introduction 104 AFM inode limits 372
modes 106 AFM-based Asynchronous Disaster Recovery
planning 375 role reversal 109
recovery time objective 105 application interaction 18–23
RPO snapshots 107 architecture 9, 12, 14, 16, 18
secondary cluster 375 backup data 26
secondary site 112, 113 basic structure 4–6
UID/GID requirements 375 call home 203, 207, 220, 221
worker1Threads on primary cluster 375 call home data upload 203, 207, 220
AFM mode call home update PTF 221
operations 49 capacity based licensing 230
AFM monitoring CES 30
cache and home 42 CES HDFS planning 345
call home 531 CES NFS support 32
installing call home 531 cluster configuration data files 25
non-protocol nodes 553 cluster configurations 6
prerequisites for call home 531 cluster creation 243–245, 247–251
protocol nodes 557 Cluster Export Services 30
protocol nodes authentication 611 cluster manager 9
SELinux configuring and tuning system
enforcing mode 379 transparent cloud tiering 348
permissive mode 379 considerations for applications 379
Upgrading 553, 557, 611 daemon 5
IBM Spectrum Scale for object storage daemon communication 16, 17
manual install 406 data protection 157
multi-region object deployment 36 deploying protocols 451, 455, 456, 461, 462, 477, 591,
storage policies 35 599
upgrade to 5.0.x 567 diagnosing errors 479
IBM Spectrum Scale management API disk considerations 252, 253, 262–265
fields parameter 165 enabling protocols 479
filter parameter 167 enabling protocols on Linux 404
paging 169 Express Edition 618
IBM Storage Protect failure recovery processing 25
backup planning 286–288, 291, 293, 295, 297 file audit logging 533
file data storage 287 file consistency 2
fileset backups 295 file structure 12, 14
662 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
IBM Storage Scale (continued) IBM Storage Scale (continued)
file system creation 268, 273, 274, 276–284 shared file system access 1
for improved performance 2 simplified administration 4
GUI 158 simplified storage management 3
hardware requirements 233 SMB support 33
Immutability and appendOnly software requirements 234
IAM modes 106 special management functions 9
increased data availability 2 strengths 1–4
inspect call home 218 stretch cluster use case 465
inspect call home data upload 218 supported cloud providers 187
installation toolkit 436, 438, 457, 458, 464 supported NFS clients 319
installing 381, 383, 384, 386, 387, 389–391, 396, 397, supported upgrade paths 550
405, 406, 408, 411, 419, 426, 428, 442, 443, 449, system flexibility 3
451, 455, 456, 461, 462, 481–484, 486, 497–499, thin provisioned disks 254
501–510, 512–514, 517, 520, 576, 591, 599 transparent cloud tiering
installing CES on Linux 403 how it works 183
installing GUI 411 overview 181
installing on AIX nodes 497–499 unified file and object access 35, 340–342
installing on Linux 398 uninstalling 539, 540, 546
installing on Linux nodes 383, 384, 386, 387, 389–391, upgrade
405, 406, 408, 411, 419, 426, 442, 443, 449, 481–484, non-protocol nodes 553
486, 576 protocol nodes 557
installing on Windows nodes 501–510, 512–514, 517 upgrade considerations 551
installing packages on Linux 399, 402 upgrade process flow 593
installing protocols on Linux 403 upgrading
installing with toolkit 419 non-protocol nodes 553
IP address usage 17 protocol nodes 557
kernel extensions 5 protocol nodes authentication 611
key features 1 Upgrading 552
licensing 225 upgrading from 3.5 638
management functions 9–12 upgrading from unsupported OS 634
management GUI upgrading LTFS nodes 609
manual installation 411 user interaction 18–23
node classes 547 WORM solutions 187
manual installation 391, 405, 406, 408, 576 IBM Storage Scale AFM node 12
manual upgrade 574, 575 IBM Storage Scale CES node 11
memory usage 14, 15 IBM Storage Scale Client license 227
migration 549, 567, 569, 571, 625–627 IBM Storage Scale disk storage use 12
multi-region object deployment 36, 342–345 IBM Storage Scale file system
network communication 16, 18 migrating SMB data 325
node failure 237–240 IBM Storage Scale file system manager 10
NSD disk discovery 23 IBM Storage Scale for object storage
object capabilities 38 multi-region object deployment 342–345
object storage planning 333, 335–340 object capabilities 38
object storage support 34–38 S3 API 37
offline upgrade 601 unified file and object access 35, 340–342
OpenStack cloud deployment 222 upgrading 567
OS upgrade 628, 633 IBM Storage Scale FPO license 227
pinned memory 15 IBM Storage Scale GUI
planning 227, 233, 234, 237, 240–243, 252, 268, upgrading to the latest version 578
286–288, 291, 293, 295, 297, 307, 309, 310, 315, 317, IBM Storage Scale information units xvii
318, 331, 333, 336–340, 351 IBM Storage Scale introduction 1
planning for transparent cloud tiering 347, 348 IBM Storage Scale license designation 227
portability layer 6 IBM Storage Scale management API
product edition 614 configuring 523
product editions 225, 230 Functional overview 163
product overview 181 installing 523
product structure 225 IBM Storage Scale metanode 11
protocols prerequisites 384 IBM Storage Scale NFS
protocols support 29, 30, 32–34, 345 upgrading 571
recoverability 237–242 IBM Storage Scale object storage
RHEL 8.x upgrade 631 overview 34
S3 API 37 IBM Storage Scale overview 1
servicing protocol nodes 637 IBM Storage Scale protocol node 11
Index 663
IBM Storage Scale protocols installing GPFS on AIX nodes (continued)
planning 307, 309, 310, 315, 317, 318, 333, 336–340, directions 499
342–345 electronic license agreement 498
IBM Storage Scale quota files 14 files used during 497
IBM Storage Scale recovery logs 14 man pages 499
IBM Storage Scale Server license 227 procedures for 497
IBM Z, DASD tested with Linux on 264 table of contents file 498
IBM Z, running GPFS for Linux on 390 verifying the GPFS installation 499
IDMU (Identity Mapping for Unix (IDMU) / RFC 2307 what to do before you install GPFS 497
Attributes) 514 installing GPFS on Linux nodes
Independent writer building the GPFS portability layer
AFM mode 49 using the Autoconfig tool 397
independent-writer (IW) 41 using the mmbuildgpl command 396, 397
indirect blocks 12, 14 electronic license agreement 387
indirection level 12 installing the software packages 391, 405, 406, 408,
initialization of the GPFS daemon 19 411, 576
inode man pages 390
allocation file 13 procedure for 383, 384, 387, 390, 391, 405, 406, 408,
allocation map 13 411, 419, 426, 442, 443, 449, 481–484, 486, 576
cache 15 verifying the GPFS installation 406
logging of 14 what to do before you install GPFS 383
usage 12, 22 installing GPFS on Windows nodes 501
Inode limits to set at cache and home 372 installing GPFS prerequisites 509
install installing IBM Storage Scale on Linux nodes
query creating the GPFS directory 387
uninstall 520 License Acceptance Process (LAP) tool 387
installation cleanup procedures 540 installing packages
installation toolkit manually 399
audit logging 457 NSDs 402
call home configuration 458 with toolkit 419
ESS 3000 awareness 464 installing protocols 383, 384, 387, 419, 461
ESS awareness 464 installing Tracefmt 510
limitations 428, 462 installing Tracelog 510
mixed operating system support 436 inter-protocol level locking 327
populating cluster definition file 462 Internet Protocol Version 6 98, 99
preparing 438 interoperability of
product edition change 614 transparent cloud tiering 188
stretch cluster 465 introduction
upgrade flow chart 593 AFM DR 104
upgrade process flow 593 file audit logging 191
upgrading LTFS nodes 609 transparent cloud tiering 181
installation toolkit( invariant address adapter
offline upgrade 601 requirement 233
installing IO Throughput 327
AFM-based disaster recovery 529 IOPS 327
api 523 IP address
CES 403 private 17
cloud data sharing 520 public 17
Cloud services 520 iptable rules
clustered watch folder 535 migration 418
GPUDirect Storage 525
manually 398
transparent cloud tiering
J
on GPFS nodes 520 joining an Active Directory domain 510
installing and configuring OpenSSH, Windows 516 JSON
installing Cygwin 510 attributes 193
installing GPFS events 193
on Windows nodes 512, 513 JSON attributes 199
over a network 499
installing GPFS (Ubuntu)
verifying the GPFS installation 405 K
installing GPFS and protocols, examples 442, 443, 451, 456
Kafka
installing GPFS on AIX nodes
external sink 197
creating the GPFS directory 498
664 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
kernel extensions 5 maximum number of files that can be created 283
kernel memory 14 maxStatCache parameter
memory usage 15
memory
L non-pinned 15
latest level of file system pinned 15
migrating 282 usage 14
librdkafka 590 metadata
License Acceptance Process (LAP) tool 387 default 279
license designation 227 maximum replicas 279
limitations replication 279
CES NFS Linux 319 metanode 11
clustered watch folder 535 migrating
NFS protocol nodes 319 reverting to the previous level of GPFS 625, 626
Limitations migrating file system format to the latest level 282
SMB clients limitations 322 migrating IBM Cloud Object Storage 590
SMB share limitations 322 Migrating SMB data from traditional filer 325
limitations of migrating SMB data from traditional NAS 325
transparent cloud tiering 188 migrating SMB data to IBM Storage Scale 325
Linux mixed Windows and UNIX cluster, configuring 514
building the GPFS portability layer mmbackup command 26, 157
using the mmbuildgpl command 396, 397 mmbackupconfig command 157
installation instructions for GPFS 383 mmcesdr command 157
installing GPFS 387 mmchcluster command 247, 248
kernel requirement 234 mmchconfig command
prerequisite software 386 defining a subset of nodes 4, 18
Linux on Z, DASD tested with 264 mmchdisk command 22
Linux on Z, running GPFS 390 mmcheckquota command 19
load balancing across disks 2 mmchfs 319
Local updates mmchfs command 268, 278, 281
AFM mode 49 mmcrcluster command 17, 243, 247, 248, 497
local-update (LU) 41 mmcrfs 319
mmcrfs command 268, 278, 281
mmcrnsd command 253
M mmdefedquota command 281, 282
mmdefquotaon command 282
maintenance
mmdelnsd command 253
iw cache 91
mmedquota command 281
maintenance levels of GPFS, applying 628
mmfsck command 14, 19, 23, 157
maintenance tasks
mmimagebackup command 157
planning 355
mmimgrestore command 157
man pages
mmlsdisk command 22, 264
installing on AIX nodes 499
mmlsfs 319
installing on Linux nodes 390
mmlsfs command 14
management API
mmlsquota command 281
fields parameter 165
mmmount command 19
filter parameter 167
mmrepquota command 281
paging 169
mmrestoreconfig command 157
management GUI
mmrestorefs command 157
installing 461
mmstartup command 251
node classes 547
mmwinservctl command 247, 248
nodeclasses 411
modes
uninstalling 546
AFM DR 106
management GUI node classes
monitoring
removing nodes 547
cache and home 42
manual installation 391, 398, 399, 402–406, 408, 576
mount options 281
manual upgrade
mount-priority option 284
performance monitoring
mounting a file system 19, 273, 281
Ubuntu 18.04 575
mounting of file systems, controlling the order of the 284
maxFilesToCache parameter
mountpoint 281
memory usage 15
moving SMB data from a traditional filer 325
maximum data replicas 280
mtime values 277
maximum metadata replicas 279
multi-node Cloud services
maximum number of files 283
set up 521
Index 665
multi-node setup for Cloud services 521 O
multi-region object deployment
authentication planning 343 Object
data protection planning 344 upgrade to 5.0.x 567
enabling 483, 484 object authentication 315
Keystone endpoints 343 object capabilities 38
monitoring planning 345 object heatmap data tiering 39
network planning 345 object storage
overview 36 overview 34
performance considerations 345 object storage planning
planning 342–345 authentication method 338
Multiple Path I/O (MPIO) backup 338
utilizing 242 cluster host name 337
disaster recovery 338
load balancing 336
N OpenStack repo 335
NAS protocols 327 SELinux considerations 339, 340
network object support
communication within your cluster 2 overview 34
network communication Open Secure Socket Layer 1
administration commands 18 OpenSSL 1
network considerations 347 OpenStack repo 335
Network File System (NFS) operating system
access control lists 278 calls 19–22
deny-write open lock commands 18, 19
273 opportunistic locks 327
network installing GPFS 499 order in which file systems are mounted, controlling the 284
Network Shared Disk (NSD) overview
creation of 253 of GPFS for Windows Multiplatform 501
disk discovery 23 transparent cloud tiering 181
server disk considerations 252
server failure 241 P
server node considerations 262
NFS packaging overview and extraction 387
backend protocol 42 pagepool parameter
upgrade to 5.0.x 571 affect on performance 21
NFS planning in support of I/O 15
file system considerations 318 memory usage 15
NFS-supported clients 319 Parallel data transfer 100
node quorum Parallel data transfer using multiple remote mounts 62
definition of 238 Parallel data transfers 60
selecting nodes 240 partial file caching 64
node quorum with tiebreaker disks patches (GPFS), extracting 390
definition of 238 patches (GPFS), extracting SUSE Linux Enterprise Server and
selecting nodes 240 Red Hat Enterprise Linux 390
nodes PATH environment variable 497
acting as special managers 9 peer snapshot 72
cluster manager 9 performance
descriptor form 245 pagepool parameter 21
designation as manager or client 245 use of GPFS to improve 2
estimating the number of 280 use of pagepool 15
failure 237–240 performance considerations
file of nodes in the cluster for installation 497 Cloud services 351
file system manager 10 transparent cloud tiering 351
file system manager selection 11 performance monitoring
in a GPFS cluster 243 Limitations 378
in the GPFS cluster 245 mmperfmon command 154
quorum 245 performance monitoring tool 154
nofilesetdf option 283 performance monitoring tool
non-pinned memory 15 manual installation 408
NSD Performance monitoring tool
backend protocol 42 pmcollector memory consumption 378
number of files that can be created, maximum 283 Performance Monitoring tool
NVIDIA 27 manual installation 576
666 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Performance Monitoring tool (continued) programming specifications (continued)
pmswift 576 Linux prerequisite software 386
uninstalling 546 verifying prerequisite software 386, 497
Persistent Reserve protocol exports
reduced recovery time 242 fileset considerations 331
pinned memory 15 protocol node configuration
planned maintenance object protocol 482–484, 486
IW cache 91 protocol node hardware 326
planning protocol nodes
GPUDirect Storage 266 driver updates 637
highly available write cache 302 firmware updates 637
IBM Storage Scale 355 kernel updates 637
NFS 317, 318 servicing 637
object storage 333, 336–340, 342–345 upgrading 553, 557
SMB protocol nodes authentication
SMB fail-over scenarios 322 upgrading 611
SMB upgrades 322 protocols prerequisites 384, 387
systemd 305 protocols support
transparent cloud tiering 345 overview 29
Planning protocols, deploying 451, 456
extended attributes (EAs) 299 protocols, installing 383, 461
Quality of Service for I/O operations (QoS) psnap 72
298 PTF support 628
planning considerations public IP address 17
cluster creation 243
disks 252
file system creation 268
Q
hardware requirements 233 Quality of Service for I/O operations
IBM Storage Scale license designation 227 (QoS)
product structure 225, 230 planning 298
recoverability 237 quorum
software requirements 234 definition of 238
planning for during node failure 238, 239
cloud data sharing 345 enforcement 9
IBM Storage Scale 351 file system descriptor 263
planning for IBM Storage Scale 345 initialization of GPFS 19
planning for maintenance activities node 238, 239
Cloud services 355 selecting nodes 240
policies 3 quota support
populating cluster definition file Cloud services 357
limitations 462 quotas
port forwarding 418 default quotas 282
portability layer description 281
building files 14
using the mmbuildgpl command 396, 397 in a replicated system 281
description 6 role of file system manager node 11
Posix locking 327 values reported in a replicated file system 281
pre-installation steps
transparent cloud tiering 519
preparing direct access storage devices (DASD) for NSDs 264 R
preparing environment for ECKD devices 265
rcp command 248
preparing the environment 386
Read only
prerequisites
AFM mode 49
for Windows 509
read operation
prerequisites for installing protocols 384, 387
buffer available 20
primary gateway 44
buffer not available 20
private IP address 17
requirements 20
producers
token management 21
clustered watch folder 197
read-only (RO) 41
lightweight events 191
recommendations for maintenance tasks
product edition
Cloud services 355
changing 614
recoverability
programming specifications
disk failure 241
AIX prerequisite software 497
Index 667
recoverability (continued) RPM package
disks 22 covert
features of GPFS 2, 25 deb package 520
file systems 23 RPMs (update), extracting SUSE Linux Enterprise Server and
node failure 238 Linux 390
parameters 237 RPO snapshots 107
recovery time rsh command 247
reducing with Persistent Reserve 242 running GPFS for Linux on Z 390
recovery time objective
AFM DR 105
Red Hat Enterprise Linux 8.x
S
removing object protocol 633 S3 API
reduced recovery time using Persistent Reserve 242 overview 37
Redundant Array of Independent Disks (RAID) scalemgmt user 418
preventing loss of data access 241 scp command 248
remote secondary cluster
file systems 196 NFS setup 375
remote command environment secure communication
rcp 248 establishing 38
rsh 247 security
scp 248 shared file system access 1
ssh 247 security considerations
remotely transparent cloud tiering 355
mounted 196 self-extracting package 387
remotely mounted servicing protocol nodes 637
file system 534 servicing your GPFS system 628
remotely mounted file systems 196 set up multi-nodes 521
removing GPFS, uninstalling 539 setting quota limit
repairing a file system 23 transparent cloud tiering 357
replication setting up a multi-node 521
affect on quotas 281 share modes 328
description of 2 shared file system access 1
preventing loss of data access 241 shared segments 15
reporting numbers based on quotas for the fileset 283 shell PATH 386
Requests Single writer
REST API 163, 170, 171 AFM mode 49
requirements single-writer (SW) 41
clustered watch folder 535 sizing file systems 268
hardware 233, 533 SMB
OS 533 planning 322
RPM 533 update to 4.2.3.x 569
software 234 update to 5.0.x 569
system 533 upgrading 569, 571
Response time 327 SMB Client 327, 331
Responses SMB connections
REST API 168 SMB active connections 322
REST API SMB data migration 325
configuring 523 SMB data migration using Robocopy 325
Functional overview 163 SMB export 327
installing 523 SMB migration prerequisites 325
Requests 163, 170, 171 SMB planning 321
Responses 168 SMB protocol 328
resync on SW filesets 83 SMB share limitations 322
revalidation SMB support
AFM 47 overview 33
parameters 47 snapshot based backups 291
reverting to a previous level 625, 626 snapshots
RHEL 9 coexistence considerations with DMAPI 627
GUI installation 418 gpfs.snap command 153
role reversal SOBAR 157
AFM DR 109 soft limit, quotas 281
RPM database softcopy documentation 390, 499
query software requirements 234
RPM commands 520 Software requirements
668 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
Software requirements (continued) synchronous
transparent cloud tiering 346 operations 49
Specifying whether the df command will report numbers synchronous or asynchronous operations
based on quotas for the fileset 283 AFM 49
spectrum scale API 161 system calls
spectrumscale 419 open 19
spectrumscale installation toolkit read 20
adding file systems 477 stat() 22
adding nodes 477 write 21
adding NSD nodes 445 system health
adding NSDs 477 events 153
configuration options 443 mmhealth command 153
creating file systems 447 thresholdmonitoring 153
debugging 479 systemd
deploying protocols planning 305
debugging 456
logging 456
diagnosing errors 479
T
enabling protocols 479 Thanks 571
installing GPFS 449 Thin provision
installing IBM Storage Scale 449, 451, 455, 456 TRIM-supported NVMe SSDs 259, 260
installing management GUI 461 Thin provisioned disks)
limitations 426, 428, 462 creation of 254
options 426, 428 Thin provisioning
overview 419 features 255
populating cluster definition file 461, 462 tiebreaker disks 239
preparing 438 token management
setting installer node 443 description 10
upgrade 591, 599 large clusters 2
upgrade flow chart 593 system calls 19
upgrade process flow 593 use of 2
upgrading 591, 599 toolkit installation 419, 477
ssh command 247 Tracefmt program, installing 510
start replication Tracelog program, installing 510
AFM 97 tracing
starting GPFS 251 mmprotocoltrace command 153
stat cache 15 transparent cloud tiering
stat() system call 15, 22 considerations 355
stop replication creating a node class 519
AFM 97 firewall recommendations 351
Storage Area Network (SAN) hardware requirements 345
disk considerations 252 IBM Cloud Object Storage considerations 590
Storage configuration 327 installing
storage disk subsystems 327 on GPFS nodes 520
storage management interoperability and limitations 188
filesets 3 overview 183
policies 3 planning 345, 351
storage pools 3 security 355
storage policies 35 software requirements 346
storage policies for object 35 tuning and configuring 348
storage pools 3 upgrade to 1.1.2 580
storage scale installation toolkit upgrade to 1.1.2.1 580
adding node definitions 444 upgrade to 1.1.3 581, 582
storage system 326 upgrade to 1.1.4 582, 583
stretch cluster 465 upgrade to 1.1.5 584
strict replication 278 upgrade to 1.1.6 585
structure of IBM Storage Scale 4 working mechanism 183
substitution variables 328 Transparent Cloud Tiering
support backup considerations 356
failover 2 tuning system for transparent cloud tiering 348
support and limitation for Windows 502
supported NFS clients in IBM Storage Scale 319
SUSE Linux Enterprise Server and Linux RPMs (update),
extracting 390
Index 669
U V
Ubuntu Linux packages (update), extracting 390 verifying
UID and GID requirements on the cache and home clusters GPFS for AIX installation 499
372 GPFS for Linux installation 406
uncached GPFS installation (Ubuntu) 405
files 48 prerequisite software for AIX nodes 497
unified file and object access prerequisite software for Linux nodes 386
authentication 341 verifying disk usage 282
authentication planning 341 verifying signature 389
deploying 484 viewing snapshots at home 81
high-level workflow 484
identity management modes 341, 342
objectization schedule 342
W
objectizer planning 342 WAN
overview 35 considerations 347
planning 340–342 WAN considerations 347
prerequisites 342 watch folder API 199, 590
unified file and object access modes Windows
planning 341, 342 access control on GPFS file systems 508
uninstall allowing the GPFS administrative account to run as a
GPFS permanently 539 service 515
transparent cloud tiering 547 antivirus software 506
UNIX and Windows (mixed) cluster, configuring 514 assigning a static IP address 510
UNIX, Identity Mapping for Unix (IDMU) / RFC 2307 case sensitivity 505
Attributes 514 configuring 510
unplanned maintenance configuring a mixed Windows and UNIX cluster 514
IW cache 91 configuring the GPFS Administration service 515
update PTF notification 221 creating the GPFS administrative account 515
update SUSE Linux Enterprise Server and Red hat Enterprise differences between GPFS and NTFS 507
Linux RPMs, extracting 390 disabling the firewall 510
update Ubuntu Linux packages, extracting 390 drive letter 281
upgrade file name considerations 505
Cloud services 579 file system name considerations 504
Upgrade GPFS limitations 503
v4.2.0. to v4.2.1 or later 573 Identity Mapping for Unix (IDMU) / RFC 2307 Attributes
v4.2.1. to v5.0.0 572 514
upgrade considerations installation procedure 501
performance monitoring 551 installing and configuring OpenSSH 516
protocols 551 installing Cygwin 510
upgrade from 1.1.1 to 1.1.2 installing GPFS on Windows nodes 512, 513
transparent cloud tiering 580 joining an Active Directory domain 510
upgrade rerun overview 501
installation toolkit 607 prerequisites 509
upgrade to Red Hat Enterprise Linux 8.x 633 static IP address, Windows 510
Upgrades 322 support and limitations 502
upgrading Windows HPC server, configuring 517
completing the upgrade 620 worker1Threads on primary cluster 375
GPUDirect Storage 564 workerThreads on cache cluster 372
offline upgrade 550 Working of
online upgrade 550, 551 Cloud data sharing 184
performance monitoring 551 workload profiling 327
protocols 551 Write Once Read Many solution 187
supported paths 550 write operation
toolkit 591, 599 buffer available 21
upgrading from version 3.5 638 buffer not available 21
upgrading IBM Storage Scale GUI 578 token management 22
upgrading operating system 628, 631
upgrading OS 628, 631
user-defined node class
Cloud services 519
using CES 30
using mmbackup 93
670 IBM Storage Scale 5.1.9: Concepts, Planning, and Installation Guide
IBM®
SC28-3474-00