Changing the GPFS cluster configuration data
You can use the mmchcluster or mmchconfig command to change the configuration attributes.
- 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,
then you are 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.
mmchcluster -p k164n06
The
system displays information similar to:
mmchcluster -p k164n06
mmchcluster: Command successfully completed
To confirm the change, issue the mmlscluster command.
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
For more 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 affect the operation of GPFS. For more information, see Parameters for performance tuning and optimization.
- Take effect immediately and are permanent (-i).
- Take effect immediately but do not persist when GPFS is restarted (-I).
- Require that the GPFS daemon be stopped on all nodes for the change to take effect.
- 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.
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 denies new client requests after a node failover or failback. |
yes | no | yes | no | immediately |
cnfsMountdPort The port number to be used for
|
yes | no | no | no | immediately |
cnfsNFSDprocs The number of |
yes | no | no | no | if not immediately, on restart of the daemon |
cnfsReboot Determines whether the node reboots 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 |
encryptionKeyCacheExpiration Specifies the refresh interval, in seconds, of the file system encryption key cache used internally by the mmfsd daemon. |
no | no | no | yes | 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 takes 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 |
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 |
ignoreReplicationForQuota
Specifies whether the quota commands ignore data replication factor. |
yes | yes | no | no | immediately with -i or -I |
ignoreReplicationOnStatfs
Specifies if df command output on GPFS file system ignores data replication factor. |
yes | yes | no | no | immediately with -i or -I |
lrocData
Controls whether user data is 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 are 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 are 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 |
maxReceiverThreads Controls the maximum number of receiver threads which handle incoming TCP packets. |
no | no | no | yes | 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 Storage Scale RAID vdisk buffer pool |
yes | yes | no | yes | if not immediately, on restart of the daemon |
nsdRAIDTracks
Number of tracks in the IBM Storage 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 attempts 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
Controls how the GPFS daemon responds when it detects a disk failure. For more information, see mmchconfig command. |
yes | yes | no | yes | Immediately |
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 |
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 more, see mmchconfig command.