毕业设计(论文)并行文件系统的安装与测试.doc

上传人:laozhun 文档编号:3982344 上传时间:2023-03-30 格式:DOC 页数:27 大小:569.50KB
返回 下载 相关 举报
毕业设计(论文)并行文件系统的安装与测试.doc_第1页
第1页 / 共27页
毕业设计(论文)并行文件系统的安装与测试.doc_第2页
第2页 / 共27页
毕业设计(论文)并行文件系统的安装与测试.doc_第3页
第3页 / 共27页
毕业设计(论文)并行文件系统的安装与测试.doc_第4页
第4页 / 共27页
毕业设计(论文)并行文件系统的安装与测试.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《毕业设计(论文)并行文件系统的安装与测试.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)并行文件系统的安装与测试.doc(27页珍藏版)》请在三一办公上搜索。

1、并行文件系统的安装与测试摘要分布式文件系统以其高可靠性、高可扩展性以及高性能和高性价比成为高性能计算平台存储系统的首选,已经在军事技术、天气预报等环境中得到广泛应用。相比其它文件系统,它具有两个特点:一是通过数据的分布存储,来提供更大的存储空间,并利用并行的IO服务模式提供更高的IO带宽;二是通过使用各种新颖的分布式存储体系结构,来为应用程序提供更丰富的IO模式。比如通过使用对象存储技术,为应用程序提供面向对象的数据存储格式,并提供Peta级大小的存储空间。Lustre是典型的基于对象存储体系结构的并行文件系统,它起源于卡耐基梅隆大学的Coda项目研究工作,已经成为当前高性能计算领域使用最广泛

2、的并行文件系统之一。Lustre具有良好的大文件IO性能,但是由于Lustre使用分布式的存储体系结构,文件元数据和数据分开存储,它的小文件IO性能低下,甚至不如本地文件系统。本文以Lustre为研究对象,进行并行文件系统的安装与测试,并与传统的分布式文件系统(NFS)和其他几种并行文件系统进行简单比较,分析并行文件系统及Lustre的存储结构,研究并行文件系统作为存储系统的好处及其传输速度,提出改进建议。关键词:分布式文件系统 Lustre IO性能ABSTRACTDistributed File System has been widely applied in High Performa

3、nce Computation fields such as militaris tstrategist,weather forecastThese fields speciality needs the distributed file system being of highly throughput and availability. The distributed file system has been the main storage architrave of HPC environment. It has two characteristics: one is the bigg

4、er capability and higher aggregation IO bandwidth by distributed data storage;the other is abundant of the IO access mode,such as the objectbased data pattern by use object-based storage architectureLustre is a typical object-based distributed file system. It origins from the coda project in Carnegi

5、e university, and has become one of the widely used distributed file system in HPC filed. It has favourable big file IO performance, which has almost Peta degree aggregation IO bandwidth. Therefore, because of its distributed storage architecture which placing file data and meta data separately. Its

6、 small file IO performance is not so well, even lower than that in the local file system. This paper researches the benefits of distributed file system and its speed of transmission by installing and testing the Lustre file system and comparing with NFS and other kinds of distributed file system. It

7、 has also analyzed storage structures of the Lustre and distributed file system.Key words:distributed file system,objectbased storage,I0 performance目 录并行文件系统的安装与测试1一、引言4二、研究现状42.1 分类42.2 其余并行文件系统52.2.1 PVFS52.2.2 GPFS52.2.3 PFS62.2.4 DAFS62.3 分布式文件系统中的存储结构62.3.1 对称式虚拟存储系统72.3.2 非对称式虚拟存储系统82.3.3 数据块虚

8、拟存储系统和虚拟文件系统9三、Lustre 简介93.1 Lustre 介绍93.2 Lustre 系统架构103.3 Lustre 运行机制113.4 性能特点12四、各部分功能剖析134.1 元数据服务器MDS134.4.1存储系统中各文件的元数据134.4.2维护各个文件的生命状态144.4.3维护整个文件系统的状态144.2 对象存储服务器144.3 Client组件14五、系统安装155.1首先安装一个MDS165.2.安装OST部分175.3. lustre分布文件系统建立完成185.4.客户端挂载18五、系统测试195.1 测试流程195.2 测试结果215.3 结果分析21总结

