一种linux集群文件系统研究

时间:2022-07-14 09:50:49

一种linux集群文件系统研究

[摘 要] 本文首先提出了基于BoysFS集群技术的服务器群建设方案,然后对几个相关的关键技术进行了研究,最后对本研究进行了总结。

[关键词] linux集群 并行文件系统

目前,对分布式/并行文件系统的研究可以分为三类:商业用途的并行文件系统、公开的分布式并行文件系统、供研究的并行文件系统。由于技术需要,笔者提出了一种基于linux的并行文件系统结构―BoysFS。与其它系统相比,BoysFS具有如下优势:(1)具有更高的可用性;(2)具有更好的可扩展性;(3)提供分布式的元数据管理;(4)提供了元数据的访问速度;(5)配置简单。

一、基于BoysFS的服务器群建设方案

1.BoysFS系统结构说明

在笔者研究的高可用并行文件系统中,每个服务器既是Metadata Server,又是IOD Server,它们一起构成一个逻辑环,形成对外服务的Server池,Server与Server之间能够平衡负载,并且相互容错。当有新的Server要加入或者离开时,整个系统无需进行重新配置,系统能够自动适应这种动态变化。而且由于数据在其它节点均有备份,因此能够实现数据的动态迁移与恢复。

2.系统模块划分

整个系统主要分为如下几个功能模块:(1)访问接口模块:提供了并行文件系统的访问接口,以三种方式提供:用户层的库Lib.a、并行程序访问接口RMI-IO、系统底层接口(VFS)。(2)Job管理模块:每个请求将对应一个Job,由Job Manager去完成。(3)状态机处理模块:每种类型的请求对于一种状态机,一个请求需要多个操作,由状态机决定下一步该转向那一步操作。(4)数据流管理模块:负责管理I/O数据块的传输。(5)BMI:基于消息的网络传输模块。(6)DHash:高可用的分布式存储子系统。提供Key/Value对的存储方式。(7)Chord:分布式查找协议。可以快速查找负责某个Key的Server。

二、关键技术研究

1.数据存取方式

本系统中,不管是文件数据还是元数据都是通过Handle值来存取的。每个handle对应一个Key值,每个Key对应一个相应的数据块,运用DHash提供的put(Key,Block)存储到Berkeley DB中。当客户端要存储k=6对应的数据块时,首先去查本地的Global Key Range Table,查出该Key值k由节点Node3负责,于是将请求发到Node3。Node3送到请求后,调用Get或put接口来存取数据,由下层的DHash来提供数据的高可用性。

2.IDA算法

IDA算法是一种信息分散算法。它的功能是能将一个长度为L的文件F,分成n个分片Fi(l≤i≤n),每个分片的长度为L/m,在Fi中任取m个分片都能重组成原来的文件F。这种分片和分片重组在计算效率上是很高的。在空间上,可以看出n个分片Fi的总和是原来文件的n/m倍,n/m大于但可以趋近于1,所以数据冗余不会占用太多空间。

3.文件系统接口的实现

人们对任何数据的访问都是通过Handle进行的,而且Handle被存放在块中,记录了各个对象之间的逻辑关系。人们只要知道文件系统超级块Handle值,就可以顺藤摸瓜地找到该文件系统中的任何对象。

4.动态可扩展性的实现

要实现系统动态可扩展性,系统必须能够自动处理节点的任意加入和离开的事件,保证系统的稳定,而不用人为地重新进行配置。

(1)节点加入

当新节点加入时,会依次出现以下结果:(1)由自己的NodeIP哈希出在Key Space中的位子P = SHA-1(NodeIP);(2)对外组播自己加入的消息;(3)接管自己负责的Key Range【k2,k2’);(4)客户端收到节点加入的消息后,更新自己的Global Key Range Table。

(2)节点离开

节点正常离开时,需要向其它节点发送组播消息,通知客户端更新Global Key Range Table,释放自己所管理的那部分Key range 【k2,k2’)。

(3)节点失效

节点的突然实现属于无通知的节点离开行为,如何及时的检测到没个节点的失效,如何快速的达到新的稳定状态将是本系统的关键。笔者初步采取的是用ping的方式对各个节点进行周期性检测,其间隔时间有待研究。

(4)进行故障屏蔽

当有节点加入或离开时,系统会有一段时间处于不稳定状态,客户端如果访问已失效节点就会无响应,笔者为每个操作设置超时时间,如果在该时间内仍无响应,客户端就向该节点的前续节点重发请求。

三、总 结

本系统大大降低了硬件系统损坏对集群的影响;一次写入,永不改变,大大降低了程序的复杂度;同时增大了block的长度,效率更高;且具有高冗余和高性能的特性,为数据中心的发展奠定了基础。

参考文献:

Yifeng Zhu, Hong Jiang, Xiao Qin, Dan Feng. Improved read performance in a Cost-Effective, Fault-Tolerant Parallel Virtual File System, in Proceeding of IEEE/ACM Workshop on Parallel I/O in Cluster Computing and Computational Grids,Tokyo,Japan,May 2003.

上一篇:电子商务推荐系统的应用 下一篇:中国电子商务诚信建设要注意的问题