Changing the GPFS cluster configuration data

You can use the mmchcluster or mmchconfig commands to change the configuration attributes.

After you have configured the GPFS™ cluster, you can change configuration attributes with the mmchcluster command or the mmchconfig command. For more information, see the following topics:
Use the mmchcluster command to do the following tasks:
  • Change the name of the cluster.
  • Change the remote shell and remote file copy programs to be used by the nodes in the cluster. These commands must adhere to the syntax forms of the ssh and scp commands, but may implement an alternate authentication mechanism.
  • Enable or disable the cluster configuration repository (CCR). For more information, see Cluster configuration data files

If you are using the traditional server-based (non-CCR) configuration repository, you can also do the following tasks:

  • Change the primary or secondary GPFS cluster configuration server nodes. The primary or secondary server may be changed to another node in the GPFS cluster. That node must be available for the command to be successful.
    Attention: If during the change to a new primary or secondary GPFS cluster configuration server, one or both of the old server nodes are down, it is imperative that you run the mmchcluster -p LATEST command as soon as the old servers are brought back online. Failure to do so may lead to disruption in GPFS operations.
  • Synchronize the primary GPFS cluster configuration server node. If an invocation of the mmchcluster command fails, you will be prompted to reissue the command and specify LATEST on the -p option to synchronize all of the nodes in the GPFS cluster. Synchronization instructs all nodes in the GPFS cluster to use the most recently specified primary GPFS cluster configuration server.
For example, to change the primary server for the GPFS cluster data, enter:
mmchcluster -p k164n06  
The system displays information similar to:
mmchcluster -p k164n06
mmchcluster: Command successfully completed
To confirm the change, enter:
mmlscluster
The system displays information similar to:
GPFS cluster information
========================
  GPFS cluster name:         cluster1.kgn.ibm.com
  GPFS cluster id:           680681562214606028
  GPFS UID domain:           cluster1.kgn.ibm.com
  Remote shell command:      /usr/bin/ssh
  Remote file copy command:  /usr/bin/scp
  Repository type:           server-based

GPFS cluster configuration servers:
-----------------------------------
  Primary server:    k164sn06.kgn.ibm.com
  Secondary server:  k164n05.kgn.ibm.com

 Node  Daemon node name        IP address     Admin node name         Designation
-------------------------------------------------------------------------------------
   1   k164n04.kgn.ibm.com   198.117.68.68    k164n04.kgn.ibm.com     quorum
   2   k164n05.kgn.ibm.com   198.117.68.69    k164n05.kgn.ibm.com     quorum
   3   k164n06.kgn.ibm.com   198.117.68.70    k164sn06.kgn.ibm.com    quorum-manager
Attention: The mmchcluster command, when issued with either the -p or -s option, is designed to operate in an environment where the current primary and secondary GPFS cluster configuration servers are not available. As a result, the command can run without obtaining its regular serialization locks. To assure smooth transition to a new cluster configuration server, no other GPFS commands (mm... commands) should be running when the command is issued nor should any other command be issued until the mmchcluster command has successfully completed.

For complete usage information, see mmchcluster command and mmlscluster command.

You might be able to tune your cluster for better performance by reconfiguring one or more attribute. Before you change any attribute, consider how the changes will affect the operation of GPFS. For a detailed discussion, see IBM Spectrum Scale: Concepts, Planning, and Installation Guide and mmcrcluster command.

Table 1 details the GPFS cluster configuration attributes which can be changed by issuing the mmchconfig command. Variations under which these changes take effect are noted:
  1. Take effect immediately and are permanent (-i).
  2. Take effect immediately but do not persist when GPFS is restarted (-I).
  3. Require that the GPFS daemon be stopped on all nodes for the change to take effect.
  4. May be applied to only a subset of the nodes in the cluster.

For more information on the release history of tuning parameters, see Tuning parameters change history.

Table 1. Configuration attributes on the mmchconfig command
Attribute name and Description -i option allowed -I option allowed GPFS must be stopped on all nodes List of NodeNames allowed Change takes effect
adminMode

Controls password-less access

yes no no no immediately
atimeDeferredSeconds

Update behavior of atime when relatime is enabled

yes yes no yes if not immediately, on restart of the daemon
autoload

Starts GPFS automatically

no no no yes on reboot of each node
automountDir

Name of the automount directory

no no yes no on restart of the daemon
cesSharedRoot

A directory to be used by the CES subsystem.

no no yes (on all CES nodes) no immediately
cipherList

The security mode of the cluster. This value indicates the level of security that the cluster uses for communications between nodes in the cluster and also for communications between clusters.

no no only when changing from AUTHONLY or a cipher to EMPTY mode no for new connections
cnfsGrace

The number of seconds a CNFS node will deny new client requests after a node failover or failback

