Configuring a balanced storage system

The attachment of an external storage system to the system requires that specific settings are applied to set the characteristics of a balanced system.

About this task

To attach an external storage system to the system, consider the following two major steps:
  1. Setting the characteristics of the system to storage connections.
  2. Mapping logical units to these storage connections that allow the system to access the logical units.

You can use the virtualization features of the system to choose how your storage is divided and presented to hosts. While virtualization provides you with a great deal of flexibility, it also offers the potential to set up an overloaded storage system. A storage system is overloaded if the quantity of I/O transactions that are issued by the host systems exceeds the capability of the storage to process those transactions. If a storage system is overloaded, it causes delays in the host systems and might cause I/O transactions to time out in the host. If I/O transactions time out, the host logs errors and I/Os fail to the applications.

Scenario: You have an overloaded storage system.

Under this scenario, you used the system to virtualize a single array and to divide the storage across 64 host systems. If all host systems attempt to access the storage at the same time, the single array is overloaded.

To configure a balanced storage system that is not overloaded, follow these steps:

Procedure

  1. Use Table 1 to calculate the I/O rate for each RAID in the storage system.
    Note: The actual number of I/O operations per second that can be processed depends on the location and length of each I/O. It also depends on whether the I/O is a read or a write operation and on the specifications of the component disks of the array. For example, a RAID-5 array with eight component disks has an approximate I/O rate of 150×7=1050.
    Table 1. Calculate the I/O rate
    Type of array Number of component disks in the array Approximate I/O rate per second
    RAID-1 (mirrored) arrays 2 300
    RAID-3, RAID-4, RAID-5 (striped + parity) arrays N+1 parity 150×N
    RAID-10, RAID 0+1, RAID 1+0 (striped + mirrored) arrays N 150×N
  2. Calculate the I/O rate for a managed disk (MDisk).
    • If you have a one-to-one relationship between backend arrays and MDisks, the I/O rate for an MDisk is the same as the I/O rate of the corresponding array.
    • If an array is divided into multiple MDisks, the I/O rate per MDisk is the I/O rate of the array that is divided by the number of MDisks that are using the array.
  3. Calculate the I/O rate for a storage pool.
    The I/O rate for a storage pool is the sum of the I/O rates of the MDisk that is in the storage pool.
    For example, a storage pool contains eight MDisks and each MDisk corresponds to a RAID-1 array. Using Table 1, the I/O rate for each MDisk is calculated as 300. The I/O rate for the storage pool is 300×8 = 2400.
  4. Use Table 2 to calculate the impact of FlashCopy® mappings. If you are using the FlashCopy function that is provided by the system, you must consider the additional amount of I/O that FlashCopy operations generate. The amount of I/O can reduce the rate at which I/O from host systems can be processed. When a FlashCopy mapping copies write I/Os from the host systems to areas of the source or target volume that are not yet copied, the system generates extra I/Os to copy the data before the write I/O is done. The effect of using the FlashCopy function depends on the type of I/O workload that is generated by an application.
    Table 2. Calculate the impact of FlashCopy mappings
    Type of application Impact to I/O rate Additional weighting for FlashCopy
    Application is not doing I/O Insignificant impact 0
    Application is reading only data. Insignificant impact 0
    Application is issuing only random write operations. Up to 50 times as much I/O 49
    Application is issuing random read operations and write operations. Up to 15 times as much I/O 14
    Application is issuing sequential read operations or write operations. Up to 2 times as much I/O 1

    For each volume that is the source or target of an active FlashCopy mapping, consider the type of application that you want to use the volume. Also, record the additional weighting for the volume.

    For example, a FlashCopy mapping is used to provide point-in-time backups. During the FlashCopy process, a host application generates an I/O workload of random read and write operations to the source volume. A second host application reads the target volume and writes the data to tape to create a backup. The additional weighting for the source volume is 14. The additional weighting for the target volume is 0.

  5. Calculate the I/O rate for volumes in a storage pool by completing the following steps:
    1. Calculate the number of volumes in the storage pool.
    2. Add the additional weighting for each volume that is the source or target of an active FlashCopy mapping.
    3. Divide the I/O rate of the storage pool by this number to calculate the I/O rate per volume.

    Example 1:

    A storage pool has an I/O rate of 2400 and contains 20 volumes. No FlashCopy mappings exist. The I/O rate per volume is 2400 / 20 = 120.

    Example 2:

    A storage pool has an I/O rate of 5000 and contains 20 volumes. Two active FlashCopy mappings have source volumes in the storage pool. Both source volumes are accessed by applications that issue random read and write operations. As a result, the additional weighting for each volume is 14. The I/O rate per volume is 5000 / (20 + 14 + 14) = 104.

  6. Determine whether the storage system is overloaded. The figure that was determined in step 4 provides some indication of how many I/O operations per second can be processed by each volume in the storage pool.
    • If you know how many I/O operations per second that your host applications generate, you can compare these figures to determine whether the system is overloaded.
    • If you do not know how many I/O operations per second that your host applications generate, use the I/O statistics facilities that are provided by system to measure the I/O rate of your volumes. You can also use Table 3 as a guideline.
    Table 3. Determine whether the storage system is overloaded
    Type of application I/O rate per volume
    Applications that generate a high I/O workload. 200
    Applications that generate a medium I/O workload. 80
    Applications that generate a low I/O workload. 10
  7. Interpret the result. If the I/O rate that is generated by the application exceeds the I/O rate per volume that you calculated, you might be overloading your storage system. You must carefully monitor the storage system to determine whether the backend storage limits the overall performance of the storage system. It is also possible that the previous calculation is too simplistic to model your storage use after.
    For example, the calculation assumes that your applications generate the same I/O workload to all volumes, which might not be the case.

    You can use the I/O statistics facilities that are provided by system to measure the I/O rate of your MDisks. You can also use the performance and I/O statistics facilities that are provided by your storage systems.

What to do next

If your storage system is overloaded, you can take several possible actions to resolve the problem:
  • Add more backend storage to the system to increase the quantity of I/O that can be processed by the storage system. The system provides virtualization and data migration facilities to redistribute the I/O workload of volumes across a greater number of MDisks without having to take the storage offline.
  • Stop unnecessary FlashCopy mappings to reduce the number of I/O operations that are submitted to the backend storage. If you process FlashCopy operations in parallel, consider reducing the amount of FlashCopy mappings that start in parallel.
  • Adjust the queue depth to limit the I/O workload that is generated by a host. Depending on the type of host and type of host bus adapters (HBAs), it might be possible to limit the queue depth per volume, limit the queue depth per HBA, or both. The system also provides I/O governing features that can limit the I/O workload that is generated by hosts.
Note: Although these actions can be used to avoid I/O timeouts, performance of your storage system is still limited by the amount of storage that you have.