1、mfs(mooseFS):
分布式文件系统,文件系统管理的物理资源存储在不同的节点上,通过计算机网络与节点相连。具有容错、高可用性,可扩展的海量存储等特性。
mfs好处:集中访问,简化操作,数据容灾,提高文件存取性能。
2、mfs原理:
1)、mfs文件系统组成:
元数据服务器(master):管理文件系统,维护元数据
元数据日志服务器(metalogger):备份master的日志变化,文件类型为changelog_ml..mfs,master数据损坏时可以通过日志服务器恢复。
元数据存储服务器(chunk sever):真正存储数据的服务器,分块保存并同步到其他服务器。
客户端(client):像挂载NFS一样挂载mfs文件系统。
2)mfs读取数据的处理过程:
client向master发出读请求
master把所需数据存放位置(chunk server的IP地址和chunk编号)告知client
client向已知clunk server请求发送数据
clunk向客户端发送数据
3、master配置:
配置文件mfsmaster.cfg(主配置文件)和mfsexports.cfg(被挂载目录及权限配置文件)
mfsmaster.cfg配置文件:
定义了是三个端口:9416/tcp:metalogger监听端口
9420/tcp:chunkserver监听端口
9421/tcp:client连接端口
mfsexport.cfg文件格式: 客户端地址 被挂载目录 客户端权限
客户端地址:可以为
任意ip,单个ip,网段、地址范围
权限: ro 只读 rw读写 alldirs可挂载任意目录
maproot隐射为root用户 password指定密码
4、metalogger配置:
配置文件mfsmetatlogger.cfg,指定master服务器地址
5、chunkserver配置:
配置文件mfschunkserver.cfg,mfshdd.cfg,指定master服务器ip地址和mfs提供存储的分区挂载目录。
6、client配置:mfsclient依赖于fuse内核模块,所以要安装fuse软件包。
直接使用mfsmount挂载master服务器即可:
/usr/local/mfs/bin/mfsmount /mnt/mfs -H 192.168.1.100
7、MFS常见操作:
mfsgetgoal:查看文件被复制的份数
mfssetgoal:设置文件被复制的份数,一般不大于chunkserver数量
mfscgiserv:可在master服务器上启动的用python写的MFS监控服务器,端口9425
8、mfs集群的启动顺序:master-chunkserver-metalogger-client start 启动
停止顺序:client-chunserver-metalogger-master, -s 参数为停止
9、灾难恢复:
1)master服务器不可以直接断电,如未按顺序停止集群会出现不可再启动的情况,
可通过mfsmetarestore -a 修复。
2)如master服务器完全宕机可能再启动了,可以通过将metalogger服务器上日志复制到新master服务器上合并数据的方式修复。