yes no yes no immediately
cnfsMountdPort

The port number to be used for rpc.mountd

yes no no no immediately
cnfsNFSDprocs

The number of nfsd kernel threads

yes no no no if not immediately, on restart of the daemon
cnfsReboot

Determines whether the node will reboot when CNFS monitoring detects an unrecoverable problem.

yes no no yes immediately
cnfsSharedRoot

Directory to be used by the clustered NFS subsystem

yes no yes no immediately
cnfsVersions

List of protocol versions that CNFS should start and monitor

yes no yes no immediately
dataDiskCacheProtectionMethod

Defines the cache protection method for disks that are used for the GPFS file system.

no no yes no on restart of the daemon
dataDiskWaitTimeForRecovery

Controls the suspension of dataOnly disk recovery

yes no no yes immediately
dataStructureDump

Path for the storage of dumps

yes no no yes if not immediately, on restart of the daemon
deadlockBreakupDelay

When to attempt breaking up a detected deadlock

yes yes no no immediately with -i or -I
deadlockDataCollectionDailyLimit

Maximum number of times to collect debug data in 24 hours

yes yes no no immediately with -i or -I
deadlockDataCollectionMinInterval

Minimum interval between two consecutive collections of debug data

yes yes no no immediately with -i or -I
deadlockDetectionThreshold

Threshold for detecting deadlocks

yes yes no no immediately with -i or -I
deadlockDetectionThresholdForShortWaiters

Threshold for detecting deadlocks from short waiters

yes yes no no immediately with -i or -I
deadlockDetectionThresholdIfOverloaded

Threshold for detecting deadlocks when a cluster is overloaded

yes yes no no immediately with -i or -I
deadlockOverloadThreshold

Threshold for detecting cluster overload

yes yes no no immediately with -i or -I
debugDataControl

Controls the amount of debug data collected

yes no no yes immediately
defaultMountDir

Default parent directory for GPFS file systems

yes yes no no for new file systems
disableInodeUpdateOnFdatasync

Controls inode update on fdatasync for mtime and atime updates.

yes yes no yes immediately with -i or -I
dmapiDataEventRetry

DMAPI attribute

yes yes no yes if not immediately, on restart of the daemon
dmapiEventTimeout

DMAPI attribute

no no no yes on restart of the daemon
dmapiMountEvent

DMAPI attribute

yes yes no yes if not immediately, on restart of the daemon
dmapiMountTimeout

DMAPI attribute

yes yes no yes if not immediately, on restart of the daemon
dmapiSessionFailureTimeout

DMAPI attribute

yes yes no yes if not immediately, on restart of the daemon
enableIPv6

Controls whether the GPFS daemon is to communicate through the IPv6 network.

no no only when enableIPv6 is set to yes not applicable if not immediately, on restart of the daemon
enforceFilesetQuotaOnRoot

Controls fileset quota settings for the root user

yes yes no no if not immediately, on restart of the daemon
expelDataCollectionDailyLimit

Maximum number of times to collect expel-related debug data in 24 hours

yes yes no no immediately with -i or -I
expelDataCollectionMinInterval

Minimum interval between two consecutive collections of expel-related debug data

yes yes no no immediately with -i or -I
failureDetectionTime

Indicates the amount of time it will take to detect that a node has failed

no no yes no on restart of the daemon
fastestPolicyCmpThreshold

Indicates the disk comparison count threshold, above which GPFS forces selection of this disk as the preferred disk to read

yes yes no yes immediately with -i
fastestPolicyMaxValidPeriod

Indicates the time period after which the disk's current evaluation is considered invalid

yes yes no yes immediately with -i
fastestPolicyMinDiffPercent

A percentage value indicating how GPFS selects the fastest between two disks

yes yes no yes immediately with -i
fastestPolicyNumReadSamples

Controls how many read samples taken to evaluate the disk's recent speed

yes yes no yes immediately with -i
fileHeatLossPercent

Specifies the reduction rate of FILE_HEAT value for every fileHeatPeriodMinutes of file inactivity.

yes yes no no if not immediately, on restart of the daemon
fileHeatPeriodMinutes

Specifies the inactivity time before a file starts to lose FILE_HEAT value.

yes yes no no if not immediately, on restart of the daemon
FIPS1402mode

Controls whether GPFS operates in FIPS 140-2 mode.

no no no not applicable on restart of the daemon
forceLogWriteOnFdatasync

Controls forcing log writes to disk.

yes yes no yes immediately with -i or -I
ignorePrefetchLUNCount

The GPFS client node calculates the number of sequential access prefetch and write-behind threads to run concurrently for each file system by using the count of the number of LUNs in the file system and the value of maxMBpS.

yes yes no yes immediately with -i
lrocData

