Configure Striping on Lustre File Systems

Definition of striping along with its parameters and configuration particulars for a Lustre system.

Striping is the process of distributing data from a single file across more than one device. To improve file system performance for a few very large files, files can be striped across several or all OSTs.

The file system default striping pattern is determined by the stripe_count and stripe_size parameters in the Lustre file system definition file. These parameters are defined as follows.

stripe_count

The number of OSTs that each file is striped across. Any number of OSTs can be striped across, from a single OST (the default is one) to all available OSTs.

stripe_size

The number of bytes in each stripe. This much data is written to each stripe before starting to write in the next stripe. The default is 1048576.

Striping can also be overridden for individual files. See Override File System Striping Defaults.

CAUTION: Striping can increase the rate that data files can be read or written. However, reliability decreases as the number of stripes increases. Damage to a single OST can cause loss of data in many files.
When configuring striping for Lustre file systems, Cray recommends:
  • Striping files across one to four OSTs
  • Setting stripe count value greater than 2 (this gives good performance for many types of jobs; for larger file systems, a larger stripe width may improve performance)
  • Choosing the default stripe size of 1MB (1048576 bytes)

Stripe size can be increased by powers of two but there is rarely a need to configure a stripe size greater than 2MB. Stripe sizes smaller than 1MB, however, can result in degraded I/O bandwidth. They should be avoided, even for files with writes smaller than the stripe size.