一种分布式文件系统的设计和实现.doc
《一种分布式文件系统的设计和实现.doc》由会员分享,可在线阅读,更多相关《一种分布式文件系统的设计和实现.doc(9页珍藏版)》请在沃文网上搜索。
1、一种分布式文件系统的设计和实现 摘要:分布式文件系统在集群存储中起着重要的作用,。本文详细介绍了一种分布式文件系统的设计和实现,着重叙述了统一名字空间的设计和Linux下客户端文件系统的实现。该分布式文件系统的读写性能比网上邻居有明显的优势。关键词:集群存储;统一名字空间;超级块;目录项;索引节点The design and implement of a distribute file system Abstract: Distribute file system plays an important role in cluster storage. The design and implem
2、ent of the distribute file system is discussed in detail, especially the design of global name space and the implement of file system in Linux.Key words: cluster storage; global name space; super block; directory entry; index node1 引言为了满足文件存储的新的要求(大容量、高可靠性、高可用性、高性能、动态可扩展性、易维护性),设计一种好的分布式文件系统越来越成为需要。
3、分布式文件系统使得分布在多个节点上的文件如同位于网络上的一个位置便于动态扩展和维护。由于分布式文件系统中的数据可能来自很多不同的节点,它所管理的数据也可能存储在不同的节点上,这使得分布式文件系统中有很多设计和实现与本地文件系统存在巨大的差别。下面主要讲述分布式文件系统设计和实现中所要面对和解决的主要问题Error! Reference source not found.。2 软件总体结构设计一个好的分布式文件系统是集群存储的关键。我们设计的分布式文件系统通过统一名字空间管理使得分布在多个服务器上的文件如同位于网络上的一个位置便于动态扩展和维护。我们把整个系统主要划分客户端与服务器端两部分。客户
4、端包括MVFS文件系统,CC模块(Client Cache),CNS模块(Client Name Space),CN模块(Client Network)。服务器端包括SC模块(Server Cache),SNS模块(Server Name Space),SN模块(Server Network)。应用程序的I/O请求首先送给MVFS文件系统,MVFS文件系统根据文件句柄获得本文件系统的全局文件名并把对文件的访问转换为对CC的访问。CC 收到请求之后,如果在Cache中没有发现对应的数据,则将请求发给CNS层,CNS层根据全局文件名获得该文件所在的服务器。最终通过CN层将命令发给服务器。服务器端S
5、N层通过网络接待命令后,将命令传递给SNS层负责将全局文件名转化成本地的文件名,然后到SC层去查找,如果在Cache中找不到,最终会通过本地的文件系统完成对应的I/O 请求。整个系统的总体结构如图1所示。在服务器端还有一个全局管理程序(心跳协议程序)。通过该心跳协议程序,所有的存储节点的所共享出来的文件构成了整个文件系统的单一的全局逻辑树,从而可以让客户端见到唯一确定的全局逻辑树。图1 总体结构图3关键技术31 统一名字空间的设计与实现统一名字空间是指服务器上的每一个目录和文件在我们的文件系统中都有一个统一的,唯一的名字。要实现统一名字空间就必须将服务器上的本地局部路径与文件系统中的全局路径一
6、一对应,所以我们在每一个服务器上都存放了一个本地配置文件来记录这个映射关系,每个服务器应该根据所有服务器的本地配置文件而形成一个全局配置文件。本地配置文件的第一行主要记录其版本号。后面的每一行是一条记录,主要包括共享的全局路径(客户端看到的文件或目录名)及物理路径(服务器上存放的文件或目录名)。而全局配置文件的第一行主要记录其版本号,服务器个数及每个服务器的IP,后面的每一行是一条记录,与本地配置文件的记录相识,只是多了一个服务器IP的信息当服务器启动后,首先根据自己的本地配置文件生成一个全局配置文件,然后广播自己的本地配置文件。当服务器接收到其他服务器的本地配置文件后,会根据这个本地配置文件
7、修改全局配置文件。当全局配置文件中不包括该服务器的信息即第一行没有该服务器的IP,我们将全局配置文件的版本号改为两个配置文件中版本号的稍大者,并修改服务器个数,添加服务器的IP及对应的记录。如果全局配置文件中已包括该服务器的信息且全局配置文件的版本号大则不用修改,否则将全局配置文件的版本号修改成接收文件的版本号,并修改服务器个数,添加服务器的IP及对应的记录。当修改了某个服务器的信息后,我们应该将本地配置文件的版本号修改为全局配置文件的版本号加一,然后广播自己的本地配置文件。当获得一个全局配置文件后我们还应将其转化为一棵目录文件树使得在客户端对一个文件或目录的操作能够转换成对服务器上得操作。为
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一种 分布式 文件系统 设计 实现
