MFS 特性:
- Free(GPL)
- 通用文件系统,不需要修改上层应用就可以使用
- 可以在线扩容,体系架构可伸缩性极强。
- 部署简单。
- 高可用,可设置任意的文件冗余程度(提供比 raid1+0 更高的冗余级别,而绝对不会影响读或
写的性能,只会加速!) - 可回收在指定时间内删除的文件( “ 回收站 ” 提供的是系统级别的服务,不怕误操作了,提供类
似 oralce 的闪回等高级 dbms 的即时回滚特性!) - 提供 netapp,emc,ibm 等商业存储的 snapshot 特性。(可以对整个文件甚至在正在写入的文
件创建文件的快照) - google filesystem 的一个 c 实现。
- 提供 web gui 监控接口。
- 提高随机读或写的效率。
- 提高海量小文件的读写效率。
MFS 文件系统结构:
包含 4 种角色:
管理服务器 managing server (master)
元数据日志服务器 Metalogger server(Metalogger)
数据存储服务器 data servers (chunkservers)
客户机挂载使用 client computer
各角色作用:
- 管理服务器:负责各个数据存储服务器的管理,文件读写调度,文件空间回收以及恢复.多节点拷
贝。 - 元数据日志服务器: 负责备份 master 服务器的变化日志文件,文件类型为
changelog_ml.*.mfs,以便于在 master server 出问题的时候接替其进行工作。 - 数据存储服务器:负责连接管理服务器,听从管理服务器调度,提供存储空间,并为客户提供数
据传输。 - 客户端: 通过 fuse 内核接口挂接远程管理服务器上所管理的数据存储服务器,看起来共享的文
件系统和本地 unix 文件系统使用一样的效果。
MFS 读写原理:
原始的读/写速度很明显是主要取决于所使用的硬盘的性能、网络的容量和拓扑结构的,使用的硬
盘和网络的吞吐量越好,整个系统的性能也就会越好。
MFS 部署
主机环境:RHEL6.5 selinux and iptables disabled
Master:172.25.0.122
Metalogger: 172.25.0.122
Chunkserver: 172.25.0.123 / 172.25.0.124
Client: 172.25.0.16
1.MFS管理服务器(master)———server6
准备安装包:
moosefs-cgi-3.0.97-1.rhsysv.x86_64.rpm
moosefs-cgiserv-3.0.97-1.rhsysv.x86_64.rpm
moosefs-chunkserver-3.0.97-1.rhsysv.x86_64.rpm
moosefs-cli-3.0.97-1.rhsysv.x86_64.rpm
moosefs-client-3.0.97-1.rhsystemd.x86_64.rpm
moosefs-client-3.0.97-1.rhsysv.x86_64.rpm
moosefs-master-3.0.97-1.rhsysv.x86_64.rpm
moosefs-metalogger-3.