Lustre Client Requirements Guidelines
Lustre clients have modest configuration requirements, relative to the servers, to enable connection to a Lustre file system. The number of Linux-based operating systems capable of running the Lustre client software is broader than that for the Lustre servers, providing more flexibility in the management of compute resources. Lustre has been ported to a variety of Linux distributions and hardware architectures. Nevertheless, the most common deployments use RHEL or CentOS.
The operating system can be installed on a internal disk or SSD. Depending on the characteristics of the host’s anticipated workload, it may be desirable to make the OS storage fault-tolerant, using a mirrored device, but this is at the discretion of the system owner. Lustre clients can also be diskless because Lustre makes no use of client-side persistence: all I/O is transacted over the LNet protocol between clients and servers. Lustre clients never write directly to storage devices. Because clients can be diskless, the OS footprint is also typically small, at least as far as the Lustre client’s requirements are concerned.
Lustre client machine hardware requirements are generally determined by the intended application workload and the operating system distribution. Lustre can be deployed on a range of platforms, from simple, single-core systems with 2GB RAM, up through multi-socket, multi-core platforms with 512GB+ RAM. While the minimum amount of RAM needed for a client is 2GB, keep in mind that when sizing client memory, the application workload and the number of Lustre servers in the file system have an effect on the amount of RAM consumed. For Linux kernel minimum requirements, see the operating system documentation.
Lustre does not make any specific requirements for swap space. Swap allocation guidance should be taken from the OS distribution. Red Hat recommends 4GB for systems with more than 64GB RAM installed. There are, however, examples of HPC installations allocating high-performance flash storage for swap space. Note that for HPC applications, paging out data from memory to swap is generally considered to be a performance impediment.
Network requirements are entirely dependent on the site installation. Some HPC systems limit client connectivity to a single fabric for all communications, including system management, while others separate traffic over two or more network connections, in a manner similar to the Lustre servers. Using multiple fabrics allows the isolation of system-management traffic from application IO.
A single high-speed interface capable of connecting to the Lustre file system high-performance data fabric is the minimum requirement for clients. A secondary interface for system management and monitoring (host provisioning, health checking, software updates and job scheduler traffic, etc.) is common but not strictly required.