Lustre Clients Overview
Lustre clients are responsible for creating a coherent, aggregate view of the Lustre file system as a POSIX storage entity. The client establishes connections with the metadata and object storage servers. The metadata for a file includes the file layout information (also referred to as file striping), which is a list of the objects held on the OSTs (each object represents one stripe), and the access pattern. Clients communicate with the OSS servers directly; the MDS does not participate in file IO once the file is opened, until the file is closed.
Lustre uses a cache-coherent distributed lock manager for controlling file IO, ensuring that all Lustre clients can access all files in the file system in parallel, with both read and write concurrency.
Lustre aims for very close compliance with the POSIX standard. From the Lustre Operations Manual:
The full POSIX test suite passes in an identical manner to a local EXT4 file system, with limited exceptions on Lustre clients. In a cluster, most operations are atomic so that clients never see stale data or metadata. The Lustre software supports mmap() file I/O.