9、22致谢23参考文献23一、引言高性能计算技术在国内外越来越受重视,许多行业的应用都离不开它,如天气预报、军事技术等。随着电子制造技术的发展,计算机的计算速度越来越快,几百万亿次的巨型计算机已经很常见。CPU计算能力、内存容量等指标不断提高,但是磁盘的存储能力由于受其机械结构的限制,发展缓慢,磁盘带宽的增长速度远远低于CPU计算能力的增长速度,于是出现了计算机的IO速度与计算速度不匹配的情况。因此,高性能计算环境中,必须有相应的高性能的存储系统。随着大规模科学计算处理的数据量越来越大,计算机的IO处理速度成为决定计算机速度的一个主要因素,高性能计算环境离不开大容量、高速度的存储系统,存储技术也

10、逐渐成为研究的热点。随着人们对存储技术的研究,计算机的存储体系结构不断变迁,并设计出各种高吞吐量、高IO带宽的并行文件系统。高性能计算环境中,通过采用SAN、NAS等新型存储结构,使用新型的并行文件系统,来大幅度提高其IO速度。分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。分布式文件系统的设计基于客户机/服务器模式。一个典型的网络可能包括多个供多用户访问的服务器。另外,对等特性允许一些系统扮演客户机和服务器的双重角色。例如,用户可以“发表”一个允许其他客户机访问的目录,一旦被访问,这个目录

11、对客户机来说就象使用本地驱动器一样。本文研究的Lustre文件系统是典型的基于对象存储技术的并行文件系统,它来源于卡耐基梅隆大学的Coda项目研究工作,2003年12月发布了1O版,目前已经发布到18版。Lustre在国外的许多高性能计算机构(如美国能源部,LosAlamos国家实验室,Sandia国家实验室,Pacific Northwest国家实验室)的高性能计算系统中都己经得到了应用,Top500 10台机器中有多台采用Lustre。二、研究现状2.1 分类分布式文件系统(Distributed File System)分为三种:1) 网络文件系统(NFS) 最早由Sun微系统公司作为T

12、CP/IP网上的文件共享系统开发。Sun公司估计现在大约有超过310万个系统在运行NFS,大到大型计算机、小至PC机,其中至少有80%的系统是非Sun平台。2) Andrew文件系统(AFS) 结构与NFS相似,由卡内基梅隆大学信息技术中心(ITC)开发、现由前ITC职员组成的Transarc公司负责开发和销售。AFS较NFS有所增强。3) 分布式文件系统(DFS) DFS是AFS的一个版本,作为开放软件基金会(OSF)的分布式计算环境(DCE)中的文件系统部分。如果文件的访问仅限于一个用户,那么分布式文件系统就很容易实现。可惜的是,在许多网络环境中这种限制是不现实的,必须采取并发控制来实现文

13、件的多用户访问,表现为如下几个形式:只读共享 任何客户机只能访问文件,而不能修改它,这实现起来很简单。受控写操作 采用这种方法,可有多个用户打开一个文件,但只有一个用户进行写修改。而该用户所作的修改并不一定出现在其它已打开此文件的用户的屏幕上。并发写操作 这种方法允许多个用户同时读写一个文件。但这需要操作系统作大量的监控工作以防止文件重写,并保证用户能够看到最新信息。这种方法即使实现得很好,许多环境中的处理要求和网络通信量也可能使它变得不可接受。2.2 其余并行文件系统除Lustre并行文件系统,当前的主流分布式文件系统包括:PVFS、GPFS、GFS、PFS、SFS、DAFS、Lustre等

14、,它们之间的许多设计思想类似,如将文件分散于多个存储节点上以提供并行IO访问等。2.2.1 PVFSPVFS(Parallel Virtual File System)是Clemson大学的一个构建在Linux操作系统上的开放源码的并行虚拟文件系统。它在结构上采用传统的cs(客户端服务器)架构实现,整个文件系统由管理结点、I/O结点和计算结点组成。管理结点负责处理文件的元数据,I/O结点负责文件数据的实际存储和读写,并向计算结点提供所需要的数据。在整个集群系统范围内采用一致的全局命名空间。它也使用对象存储的概念,将数据条块化为多个对象,分别存储到多个结点上。在网络通信上,它只支持TCP网络通信

