Use the mkmdiskgrp command to create
a new storage pool.
Syntax
mkmdiskgrp [ -name pool_name ] [ -mdisk { mdisk_id_list | mdisk_name_list } ] [ -tier { tier0_flash | tier1_flash | tier_enterprise | tier_nearline } ] { -ext extent_size | -size mdiskgrp_size -parentmdiskgrp { mdiskgrp_id | mdiskgrp_name } } [ -warning { disk_size | disk_size_percentage% } [ -unit { b | kb | mb | gb | tb | pb } ] ] [ -easytier { auto | on | off | measure } ] [ -owner owner_type ] [ -encrypt { yes | no } ]
Parameters
- -namepool_name
- (Optional) Specifies a name to assign to the new pool.
- -mdiskmdisk_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 -mdiskparameter.
- -tiertier0_flash | tier1_flash | tier_enterprise |
tier_nearline
- (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.
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.
- -extextent_size
- (Required) Specifies the size of the extents
for this group in MB. The ext parameter must
have one of the following values: 16, 32, 64, 128, 256, 512, 1024, 2048, 4096,
or 8192 (MB).
- -sizemdiskgrp_size
- (Optional) Specifies the child pool capacity. The value must be
a numeric value (and an integer multiple of the extent size).
- -parentmdiskgrpmdiskgrp_id
| mdiskgrp_name
- (Optional) Specifies the parent pool from which the volume extents
of the child pool are allocated when creating a child pool. The value
must be an mdiskgrp_id or mdiskgrp_name.
- -warningdisk_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
(MB) 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 or 0%. The default value
is 0.
- -unitb | kb | mb | gb |
tb | pb
- (Optional) Specifies the data units for the -warning parameter.
- -easytieron | off | auto | measure
- (Optional) Specifies if 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 is balance 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 measureEasy 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
Specifying
-easytier on enables
Easy Tier®:
- Management of both single-tier and multi-tier pools
- Auto rebalance
Extents are moved to balance the I/O load on the MDisks in the pool.
- -ownerowner_type
- (Optional) Specifies the owner type. The value must be vvol_child_pool.
- -encryptyes | no
- (Optional) Specifies the encryption status for this storage pool. The values are
yes or no.
Remember: - If you do not specify -encrypt and encryption is enabled, the system
defaults to -encrypt yes (the default encryption setting).
- When creating a child pool in an encrypted parent pool, the value must not be
no. (All other permutations are permitted.)
Description
Table 1. Parameter
differences for child pools and storage poolsParameter |
Child pool usage |
Storage pool usage |
-name |
Optional |
Optional |
-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 |
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 |
-warning |
Optional |
Optional |
-encrypt |
Optional |
Optional for both parent pools and child 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 will be 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 will apply 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.
All managed disks subsequently
added to this group are split into extents of the same size as the
size that is assigned to the group.
When choosing
an extent size, take into account the amount of storage you want to
virtualize in this group. The system maintains a mapping of extents
between volumes and managed disks. The clustered system (system) can
only manage a finite number of extents (4 194 304). One system can
virtualize the following number of extents:
- 64 TB – if all storage pools have extent sizes of 16 MB.
- 2 PB – if all storage pools have extent sizes of 512 MB.
- 32 PB – if all storage pools have extent sizes of 8192 MB.
Important: The extent size for the
storage pool can also limit volume size. Consider the maximum volume
size you want to use when creating storage pools. Refer to the information
on creating storage pools for a comparison of the maximum volume capacity
for each extent size. The maximum is different for thin-provisioned
volumes.
Note: When an image mode volume is created, the storage pool
increases in capacity by the size of the image mode volume (not the
MDisk capacity), because the image mode volume might be smaller than
the MDisk itself. If an extent is migrated from the image mode volume
or MDisk to elsewhere in the group, the volume becomes a striped volume
(no longer image mode). At this point the available capacity might
increase, because the extra capacity available on the MDisk (for example,
the capacity that was not part of the image mode volume) becomes available.
Remember: When using the
-mdisk parameter, the storage pool is not created if one of the MDisks is a SAS
MDisk.
When specifying -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 specifying -name pool_name,
if you also specify -parentmdiskgrp and a size
for it, you create a child pool where pool_name is
the name of the new storage pool.
An invocation example
This example adds
a list of MDisks to the storage pool.
mkmdiskgrp -mdisk mdisk0:mdisk1:mdisk2:mdisk3 -ext 32
The
resulting output:
MDisk Group, id [0], successfully created
An invocation example
This
example specifies tier and Easy Tier® information
when adding a list of MDisks to the storage pool.
mkmdiskgrp -mdisk mdisk13:mdisk16 -ext 512 -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 -parentmdiskgrp p0 -size 100 -unit gb -owner vvol_child_pool
The
resulting output:
MDisk Group, id [3], successfully created
An
invocation example
This example creates an encrypted child
pool from a parent pool.
mkmdiskgrp -parentmdiskgrp 2 -name _my_encrypted_child_pool -encrypt yes -size 10 -unit gb
The resulting output:
MDisk Group, id [5], successfully created