免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1492 | 回复: 0
打印 上一主题 下一主题

[Lustre] 分布式文件系统研究14:Lustre File System (1) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-04-16 11:26 |只看该作者 |倒序浏览

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先锁定该操作的父目录,并添加目录,成功后把目录锁返还给客户端,然后客户端再和具体的文件服务器通信,创建相关的目录
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/5737/showart_278935.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP