Lustre File System
历史
Lustre是HP,Intel,Cluster File System公司联合美国能源部开发的Linux集群并行文件系统。它来源于卡耐基梅隆大学的NASD项目研究工作。Lustre文件系统2003年推出了1.0版,目前已经推出了1.4.7的发布版本。
Lustre在美国能源部(U.S.Department of Energy:DOE)、Lawrence Livermore 国家实验室,Los Alamos国家实验室,Sandia 国家实验室,Pacific Northwest国家实验室的高性能计算系统中已得到了初步的应用,IBM正在研制的Blue Gene系统也将采用Lustre文件系统实现其高性能存储。HP公司的“StorageWorks Scalable File Share”(HP SFS,可扩展文件共享),是首款采用Lustre技术的商业化产品。
作为首个开源的基于对象存储设备的分布式并行文件系统,Lustre可以说是性能优异,并被越来越广泛的应用。
系统架构
图1 Lustre的系统架构
Lustre 是一个透明的全局文件系统,客户端可以透明地访问集群文件系统中的数据,而无需知道这些数据的实际存储位置。其结构如图1所示,Lustre由客户端,两个MDS(一个运行,一个备份)和OST设备池,通过高速的以太网或QWS Net(QUALCOMM Wireless Systems)所构成。Lustre最多可以支持多达10000个客户端;两个MDS采用共享存储设备的Active-Standby方式的容错机制;存储设备跟普通的,基于块的IDE存储设备不同,是基于对象的智能存储设备。
客户端在需要访问文件系统的文件数据时,先访问MDS,获取文件相关的元数据信息,然后就直接和相关的OST通信,取得文件的实际数据。
客户端通过网络读取服务器上的数据,存储服务器负责实际文件系统的读写操作以及存储设备的连接,元数据服务器负责文件系统目录结构、文件权限和文件的扩展属性以及维护整个文件系统的数据一致性和响应客户端的请求。由于Lustre采
用元数据和存储数据相分离的技术,可以充分分离计算和存储资源,使得客户端计算机可以专注于用户和应用程序的请求;存储服务器和元数据服务器专注于读、传
输和写数据。存储服务器端的数据备份和存储配置以及存储服务器扩充等操作不会影响到客户端,存储服务器和元数据服务器均不会成为性能瓶颈。
Lustre 的全局命名空间为文件系统的所有客户端提供了一个有效的全局唯一的目录树。全局目录树消除了在客户端的配置信息,并且在配置信息更新时仍然保持有效。
运行机制
图2 Lustre三个组成部分间的关系
Lustre文件系统是个高度模块化的系统,主要由三个部分组成:客户端(Client)、对象存储服务器(Object Storage Target,OST)和元数据服务器(MetaData Server,MDS)。三个组成部分除了各自的独特功能外,相互之间共享诸如锁、请求处理、消息传递等模块。为了提高 Lustre 文件系统的性能,通常 Client、OST 和 MDS 是分离,当然这些子系统也能运行在同一个系统中。
客户端:通过标准的POSIX接口向用户提供对文件系统的访问。对于客户端而言。Client同OST进行文件数据的交互,包括文件数据的读写、对象属性的改动等;同MDS进行元数据的交互,包括目录管理、命名空间管理等。
OST:在Lustre中,OST负责实际数据的存储,处理所有客户端和物理存储之间的交互。这种存储是基于对象(Object -based)的,OST将所有的对象数据放到物理存储设备上,并完成对每个对象的管理。OST和实际的物理存储设备之间通过设备驱动程式来实现交互。通过驱动程式的作用,Lustre能继承新的物理存储技术及文件系统,实现对物理存储设备的扩展。为了满足高性能计算系统的需要,Lustre针对大文件的读写进行了优化,为集群系统提供较高的I/O吞吐率。存储在OST上的文件能是普通文件,也能是复制文件。Lustre同时还将数据条块化,再把数据分配到各个存储服务器上,提供了比传统 SAN 的“块共享”更为灵活和可靠的共享访问方式。当某个存储节点出现故障时,客户端仍然能够通过
MDS:在Lustre中,元数据的管理由MDS负责。MDS负责向客户端提供整个文件系统的元数据,管理整个文件系统的命名空间,维护整个文件系统的目录结构、用户权限,并负责维护文件系统的数据一致性。通过MDS的文件和目录访问管理,Lustre能控制客户端对文件系统中文件的创建、删除、修改及对目录的创建、删除、修改等访问控制。通过MDS,客户端得到数据所在的OST,并和其建立连接,此后的读写操作就在客户端同OST之间进行,除非有对命名空间的修改,将不再同MDS有关系,这样就降低了MDS的负载。在多个客户端的情况下,由于有多个OST存在,上述的工作模式就把对文件系统的访问转换为并行操作,从而能较好地提高性能。在Lustre中,客户端使用写回式Cache来确保元数据的一致性。Lustre系统能设置两个 MDS服务器,其中一个作为备份。两个服务器采用共享存储的方式来存放元数据。当某个MDS出现故障后,备份服务器能接管其服务,确保系统的正常运行。 Lustre打算将来实现多元数据服务器来提高元数据处理的性能和可扩展性。
图3 一个简单mkdir的过程
如图3所示,Lustre中的“mkdir”命令的执行需要经过如下几个步骤:客户端首先向MDS申请“mkdir”操作,MDS先锁定该操作的父目录,并添加目录,成功后把目录锁返还给客户端,然后客户端再和具体的文件服务器通信,创建相关的目录
Lustre File System
错误恢复
Lustre在设计上考虑了对网格环境的支持,一方面他考虑了文件系统的安全性策略,包括认证、授权和文件内容加密三个方面;另一方面他考虑在管理和系统状态监视方面和网格的结合,其设置信息和状态信息采用XML格式,提供通过LDAP(Light-Weight Directory Access Protocol)接口操纵设置信息,而且能支持通过SNMP来获取和修改这些信息。
图4 MDS错误恢复
Lustre在设计时也充分考虑了系统故障时的错误恢复情况,如图4所示,系统正常运行时,存在一台前台的活跃MDS服务器和一台备用MDS服务器。当前台运行的MDS服务器出现故障时,客户端会通过查询LDAP服务器,自动转而连接备用MDS服务器,从而使系统重新恢复正常运行。
性能总结
从初步的测试看,Lustre的性能和可扩展性能说都是相当优秀。以下是Lustre的并发写文件的速率和并发创建文件的速率和当今应用的主流文件系统的对比。
分享到:
相关推荐
《Google File System、Lustre File System、Global File System 分布式文件系统研究》 分布式文件系统是现代大规模数据处理的核心技术,其中Google File System (GFS)、Lustre File System (LFS)和Global File ...
"Lustre file system quick start guide"则面向初次接触Lustre的用户,提供了快速部署和使用Lustre的基本步骤。这份指南可能包括安装、初始化文件系统、设置客户端以及基本的文件操作等。通过快速启动指南,用户可以...
Lustre并行文件系统在地震数据处理中的应用 ... Design and implementation of Lustre parallel file system for seismic data processing. Journal of Computer Science and Technology, 2015, 30(3): 531-540.
并行文件系统(PFSs)如PVFS2、Lustre、GPFS和PanFS等,在高性能计算(HEC)领域中越来越受欢迎,因为它们能够为HEC应用程序提供高IO吞吐量。例如,截至2011年11月,Lustre已经被用作世界上前10台超级计算机中6台的...
Lustre是HP、Intel、Cluster File System公司连个美国能源部开发的Linux集群并行文件系统,来源于卡耐基梅隆大小额的NASD项目研究工作。Lustre文件系统在2003年推出了1.0版本,是第一个机遇对象存储设备的、开源的...
3. **Lustre File System**: A 5-petabyte (PB) scratch area powered by Lustre version 2.1. 4. **Tape Archival Storage**: A 20-petabyte tape library for long-term data preservation. 5. **CSD3**: New ...
这个过程涉及到一系列的网络协议交互,包括NFS(Network File System)和Lustre特定的协议,如MDS(Metadata Server)和OST(Object Storage Target)之间的通信。 在lustre_import.c文件中,我们可以看到实现...
以Google的Google File System(GFS)和开源的Lustre File System为代表的第四代分布式文件系统开始为大规模商用和科研应用提供支持。 ### 分布式文件系统研究的关键点 #### NFS文件系统 NFS是一种实现了网络间...
- PVFS(Parallel Virtual File System)、Panasas、Lustre等并行文件系统相继问世,极大地提升了文件系统的性能和容量。 - Ceph作为一款开源的分布式存储系统,提供了高可扩展性的对象存储、块存储以及文件系统...
它的安装、部署和配置相对其他分布式文件系统(如Lustre、Hadoop、Pnfs)更为直观。MFS允许在不中断服务的情况下添加更多服务器以扩大存储容量,且能快速恢复服务,即使在遇到故障时也能保持高可用性。此外,MFS还...
- **Lustre file system**:Lustre是一个基于对象的文件系统,专为大规模存储设计,支持大量节点和存储容量,适用于高性能计算环境。 - **其他分布式文件系统**:还包括Alluxio、GridGain和XtreemFS等,它们各有...
主流的分布式文件系统包括Lustre、HDFS、GPFS(General Parallel File System)、PvFS(Parallel Virtual File System)、pNFS(Parallel Network File System)等。这些系统一般将元数据(如文件属性、目录结构等)...
在高性能计算领域,传统的网络文件系统(如NFS,Network File System)往往无法满足大规模I/O操作的需求,因为它们在可扩展性、可用性和性能上存在局限。Lustre文件系统,作为一种基于对象存储的全局并行文件系统,...
1. ext2:Extended file system,适用于那些分区容量不是太大,更新也不频繁的情况,例如 /boot 分区。 2. ext3:是 ext2 的改进版本,其支持日志功能,能够帮助系统从非正常关机导致的异常中恢复。 3. ext4:是 ext...
Google File System(GFS)是谷歌设计的一种分布式文件系统,专为大规模数据处理和分析而构建。GFS采用主从式架构,由一个主控节点(Master)管理和调度整个系统的元数据,多个数据节点(Chunkserver)存储实际的...
分布式文件系统如GFS(Google File System)、HDFS(Hadoop Distributed File System)、Lustre、Ceph、GridFS、mogileFS、TFS(Taobao FileSystem)和FastDFS等,成为了大数据时代的重要工具。这些系统并非系统级别...
HDFS(Hadoop Distributed File System)是Apache Hadoop项目的核心组件,主要用于处理和存储大量数据。HDFS设计的核心理念是容错性和高吞吐量,而非低延迟和小文件存取。它采用主从结构,由NameNode、Secondary ...