15、协议,不如Lustre灵活。由于PVFS使用对象存储结构,所以小文件性能也不好。2.2.2 GPFSGPFS(General Parallel File System)是IBM为Linux集群系统设计的并行共享磁盘文件系统,它的前身是Tiger Shark多媒体文件系统。在存储设计上,它借鉴了IBM Linux集群系统中的“虚拟共享磁盘技术,即计算结点通过交换网络来并行访问系统中的多个磁盘,通过这种并行的数据访问方式来达到高的I0带宽。大文件通过循环方式放置在不同的磁盘上,小文件的读写通过合并写来提高性能,使用动态选举的元数据结点来管理元数据。它的特点有:日志的结点失效自动恢复;使用集中式的锁

16、机制。2.2.3 PFSSun的PFS(Parallel File System)支持高性能,可扩展IO。它的设计思想是将文件分布在多个磁盘以及服务器上,并在逻辑上将这多个磁盘当作一个“虚拟磁盘共同管理,它还可以跨越多个存储系统,可以包括整个集群中的所有存储设备。当有多个节点同时访问同一文件时,就可以并行地为这些节点提供访问。文件系统构建于Solaris操作系统中,包括host结点、计算结点、I/O slave结点、I0 master结点。Host结点是PFS给其它系统提供的“入口”,登陆到host结点才可以访问到PFS内的文件数据;计算结点负责管理系统的通讯和内存资源;I0 master结点

17、负责文件系统的目录管理、存储块管理,并提供IO数据读写服务;IO slave节点是I0 master结点的一个“子集”,它仅处理磁盘读写和空白块的分配。2.2.4 DAFSDAFS(DirectAccess File System)构建在VI协议1之上的一个文件系统,它和NAS、SAN的最大不同在于它实现了全新的网络存储协议,能够提供基于标准的、高性能的、低延迟的网络存档协议。它的主要特征有数据共享、基于文件的数据整合、条块化的数据管理等。经过比较,Lustre 是HP,Intel,Cluster File System 公司联合美国能源部开发的Linux集群并行文件系统。它来源于卡耐基梅隆大

18、学的NASD 项目研究工作,已经在大学、实验室和超级计算研究中心等得到广泛应用。Sun称Lustre是“目前全球具有最佳可扩展性的并行文件系统”,现在全球十大超级计算机中的六个以及40%的TOP100超级计算机都采用了这个系统。所以本课题以Lustre为例研究并行文件系统的安装、测试、运行及影响并行文件系统因素等内容。2.3 分布式文件系统中的存储结构各种分布式文件系统都能适应一定的应用环境,在存储技术发展的各个阶段,都发挥出优越的性能,能很好的满足当时计算系统对存储系统的需求。分布式文件系统的设计和实现都是基于一定的存储结构,按存储介质的组织形式来划分,分布式文件系统采用的存储结构主要分为虚

19、拟化存储结构和对象存储结构,比如SAN和NAS采用的是虚拟化存储结构,Lustre文件系统采用的是对象存储结构。对象存储结构出现在虚拟存储结构之后,它在虚拟化存储结构的基础上,提出更新颖的设计理念,具有良好的性能和可扩展性。在高性能计算环境中,需要存储系统具有更大的存储能力、更好的扩展性和更高的I0带宽,此时单个磁盘的存储能力已经不能满足需求。这种情况下,虚拟存储技术应用而生。它的基本思想是把多个存储介质模块(磁带组、磁盘RAID等)连接在一起,做为一个逻辑上的存储池,通过一定的手段集中管理。在存储池中可以整合各种存储介质,存储系统表现为一个容量很大(TB或者PB)的逻辑卷,为计算环境提供大容

