欢迎来到天天文库
浏览记录
ID:9298973
大小:1.06 MB
页数:12页
时间:2018-04-27
《jhr分布式文件系统moosefs》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、分布式文件系统MFS(moosefs)实现存储共享作者:田逸(sery@163.com)由于用户数量的不断攀升,我对访问量大的应用实现了可扩展、高可靠的集群部署(即lvs+keepalived的方式),但仍然有用户反馈访问慢的问题。通过排查个服务器的情况,发现问题的根源在于共享存储服务器NFS。在我这个网络环境里,N个服务器通过nfs方式共享一个服务器的存储空间,使得NFS服务器不堪重负。察看系统日志,全是nfs服务超时之类的报错。一般情况下,当nfs客户端数目较小的时候,NFS性能不会出现问题;一旦NFS服务器数目过多,并且是那种读写都比较频繁的操作,所得到的结果就不是我们所期待的。下面是某
2、个集群使用nfs共享的示意图:这种架构除了性能问题而外,还存在单点故障,一旦这个NFS服务器发生故障,所有靠共享提供数据的应用就不再可用,尽管用rsync方式同步数据到另外一个服务器上做nfs服务的备份,但这对提高整个系统的性能毫无帮助。基于这样一种需求,我们需要对nfs服务器进行优化或采取别的解决方案,然而优化并不能对应对日益增多的客户端的性能要求,因此唯一的选择只能是采取别的解决方案了;通过调研,分布式文件系统是一个比较合适的选择。采用分布式文件系统后,服务器之间的数据访问不再是一对多的关系(1个NFS服务器,多个NFS客户端),而是多对多的关系,这样一来,性能大幅提升毫无问题。到目前为止
3、,有数十种以上的分布式文件系统解决方案可供选择,如lustre,hadoop,Pnfs等等。我尝试了PVFS,hadoop,moosefs这三种应用,参看了lustre、KFS等诸多技术实施方法,最后我选择了moosefs(以下简称MFS)这种分布式文件系统来作为我的共享存储服务器。为什么要选它呢?我来说说我的一些看法:1、实施起来简单。MFS的安装、部署、配置相对于其他几种工具来说,要简单和容易得多。看看lustre700多页的pdf文档,让人头昏吧。2、不停服务扩容。MFS框架做好后,随时增加服务器扩充容量;扩充和减少容量皆不会影响现有的服务。注:hadoop也实现了这个功能。3、恢复服务
4、容易。除了MFS本身具备高可用特性外,手动恢复服务也是非常快捷的,原因参照第1条。4、我在实验过程中得到作者的帮助,这让我很是感激。MFS特性(根据官方网站翻译)★高可靠性(数据能被分成几个副本存储在不同的计算机里)★通过增加计算机或增加新的硬盘动态扩充可用磁盘空间★可以设置删除文件的空间回收时间[root@mysql-bkserydir]#mfsgettrashtimebind-9.4.0.tar.gzbind-9.4.0.tar.gz:600文件被删除10分钟后(600秒),才真正删除文件,回收磁盘空间。★为文件创建快照MFS文件系统的组成1、元数据服务器。在整个体系中负责管理管理文件系统
5、,目前MFS只支持一个元数据服务器master,这是一个单点故障,需要一个性能稳定的服务器来充当。希望今后MFS能支持多个master服务器,进一步提高系统的可靠性。2、数据存储服务器chunkserver。真正存储用户数据的服务器。存储文件时,首先把文件分成块,然后这些块在数据服务器chunkserver之间复制(复制份数可以手工指定,建议设置副本数为3)。数据服务器可以是多个,并且数量越多,可使用的“磁盘空间”越大,可靠性也越高。3、客户端。使用MFS文件系统来存储和访问的主机称为MFS的客户端,成功挂接MFS文件系统以后,就可以像以前使用NFS一样共享这个虚拟性的存储了。元数据服务器安装
6、和配置元数据服务器可以是linux,也可以是unix,你可以根据自己的使用习惯选择操作系统,在我的环境里,我是用freebsd做为MFS元数据的运行平台。GNU源码,在各种类unix平台的安装都基本一致。(一)安装元数据服务1、下载GNU源码wgethttp://www.moosefs.com/files/mfs-1.5.12.tar.gz2、解包tarzxvfmfs-1.5.12.tar.gz3、切换目录cdmfs-1.5.124、创建用户useraddmfs–s/sbin/nologin5、配置./configure--prefix=/usr/local/mfs--with-default
7、-user=mfs--with-default-group=mfs6、编译安装make;makeinstall(一)配置元数据服务元数据服务器的配置文件是mfsmaster.cfg,我在安装MFS时指定了前缀,因此这个文件的位置在/usr/local/mfs/etc/mfsmaster.cfg.我们打开这个配置文件,看看都有哪些内容:#WORKING_USER=mfs#WORKING_GROUP=
此文档下载收益归作者所有