Storage pools

Use Pools page to configure and manage storage pools, internal and external storage, MDisks, and to migrate existing storage to the system. In general, a pool or storage pool is an allocated amount of capacity that jointly contains all of the data for a specified set of volumes. The system supports standard pools (parent pools and child pools) and data reduction pools.

This figure shows a basic parent pool with associated child pools. In this graphic, the usable capacity for the parent group is divided between two child pools. Usable capacity is the amount of capacity that is available for storing data on a parent pool after formatting and RAID techniques are applied. Volumes can then be created by using either the capacity from the MDisks through the parent pool or from the child pool.
Figure 1. Storage pool
This figure shows a basic parent pool with associated child pools

Parent Pools

Parent pools receive their usable capacity from MDisks. All MDisks in a pool are split into extents of the same size. Volumes are created from the extents that are available in the pool. You can add MDisks to a pool at any time either to increase the number of extents that are available for new volume copies or to expand existing volume copies. The system automatically balances volume extents between the MDisks to provide the best performance to the volumes.

To track the space that is available on an MDisk, the system divides each MDisk into chunks of equal size. These chunks are called extents and are indexed internally. Extent sizes can be 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, or 8192 MB. The choice of extent size affects the total amount of storage that is managed by the system.

You specify the extent size when you create a new parent pool. You cannot change the extent size later; it must remain constant throughout the lifetime of the parent pool.

You cannot use the data migration function to migrate volumes between parent pools that have different extent sizes. However, you can use volume mirroring to move data to a parent pool that has a different extent size.

Use volume mirroring to add a copy of the disk from the destination pool. After the copies are synchronized, you can free up extents by deleting the copy of the data in the source pool. The FlashCopy® function and Metro Mirror can also be used to create a copy of a volume in a different pool.

A system can manage 2^22 extents. For example, with a 16 MB extent size, the system can manage up to 16 MB x 4,194,304 = 64 TB of storage.

When you choose an extent size, consider your future needs. For example, if you currently have 40 TB of storage and you specify an extent size of 16 MB for all parent pools, the capacity of the system is limited to 64 TB of storage in the future. If you select an extent size of 64 MB for all parent pools, the capacity of the system can grow to 256 TB.

Using a larger extent size can waste storage. When a volume is created, the storage capacity for the volume is rounded to a whole number of extents. If you configure the system to have many small volumes and you use a large extent size, storage can be wasted at the end of each volume.

When you create or manage a parent pool, consider the following general guidelines:

  • The Pools page in the management GUI displays the Usable Capacity and Capacity Details. Usable capacity indicates the amount of capacity that is available for storing data on a pool after formatting and RAID techniques are applied. Capacity details is the capacity that is available for volumes before any capacity savings methods are applied.
  • Ensure that all MDisks that are allocated to the same tier of a parent pool are the same RAID type. When MDisks are assigned within the same tier, a single failure of a physical disk does not take the entire pool offline. For example, if you have three RAID-5 arrays in one pool and add a non-RAID disk to this pool, you lose access to all the data that is striped across the pool if the non-RAID disk fails. Similarly, for performance reasons, you must not mix RAID types. The performance of all volumes is reduced to the lowest achiever in the tier.
  • An MDisk can be associated with just one parent pool.
  • You can specify a warning threshold for a pool. A warning event is generated when the amount of used capacity in the pool exceeds the warning threshold. The warning threshold is especially useful with thin-provisioned volumes that are configured to automatically use capacity from the pool.
  • Volumes can have one or two volume copies. A volume copy is associated with just one pool, except when you migrate a volume copy between parent pools. A volume with two volume copies can have each volume copy in a different parent pool.
  • Volumes that are provisioned from a parent pool are striped across all the storage that is placed into that parent pool. This also enables nondisruptive migration of data from one storage system to another storage system and helps simplify the decommissioning process if you want to decommission a storage system later.
  • You can only add MDisks that are in unmanaged mode. When MDisks are added to a parent pool, their mode changes from unmanaged to managed.
  • You can delete MDisks from a parent pool under the following conditions:
    • Volumes are not using any of the extents that are on the MDisk.
    • Enough free extents are available elsewhere in the pool to move any extents that are in use from this MDisk.
    • The system ensures that all extents that are used by volumes in the child pool are migrated to other MDisks in the parent pool to ensure that data is not lost.
    You can delete an array MDisk from a parent pool when:
    • Volumes are not using any of the extents that are on the MDisk.
    • Enough free extents are available elsewhere in the parent pool to move any extents that are in use from this MDisk.
    Before you remove MDisks from a parent pool, ensure that the parent pool has enough usable capacity for any child pools that are associated with the parent pool.
  • If the parent pool is deleted, you cannot recover the mapping that existed between extents that are in the pool or the extents that the volumes use. If the parent pool has associated child pools, then you must delete the child pools first and return its extents to the parent pool. After the child pools are deleted, you can delete the parent pool. The MDisks that were in the parent pool are returned to unmanaged mode and can be added to other parent pools. Because the deletion of a parent pool can cause a loss of data, you must force the deletion if volumes are associated with it.
  • If the volume is mirrored and the synchronized copies of the volume are all in one pool, the mirrored volume is destroyed when the storage pool is deleted. If the volume is mirrored and there is a synchronized copy in another pool, the volume remains after the pool is deleted.

Child Pools

Instead of being created directly from MDisks, child pools are created from existing usable capacity that is assigned to a parent pool. As with parent pools, volumes can be created that specifically use the usable capacity that is assigned to the child pool. Child pools are similar to parent pools with similar properties and can be used for volume copy operation.

When the child pool is created, the usable capacity for a child pool is reserved from the usable capacity of the parent pool. The usable capacity for the child pool must be smaller than the usable capacity in the parent pool. After the child pool is created, the amount of usable capacity that is specified for the child pool is no longer reported as usable capacity of its parent pool.

When you create or work with a child pool, consider the following general guidelines:
  • The management GUI displays only the capacity details for child and migration pools.
  • Child pools can be created and changed with the command-line interface or through the IBM Spectrum Control when you are creating VMware vSphere Virtual Volumes. You can use the management GUI to view child pools and their properties.
  • As with parent pools, you can specify a warning threshold that alerts you when the used capacity of the child pool is reaching its upper limit. Use this threshold to ensure that access is not lost when the used capacity of the child pool is close to its usable capacity.
  • On systems with encryption enabled, child pools can be created to migrate existing volumes in a non-encrypted pool to encrypted child pools. When you create a child pool after encryption is enabled, an encryption key is created for the child pool even when the parent pool is not encrypted. You can then use volume mirroring to migrate the volumes from the non-encrypted parent pool to the encrypted child pool.
  • Ensure that any child pools that are associated with a parent pool have enough usable capacity for the volumes that are in the child pool before removing MDisks from a parent pool. The system automatically migrates all extents that are used by volumes to other MDisks in the parent pool to ensure that data is not lost.
  • You cannot shrink the usable capacity of a child pool below its used capacity. The system also resets the warning level when the child pool is shrunk and issues a warning if the level is reached when the usable capacity is shrunk.
  • The system supports migrating a copy of volumes between child pools within the same parent pool or migrating a copy of a volume between a child pool and its parent pool. Migrations between a source and target child pool with different parent pools are not supported. However, you can migrate a copy of the volume from the source child pool to its parent pool. The volume copy can then be migrated from the parent pool to the parent pool of the target child pool. Finally, the volume copy can be migrated from the target parent pool to the target child pool.
  • A child pool cannot be created from a data reduction pool.

Child pools can be assigned to an ownership group. An ownership group defines a subset of users and objects within the system. You can create ownership groups to further restrict access to specific resources that are defined in the ownership group. Only users with Security Administrator roles can configure and manage ownership groups.

Ownership can be defined explicitly or it can be inherited from the user, user group, or from other parent resources, depending on the type of resource. Ownership of child pools must be assigned explicitly, and they do not inherit ownership from other parent resources. New or existing volumes that are defined in the child pool inherit the ownership group that is assigned for the child pool.

Data Reduction Pools

To use data reduction technologies on the system, you need to create a data reduction pool, create volumes with the data reduction pool, and map these volumes to hosts that support SCSI unmap commands.

Data reduction is a set of techniques that can be used to reduce the amount of usable capacity that is required to store data. An example of data reduction includes data deduplication. Data reduction can increase storage efficiency and performance and reduce storage costs, especially for flash storage. Data reduction reduces the amount of data that is stored on external storage systems and internal drives by reclaiming previously used capacity that are no longer needed by host systems. To estimate potential capacity savings that data reduction can provide on the system, use the Data Reduction Estimation Tool (DRET). This tool analyzes existing user workloads that are being migrated to a new system. The tool scans target workloads on all attached storage arrays, consolidates these results, and generates an estimate of potential data reduction savings for the entire system.