20、量、高性能的存储系统。从拓扑结构来看,虚拟存储主要分为对称式虚拟存储系统和非对称式虚拟存储系统;从实现方式来看,虚拟化存储主要分为虚拟文件系统和数据块虚拟。2.3.1 对称式虚拟存储系统对称式虚拟存储系统的结构如图2-1所示,存储控制模块包括存储控制设备、控制软件和交换设备,该模块集成在数据传输路径中,由存储控制模块和存储池组成一个存储区域网络(SAN)。它在客户端与存储池进行数据交换的过程中起到核心作用。该结构的存储过程为:存储控制模块将存储池中的存储介质虚拟为逻辑存储单元,并进行映射管理,给每个客户端分配其可见的存储单元集合(每个客户端可见的存储单元不止一个),客户端把这些存储单元映射为本

21、机操作系统可以识别的盘符。当客户端向自己的某个盘符中写入数据时,数据经过存储控制模块的高速并行端口,先写入存储控制模块中的高速缓存,再由存储控制模块完成客户端端盘符和存储池中存储单元的转换,并把数据写入池中的目标单元。该存储系统的特点有:存储控制模块中集成了大容量的高速缓存,能显著提高数据传输速率;存储控制模块中集成了高速并行端口,采用并行IO过程,能提高存储系统的聚合IO带宽,消除IO瓶颈;通过配置对称的存储控制模块,可以很容易的在系统中实现容错功能。在存储控制模块中可以很方便的连接Fabric交换设备,增大系统的规模。图2-1 对称式虚拟存储系统结构图图2-2 非对称式虚拟存储系统结构图2

22、.3.2 非对称式虚拟存储系统非对称式虚拟存储系统是指存储池控制设备和交换设备独立于数据交换网络之外的情况,如图2-2所示。客户端和虚拟设备管理软件均能通过交换网络访问到存储池中的存储介质。虚拟设备管理软件把存储池中的介质虚拟化为逻辑带区(strip)集,并指定每个客户端对池中每个strip的访问权限。客户端要访问池中某个strip上的数据时,先访问虚拟设备管理软件,读取目的strip的信息和访问权限,只有客户端具有访问目的strip的权限时,才能通过交换设备访问目的strip中的数据。在数据访问的过程中,客户端只看到逻辑的strip,而不是实际的磁盘。这种对称式的虚拟存储系统的特点有:不同存

23、储介质进行整合,实现虚拟的strip集,大幅度的提高了系统的可用带宽;在交换设备能力足够的情况下,可以通过安装两台虚拟存储设备,来实现系统内数据存储的冗余。但是这种结构的缺点也很明显:单个strip没有容错能力,一旦某个strip离线或者损坏,将导致整个strip里的数据丢失;该存储系统的访问带宽提高是通过阵列端口绑定来实现的,普通光纤阵列的有效带宽仅为40Ms左右。要达到高的带宽就需要很多台光纤阵列,这是不经济的。2.3.3 数据块虚拟存储系统和虚拟文件系统这两类存储系统主要在软件实现上对虚拟存储系统进行升级,以解决系统中存在的问题。数据块虚拟存储方案着重解决数据传输过程中的冲突和延时问题。

24、在大型Fabric结构的SAN中,当多个客户端通过多个交换机端口访问存储池时,存在访问延时和数据冲突的问题。数据块虚拟存储方案通过软件的形式,将存储控制模块中的多个端口虚拟化,以最大限度上减少延时与冲突的发生。在实际应用系统中,数据块虚拟存储系统以对称虚拟存储系统的形式出现。同样在规模较大的SAN中,存在文件共享的安全机制问题,虚拟文件系统存储方案着重解决这个问题。它的基本思想是对不同的客户端指定不同的访问权限,保证存储池中各存储设备中数据的安全性。在实际应用系统中,虚拟文件系统存储方案以非对称式虚拟文件系统出现。上一小节中介绍的几类并行文件系统都属于虚拟文件系统。三、Lustre 简介3.1

