Understanding Lustre Internals: Difference between revisions

From Lustre Wiki
Jump to navigation Jump to search
Line 22: Line 22:
stability. Some of these features include:
stability. Some of these features include:


*  POSIX Compliance: With few exceptions, Lustre passes the full POSIX
*  POSIX Compliance: With few exceptions, Lustre passes the full POSIX test suite. Most operations are atomic to ensure that clients do not see stale data or metadata. Lustre also supports mmap() file IO.
  test suite. Most operations are atomic to ensure that clients do not
  see stale data or metadata. Lustre also supports mmap() file IO.


*  Online file system checking: Lustre provides a file system checker
*  Online file system checking: Lustre provides a file system checker (LFSCK) to detect and correct file system inconsistencies. LFSCK can be run while the file system in online and in production, minimizing potential downtime.
  (LFSCK) to detect and correct file system inconsistencies. LFSCK can
  be run while the file system in online and in production, minimizing
  potential downtime.


*  Controlled file layouts: The file layouts that determine how data is
*  Controlled file layouts: The file layouts that determine how data is placed across the Lustre servers can be customized on a per-file basis. This allows users to optimize the layout to best fit their specific use case.
  placed across the Lustre servers can be customized on a per-file
  basis. This allows users to optimize the layout to best fit their
  specific use case.


*  Support for multiple backend file systems: When formatting a Lustre
*  Support for multiple backend file systems: When formatting a Lustre file system, the underlying storage can be formatted as either ldiskfs (a performance-enhanced version of ext4) or ZFS.
  file system, the underlying storage can be formatted as either
  ldiskfs (a performance-enhanced version of ext4) or ZFS.


*  Support for high-performance and heterogeneous networks: Lustre can
*  Support for high-performance and heterogeneous networks: Lustre can utilize RDMA over low latency networks such as Infiniband or Intel OmniPath in addition to supporting TCP over commodity networks. The Lustre networking layer provides the ability to route traffic between multiple networks making it feasible to run a single site-wide Lustre file system.
  utilize RDMA over low latency networks such as Infiniband or Intel
  OmniPath in addition to supporting TCP over commodity networks. The
  Lustre networking layer provides the ability to route traffic between
  multiple networks making it feasible to run a single site-wide Lustre
  file system.


*  High-availability: Lustre supports active/active failover of storage
*  High-availability: Lustre supports active/active failover of storage resources and multiple mount protection (MMP) to guard against errors that may results from mounting the storage simultaneously on multiple servers. High availability software such as Pacemaker/Corosync can be used to provide automatic failover capabilities.
  resources and multiple mount protection (MMP) to guard against errors
  that may results from mounting the storage simultaneously on multiple
  servers. High availability software such as Pacemaker/Corosync can be
  used to provide automatic failover capabilities.


*  Security features: Lustre follows the normal UNIX file system
*  Security features: Lustre follows the normal UNIX file system security model enhanced with POSIX ACLs. The root squash feature limits the ability of Lustre clients to perform privileged operations. Lustre also supports the configuration of Shared-Secret Key (SSK) security.
  security model enhanced with POSIX ACLs. The root squash feature
  limits the ability of Lustre clients to perform privileged
  operations. Lustre also supports the configuration of Shared-Secret
  Key (SSK) security.


*  Capacity growth: File system capacity can be increased by adding
*  Capacity growth: File system capacity can be increased by adding additional storage for data and metadata while the file system in online.
  additional storage for data and metadata while the file system in
  online.

Revision as of 18:07, 15 November 2021

Lustre Architecture

What is Lustre?

Lustre is a GNU General Public licensed, open-source distributed parallel file system developed and maintained by DataDirect Networks (DDN). Due to the extremely scalable architecture of the Lustre file system, Lustre deployments are popular in scientific supercomputing, as well as in the oil and gas, manufacturing, rich media, and finance sectors. Lustre presents a POSIX interface to its clients with parallel access capabilities to the shared file objects. As of this writing, Lustre is the most widely used file system on the top 500 fastest computers in the world. Lustre is the file system of choice on 7 out of the top 10 fastest computers in the world today, over 70% of the top 100, and also for over 60% of the top 500.[1]

Lustre Features

Lustre is designed for scalability and performance. The aggregate storage capacity and file system bandwidth can be scaled up by adding more servers to the file system, and performance for parallel applications can often be increased by utilizing more Lustre clients. Some practical limits are shown in Table edit along with values from known production file systems.

Lustre has several features that enhance performance, usability, and stability. Some of these features include:

  • POSIX Compliance: With few exceptions, Lustre passes the full POSIX test suite. Most operations are atomic to ensure that clients do not see stale data or metadata. Lustre also supports mmap() file IO.
  • Online file system checking: Lustre provides a file system checker (LFSCK) to detect and correct file system inconsistencies. LFSCK can be run while the file system in online and in production, minimizing potential downtime.
  • Controlled file layouts: The file layouts that determine how data is placed across the Lustre servers can be customized on a per-file basis. This allows users to optimize the layout to best fit their specific use case.
  • Support for multiple backend file systems: When formatting a Lustre file system, the underlying storage can be formatted as either ldiskfs (a performance-enhanced version of ext4) or ZFS.
  • Support for high-performance and heterogeneous networks: Lustre can utilize RDMA over low latency networks such as Infiniband or Intel OmniPath in addition to supporting TCP over commodity networks. The Lustre networking layer provides the ability to route traffic between multiple networks making it feasible to run a single site-wide Lustre file system.
  • High-availability: Lustre supports active/active failover of storage resources and multiple mount protection (MMP) to guard against errors that may results from mounting the storage simultaneously on multiple servers. High availability software such as Pacemaker/Corosync can be used to provide automatic failover capabilities.
  • Security features: Lustre follows the normal UNIX file system security model enhanced with POSIX ACLs. The root squash feature limits the ability of Lustre clients to perform privileged operations. Lustre also supports the configuration of Shared-Secret Key (SSK) security.
  • Capacity growth: File system capacity can be increased by adding additional storage for data and metadata while the file system in online.