432qw 发表于 2016-8-15 10:52:00

Moosefs存储空间扩容及元数据恢复

一、原有集群,一台master、一台metalogger、两台chunkserver1.分布情况

IP地址
角色
系统
备注

192.168.115.12
mfsmaster
Centos7
node2.hnr.com

192.168.115.31
mfsmetalogger
Centos6

192.168.115.11
mfschunkserver
Centos7
node1.hnr.com

192.168.115.13
mfschunkserver
Centos7
node3.hnr.com

192.168.115.11
mfsclient
Centos7
node1.hnr.com

2.挂载使用并设置副本数为2
1
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上

1
#for i in {1..5};do cp server.log /mnt/test/server.log.$i;done




4.磁盘空间使用情况
chunkserver1

chunkserver2

5.查看这个5个文件的副本数

1
#for i in `ls /mnt/test/`;do /usr/local/mfs/bin/mfsfileinfo /mnt/test/$i;done






二、增加chunkserver节点,扩容存储空间
1.新加入chunkserver节点
IP地址
角色
系统
备注

192.168.115.12
mfschunkserver
Centos7

192.168.115.31
mfschunkserver
Centos6

2.软件安装好,修改连接master地址即可,启动服务即可加入集群中加入两个chunkserver节点,可以看到数据进行重新平衡,每个chunk复制一份到新加的两个节点其中一个,待相应的chunk都复制到新加的节点,在删除一个原有的chunk

3.重新平衡后的效果

三、元数据损坏恢复1.什么是元数据损坏元数据损坏是指由于各种原因导致master上的metadata.mfs数据文件不可用。
一旦元数据损坏,所有的存储在moosefs上的文件都不可使用。
2.模拟元数据损坏停止master节点并删除metadata.mfs及changelog.0.mfs(变更日志文件)。

1
2
3
# /usr/local/mfs/sbin/mfsmasterstop
# cd/usr/local/mfs/lib/mfs
# rm -rf *




重新启动master将报错

1
#/usr/local/mfs/sbin/mfsmaster start





3.Master元数据恢复从metalogger上将最新一份metadata_ml.mfs.back及changelog_ml.0.mfs复制到master的数据目录下,并注意文件属主属组为mfs。

1
# scp changelog_ml.0.mfs metadata_ml.mfs.back192.168.115.12:/usr/local/mfs/lib/mfs




在master节点数据目录修改复制过来的文件属性

1
# chown mfs.mfs *




启动master服务

此时需要以-a方式启动

1
# /usr/local/mfs/sbin/mfsmaster -a





到此,master服务已经正常启动
4.验证文件是否可用

经过验证,存储上的原有文件均正常。


页: [1]
查看完整版本: Moosefs存储空间扩容及元数据恢复