25、 Lustre 介绍Lustre名字是由Linux和Clusters演化而来,是为解决海量存储问题而设计的全新文件系统。是下一代的集群文件系统,可支持10,000个节点,PB的存储量,100GB/S的传输速度,完美的安全性和可管理性。 目前Lustre已经运用在一些领域,例如HP SFS产品等。Lustre作为新一代的基于对象存储的分布式文件系统,同一般的分布式文件系统(如NFS、GFS、PVFS)等相比,具有独特的优势:针对大文件读写进行优化,可以提供高性能的IO;数据独立存储;服务和网络失效的快速恢复;基于意图的分布式锁管理。此外,Lustre还融合了传统分布式文件系统(比如:AFS和Lo

26、cus CFS)的特色和传统共享存储文件系统(比如:Zebra、Berkeley、XFS、GPFS、Calypso、InfiniFile和GFS)的设计思想,还具有:更加有效的数据管理机制;全局数据共享;基于对象存储,使存储更具智能化;系统可快速配置。Lustre文件系统支持多种网络接口,能充分利用网络性能,它的逻辑结构如图3-1所示:Lustre文件系统的大文件性能良好,通过采用基于对象的数据存储格式,同一文件的数据分为若干个对象存储于不同OST节点上,文件的大小可以达到Peta级。大文件IO被分配到不同OST上,具有很高的并行性,可以达到很大的聚合带宽。但是,由于Lustre采用分布的存储

27、结构,文件的数据和元数据分开存储,访问文件数据前需要先访问元数据服务器,这一过程增加了网络开销,所以Lustre的小文件性能不好。图3-1 Lustre的逻辑结构示意图3.2 Lustre 系统架构Lustre采用对象的存储结构,针对大文件的读写做了优化,可以为集群系统提供高性能的IO吞吐率。Lustre对象存储文件系统是由客户端(Client)、存储服务器(Object StorageServer)、元数据服务器(Metadata Server)组成。客户端运行于linux操作系统上,它和OSD进行对象数据IO交互,和MDS进行命名空问元数据的交互。这三个部分可以分别运行于独立的操作系统中,

28、也可以运行于一个操作系统内部,它们之间的交互如图3-2所示:图3-2 Lustre各部件之间的交互Lustre是一个透明的全局文件系统,客户端可以透明地访问集群文件系统中的数据,而无需知道这些数据的实际存储位置。Lustre由客户端,两个MDS(一个运行,一个备份)和OST设备池,通过高速的以太网或QWSNet(QUALCOMM Wireless System)所构成。Lustre最多可以支持多达10000个客户端;两个MDS采用共享存储设备的Active-Standby方式的容错机制。客户端在需要访问文件系统的文件数据时,先访问MDS,获取文件相关的元数据信息,然后就直接和相关的OST通信,

29、取得文件的实际数据。客户端通过网络读取服务器上的数据,存储服务器负责实际文件系统的读写操作以及存储设备的连接,元数据服务器负责文件目录系统目录结构、文件权限和文件的扩展属性以及维护整个文件系统的数据一致性和响应客户端的请求。由于Lustre采用元数据和存储数据相分离的技术,可以充分分离计算和存储资源,使得客户端计算机可以专注于用户和应用程序的请求;存储服务器和元数据服务器专注于读、传输和写数据。存储服务器端的数据备份和存储配置以及存储服务器扩充等操作不会影响到客户端,存储服务器和元数据服务器均不会成为性能瓶颈。3.3 Lustre 运行机制图 3-2 Lustre 三个组成部分间的关系 Lus

30、tre 文件系统是个高度模块化的系统, 主要由三个部分组成: 客户端 (Client) 、 对象存储服务器(Object Storage Target,OST)和元数据服务器(MetaData Server,MDS) 。三个组成部分除了各自的独特功能外,相互之间共享诸如锁、请求处理、消息传递等模块。为了提高 Lustre 文件系统的性能,通常 Client、OST 和 MDS是分离,当然这些子系统也能运行 在同一个系统中。客户端: 通过标准的 POSIX 接口向用户提供对文件系统的访问。 对于客户端而言。客户端:Client 同 OST 进行文件数据的交互,包括文件数据的读写、对象属性的改动等

31、;同MDS进行元数据的交互,包括目录管理、命名空间管理等。OST:在 Lustre 中,OST 负责实际数据的存储,处理所有客户端和物理存储之间的交互。这种存储是基于对象(Object -based)的,OST将所有的对象数据放到物理存储设备上,并完成对每个对象的管理。OST 和实际的物理存储设备之间通过设备驱动程式来实现交互。通 过驱动程式的作用,Lustre 能继承新的物理存储技术及文件系统,实现对物理存 储设备的扩展。为了满足高性能计算系统的需要,Lustre 针对大文件的 读写进行了优化,为集群系统提供较高的I/O吞吐率。存储在OST上的文件能是普通文件,也能是复制文件。Lustre同

