mmchfileset command
Changes the attributes of a GPFS™ fileset.
Synopsis
mmchfileset Device {FilesetName | -J JunctionPath}
[-j NewFilesetName] [-t NewComment] [-p afmAttribute=Value...]
[--allow-permission-change PermissionChangeMode]
[--inode-limit MaxNumInodes[:NumInodesToPreallocate]]
[--iam-mode Mode]
Availability
Available with IBM Spectrum Scale™ Standard Edition or higher.
Description
The mmchfileset command changes attributes for an existing GPFS fileset.
For information on GPFS filesets, see Filesets.
Parameters
- Device
- The device name of the file system that contains the fileset.
File system names need not be fully qualified. fs0 is as acceptable as /dev/fs0.
- FilesetName
- Specifies the name of the fileset.
- -J JunctionPath
- Specifies the junction path name for the fileset.
A junction is a special directory entry that connects a name in a directory of one fileset to the root directory of another fileset.
- -j NewFilesetName
- Specifies the new name that is to be given to the fileset. This name must be fewer than 256 characters in length. The root fileset cannot be renamed.
- -t NewComment
- Specifies an optional comment that appears in the output of the mmlsfileset command. This comment must be fewer than 256 characters in length. This option cannot be used on the root fileset.
- -p afmAttribute=Value
- Specifies an AFM configuration attribute and its value. More than
one -p option can be specified.The following AFM configuration attributes are valid:
- afmAsyncDelay
- Specifies (in seconds) the amount of time by which write operations are delayed (because write
operations are asynchronous with respect to remote clusters). For write-intensive applications that
keep writing to the same set of files, this delay is helpful because it replaces multiple writes to
the home cluster with a single write containing the latest data. However, setting a very high value
weakens the consistency of data on the remote cluster.
This configuration parameter is applicable only for writer caches (Single writer, Independent writer, and Primary ) in which data from cache is pushed to home.
Valid values are 1 - 2147483647. The default is 15.
- afmDirLookupRefreshInterval
- Controls the frequency of data revalidations that are triggered by such lookup operations as
ls or stat (specified in seconds). When a lookup
operation is done on a directory, if the specified amount of time has passed, AFM sends a message to
the home cluster to find out whether the metadata of that directory has been modified since the last
time it was checked. If the time interval has not passed, AFM does not check the home cluster for
updates to the metadata.
Valid values are 0 through 2147483647. The default is 60. In situations where home cluster data changes frequently, a value of 0 is recommended.
- afmDirOpenRefreshInterval
- Controls the frequency of data revalidations that are triggered by such I/O operations as
read or write (specified in seconds). After a
directory has been cached, open requests resulting from I/O operations on
that object are directed to the cached directory until the specified amount of time has passed. Once
the specified amount of time has passed, the open request gets directed to
a gateway node rather than to the cached directory.
Valid values are between 0 and 2147483647. The default is 60. Setting a lower value guarantees a higher level of consistency.
- afmEnableAutoEviction
- Enables eviction on a given fileset. A yes value specifies that
eviction is allowed on the fileset. A no value specifies that eviction is
not allowed on the fileset.
See also the topic about cache eviction in the IBM Spectrum Scale: Administration Guide.
- afmExpirationTimeout
- Is used with afmDisconnectTimeout (which can be set only through
mmchconfig) to control how long a network outage between the cache and
home clusters can continue before the data in the cache is considered out of sync with home. After
afmDisconnectTimeout expires, cached data remains available until
afmExpirationTimeout expires, at which point the cached data is considered
expired and cannot be read until a reconnect occurs.
Valid values are 0 through 2147483647. The default is disable.
- afmFileLookupRefreshInterval
- Controls the frequency of data revalidations that are triggered by such lookup operations as
ls or stat (specified in seconds). When a lookup
operation is done on a file, if the specified amount of time has passed, AFM sends a message to the
home cluster to find out whether the metadata of the file has been modified since the last time it
was checked. If the time interval has not passed, AFM does not check the home cluster for updates to
the metadata.
Valid values are 0 through 2147483647. The default is 30. In situations where home cluster data changes frequently, a value of 0 is recommended.
- afmFileOpenRefreshInterval
- Controls the frequency of data revalidations that are triggered by such I/O operations as
read or write (specified in seconds). After a
file has been cached, open requests resulting from I/O operations on that
object are directed to the cached file until the specified amount of time has passed. Once the
specified amount of time has passed, the open request gets directed to a
gateway node rather than to the cached file.
Valid values are 0 through 2147483647. The default is 30. Setting a lower value guarantees a higher level of consistency.
- afmMode
- Specifies the mode in which the cache operates. Valid values are the following:
- single-writer | sw
- Specifies single-writer mode.
- read-only | ro
- Specifies read-only mode. (For mmcrfileset, this is the default value.)
- local-updates | lu
- Specifies local-updates mode.
- independent-writer | iw
- Specifies independent-writer mode.
- Primary | drp
- Specifies the primary mode for AFM asynchronous data replication.
- Secondary | drs
- Specifies the secondary mode for AFM asynchronous data replication.
Changing from single-writer/read-only modes to read-only/local-updates/single-writer is supported. When changing from read-only to single-writer, the read-only cache is up-to-date. When changing from single-writer to read-only, all requests from cache should have been played at home. Changing from local-updates to read-only/local-updates/single-writer is restricted. A typical dataset is set up to include a single cache cluster in single-writer mode (which generates the data) and one or more cache clusters in local-updates or read-only mode. AFM single-writer/independent-writer filesets can be converted to primary. Primary/secondary filesets cannot be converted to AFM filesets.
In case of AFM asynchronous data replication, the mmchfileset command cannot be used to convert to primary from secondary. See AFM-based Asynchronous Disaster Recovery (AFM DR) for detailed information.
For more information, see the topic about caching modes in the IBM Spectrum Scale: Administration Guide chapter about active file management.
- afmNumFlushThreads
- Defines the number of threads used on each gateway to synchronize updates to the home cluster. The default value is 4, which is sufficient for most installations. The current maximum value is 1024, which is too high for most installations; setting this parameter to such an extreme value should be avoided.
- afmNumReadThreads
- Defines the number of threads that can be used on each participating gateway node during parallel read. The default value of this parameter is 1; that is, one reader thread will be active on every gateway node for each big read operation qualifying for splitting per the parallel read threshold value. The valid range of values is 1 to 64.
- afmNumWriteThreads
- Defines the number of threads that can be used on each participating gateway node during parallel write. The default value of this parameter is 1; that is, one writer thread will be active on every gateway node for each big write operation qualifying for splitting per the parallel write threshold value. Valid values can range from 1 to 64.
- afmParallelReadChunkSize
- Defines the minimum chunk size of the read that needs to be distributed among the gateway nodes during parallel reads. Values are interpreted in terms of bytes. The default value of this parameter is 128 MiB, and the valid range of values is 0 to 2147483647. It can be changed cluster wide with the mmchconfig command. It can be set at fileset level using mmcrfileset or mmchfileset commands.
- afmParallelReadThreshold
- Defines the threshold beyond which parallel reads become effective. Reads are split into chunks when file size exceeds this threshold value. Values are interpreted in terms of MiB. The default value is 1024 MiB. The valid range of values is 0 to 2147483647. It can be changed cluster wide with the mmchconfig command. It can be set at fileset level using mmcrfileset or mmchfileset commands.
- afmParallelWriteChunkSize
- Defines the minimum chunk size of the write that needs to be distributed among the gateway nodes during parallel writes. Values are interpreted in terms of bytes. The default value of this parameter is 128 MiB, and the valid range of values is 0 to 2147483647. It can be changed cluster wide with the mmchconfig command. It can be set at fileset level using mmcrfileset or mmchfileset commands.
- afmParallelWriteThreshold
- Defines the threshold beyond which parallel writes become effective. Writes are split into chunks when file size exceeds this threshold value. Values are interpreted in terms of MiB. The default value of this parameter is 1024 MiB, and the valid range of values is 0 to 2147483647. It can be changed cluster wide with the mmchconfig command. It can be set at fileset level using mmcrfileset or mmchfileset commands.
- afmPrefetchThreshold
- Controls partial file caching and prefetching. Valid values are the following:
- 0
- Enables full file prefetching. This is useful for sequentially accessed files that are read in their entirety, such as image files, home directories, and development environments. The file will be prefetched after three blocks have been read into the cache.
- 1-99
- Specifies the percentage of file size that must be cached before the entire file is prefetched. A large value is suitable for a file accessed either randomly or sequentially but partially, for which it might be useful to ingest the rest of the file when most of it has been accessed.
- 100
- Disables full file prefetching. This value only fetches and caches data that is read by the application. This is useful for large random-access files, such as databases, that are either too big to fit in the cache or are never expected to be read in their entirety. When all data blocks are accessed in the cache, the file is marked as cached.
0 is the default value.
For local-updates mode, the whole file is prefetched when the first update is made.
- afmPrimaryId
- Specifies the unique primary ID of the primary fileset for asynchronous data replication. This is used for connecting a secondary to a primary.
- afmReadSparseThreshold
- Specifies the size in MB for files in cache beyond which sparseness is maintained. For all files below the specified threshold, sparseness is not maintained.
- afmRPO
- Specifies the recovery point objective (RPO) interval for an AFM DR fileset. This attribute is disabled by default. You can specify a value with the suffix M for minutes, H for hours, or W for weeks. For example, for 12 hours specify 12H. If you do not add a suffix, the value is assumed to be in minutes. The range of valid values is 720 minutes - 2147483647 minutes.
- afmShowHomeSnapshot
- Controls the visibility of the home snapshot directory in cache. For this to be visible in
cache, this variable has to be set to yes, and the snapshot directory name
in cache and home should not be the same.
- yes
- Specifies that the home snapshot link directory is visible.
- no
- Specifies that the home snapshot link directory is not visible.
See Peer snapshot -psnap.
- afmTarget
- The only allowed value is disable. It is used to convert AFM filesets
to regular independent filesets; for example:
mmchfileset fs1 ro -p afmTarget=disable
After an AFM fileset is converted to a regular fileset, the fileset cannot be changed back to an AFM fileset.
- --allow-permission-change PermissionChangeMode
- Specifies the new permission change mode. This mode controls how chmod and
ACL operations are handled on objects in the fileset. Valid modes are as follows:
- chmodOnly
- Specifies that only the UNIX change mode operation (chmod) is allowed to change access permissions (ACL commands and API will not be accepted).
- setAclOnly
- Specifies that permissions can be changed using ACL commands and API only (chmod will not be accepted).
- chmodAndSetAcl
- Specifies that chmod and ACL operations are permitted. If the
chmod command (or setattr file operation) is issued, the
result depends on the type of ACL that was previously controlling access to the object:
- If the object had a Posix ACL, it will be modified accordingly.
- If the object had an NFSv4 ACL, it will be replaced by the given UNIX mode bits.
Note: This is the default setting when a fileset is created. - chmodAndUpdateAcl
- Specifies that chmod and ACL operations are permitted. If chmod is issued, the ACL will be updated by privileges derived from UNIX mode bits.
- --inode-limit MaxNumInodes[:NumInodesToPreallocate]
- Specifies the new inode limit for the inode space that is owned by the specified fileset. The
FilesetName or JunctionPath must refer to an
independent fileset. The NumInodesToPreallocate specifies an optional
number of additional inodes to pre-allocate for the inode space. Use the
mmchfs command to change inode limits for the root fileset.
The MaxNumInodes and NumInodesToPreallocate values can be specified with a suffix, for example 100 K or 2 M.
- --iam-mode Mode
- Specifies an integrated archive manager (IAM) mode for the fileset.
You can set IAM modes to modify some of the file-operation restrictions that normally apply to
immutable filesets. The IAM modes are as follows, listed in order of increasing strictness:
- ad | advisory
- nc | noncompliant
- co | compliant
- cp | compliant-plus
Exit status
- 0
- Successful completion.
- nonzero
- A failure has occurred.
Security
You must have root authority or be a fileset owner to run the mmchfileset command with the -t option. All other options require root authority.
The node on which the command is issued must be able to execute remote shell commands on any other node in the cluster without the use of a password and without producing any extraneous messages. For more information, see Requirements for administering a GPFS file system.
Examples
- The following command renames fileset fset1 to
fset2 and gives it the comment "first fileset":
The command displays the following information:mmchfileset gpfs1 fset1 -j fset2 -t 'first fileset'
Fileset 'fset1' changed.
- To confirm the change, issue the following
command:
The system displays the following information:mmlsfileset gpfs1 -L
Filesets in file system 'gpfs1': Name Id RootInode ParentId Created InodeSpace MaxInodes AllocInodes Comment root 0 3 -- Mon Apr 12 16:31:05 2010 0 8001536 8001536 root fileset fset2 2 13569 0 Mon Apr 12 16:32:28 2010 0 0 0 first fileset