Creating storage pools using the CLI

You can use the command-line interface (CLI) to create a storage pool.

Attention: If you add an MDisk to a storage pool as an MDisk, any data on the MDisk is lost. If you want to keep the data on an MDisk (for example, because you want to import storage that was previously not managed bythe system), you must create image mode volumes instead.

Assume that the system has been set up and that a back-end controller has been configured to present new storage to the system.

If you are using a flash drive managed disk on your system, ensure that you are familiar with the flash drive configuration rules.

If you intend to keep the volume allocation within one storage system, ensure that all MDisks in the storage pool are presented by the same storage system.

Ensure that all MDisks that are allocated to a single storage pool are of the same RAID type. If the storage pool has more than one tier of storage, ensure that all MDisks in the same tier are of the same RAID type. When using Easy Tier, all of the MDisks in a storage pool in the same tier must be similar and have similar performance characteristics. If you do not use Easy Tier, the storage pool must contain only one tier of storage, and all of the MDisks in the storage pool must be similar and have similar performance characteristics.

As you plan how many pools to create, consider the following factors:
  • A volume can only be created using the storage from one storage pool. Therefore, if you create small (storage pools), you might lose the benefits that are provided by virtualization, namely more efficient management of free space and a more evenly distributed workload for better performance.
  • If any MDisk in an storage pool goes offline, all the (volumes) in the storage pool go offline. Therefore you might want to consider using different storage pools for different back-end controllers or for different applications.
  • If you anticipate regularly adding and removing back-end controllers or storage, this task is made simpler by grouping all the MDisks that are presented by a back-end controller into one storage pool.
  • All the MDisks in a storage pool must have similar levels of performance or reliability, or both. If a storage pool contains MDisks with different levels of performance, the performance of the (volumes) in this group is limited by the performance of the slowest MDisk. If a storage pool contains MDisks with different levels of reliability, the reliability of the (volumes) in this group is that of the least reliable MDisk in the group.
Note: When you create a pool with a new flash drive, the new flash drive is automatically formatted and set to a block size of 512 bytes.

Even with the best planning, circumstances can change and you must reconfigure your (storage pools) after they have been created. The data migration facilities that are provided by the system enable you to move data without disrupting I/O.

Choosing a storage pool extent size

As you plan the extent size of each new pool, consider the following factors:
  • You must specify the extent size when you create a new storage pool.
  • You cannot change the extent size later; it must remain constant throughout the lifetime of the storage pool.
  • Storage pools can have different extent sizes; however, this places restrictions on the use of data migration.
  • The extent size affects the maximum size of a volume in the storage pool. A larger extent size increases the total amount of storage that the system can manage, and a smaller extent size allows more fine-grained control of storage allocation.
Maximum volume capacity by extent size compares the maximum volume capacity for each extent size. The maximum is different for thin-provisioned volumes. Because the system allocates a whole number of extents to each volume that is created, using a larger extent size might increase the amount of storage that is wasted at the end of each volume. Larger extent sizes also reduces the ability of the system to distribute sequential I/O workloads across many MDisks and therefore can reduce the performance benefits of virtualization.
Table 1. Maximum volume capacity by extent size
Extent size (MB) Maximum volume capacity in GB (not thin-provisioned volumes) Maximum volume capacity in GB (thin-provisioned volumes)
16 2048 (2 TB) 2000
32 4096 (4 TB) 4000
64 8192 (8 TB) 8000
128 16,384 (16 TB) 16,000
256 32,768 (32 TB) 32,000
512 65,536 (64 TB) 65,000
1024 131,072 (128 TB) 130,000
2048 262,144 (256 TB) 260,000
4096 262,144 (256 TB) 262,144
8192 262,144 (256 TB) 262,144
Important: You can specify different extent sizes for different storage pools; however, you cannot migrate (volumes) between storage pools with different extent sizes. If possible, create all your storage pools with the same extent size.

Use the following steps to create a storage pool:

Issue the mkmdiskgrp CLI command to create a storage pool.

This is an example of the CLI command you can issue to create a storage pool:

mkmdiskgrp -name maindiskgroup -ext 32 
 -mdisk mdsk0:mdsk1:mdsk2:mdsk3

where maindiskgroup is the name of the storage pool that you want to create, 32 MB is the size of the extent you want to use, and mdsk0, mdsk1, mdsk2, mdsk3 are the names of the four MDisks that you want to add to the group.

You created and added MDisks to a storage pool.

The following example provides a scenario where you want to create a storage pool, but you do not have any MDisks available to add to the group. You plan to add the MDisks at a later time. You use the mkmdiskgrp CLI command to create the storage poolbkpmdiskgroup and later used the addmdisk CLI command to add mdsk4, mdsk5, mdsk6, mdsk7 to the storage pool.

  1. Issue mkmdiskgrp -name bkpmdiskgroup -ext 32

    where bkpmdiskgroup is the name of the storage pool that you want to create and 32 MB is the size of the extent that you want to use.

  2. You find four MDisks that you want to add to the storage pool.
  3. Issue addmdisk -mdisk mdsk4:mdsk5:mdsk6:mdsk7 bkpdiskgroup

    where mdsk4, mdsk5, mdsk6, mdsk7 are the names of the MDisks that you want to add to the storage pool and bkpdiskgroup is the name of the storage pool for which you want to add MDisks.