32、时还将数据条块化,再把数据分配到各个存储服务器上,提供了比传统 SAN 的“块共享”更为灵活和可靠的共享访问方式。当某个存储节点出现故障时,客户端仍然能够通过MDS:在Lustre中,元数据的管理由MDS负责。MDS 负责向客户端提供整个文件系统的元数据,管理整个文件系统的命名空间,维护整个文件系统的目录结构、用户权限,并负责维护文件系统的数据一致性。通过MDS的文件和目录访问管理,Lustre能控制客户端对文件系统中文件的创建、删除、修改及对目录的创建、删除、修改等访问控制。通过MDS,客户端得到数据所在的OST,并和其建立连接,此后的读写操作就在客户端同OST之间进行,除非有对命名空间的修

33、改,将不再同MDS有关系,这样就降低了MDS的负载。在多个客户端的情况下,由于有多个OST存在,上述的工作模式就把对文件系统的访问转换为并行操作,从而能较好地提高性能。在Lustre中,客户端使用写回式Cache来确保元数据的一致性。Lustre系统能设置两个MDS服务器,其中一个作为备份。两个服务器采用共享存储的方式来存放元数据。当某个MDS 出现故障后,备份服务器能接管其服务,确保系统的正常运行。Lustre打算将来实现多元数据服务器来提高元数据处理的性能和可扩展性。3.4 性能特点Lustre采用对象存储技术,将文件条块化,每个文件分成若干个相同大小的分片,按顺序存储于指定的OST上,一

34、个文件在每个OST上的所有分片作为一个对象,如图3-3所示:图3-3 Lustre的文件条块化机制Lustre的这种数据分块策略,数据缓冲和网络设计比较适合数据量非常大的顺序IO访问,因为:假设某一时刻(或者某一时间段内)有多个针对大文件的IO请求到来,并且这些请求是针对文件内不同条块的,那么这些请求将被分发到不同的OST上,由多个OST并行服务这些IO请求。在这种IO模式下,文件越大,被分配的条块数就越多,用户访问行为的并行度越高,Lustre的聚合IO带宽就越高;Lustre进行大文件的IO操作时,OST端的磁盘上,磁头顺序移动,一次磁盘寻址完成后,可以继续访问数据块而不需要重新寻址。由于

35、物理磁盘的机械式结构的限制,磁头移动的开销是很大的,所以这种顺序的数据传输减少了磁头移动的次数,也就减小了磁盘寻址的开销。但是大多数并行程序的真实负载情况并不完全由大块的数据访问组成,而是掺杂着相当大一部分的小块数据的IO访问。在Lustre对象存储体系结构中,数据通路和控制通路分开,不利于小文件IO,因为:由于Lustre中元数据和文件本身的数据分开存储(文件的元数据存储于MDS组件上,数据存储于OST组件中),用户在读小文件之前需要先同MDS交互,以获得目标小文件的位置。和传统的本地文件系统相比,这一过程相当于增加了一次额外的网络传输开销和元数据服务器的访问开销。对小文件IO来说,这两项额

36、外开销都是相当大的。这个问题也是所有基于对象存储的文件系统共同存在的问题;Lustre的Cache设计对小文件IO性能的作用不明显,用户访问小文件时需要额外的IO带宽。首先,Lustre的客户端Cache只对本机有效,不同客户端访问OST端的同一文件数据时,每个用户都需要先把数据从OST端复制到本地Cache中。如果要访问的文件内容只占页内很少一部分(对于小文件IO操作来说,一般都是这样),也要先把整个物理页从OST端的磁盘读入操作系统的文件缓存中再访问。从OST端读取数据并缓存到Client端的Cache中这一过程需要额外的流量,小文件IO越频繁,总共需要的额外流量就越多,系统的总体IO性能

