Changing the GPFS cluster configuration data
You can use the mmchcluster or mmchconfig commands 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, 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.
mmchcluster -p k164n06
The
system displays information similar to: mmchcluster -p k164n06
mmchcluster: Command successfully completed
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
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.
- 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 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 |
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.