FAQ - OS Support

(Updated: Dec 2009)

Which operating systems are/will be supported?

There are three ways for a file system client to access a Lustre volume: directly, with a native kernel driver; directly, via a userspace library (liblustre); or indirectly, via an NFS or CIFS export.

Today, native kernel drivers exist only for Linux. Other native ports, such as to Windows and Solaris are underway.

liblustre is not yet as widely used as Lustre in the Linux kernel, but it is largely the same code. The Cray Red Storm supercomputer runs liblustre on the Catamount operating system on 22000 nodes to provide all client and server storage, including root FS and swap space, so this is a very serious use of liblustre. It could in principle be used on any Unix-like operating system, and has been used as a basis for a FUSE port to OS/X.

CIFS or NFS export will be the solution of choice for most of our customers wishing to integration non-Linux platforms in the short term.

We currently support only Linux as Lustre server nodes. Support for other operating systems such as Solaris may be available at a later date.

Starting with Lustre 1.6.0, Linux 2.4 clients and servers will no longer be supported. See the Lustre Matrix for details about which kernel/distro combinations are supported.

Why have you decided to patch the Linux kernel?

Lustre's goals are ambitious; few, if any, other file systems attempt to achieve such scalability, performance, and consistency goals in a single package. Because this hadn't been done before, the infrastructure was not present in the kernel for such a file system.

The majority of the changes were in the VFS layer, implementing an API extension to make intent locking possible. Another substantial set of changes were made to ext3 to make it more scalable and performant. Some extra symbols need to be exported.

In 1.6 and later releases, Lustre clients run without patching the kernel, for Linux kernels 2.6.16 and newer. There are still a small number of kernel patches needed for servers, and to the copy of the ext3 file system used by Lustre (ldiskfs), but the majority of the ext3 changes have been incorporated into ext4 in the 2.6.27 kernel.

Are there plans to get these patches into the kernel.org/OSDL kernel?

The Lustre patches have been extensively reviewed by the Linux kernel community and vendors. Many of the changes are already present in Linux 2.6, and our contributions to ext3 have been delivered upstream in the ext4 file system.

With 2.6.16 and later kernels, enough of the Lustre kernel patches have been incorporated into the upstream kernel that clients can run without patches. There is a shrinking number of patches needed on the server.

Currently, there are no definite plans to include the Lustre client or server code itself into the kernel. The requirements for getting the Lustre and LNET code into the kernel would consume too much engineering resources that could better be spent on improving Lustre itself.

 Can I run Lustre without patching my kernel?

It is possible to run Lustre clients on all kernels newer than 2.6.16 and on the latest RHEL4 2.6.9 kernel without patching.

 Which Linux kernels are supported?

We currently support a number of kernels for Lustre 1.4: the Red Hat Enterprise Linux 3 kernel (based on 2.4.21), SuSE Linux Enterprise Server 9 (based on 2.6.5), SuSE Linux Enterprise Server 10 (based on 2.6.16), and the Red Hat Enterprise Linux 4 kernel (based on 2.6.9).

For Lustre 1.6, the Red Hat Enterprise Linux 5 kernel (based on 2.6.16) is also supported, but RHEL3 is removed.

An up-to-date list of exact kernel versions supported by each release is in the Lustre Support Matrix

 Which Linux distributions are supported?

Because Lustre runs almost entirely in the kernel, there are practically no distribution-specific issues.

Lustre enterprise support customers can download packages which have been tested on RHEL5, SLES10 and SLES11 systems, but are likely to work on other clients. You are welcome to use whichever distribution you wish, although we do ask that you use one of the Lustre-supported kernels.

 What if I don't run one of those kernels?

If you can't or won't run one of the supported kernels, you can build Lustre for the particular kernel on your client. For servers, it is a fair amount of work to run on an unsupported kernel, as it's not a matter of "just building from source". There are patches for each kernel, and given the differences between most kernels, these are fairly non-trivial to port. Until there is a customer demand for a given kernel series, the Lustre group simply does not have the resources to maintain those patches.

We expect that this will be less of an issue as we move forward, as the upstream kernel is providing more of the interfaces that Lustre needs. In the meantime we will support the kernels that our customers use. Eventually, we hope to be able to run the server on a kernel without patches.

 Do you support Lustre on an SGI Altix?

We have tested Lustre in the past on an Altix node, but we don't have regular access to this hardware and cannot test this on a regular basis.

 When was Lustre for Linux first used in production?

A pre-1.0 version of Lustre for Linux was first used in a production cluster environment in March 2003.