37、就越低;OST后端磁盘文件系统的小文件读写性能不好,读写小文件时,磁盘寻址带来的延时对一次小文件IO操作的总时间来说,占很大比例。小文件和大文件混合IO模式还会导致磁盘碎片问题,从而导致磁盘整体性能下降。这也是当前磁盘的物理特性决定的,所有文件系统在存储端都普遍存在这个问题。频繁的小文件IO操作对Lustre整体IO性能的影响很大,Lustre在运行时的真实IO带宽低于其所能提供的最大带宽。3.5 存储特点3.5.1 智能化的对象存储设备Lustre文件系统中,文件数据的逻辑部分和物理部分分开存储。元数据的逻辑层(文件级的属性)存储于MDS上,其余物理层的属性(inode,block等)存储于

38、OSD上。通过这种负载分布的方式,减轻了元数据服务器的负担,避免元数据服务器成为系统性能的瓶颈。另外,OSD是与网络连接的智能存储没备,它有自己的计算资源和存储资源,能够独立管理数据存储。通过把元数据的一部分存储到OSD上,可以由多个OSD并行进行元数据服务,系统的元数据服务能力得到极大的提高。OSD可以直接与客户端通信,无需MDS介入。通过把数据分布存储到多个OSD上,由多个OSD并行提供文件数据服务,系统的聚合I0带宽和IO请求响应频率都将随着OSD的增加而增加。3.5.2 全局的命名空间Lustre中所有OSS中的数据被组织为一个统一的目录结构,任何客户端看到的都是一个唯一的目录结构。挂

39、载每个数据服务器(OSS)时,无需设置任何挂载点相关的配置信息,MDS自动与其交互,识别它的目录结构和文件位置,无需用户干预。Lustre通过两方面的机制来实现全局命名空间。其一,任何OSS被挂载时,MDS能够探测到该事件,并主动与所挂载OSS交互,获取它的信息;其二,能够记录所获取的OSS的目录结构和文件位置信息。在传统的Unix系统中,挂载文件系统时,具体作法是建立挂载点到被加载文件系统的根目录的符号链接。Lustre借鉴了AFS中一个称为“加载对象”的机制,来存储被挂载OSS的相关信息,并且这些信息可以被修改。挂载对象的数据结构为一个dentry对象,该对象中包含了一个mntinfo数据

40、结构,用该结构记录具体OSS的信息。3.5.3 透明的访问方式客户端访问文件系统中的数据时,无须知道这些数据的实际存储位置。存储服务器负责实际文件系统的读、写操作以及存储设备访问,元数据服务器负责文件系统目录结构、文件权限和文件的扩展属性、维护整个文件系统的数据一致性、响应客户端的请求。所有这些操作通过网络执行,无需用户干预。四、各部分功能剖析4.1 元数据服务器MDSMDS是Lustre三个功能部件中作用最主要、功能最复杂的一个,它从全局角度管理整个文件系统。MDS在上层提供文件元数据访问的接口,并使用MDT组件实现义件己数据的存储。MDT组件实现了ldiskfs2文件系统,它初始化之后,建

41、立三组服务线程,这三组服务线程的职责分别为:响应元数据IO请求、记录数据IO操作和负责元数据存储。作用主要分为:4.1.1存储系统中各文件的元数据Lustre系统中存在两部分元数据,一部分元数据是针对文件的,另一部分元数据是针对对象的,一个文件被条块化为一个或者多个对象。前者存储于MDS上,用struct mds body描述,该结构描述了文件的大小、访问时间、修改时间、inode序列号等,客户端在访问一个文件时,发送文件的条块化信息给MDS,由MDS根据条块化信息和本次IO操作在文件内的偏移,获取文件的数据所在的位置,这一过程即把传统的基于文件的访问模式转化为基于对象的访问模式。例如,假如要

42、访问的文件大小为35M,文件的条块大小为1M,系统中共有3个OST,本次要访问文件内偏移量为16M处的400Byte的数据。那么文件在3个OST中的数据大小依次为15M、1M、1M。可知本次要访问的数据对象位于第2个OST。4.1.2维护各个文件的生命状态文件的生命状态指文件在IO过程中处于被创建、打开、读写、删除等时刻的状态,MDS负责监视和控制Client与OST之间的IO过程,管理系统中各文件的状态和权限,提供基于目的的对象锁。4.1.3维护整个文件系统的状态MDS还负责记录客户端的挂载卸载,管理它们的状态。系统中动态挂载一个Client或者OSS时,MDS上均需要记录它们的状态。系统中