Controls whether user data will be populated into the local read-only cache.

yes yes no yes immediately with -i or -I
lrocDataMaxFileSize

Limits the data that may be saved in the local read-only cache to only the data from small files.

yes yes no yes immediately with -i or -I
lrocDataStubFileSize

Limits the data that may be saved in the local read-only cache to only the data from the first portion of all files.

yes yes no yes immediately with -i or -I
lrocDirectories

Controls whether directory blocks will be populated into the local read-only cache.

yes yes no yes immediately with -i or -I
lrocEnableStoringClearText

Controls whether encrypted file data can be read into a local read-only cache (LROC) device.

yes yes no no immediately with -i or -I
lrocInodes

Controls whether inodes from open files will be populated into the local read-only cache.

yes yes no yes immediately with -i or -I
maxblocksize

Maximum file system block size allowed

no no no yes on restart of the daemon
maxBufferDescs

Can be tuned to cache very large files

no no no yes on restart of the daemon
maxDownDisksForRecovery

Maximum number of failed disks allowed for automatic recovery to continue

yes no no yes immediately
maxFailedNodesForRecovery

Maximum number of unavailable nodes allowed before automatic disk recovery is cancelled

yes no no yes immediately
maxFcntlRangesPerFile

Specifies the number of fcntl locks that are allowed per file

yes yes no yes if not immediately, on restart of the daemon
maxFilesToCache

Number of inodes to cache for recently used files

no no no yes on restart of the daemon
maxMissedPingTimeout

Handles high network latency in a short period of time

no no no no on restart of the daemon
maxMBpS

I/O throughput estimate

yes yes no yes if not immediately, on restart of the daemon
maxStatCache

Number of inodes to keep in stat cache

no no no yes on restart of the daemon
metadataDiskWaitTimeForRecovery

Controls the suspension of metadata disk recovery

yes no no yes immediately
minDiskWaitTimeForRecovery

Controls the suspension of disk recovery

yes no no yes immediately
minMissedPingTimeout

Handles high network latency in a short period of time

no no no no on restart of the daemon
mmapRangeLock

Specifies POSIX or non-POSIX mmap byte-range semantics

Note: The list of NodeNames is allowed, but it is not recommended.
yes yes no yes immediately
nfsPrefetchStrategy

Optimizes prefetching for NFS file-style access patterns

yes yes no yes immediately with -i
nistCompliance

Controls whether GPFS operates in NIST 800-131A mode for security transport mechanisms.

no no no not applicable if not immediately, on restart of the daemon
noSpaceEventInterval

Time interval between noDiskSpace events of a file system

yes yes no yes if not immediately, on restart of the daemon
nsdBufSpace

Percentage of the pagepool attribute that is reserved for the network transfer of NSD requests

yes yes no yes if not immediately, on restart of the daemon
nsdInlineWriteMax

Specifies the maximum transaction size that can be sent as embedded data in an NSD-write RPC

yes yes no yes immediately with -i
nsdMaxWorkerThreads

Sets the maximum number of NSD threads on an NSD server that concurrently transfers data with NSD clients

no no no yes on restart of the daemon
nsdMinWorkerThreads

Used to increase the NSD server performance by providing a large number of dedicated threads for NSD service

no no no yes on restart of the daemon
nsdMultiQueue

Sets the number of queues

yes yes no yes immediately with -i
nsdRAIDBufferPoolSizePct

Percentage of the page pool that is used for the IBM Spectrum Scale™ RAID vdisk buffer pool

yes yes no yes if not immediately, on restart of the daemon
nsdRAIDTracks

Number of tracks in the IBM Spectrum Scale RAID buffer pool

yes yes no yes if not immediately, on restart of the daemon
nsdServerWaitTimeForMount

Number of seconds to wait for an NSD server to come up

yes yes no yes if not immediately, on restart of the daemon
nsdServerWaitTimeWindowOnMount

Time window to determine if quorum is to be considered recently formed

yes yes no yes if not immediately, on restart of the daemon
numaMemoryInterleave no no no yes on restart of the daemon
pagepool

Size of buffer cache on each node

yes yes no yes if not immediately, on restart of the daemon
pagepoolMaxPhysMemPct

Percentage of physical memory that can be assigned to the page pool

no no no yes on restart of the daemon
pitWorkerThreadsPerNode

Maximum number of threads to be involved in parallel processing on each node serving as a Parallel Inode Traversal (PIT) worker

yes yes no yes immediately with -i or -I
prefetchPct

Acts as a guideline to limit the page pool space that is to be used for prefetch and write-behind buffers for active sequential streams

no no no yes on restart of the daemon
prefetchThreads

Maximum number of threads dedicated to prefetching data

no no no yes on restart of the daemon
readReplicaPolicy

