本文主要关于Moosefs存储空间扩容及元数据恢复说明,Moosefs安装配置参考以下链接
一、原有集群,一台master、一台metalogger、两台chunkserver
1.分布情况IP地址角色系统备注
192.168.115.12mfsmasterCentos7node2.hnr.com
192.168.115.31mfsmetaloggerCentos6
192.168.115.11mfschunkserverCentos7node1.hnr.com
192.168.115.13mfschunkserverCentos7node3.hnr.com
192.168.115.11mfsclientCentos7node1.hnr.com
2.挂载使用并设置副本数为2#/usr/local/mfs/bin/mfsmount -H 192.168.115.12 /mnt/test/
#/usr/local/mfs/bin/mfssetgoal -r 2 /mnt/test/
3.准备数据
复制5个150M文件到mfs上#for i in {1..5};do cp server.log /mnt/test/server.log.$i;done
4.磁盘空间使用情况
chunkserver1
chunkserver2
5.查看这个5个文件的副本数#for i in `ls /mnt/test/`;do /usr/local/mfs/bin/mfsfileinfo /mnt/test/$i;done
二、增加chunkserver节点,扩容存储空间
1.新加入chunkserver节点IP地址角色系统备注
192.168.115.12mfschunkserverCentos7
192.168.115.31mfschunkserverCentos6
2.软件安装好,修改连接master地址即可,启动服务即可加入集群中
加入两个chunkserver节点,可以看到数据进行重新平衡,每个chunk复制一份到新加的两个节点其中一个,待相应的chunk都复制到新加的节点,在删除一个原有的chunk
3.重新平衡后的效果
三、元数据损坏恢复
1.什么是元数据损坏
元数据损坏是指由于各种原因导致master上的metadata.mfs数据文件不可用。
一旦元数据损坏,所有的存储在moosefs上的文件都不可使用。
2.模拟元数据损坏
停止master节点并删除metadata.mfs及changelog.0.mfs(变更日志文件)。# /usr/local/mfs/sbin/mfsmasterstop
# cd/usr/local/mfs/lib/mfs
# rm -rf *
重新启动master将报错#/usr/local/mfs/sbin/mfsmaster start
3.Master元数据恢复
从metalogger上将最新一份metadata_ml.mfs.back及changelog_ml.0.mfs复制到master的数据目录下,并注意文件属主属组为mfs。# scp changelog_ml.0.mfs metadata_ml.mfs.back192.168.115.12:/usr/local/mfs/lib/mfs
在master节点数据目录修改复制过来的文件属性# chown mfs.mfs *
启动master服务
此时需要以-a方式启动# /usr/local/mfs/sbin/mfsmaster -a
到此,master服务已经正常启动
4.验证文件是否可用
经过验证,存储上的原有文件均正常。