mkmdiskgrp
Use the mkmdiskgrp command to create a new storage pool.
Syntax
Parameters
- -name pool_name
- (Optional) Specifies a name to assign to the new pool.
- -mdisk mdisk_id_list | mdisk_name_list
- (Optional) Specifies a colon-separated list of managed disk IDs or names to add to the storage pool. You can create an empty storage pool by not specifying the -mdisk parameter.
- -tier tier0_flash | tier1_flash | tier_enterprise | tier_nearline | tier_scm
- (Optional) Specifies the tier of the MDisk or MDisks being added.
- tier0_flash
- Specifies a
tier0_flash
hard disk drive or an external MDisk for the newly discovered or external volume. - tier1_flash
- Specifies an
tier1_flash
(or flash drive) hard disk drive or an external MDisk for the newly discovered or external volume. - tier_enterprise
- Specifies a
tier_enterprise
hard disk drive or an external MDisk for the newly discovered or external volume. - tier_nearline
- Specifies a
tier_nearline
hard disk drive or an external MDisk for the newly discovered or external volume. - tier_scm
- Specifies a
tier_scm
hard disk drive or an external MDisk for the newly discovered or external volume.
If you do not specify a tier, the current tier value of the MDisk is retained. The default value for an external MDisk is enterprise.
Note: Since Release 8.1.0, the tier of MDisks mapped from certain types of IBM® System Storage® Enterprise Flash is fixed totier0_flash
, and cannot be changed. - -ext extent_size
- -size mdiskgrp_size
- (Optional) Specifies the child pool capacity. The value must be a numeric value (and an integer multiple of the extent size).
- -parentmdiskgrp mdiskgrp_id | mdiskgrp_name
- (Optional) Specifies the parent pool from which the volume extents of the child pool are allocated when you create a child pool. The value must be an mdiskgrp_id or mdiskgrp_name.
- -warning disk_size | disk_size_percentage%
- (Optional) Generates a warning when the used disk capacity in the storage pool first
exceeds the specified threshold. You can specify a disk_size integer,
which defaults to megabytes (MiB) unless the -unit parameter is specified;
or you can specify a disk_size%, which is a percentage of the
storage pool size. To disable warnings, specify
0
or0%
. The default value is0
. - -unit b | kb | mb | gb | tb | pb
- (Optional) Specifies the data units for the -warning parameter.
- -easytier on | off | auto | measure
- (Optional) Specifies whether the Easy Tier®
function is active for this storage pool, or if it is automatically determined.
auto is the default value. -easytier is
active
in storage pools with multiple tiers and isbalance
with single tiers.Note:- If -easytier is set to auto, the system automatically enables Easy Tier functions when the storage pool contains MDisk from more than one tier, and enables automatic rebalancing when the storage pool contains an MDisk from only one tier.
- If -easytier is set to on, then Easy Tier functions are active.
- If -easytier is set to off, then Easy Tier functions are inactive.
- If -easytier is set to measure Easy Tier statistics are collected but Easy Tier management is disabled. (No extents are moved by Easy Tier).
auto equates to:- on if Easy Tier is licensed or no license is required.
- off if Easy Tier is not licensed and a license is required.
-easytier on
enables Easy Tier:- Management of both single-tier and multitier pools
- Auto rebalance
- -owner owner_type
- (Optional) Specifies the owner type required for vVol child pools. The value must be vvol_child_pool for the system to use as a vVol storage container.
- -encrypt yes | no
- (Optional) Specifies the encryption status for this storage pool. The values are
yes
orno
.Remember:- If you do not specify -encrypt and encryption is enabled, the system
defaults to
-encrypt yes
(the default encryption setting). - When you create a child pool in an encrypted parent pool, the value must not be
no
. (All other permutations are permitted). - When you create a data reduction
child pool, you cannot specify
-encrypt
. The encryption status is inherited from the parent pool.
- If you do not specify -encrypt and encryption is enabled, the system
defaults to
- -datareduction yes | no
- (Optional) Specifies whether the storage pool is a data reduction storage pool. The values
are
yes
orno
. A value ofno
specifies that the storage pool is a standard storage pool. - -provisioningpolicy provisioning_policy_id | provisioning_policy_name
- (Optional) The name or ID of the provisioning policy for the pool.
- -vdiskprotectionenabled yes | no
- (Optional) Specifies whether volume protection is enabled for this storage pool. The default value is yes, except for child pools where the default value is inherited from the parent pool.
- -noquota
- (Optional) Creates a data reduction child pool without a size. The child pool must be within a parent pool that is also a data reduction storage pool.
Description
- The -noquota and -size parameters are mutually exclusive.
- The -noquota parameter must be used with -datareduction set to yes to create a data reduction child pool.
- The -noquota parameter must be used with -parentmdiskgrp in a parent data reduction storage pool.
Parameter | Child pool usage | Storage pool usage |
---|---|---|
-name | Optional | Optional for both parent pools and child pools. |
-mdisk | Cannot be used with child pools. | Optional |
-tier | Cannot be used with child pools. | Optional |
-easytier | Cannot be used with child pools. | Optional |
-size | Mandatory for traditional child pools. Cannot be used with child pools that are data reduction pools. | Cannot be used with parent pools. |
-parentmdiskgrp | Mandatory | Cannot be used with parent pools. |
-ext | Cannot be used for child pools. | Mandatory |
-unit | Optional | Optional for both parent pools and child pools. |
-warning | Optional for traditional child pools. Cannot be used with child pools that are data reduction pools. | Optional for both parent pools and child pools. |
-encrypt | Optional. Cannot be used with child pools that are data reduction storage pools. | Optional for both parent pools and child pools. |
-datareduction | Optional. Can be used to create a traditional child pool when the value is set to no. Can be used to create a data reduction child pool when the value is set to yes, and -parentmdiskgrp is a parent data reduction pool. | Data reduction pools must be a parent pool. |
-noquota | Optional. Cannot be used with -size, -warning, or -encrypt. | Cannot be used with parent pools. |
The mkmdiskgrp command creates a new storage pool and assigns the storage pool name if specified. The ID of the new storage pool is returned if the command is successful. Storage pools are collections of managed disks. Each storage pool is divided into chunks, called extents, which are used to create volumes.
Optionally, you can specify a list of managed disks that are added to this storage pool. These managed disks cannot belong to another storage pool, and they must have a mode of unmanaged. Use the lsmdiskcandidate command to get a list of suitable candidates. If -tier is specified, it applies to all of the MDisks.
Each managed disk that is a member of this group is split into extents. The storage that is available on these disks is added to a pool of extents that is available in this group. When a volume is created from this group, free extents from the pool are used, in accordance with the policy used when the volume was first created.
Subsequently, all managed disks added to this group are split into extents of the same size as the size that is assigned to the group.
- 64 TB - if all storage pools have extent sizes of 16 MiB.
- 2 PB - if all storage pools have extent sizes of 512 MiB.
- 32 PB - if all storage pools have extent sizes of 8192 MiB.
When you specify -name
pool_name
if you do not also specify
-parentmdiskgrp, you create a parent pool where pool_name is
the name of the new storage pool. When you specify -name
pool_name
, if you also specify -parentmdiskgrp and
a size for it or -noquota, you create a
child pool where pool_name is the name of the new storage pool.
A data reduction pool is created by using the
-datareduction parameter set to yes
. The pool can be
used to create standard-provisioned, thin or compressed volumes, or volume
copies.
There is a maximum number of four data reduction pools in a system. When this limit is
reached, creating any further pools with -datareduction set to
yes
is not possible.
The -datareduction parameter can be used to create a child pool that is a data reduction pool. The parent pool must also be a data reduction pool.
In most cases volume protection is applied on a volume level, but
a volume might have more than one copy, with copies in different storage pools, which in turn
can have different protection settings. A volume is protected when it has one or more copies in
a storage pool that has vdisk_protection_status active
.
For rmvdiskcopy, volume protection is applied on a volume copy level, but only when you delete the last volume copy. When you delete one of two volume copies, volume protection is not applied. It means that a volume copy might be deleted from a protected storage pool and leaves a remaining copy in an unprotected storage pool that might then later be deleted without volume protection checks.
An invocation example
This example adds a list of MDisks to the storage pool.
mkmdiskgrp -mdisk mdisk0:mdisk1:mdisk2:mdisk3 -ext 2048
The resulting output:
MDisk Group, id [0], successfully created
An invocation example
This example specifies tier and Easy Tier information when you add a list of MDisks to the storage pool.
mkmdiskgrp -mdisk mdisk13:mdisk16 -ext 2048 -tier tier_nearline -easytier measure
The resulting output:
MDisk Group, id [13], successfully created
An invocation example
This example creates a child pool from a parent pool.
mkmdiskgrp -size 100 -unit tb -parentmdiskgrp phypool
The resulting output:
MDisk Group, id [3], successfully created
An invocation example
This example creates a child pool from a parent pool and specifies an owner type.
mkmdiskgrp -name VVolPool0 -owner vvol_child_pool -ownershipgroup Vasa -parentmdiskgrp Pool0 -provisioningpolicy 0 -size 5 -unit tb
The resulting output:
MDisk Group, id [3], successfully created
An invocation example
This example creates an empty data reduction pool.
mkmdiskgrp -ext 2048 -datareduction yes
The resulting output:
MDisk Group, id [16], successfully created
An invocation example
This example creates an empty data reduction pool.
mkmdiskgrp -ext 2048 -datareduction yes
The resulting output:
MDisk Group, id [16], successfully created
An invocation example
This example creates a data reduction pool with MDisks.
mkmdiskgrp -ext 2048 -mdisk 3:5:6 -datareduction yes
The resulting output:
MDisk Group, id [17], successfully created
An invocation example
This example creates a protected storage pool with MDisks.
mkmdiskgrp -ext 2048 -mdisk 8:9:10 -vdiskprotectionenabled yes
The resulting output:
MDisk Group, id [18], successfully created
An invocation example
This example creates a data reduction child pool.
mkmdiskgrp -parentmdiskgrp data_reduction_parent -name data_reduction_child -datareduction yes -noquota
The resulting output:
MDisk Group, id [19], successfully created
An invocation example
This example creates a storage pool that uses a provisioning policy. Any volumes that are added to the pool use the capacity savings method that is defined in the provisioning policy.
mkmdiskgrp -ext 2048 -mdisk 8:9:10 -provisioningpolicy policy2
The resulting output:
MDisk Group, id [20], successfully created