43、所有客户端的信息记录在一个称为lastrcvd的文件中,文件内容记录了客户端的地址、网络类型等信息。4.2 对象存储服务器OSS组件提供对象级的数据服务,数据存储使用OST组件实现,该组件的结构跟MDT组件类似,仍然使用ldiskfs文件系统做存储。跟MDS不同的是,OSS上存储的是对象的元数据及数据。它在初始化之后,分配4组线程来提供各种数据相关的IO服务。OSS上最重要的功能是响应对象的数据IO请求,OSC和OST之间进行一次读操作。首先,OSC组件把要访问的对象的信息封装在网络包内,发送给OST,在Client端分配若干页面用于数据传送,并把本次要写的数据放置到这些页面内;OST收到网络

44、消息后,从中解析出OSC要访问的对象的信息,在OSS端分配若干负面用于本次数据传递,并把本次要写的对象的数据范围预读到这些缓冲区内;接着通知OSC,OSS已经准备就绪,可以开始数据传送,OSC和OST之间使用Portals协议开始数据传输,双方都进入异步等状态;数据块传送完成时,OST通知OSC数据已经全部到达,并注销本次写过程中使用的资源(Portals表项,传输缓冲页面等),OSC收到消息后,也注销客户端上本次IO操作使用的资源。4.3 Client组件Lustre构建于VFS之上,在Client组件中实现了VFS中的各个接口。从操作系统内核的角度看,Lustre文件系统和其它文件系统并列

45、,它自己实现的文件系统类型称为llite,所有功能接口在llite这个模块中定义。这个模块可以理解为Lustre文件系统提供给客户端的“引擎”,这个模块除了实现传统文件系统(EXT2,3)中关于文件目录管理、文件页缓存管理、文件IO过程管理、文件的持久化存储等功能外,还加上了文件的条块化信息,根据条块化信息,它提供了更上层的基于对象的管理视图。Client功能相关的组件一共有3个,即LOV、OSC、MDC,下面分别介绍它们的功能。由于Lustre是一个运行在网络环境中的分布式环境,文件的元数据和数据分开存储。在客户端,由一系列的OSC和MDC分别与具体的MDS和OSS通信,OSC和MDC的功能

46、类似于传统RPC过程中的“stub,它们的数量和服务器中的存储介质(OST、MDT)数量一一对应。Client把访问发送到这些客户端存根,由它们和具体的服务器通信,并在通信完成之后把结果返回到Client。LOV组件位于OSC和MDC的上层,负责管理它们。在LOV中持有各OSC和MDC的handle,并给它们编号,由LOV把IO请求分发给具体的OSC或者MDC。五、系统安装基于Lustre的系统架构,需安装一个MDS,一个OST及一个Client。本实验所有内容都在一台计算机上完成,用虚拟机安装操作系统。安装环境:虚拟机为VMware Workstation 8.0.2。操作系统为Red Ha

47、t Enterprise Linux 5。Lustre版本号为1.8.7。虚拟机设置网络互连方式为NAT。安装方式为rpm安装。操作系统安装如图4.1。网络环境:MDS:192.168.232.128 n1OST:192.168.232.129 n2Client:192.168.232.130 n3对于rhel5来说,服务器必须安装这几个包,关于内核的,kernel-*-lustre-,kernel-ib-,关于模块的,lustre-modules-,关于工具的lustre-,lustre-ldiskfs-,e2fsprogs-。对于客户端,要装的就少一些,只要安装kernel-lustre-,lustre-modules-和lustre-。由于是在虚拟机上测试,所以没有ib环境,kernel-ib-就不安装了。注意由于rhel5已经预装了e2fspgros这个包,所以这里e2fsprogs-的安装需要用rpm -Uvh方法升级,其他包用rpm -ivh就能安装。装好以后需要用新的内核重启。这样,一台计算机的安装过程就结束了,其余部分也一样安装,为了方便可以在所有计算机上安装所有rpm,以免遗漏重要

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号