The disk read replica policy

yes yes no yes immediately with -i
release=LATEST

Complete the migration to a new release

yes no no no if not immediately, on restart of the daemon
restripeOnDiskFailure

Specifies whether GPFS will attempt to automatically recover from certain common disk failure situations.

yes no no yes immediately with -i
rpcPerfNumberDayIntervals

Number of days that aggregated RPC data is saved

no no no yes on restart of the daemon
rpcPerfNumberHourIntervals

Number of hours that aggregated RPC data is saved

no no no yes on restart of the daemon
rpcPerfNumberMinuteIntervals

Number of minutes that aggregated RPC data is saved

no no no yes on restart of the daemon
rpcPerfNumberSecondIntervals

Number of seconds that aggregated RPC data is saved

no no no yes on restart of the daemon
rpcPerfRawExecBufferSize

The buffer size of the raw RPC execution times

no no no yes on restart of the daemon
rpcPerfRawStatBufferSize

The buffer size of the raw RPC statistics

no no no yes on restart of the daemon
seqDiscardThreshold

Detects a sequential read or write access pattern and specifies what has to be done with the page pool buffer after it is consumed or flushed by write-behind threads.

yes yes no yes immediately with -i
sidAutoMapRangeLength

Controls the length of the reserved range for Windows SID to UNIX ID mapping

yes yes no no if not immediately, on restart of the daemon
sidAutoMapRangeStart

Specifies the start of the reserved range for Windows SID to UNIX ID mapping

no no no no on restart of the daemon
syncbuffsperiteration

Used to expedite buffer flush and the rename operations done by MapReduce jobs.

yes yes no yes immediately with -i
systemLogLevel

Filters messages sent to the system log on Linux

yes yes no yes if not immediately, on restart of the daemon
subnets

List of subnets to be used for most efficient daemon-to-daemon communication

no no no yes on restart of the daemon
sudoUser

The default admin user name for logging on to nodes during the processing of an administration command. The GPFS daemon uses this user name only when sudo wrappers are enabled in the cluster and a program running at the root level invokes an administration command directly, without calling the sudo program.

yes no no no immediately
tiebreakerDisks (CCR repository)

List of tiebreaker disks (NSDs)

no no no
Note: If tiebreaker disks are part of the file system, GPFS must be up.
no immediately
tiebreakerDisks (server-based repository)

List of tiebreaker disks (NSDs)

no no yes no on restart of the daemon
uidDomain

The UID domain name for the cluster.

no no yes no on restart of the daemon
unmountOnDiskFail

Unmount the file system on a disk failure

yes yes no yes if not immediately, on restart of the daemon
usePersistentReserve

Enables or disables persistent reserve (PR) on the disks

no no yes no on restart of the daemon
verbsPorts

Specifies InfiniBand device names, port numbers, and IP subnets.

no no no yes on restart of the daemon
verbsRdma

Enables or disables InfiniBand RDMA using the Verbs API.

no no no yes on restart of the daemon
verbsRdmaCm

Enables or disables InfiniBand RDMA_CM using the RDMA_CM API.

no no no yes on restart of the daemon
verbsRdmaRoCEToS

Specifies the Type of Service (ToS) value for clusters using RDMA over Converged Ethernet (RoCE).

yes yes no yes if not immediately, on restart of the daemon
verbsRdmaSend

Enables or disables the use of InfiniBand RDMA rather than TCP for most GPFS daemon-to-daemon communication.

no no no yes on restart of the daemon
verbsRecvBufferCount

Defines the number of RDMA recv buffers created for each RDMA connection that is enabled for RDMA send when verbsRdmaSend is enabled.

no no no yes on restart of the daemon
verbsRecvBufferSize

Defines the size, in bytes, of the RDMA send and recv buffers used for RDMA connections that are enabled for RDMA send when verbsRdmaSend is enabled.

no no no yes on restart of the daemon
workerThreads

Sets an integrated group of variables that tune file system performance.

no no no yes on restart of the daemon
worker1Threads

Sets the maximum number of concurrent file operations

yes

(only when adjusting value down)

yes

(only when adjusting value down)

no yes on restart of the daemon
writebehindThreshold

Specifies the point at which GPFS starts flushing new data out of the page pool for a file that is being written sequentially.

yes yes no yes immediately with -i
Specify the nodes you want to target for change and the attributes with their new values on the mmchconfig command. For example, to change the pagepool value for each node in the GPFS cluster immediately, enter:
mmchconfig pagepool=100M -i
The system displays information similar to:
mmchconfig: Command successfully completed
mmchconfig: 6027-1371 Propagating the cluster configuration data to all
  affected nodes.  This is an asynchronous process.

For complete usage information, see mmchconfig command.