MooseFS: About

二、MooseFS的详解

1、MooseFS的优点

1)部署简单,轻量、易配置、易维护

2)易于扩展,支持在线扩容,不影响业务,体系架构可伸缩性极强

3)通用文件系统,不需要修改上层应用就可以使用(比那些需要专门api的dfs方便多了)。

4)以文件系统方式展示:如存图片,虽然存储在chunkserver上的数据是二进制文件,但是在挂载mfs的client端仍旧以图片文件形式展示,便于数据备份

5)硬盘利用率高。测试需要较大磁盘空间

6)可设置删除的空间回收时间,避免误删除文件丢失就恢复不及时影响业务

7)系统负载,即数据读写分配到所有的服务器上

8)可设置文件备份的副本数量,一般建议3份,未来硬盘容量也要是存储单份的容量的三倍

2、MooseFS的缺点

1)master目前是单点(虽然会把数据信息同步到备份服务器,但是恢复需要时间,因此,会影响上线,针对这个问题,

可以通过DRBD+Corosync+Pacemaker方案解决)

2)元数据服务器对主机的内存要求略高,所以元数据服务器硬件配置要高,尤其是内存

3、MooseFS文件系统结构

1)管理服务器 Master Server(Master)

2)元数据日志服务器 Metalogger Server(Metalogger)

3)数据存储服务器 Data Servers (Chunkservers)

4)客户端 Client

4、MooseFS各角色说明

1)Master管理服务器

有时也称为元数据服务器,负责管理各个数据存储服务器,调度文件读写,回收文件空间以及恢复多节点拷贝。目前MFS只支持一个元数据服务器master,这是一个单点故障,需要一个性能稳定的服务器来充当。希望今后MFS能支持多个master服务器,进一步提高系统的可靠性。

2)Metalogger元数据日志服务器

负责备份管理服务器的变化日志文件,文件类型为changelog_ml.*.mfs,以便于在管理服务器出问题时接替其进行工作。元数据日志服务器是mfsl.6以后版本新增的服务,可以把元数据日志保留在管理服务器中,也可以单独存储在一台服务器中。为保证数据的安全性和可靠性,建议单独用一台服务器来存放元 数据日志。需要注意的是,元数据日志守护进程跟管理服务器在同一个服务器上,备份元数据日志服务器作为它的客户端,从管理服务器取得日志文件进行备份。

3)Chunkserver数据存储服务器(推荐至少两台chunkserver)

数据存储服务器是真正存储用户数据的服务器,负责连接管理服务器,听从管理服务器调度,提供存储空间,并为客户提供数据传输。在存储文件时,首先把文件分成块,然后将这些块在数据存储服务器之间互相复制(复制份数手工指定,建议设置副本数为3),数据服务器可以是多个,并且数量越多,可使用的”磁盘空间”越小,可靠性也越高。同时,数据存储服务器还负责连接管理服务器,听从管理服务器调度,并为客户提供数据传输。数据存储服务器可以有多个,并且数量越多,可靠性越高,MFS可用的磁盘空间也越大。

4)Client客户端

通过fuse内核接口挂接远程管理服务器上所管理的数据存储服务器,使共享的文件系统和使用本地Linux文件系统的效果看起来是一样的。