Lustre概述
Lustre*是一个开源的、全局单个命名空间的、符合POSIX标准的分布式并行文件系统,旨在实现系统的可扩展性、高性能和高可用性。Lustre在基于Linux的操作系统上运行,并采用客户端-服务器模式的网络架构。Lustre的存储由一组服务器提供,这些服务器可以扩展到多达数百台的数量。运行着单个文件系统实例的Lustre服务器总共可以向数千个计算客户端提供高达几十PB的存储容量,总吞吐量超过1TB/s。
Lustre是一个文件系统,可扩展以满足从小型HPC环境到超级计算机等不同规模的系统上运行的各种应用程序的需求,而且Lustre是使用基于对象的存储构建块创建的,这样可以最大限度地提高系统扩展性。
当元数据和数据存储在独立的服务器上时,冗余服务器可以支持存储故障转移功能,这样每个文件系统可以针对不同的工作负载进行优化。Lustre可以通过高速网络结构(如英特尔全路径架构( OPA )、InfiniBand*和以太网)向应用程序提供快速的IO。
Lustre架构
图1. Lustre文件系统体系结构
Lustre文件系统架构被设计为建立在计算机网络上的可扩展存储平台,它是基于分布式的、基于对象的存储。其中的命名空间层级结构与文件内容分开存储。Lustre中的服务分为支持元数据操作的服务和支持文件内容操作的服务。
Lustre中有两种类型的对象。数据对象是用于存储与文件内容相关联的大量数据的简单数组,而索引对象用于存储键值信息,如POSIX目录。后端存储服务器负责管理数据块存储,所有应用程序级文件系统的访问都通过客户端和存储服务器之间的网络结构来进行。
Lustre文件系统的构建块有元数据服务器和对象存储服务器,它们分别提供对命名空间的操作和大数据量的IO服务。构件块还包括一台管理服务器,它是配置信息的全局注册表,功能上独立于任何一个Lustre实例。Lustre客户端负责为应用程序和Lustre服务之间的交互提供接口。客户端上的软件为最终用户应用程序提供一致POSIX接口。Lustre的网络协议LNet提供了将服务绑定在一起的通信框架。
元数据服务器( MDS ) : MDS管理Lustre文件系统上所有的命名空间操作。文件系统的目录层级结构和文件信息包含在称为元数据目标( MDT )的存储设备上,MDS为此存储提供逻辑接口。Lustre文件系统通常具有至少一个MDS和相应的MDT,并且可以添加更多MDT来满足特定环境下的扩展需求。在创建文件时,MDS可以为文件内容控制对象存储服务器上文件内容的存储对象分配,并管理文件的打开和关闭、删除、重命名以及其他命名空间上的操作。
MDT中存储的是命名空间的元