Lustre file system (source code)

= Lustre file system
{c}

The <Lustre file system> is a distributed <parallel computing>[parallel] <file system> designed to let many compute clients access a shared <file-system namespace>[file namespace] and large datasets. It separates namespace and <file metadata> operations from bulk file-content transfer. A <Lustre metadata server> manages naming and <file metadata>[metadata] on <file metadata>[metadata] targets; a <Lustre object storage server> serves data objects on object storage targets. Clients use the <file metadata>[metadata] to locate <file> content and then communicate with the storage services.<Introduction to Lustre by Lustre project>[Overview and Lustre Architecture]{ref}

A large <file> can be striped over several storage targets, letting different portions be transferred in <parallel computing>[parallel]. This differs from making independent copies: the stripe layout distributes pieces of one <file>. Aggregate bandwidth can grow with storage services and clients, but small-file workloads may instead be limited by <file metadata>[metadata] operations or <latency (engineering)>[network latency]. Understanding the separate paths explains why adding bulk-storage capacity does not necessarily speed every directory-heavy workload.