Improving data restore performance with caching in cloud-container storage pools

You might be able to improve data restore performance for cloud-container storage pools by enabling the CLOUDREADCACHE parameter and configuring the related CLOUDREADCACHEMAXUSAGE and CLOUDREADCACHERETENTIONTIME server options.

Before you begin

For an introduction to the use of caches for cloud-container storage pools, see Cloud-container storage pool data cache.

For guidance about specifying settings, review the preferred cloud cache settings for light restore workloads, moderate restore workloads, and disaster recovery events in Use case configurations for caching cloud-container storage pool data.

Restriction: The CLOUDREADCACHE parameter is available only for non-Swift cloud types.
To use a cloud cache, you must first define the local disk storage pool directories where you want to store read cache data. Use the DEFINE STGPOOLDIRECTORY command to define local disk storage pool directories for your cloud-container storage pool.

Procedure

  1. When you define or update a cloud-container storage pool by using the DEFINE STGPOOL or UPDATE STGPOOL command, enable the CLOUDREADCACHE parameter by specifying one of the following values:
    Value Description
    ON The system downloads and stages read cache data in the cloud cache for cloud-container storage pool objects with significant read activity. As client restore activity is processed, the IBM Spectrum Protect server analyzes container data read requests for the cloud-container storage pool to determine whether to download data from object storage and stage it to the cloud cache. For data that the system decides to stage, client restore operations retrieve data from the cloud cache. For data that was not staged, client restore operations retrieve data from object storage.
    ONPREFERINGEST The ONPREFERINGEST value enables similar functionality as the ON value. However, with the ONPREFERINGEST value, if the system detects a low-space condition when data is ingested, read cache data is removed from the cloud cache so that the space can instead be used for ingested data.

    A low-space condition can occur when data is ingested during a cloud-container restore operation on the same cloud cache. Ingest activity might include direct backups, archives, and node replication target activity.

    The default value is OFF.
  2. Specify how much space will be used for read cache data by setting a value for the CLOUDREADCACHEMAXUSAGE option. You can specify a value in the range 0 - 100. The default value is 95.
    For example, if you have a cloud cache with 1000 GB of usable space and you specify the value 90 (that is, 90%), the system can use up to 900 GB of space in the cloud cache for read cache data (1000 GB x 90% = 900 GB). In the following example, a value of 50 is specified to ensure that the system uses no more than 50% of the cloud cache for read cache data.
    cloudreadcachemaxusage 50
    Important: When a storage pool directory file system has 50 GB or less of usable space, the IBM Spectrum Protect server does not add more read cache data to the cloud cache. The server maintains 50 GB of space to use for ingested data. If none of the directory file systems in a storage pool directory have more than 50 GB of usable space, no further read cache data is added to the cloud cache for the entire storage pool.
  3. Use the CLOUDREADCACHERETENTIONTIME server option to specify how many seconds read cache data is retained in the cloud cache after the last read operation ends. You can specify a value in the range 1 - 2147483647 (the maximum 32-bit integer). The default value is 600 (10 minutes).
    For example, if you keep the default value of 1200 and the system does not read from the cloud cache for 1200 seconds or more, the read cache data in the cloud cache is deleted.
    cloudreadcacheretentiontime 1200
    Consider the following guidance about specifying a small, medium, or large value for the CLOUDREADCACHERETENTIONTIME server option:
    Value size Use case
    Small Specify a small value, such as 120 (2 minutes) if one or more of the following conditions are met:
    • The workload that is being restored is highly unique (that is, it has a low deduplication ratio in the storage pool).
    • The cloud cache is smaller than the total amount of read cache data that is being restored.
    Medium Specify a medium value, such as 1800 (30 minutes) or 3600 (60 minutes), when all of the following conditions are met:
    • The workload that is being restored is not highly unique (that is, it has a high ratio of data deduplication in the storage pool).
    • The file system space is large enough to copy the total amount of read cache data that is being restored to the cloud cache while also handling data ingestion for the cloud-container storage pool.
    Large Specify a large value, such as 86400 (1 day) or 432000 (5 days), to either restore a client workload over a period of many hours or days or to restore the same client data repeatedly.
    Tip: If the restore workload is considerably larger than the capacity of the cloud cache, consider reducing the CLOUDREADCACHERETENTIONTIME parameter value so that older read cache data is removed faster from the cloud cache. By removing old data, you provide space for new data. When the cloud cache runs out of space, the IBM Spectrum Protect server does not add more read cache data to the cloud cache. The cloud cache can run out of space if the CLOUDREADCACHEMAXUSAGE parameter value is reached for all storage pools or if 50 GB or less of usable space is in the storage pool.