mmvdisk vdiskset command

Manages mmvdisk vdisk sets for IBM Spectrum Scale™ RAID.

Synopsis

mmvdisk vdiskset define  --vdisk-set VdiskSet
                         --recovery-group all | RgName[,RgName...]
                         --code RaidCode
                         --block-size BlockSize
                         --set-size SetSize
                         [--declustered-array DaName]
                         [--nsd-usage NsdUsage [--storage-pool Pool]]
or
mmvdisk vdiskset define  --vdisk-set VdiskSet
                         --recovery-group RgName[,RgName...]
                         [--force-incompatible]
or
mmvdisk vdiskset undefine  --vdisk-set VdiskSet
                         --recovery-group RgName[,RgName...]
            
or
mmvdisk vdiskset undefine  --vdisk-set VdiskSet
                         [--confirm]
            
or
mmvdisk vdiskset create  --vdisk-set {all | [VdiskSet[,VdiskSet]}
            
or
mmvdisk vdiskset delete --vdisk-set {all | [VsName[,VsName]}
                        [--recovery-group RgName[,RgName...]]
                        [-p]
            
or
mmvdisk vdiskset rename --vdisk-set VdiskSet 
                                                    --new-name NewName
            
or
mmvdisk vdiskset list --vdisk-set {all | VDiskSet[,VdiskSet...]}
                      [-Y]
            
or
mmvdisk vdiskset list --recovery-group {all | RgName[,RgName...]}
                      [-Y]
                      [--declustered-array DaName[,DaName...]]
            
or
mmvdisk vdiskset list --file-system {{all | FsName[,FsName...]}
                      [-Y]
            

Availability

Available on all IBM Spectrum Scale editions.

Description

Use the mmvdisk vdiskset command to define, size, or create uniform vdisk NSDs across IBM Spectrum Scale RAID recovery groups. The vdisk sets that result can then be used as units in constructing IBM Spectrum Scale file systems.

With mmvdisk commands, user vdisks are managed collectively into vdisk sets that contain vdisk NSDs with identical attributes from one or more recovery groups. Each recovery group contributes one member vdisk NSD to the vdisk set. To create a file system that is balanced across several recovery groups, define a vdisk set that uses those recovery groups.

The vdisk set definition provides a preview of the sizing impact of the vdisk set on the recovery groups and the servers. If the sizing is acceptable, the vdisk set can be created. This means that the individual member vdisks and NSDs in each recovery group are all created. The vdisk set can be used to create an IBM Spectrum Scale RAID file system or added to an existing IBM Spectrum Scale RAID file system.All member vdisk NSDs that are part of a vdisk set must belong to the same file system. A file system can contain one or more vdisk sets.

Use the mmvdisk vdiskset define command to define vdisk sets or to add a recovery group to an existing vdisk set definition.

The definition of a vdisk set must include:
  • You must have a vdisk set name.
  • You must have one or more recovery groups.
  • You must have the name of a single declustered array that is present in every recovery groups. The member vdisk NSDs are sized against and created in this declustered array. If each recovery group has only a single declustered array, DA1, you do not have to specify the name.
  • You must have the IBM Spectrum Scale RAID code that is used by the member vdisk NSDs. Accepted IBM Spectrum Scale RAID codes are:
    • 3WayReplication
    • 4WayReplication
    • 4+2p
    • 4+3p
    • 8+2p
    • 8+3p
  • You must have the block size that is used by the member vdisk NSDs. The block size is constrained by the IBM Spectrum Scale RAID code. Valid values for 3WayReplication and 4WayReplication are:
    • 256k
    • 512k
    • 1m
    • 2m
    You must have valid values for 4+2P and 4+3P are:
    • 512k
    • 1m
    • 2m
    • 4m
    • 8m
    You must have valid values for 8+2P and 8+3P are:
    • 512k
    • 1m
    • 2m
    • 4m
    • 8m
    • 16m
  • You must have the size of the vdisk set in one recovery group. The vdisk set size might be specified as a percentage or as a number of bytes. If the vdisk set size is given as a percentage, it specifies the raw size to use from the declustered array, includingIBM Spectrum Scale RAID code redundancy. If the vdisk set size is given as a number of bytes, it specifies the desired usable size of the vdisk set (without IBM Spectrum Scale RAID code redundancy). The vdisk set size is used to calculate the usable size of a single vdisk NSD member of the vdisk set in one recovery group. This calculated usable size becomes part of the vdisk set definition. This means that even if the size of a declustered array changes, the size of the individual member vdisk NSDs remains constant.
  • You must have the NSD usage of the vdisk set. This is the IBM Spectrum Scale file system data usage for the vdisk NSDs. Valid values are:
    • dataAndMetadata
    • metadataOnly
    • dataOnly
    The default is dataAndMetadata.
  • You must have the file system storage pool for the vdisk set. This is the IBM Spectrum Scale file system storage pool for the vdisk NSDs. If the NSD usage is dataAndMetadata or metadataOnly, the storage pool must be system and you do not have to specify it. If the NSD usage is dataOnly, the storage pool must be specified and cannot be system.

When multiple recovery groups are used in an initial vdisk set definition, the declustered arrays must have compatible characteristics (such as number of pdisks, number of spare pdisks, or pdisk hardware type). This ensures that the member vdisk NSDs in the vdisk set have the same characteristics.

To add recovery groups to an existing vdisk set definition, use mmvdisk vdiskset define with only the --vdisk-set and --recovery-group parameters. The declustered array in the added recovery groups must be compatible with the declustered array that was used in the initial vdisk set definition. In carefully considered circumstances, it might be possible to force a vdisk set definition into an incompatible declustered array by using the --force-incompatible parameter.

When a vdisk set is defined, mmvdisk shows the space that is used by the definition in both the declustered array and in the recovery group server memory. This permits the administrator to evaluate the definition in context before you commit to its creation, or deciding to undefine it and try a different definition.

A vdisk set can be undefined by using the mmvdisk vdiskset undefine command. Use this to remove individual recovery groups from a vdisk set, or to remove the entire vdisk set definition. Any member vdisk NSDs in the affected recovery groups must first be deleted by using the mmvdisk vdiskset delete command.

The member vdisk NSDs of a vdisk set definition are created by using the mmvdisk vdiskset create command. A vdisk set is created when all the actual member vdisk NSDs exist in each recovery group in the vdisk set definition. The mmvdisk vdiskset create command creates only those vdisk NSDs that do not exist. This permits a vdisk set to be defined and created, then to have another recovery group added and to create only the vdisk NSDs in the added recovery group. Only created vdisk sets can be used with the mmvdisk filesystem command to add to or create IBM Spectrum Scale RAID file systems.

Member vdisk NSDs can be deleted from a vdisk set by using the mmvdisk vdiskset delete command. The member vdisk NSDs to be deleted might be limited to a recovery group, or might include the entire vdisk set. In either case, it is not permitted to delete member vdisk NSDs that are in a file system.

Use the mmvdisk vdiskset rename command to change the name of a vdisk set. This is useful for giving meaningful names to the vdisk sets defined by the mmvdisk recoverygroup convert command.

Use the mmvdisk vdiskset list command to list vdisk sets and to show their attributes and sizing.

Parameters

mmvdisk vdiskset define
Define vdisk sets across IBM Spectrum Scale RAID recovery groups.
mmvdisk vdiskset undefine
Removes vdisk set definitions from IBM Spectrum Scale RAID recovery groups.
mmvdisk vdiskset create
Creates member vdisk NSDs for a vdisk set.
mmvdisk vdiskset delete
Deletes member vdisk NSDs from a vdisk set. The member vdisk NSDs must not belong to a file system.
mmvdisk vdiskset rename
Renames a vdisk set.
mmvdisk vdiskset list
Lists vdisk sets and shows their attributes and sizing.
--vdisk-set VsName
Specifies a single vdisk set to define, undefine, or rename.
--vdisk-set {all | VdiskSet[,VdiskSet...]}
Specifies vdisk sets to create, delete, or list.
--recovery-group all | RgName[,RgName...]
Specifies recovery groups in which vdisk sets are to be defined or listed.
--recovery-group RgName[,RgName...]
Specifies recovery groups from which vdisk NSDs are to be deleted, or in which a vdisk set is to be defined or undefined.
--code RaidCode
Specifies the IBM Spectrum Scale RAID code for a vdisk set definition.
--block-size BlockSize
Specifies the block size of a vdisk set definition.
--set-size SetSize
Specifies the set size (within a single recovery group) of a vdisk set definition.
--declustered-array DaName
Specifies the declustered array of a vdisk set definition.
--nsd-usage NsdUsage
Specifies the file system NSD usage of a vdisk set definition.
--storage-pool Pool
Specifies the file system storage pool of a vdisk set definition.
--force-incompatible
When extending a vdisk set definition to additional recovery groups, attempts to ignore incompatible declustered array characteristics.
Attention: This parameter should be used only under careful consideration.
--new-name NewName
Specifies the new name for a vdisk set (when used with the mmvdisk vdiskset rename command).
--declustered-array DaName[,DaName...]
Chooses the declustered arrays in which vdisk sets are to be listed (when used with the mmvdisk vdiskset list command).
--file-system {all | FsName[,FsName...]}
Chooses file systems from which vdisk sets are to be listed (when used with the mmvdisk vdiskset list command).
--confirm
Confirms the removal of a vdisk set definition. This flag bypasses the interactive prompt that would otherwise be printed to confirm undefining a vdisk set.
-p
Indicates that the member vdisk NSDs are in a recovery group that is permanently damaged and must be deleted without access to the recovery group (when used with the mmvdisk recoverygroup delete command) . You cannot use this parameter if the recovery group is active.
Attention: This is an unusual maintenance case that should only be performed under the direction of the IBM Service team.
Before a vdisk set can be deleted using -p, the vdisk set must be deleted from any file system.
-Y
Specifies that the mmvdisk vdiskset list command produce colon-delimited raw output.

Exit status

0
Successful completion.
nonzero
A failure occurred.

Security

You must have root authority to run the mmvdisk vdiskset command.

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 the following IBM Spectrum Scale RAID: Administration topic: Requirements for administering IBM Spectrum Scale RAID.

Example

To see the available space for defining vdisk sets in a newly created recovery group pair:

mmvdisk vdiskset list --recovery-group ESS01L,ESS01R

The system displays output similar to the following:

                declustered           capacity            all vdisk sets defined
recovery group     array     total raw  free raw  free%  in the declustered array
--------------  -----------  ---------  --------  -----  ------------------------
ESS01L          DA1            911 TiB   911 TiB   100%  -
ESS01R          DA1            911 TiB   911 TiB   100%  -

                  vdisk set map memory per server
node class  available  required  required per vdisk set
----------  ---------  --------  ----------------------
ESS01          29 GiB   387 MiB  -
This shows that:
  • No vdisk sets are defined in either recovery group
  • The total free raw disk capacity in each declustered array
  • The available memory for vdisk set maps on the servers in the recovery group pair node class

Example

To see the available space for defining vdisk sets in a newly created recovery group pair:

mmvdisk vdiskset list --recovery-group ESS01L,ESS01R

The system displays output similar to the following:

                declustered           capacity            all vdisk sets defined
recovery group     array     total raw  free raw  free%  in the declustered array
--------------  -----------  ---------  --------  -----  ------------------------
ESS01L          DA1            911 TiB   911 TiB   100%  -
ESS01R          DA1            911 TiB   911 TiB   100%  -

                  vdisk set map memory per server
node class  available  required  required per vdisk set
----------  ---------  --------  ----------------------
ESS01          29 GiB   387 MiB  -
This shows that:
  • No vdisk sets are yet defined in either recovery group
  • The total free raw disk capacity in each declustered array
  • The available memory for vdisk set maps on the servers in the recovery group pair node class

Example

To define vdisk set VS1 in recovery groups ESS01L and ESS01R using RAID code 8+3p, an 8 MiB block size, and 50% of the available raw space:

mmvdisk vdiskset define --vdisk-set VS1 --recovery-group ESS01L,ESS01R --code 8+3p --block-size 8m --set-size 50%

The system displays output similar to the following:

mmvdisk: Vdisk set 'VS1' has been defined.
mmvdisk: Recovery group 'ESS01L' has been defined in vdisk set 'VS1'.
mmvdisk: Recovery group 'ESS01R' has been defined in vdisk set 'VS1'.

                     member vdisks
vdisk set       count   size   raw size  created  file system and attributes
--------------  ----- -------- --------  -------  --------------------------
VS1                 2  330 TiB  455 TiB  no       -, DA1, 8+3p, 8 MiB, dataAndMetadata, system

                declustered           capacity            all vdisk sets defined
recovery group     array     total raw  free raw  free%  in the declustered array
--------------  -----------  ---------  --------  -----  ------------------------
ESS01L          DA1            911 TiB   455 TiB    50%  VS1
ESS01R          DA1            911 TiB   455 TiB    50%  VS1

                  vdisk set map memory per server
node class  available  required  required per vdisk set
----------  ---------  --------  ----------------------
ESS01          29 GiB  9227 MiB  VS1 (8839 MiB) 

This output shows attributes of the newly defined vdisk set - that it is not yet created. And it also shows the space and memory sizing demands it places on the declustered arrays and the servers in the recovery group node class.

Example

To create the member vdisk NSDs in vdisk set VS1:

mmvdisk vdiskset create --vdisk-set VS1

The system displays output similar to the following:

mmvdisk: 2 vdisks and 2 NSDs will be created in vdisk set 'VS1'.
mmvdisk: (mmcrvdisk) [I] Processing vdisk RG001VS001
mmvdisk: (mmcrvdisk) [I] Processing vdisk RG002VS001
mmvdisk: Created all vdisks in vdisk set 'VS1'.
mmvdisk: (mmcrnsd) Processing disk RG001VS001
mmvdisk: (mmcrnsd) Processing disk RG002VS001
mmvdisk: Created all NSDs in vdisk set 'VS1'.

Location

/usr/lpp/mmfs/bin