Storage pool pre-allocation

Storage Subsystem Administration Guide for Hitachi NAS Platform

Part Number

In normal operation, on HDP, the NAS Server prevents you from running out of real disk space. If creating or expanding a file system would use more space than is available on the parity groups or pool volumes in the DP pool, the operation fails safely. Without this check, if the DP pool ran out of space, write operations would fail and file systems would be forcibly unmounted.

An important part of this strategy is to pre-allocate real disk space for all the HDP pages in a chunk when that chunk is allocated to a file system. The server achieves this pre-allocation by writing one non-zero block to each HDP page. Without this pre-allocation, the free space on the DP pool would fall some time later, when data was first written to the HDP pages in the chunk; meanwhile, the server would overestimate the amount of free space on the DP pool, and would be in danger of running out of space.

Although pre-allocation protects your system from running out of disk space on a DP pool, it has a number of disadvantages:

  • It slows down filesystem creation and expansion.
  • Owing to the amount of time that it takes, the system limits the size of a new filesystem or a single manual expansion.
  • Pre-allocation writes places stress on the storage, and flushes data out of the cache.
  • Pre-allocation is not a sufficient safeguard if your storage system uses FMDs that perform data compression. On such systems, deleting compressible data from a file system and writing incompressible data in its place can cause the system to run out of space. The Administrator is therefore responsible for monitoring free space, expanding file systems and adding physical media as required.

It is possible to disable pre-allocation and enable the Administrator to manage free space by using the span-hdp-preallocation command. For further information, see the span-hdp-preallocation man page in the Command Line Reference.

When using this command, it is essential to ensure that no DP pool ever runs out of space. Otherwise, the file systems would be forcibly unmounted and would be unable to remount.

You can re-enable pre-allocation at any time using the same command. However, because some chunks may recently have been allocated without the pre-allocations taking place, some HDP pages in the file systems may not yet be mapped to real storage, and the server may overestimate the amount of free space available on one or more DP pools. It is therefore necessary to prevent filesystem auto-expansion until the server has written to all of the HDP pages in allocated chunks and obtained an accurate assessment of the amount of free space on DP pools.