File system creation considerations

File system creation involves anticipating usage within the file system and considering your hardware configurations. Before creating a file system, consider how much data will be stored and how great the demand for the files in the system will be.

Each of these factors can help you to determine how much disk resource to devote to the file system, which block size to choose, where to store data and metadata, and how many replicas to maintain. For the latest supported file system size, see the IBM Spectrum Scale FAQ in IBM® Knowledge Center (www.ibm.com/support/knowledgecenter/STXKQY/gpfsclustersfaq.html).

Your GPFS file system is created by issuing the mmcrfs command. Table 1 details the file system creation options specified on the mmcrfs command, which options can be changed later with the mmchfs command, and what the default values are.

To move an existing file system into a new GPFS cluster, see Exporting file system definitions between clusters.

Table 1. File system creation options
Options mmcrfs mmchfs Default value
Device name of the file system.

See Device name of the file system.

X X none
DiskDesc for each disk in your file system.
Note: The use of disk descriptors is discouraged.

See Disks for your file system.

X Issue the mmadddisk or mmdeldisk command to add or delete disks from the file system. none
-F StanzaFile specifies a file that contains a list of NSD stanzas and pool stanzas.

For more information, see Stanza files.

X Issue the mmadddisk or mmdeldisk command to add or delete disks as indicated in the stanza file. none
-A {yes | no | automount} to determine when to mount the file system.

See Deciding how the file system is mounted.

X X yes
-B BlockSize
  • By default all the data blocks and metadata blocks in a file system are set to the same block size with the same subblock size.
  • Metadata blocks can be set to a different block size with the --metadata-block-size parameter, and this setting can change the size and number of subblocks in data blocks.
See Block size and mmcrfs command.
X 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. 4 MiB
-D {posix | nfs4} semantics for a deny-write open lock

See NFS V4 deny-write open lock.

X X nfs4
-E {yes | no} to report exact mtime values.

See mtime values.

X X yes
-i InodeSize to set the size of inodes: 512, 1024, or 4096 bytes. X This value cannot be changed. 4096
-j {cluster | scatter} to determine the block allocation map type.

See Block allocation map.

X NA See Block allocation map.
-k {posix | nfs4 | all} to determine the authorization types supported by the file system.

See File system authorization.

X X all
-K {no | whenpossible | always} to enforce strict replication.

See Type of replication.

X X whenpossible
-L LogFileSize to specify the size of the internal log files.

See GPFS recovery logs.

X X See mmcrfs command.
-m DefaultMetadataReplicas

See File system replication parameters.

X X 1
-M MaxMetadataReplicas

See File system replication parameters.

X This value cannot be changed. 2
-n NumNodes that will mount the file system.

See Number of nodes mounting the file system.

X X 32
-o MountOptions to be passed to the mount command.

See Assign mount command options.

NA X none
-Q {yes | no} to activate quota.

See Enabling quotas.

X X no
-r DefaultDataReplicas

See File system replication parameters.

X X 1
-R MaxDataReplicas

See File system replication parameters.

X This value cannot be changed. 2
-S {yes | no | relatime} to control how the atime value is updated.

See atime values.

X X The default value is relatime if minReleaseLevel is 5.0.0 or later when the file system is created. Otherwise the default value is no.
-t DriveLetter

See Windows drive letter.

X X none
-T Mountpoint

See Mountpoint directory.

X X /gpfs/DeviceName
-V {full | compat} to change the file system format to the latest level.

See Changing the file system format to the latest level

NA X none
-v {yes | no} to verify disk usage.

See Verifying disk usage.

X NA yes
-W NewDeviceName to assign a new device name to the file system. NA X none
-z {yes | no} to enable DMAPI

See Enabling DMAPI.

X X no
--filesetdf to 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. X X --nofilesetdf
--inode-limit MaxNumInodes [:NumInodesToPreallocate] to determine the maximum number of files in the file system.

See Specifying the maximum number of files that can be created.

X X file system size/1 MiB
--log-replicas LogReplicas to specify the number of recovery log replicas. X X none
--metadata-block-size MetadataBlockSize Specifies a metadata block size that is different from the data block size. This parameter requires a separate pool for metadata. See Block size and mmcrfs command. X NA By default the metadata block size is the same as the block size. For more information about block size, see the entry for -B BlockSize earlier in this table.
--mount-priority Priority to control the order in which the individual file systems are mounted at daemon startup or when one of the all keywords is specified on the mmmount command. X X 0
--perfileset-quota to set the scope of user and group quota limit checks to the individual fileset level. X X --noperfileset-quota
--rapid-repair to keep track of incomplete replication on an individual file block basis (as opposed to the entire file). NA X none
--version VersionString to enable only the file system features that are compatible with the specified release.

See Enabling file system features.

X NA The default value is defined by the current committed function level for the cluster minReleaseLevel, for example 4.2.2.0 or other values, depending on the cluster.
--write-cache-threshold HAWCThreshold Specifies the maximum length in bytes of synchronous write requests that is initially buffered in the highly available write cache before being written back to primary storage. X NA The default value is 0, which means that the option is disabled.
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.