MFS 简介
MFS 即Moosefs ,是一款网络分布式文件系统,是一个将数据分散在多台服务器上,然后通过网络挂载在客户端,使客户端能像使用本地硬盘一样存储数据。MFS也像其他类Unix文件系统一样,包含了层级结构(目录树),存储文件属性(权限,最后访问,最后修改等),可以创建特殊文件(块设备,字符设备,管道,套接字),符号链接,硬链接。
MFS 优点
免费开源,目前有CE(社区版)Pro(专业版)两种版本
通用文件系统,不需要修改上层应用就可以使用
在线扩容,在线维护,体系架构可伸缩性强
部署简单
存储对象高可用,可任意设置文件冗余属性
提供类似于windows回收站功能,删除的文件可以在一定时间内恢复
提供Web GUI 监控接口
提供MFS CLI ,操作简单
MFS 文件系统结构分为四部分:
管理服务器managing server (master) 负责各个数据存储服务器的管理,文件读写调度,文件空间回收以及恢复,多节点拷贝
元数据日志服务器Metalogger server(Metalogger) 负责备份master服务器的日志文件,文件类型为changelog_ml.*.mfs,以便于在master server出问题的时候接替其进行工作,可以通过Metalogger 恢复master
数据存储服务器data servers (chunkservers) 负责连接管理服务器,听从管理服务器调度,提供存储空间,并为客户提供数据传输 ,数据文件被分为64M大小的块,每个块被分散存储在块服务器的硬盘上,同时块服务器上还会存储其他块服务器的块文件副本,自动保持数据存储平衡
客户机挂载使用client computers 通过fuse内核接口挂载远程管理服务器上所管理的数据存储服务,客户端挂载上MFS后就可以像操作本地文件系统一样操作MFS中的文件了,与NFS有类似的使用方式,操作系统的内核将对文件的操作传递给FUSE模块,这个模块用来和mfsmount通信,mfsmount 进程后续通过网络和master以及chunkserver 进行通信 ,过程透明。
MFS 读写进程
MFS部署
实验环境: mfsmaster:192.168.1.111
metalogger:192.168.1.100
chunk server : 192.168.1.101/104
client : 192.168.1.102
安装,本次安装使用源码安装,在MFS官网下载moosefs-2.0.89-1.tar.gz,要在所有服务器上都安装源码包,然后再分别根据方案修改配置文件
安装之前在所有服务器上安装 yum -y install zlib-devel fuse-devel gcc
=====================