For more information about DRET, see https://www.ibm.com/support/pages/node/6217841. For more information about Comprestimator, see https://www.ibm.com/support/pages/node/6209688.

Note: The Data Reduction Estimation Tool also provides some analysis of potential compression savings for volumes; however, it is recommended that you also use the management GUI or the command-line interface to run the integrated Comprestimator Utility to gather data for potential compression savings for volumes in data reduction pools.

The system supports data reduction pools which can use different capacity savings methods simultaneously, increasing the capacity savings across the entire pool. Data reduction pools also support deduplication. When deduplication is specified for a volume, duplicate versions of data are eliminated and not written to storage, thus saving more usable capacity. Some models or software versions require specific hardware or software to use this function. For more information, see planning data reduction pools and deduplication.

Support for the host SCSI unmap command is enabled by default.

Verify whether the storage system supports data reduction technologies, like data deduplication. If you use storage systems that support data reduction technologies, you can also configure data reduction on the storage systems. The storage system can reclaim that freed storage and reorganize the data on other volumes to more efficiently use the capacity. For standard-provisioned volumes, the system fully controls storage on these storage systems. When a volume is deleted, capacity is freed on the system and can be reallocated; the storage system is not aware of this freed space. However, if the storage system uses compression, thin-provisioning, or deduplication, the storage system controls the use of the usable capacity. In this configuration, when capacity is freed, the system notifies the storage system that capacity is no longer needed. The storage system can then reuse that capacity or free it as reclaimable capacity. The system also supports reclaimable capacity from certain internal drives, such as the 15 TB tier 1 flash drives, which can improve performance on these types of drives.

When you create a data reduction pool, ensure that the usable capacity of the pool includes overhead capacity. Overhead capacity is an amount of usable capacity that contains the metadata for tracking unmap and reclaim operations within the pool. A general guideline is to ensure that the provisioned capacity with the data reduction pool does not exceed 85% of the total usable capacity of the data reduction pool. Table 1 includes the minimum data reduction pool capacity that is required to be able to create a volume within the pool.
Table 1. Minimum overhead capacity requirements for data reduction pools
Extent size (in gigabytes) Overhead capacity requirements (in terabytes)1
1 GB or smaller 1.1 TB
2 GB 2.1 TB
4 GB 4.2 TB
8 GB 8.5 TB
1Standard-provisioned volumes are not included into the minimum overhead capacity values. When you are planning usable capacity for data reduction pools, determine the usable capacity that is needed for any standard-provisioned volumes first, then ensure that the minimum usable capacity values for the data reduction pools are included.

Pool states

This table describes the operational states of a pool. Child pools adopt the state of the parent pool. States that indicate an error must be resolved on the parent pool.
Table 2. Pool states
State Description
Online The pool is online and available. All the MDisks in the pool are available.
Degraded paths This state indicates that one or more nodes in the system cannot access all the MDisks in the pool. A degraded path state is most likely the result of incorrect configuration of either the storage system or the Fibre Channel fabric. However, hardware failures in the storage system, Fibre Channel fabric, or node might also be a contributing factor to this state. To recover from this state, follow these steps:
  1. Verify that the fabric configuration rules for storage systems are correct.
  2. Ensure that you configured the storage system properly.
  3. Correct any errors in the event log.
Degraded ports This state indicates that one or more 1220 errors were logged against the MDisks in the pool. The 1220 error indicates that the remote Fibre Channel port was excluded from the MDisk. This error might cause reduced performance on the storage system and usually indicates a hardware problem with the storage system. To fix this problem, you must resolve any hardware problems on the storage system and fix the 1220 errors in the event log. To resolve these errors in the log, click Monitor > Events in the management GUI. This action displays a list of unfixed errors that are currently in the event log. For these unfixed errors, select the error name to begin a guided maintenance procedure to resolve them. Errors are listed in descending order with the highest priority error listed first. Resolve highest priority errors first.
Offline The pool is offline and unavailable. No nodes in the system can access the MDisks. The most likely cause is that one or more MDisks are offline or excluded.
Attention: If a single MDisk in a pool is offline and cannot be seen by any of the online nodes in the system, the pool of which this MDisk is a member goes offline. This causes all of the volume copies that are being presented by this pool to go offline. Take care when you create pools to ensure an optimal configuration.