Data tiering overview

Data tiering enables IBM Storage Scale to place blocks from a single file across different storage tiers based on file offset ranges.

With this feature, files can have their data blocks distributed between high-performance storage and standard storage pools based on configurable file offset ranges. This approach helps optimize performance while reducing the amount of expensive high-speed storage that is required.

Data tiering provides per-file control over block placement across storage tiers. A storage pool that is designated as a fast tier pool is required for this feature. The fast tier pool is specified by using the fastTierPool=yes attribute when the pool is created. Without a fast tier pool, data tiering cannot be used. The fast tier pool can be either a dataOnly pool or a dataAndMetadata pool.
Important:
  • Only one fast tier pool is supported in a file system.
  • File systems that use both the fastTierPool and performance pool are not supported.
Files that use data tiering can have their data blocks distributed between the following storage pools:
  • Fast Tier Pool

    Stores the initial blocks of a file, beginning at offset 0. This pool is typically configured with high-performance storage devices such as NVMe drives or SSDs.

  • Default Pool

    Stores the remaining blocks that are beyond the configured threshold. This pool is the regular data pool and is typically configured with standard-capacity storage devices.

The number of blocks that are allocated to the fast tier pool is determined for each file by the gpfs.DataTiering extended attribute. This attribute stores the fast tier range threshold in bytes. Blocks from offset 0 up to the offset corresponding to the fast tier range threshold, rounded up to the file system block size, are allocated to the fast tier pool. Blocks beyond this range are allocated to the default pool. Because the threshold is set on a per-file basis, different files can use different data tiering ranges based on workload requirements, policy rules, or manual configuration.

IBM Storage Scale calculates the number of nFastTierBlocks by rounding the dataTieringRange value up to a multiple of the file system block size and using the following formula:
nFastTierBlocks = (dataTieringRange + blockSize - 1) / blockSize

Block allocation behavior

IBM Storage Scale evaluates each block allocation request and selects the appropriate storage pool.
  1. Blocks within the configured fast tier range are allocated in the fast tier pool.
  2. Blocks beyond the configured threshold are allocated in the default pool.
  3. When a file grows beyond the threshold, additional blocks are allocated in the default pool.
  4. Indirect blocks continue to be allocated in the metadata pool.
  5. Files that are less than the fast tier range threshold in size have all their blocks allocated in the fast tier pool.

Applications continue to access files as single logical files. IBM Storage Scale manages block placement across storage pools transparently, without requiring application changes.

Warning: Assigning a fast tier range to existing files that were previously backed up by using mmbackup can cause the files to be backed up again. To prevent unnecessary backups, ensure that the UPDATECTIME and SKIPACLUPDATECHECK options are set. For more information, see Options in the IBM Storage Protect configuration file dsm.opt.

Benefits of data tiering

Data tiering can provide the following benefits:
  • Improves performance by placing frequently accessed data on high-performance storage.
  • Reduces storage costs by limiting the use of expensive fast storage devices.
  • Enables flexible per-file tiering through commands or policy rules.
  • Supports dynamic block migration when tiering settings are changed.
  • Helps optimize storage placement for workloads with mixed performance and capacity requirements.