下载后可任意编辑分布式文件系统 MFS(moosefs) 实现存储共享 On 20012 年 11 月 12 日, in 云计算, by jluzc 由于用户数量的不断攀升,我对访问量大的应用实现了可扩展、高可靠的集群部署(即 lvs+keepalived 的方式),但仍然有用户反馈访问慢的问题。通过排查个服务器的情况,发现问题的根源在于共享存储服务器 NFS。在我这个网络环境里,N 个服务器通过 nfs 方式共享一个服务器的存储空间,使得 NFS 服务器不堪重负。察看系统日志,全是 nfs 服务超时之类的报错。一般情况下,当nfs 客户端数目较小的时候,NFS 性能不会出现问题;一旦 NFS 服务器数目过多,并且是那种读写都比较频繁的操作,所得到的结果就不是我们所期待的。下面是某个集群使用 nfs 共享的示意图: 这种架构除了性能问题而外,还存在单点故障,一旦这个 NFS 服务器发生故障,所有靠共享提供数据的应用就不再可用,尽管用 rsync 方式同步数据到另外一个服务器上做 nfs 服务的备份,但这对提高整个系统的性能毫无帮助。基于这样一种需求,我们需要对 nfs 服务器进行优化或实行别的解决方案,然而优化并不能对应对日益增多的客户端的性能要求,因此唯一的选择只能是实行别的解决方案了;通过调研,分布式文件系统是一个比较合适的选择。采纳分布式文件系统后,服务器之间的数据访问不再是一对多的关系(1 个 NFS 服务器,多个 NFS 客户端),而是多对多的关系,这样一来,性能大幅提升毫无问题。下载后可任意编辑 到目前为止,有数十种以上的分布式文件系统解决方案可供选择,如lustre,hadoop,Pnfs 等等。我尝试了 PVFS,hadoop,moosefs 这三种应用,参看了 lustre、KFS 等诸多技术实施方法,最后我选择了 moosefs(以下简称 MFS)这种分布式文件系统来作为我的共享存储服务器。为什么要选它呢?我来说说我的一些看法:1、 实施起来简单。MFS 的安装、部署、配置相对于其他几种工具来说,要简单和容易得多。看看 lustre 700 多页的 pdf 文档,让人头昏吧。2、 不停服务扩容。MFS 框架做好后,随时增加服务器扩充容量;扩充和减少容量皆不会影响现有的服务。注:hadoop 也实现了这个功能。3、 恢复服务容易。除了 MFS 本身具备高可用特性外,手动恢复服务也是非常快捷的,原因参照第 1 条。4、 我在实验过程中得到作者的帮助,这让我很是感激。 MFS 特性(根据官方网站翻译) ★ 高可靠性(数据能被分成几...