在实际运营中,可能会面对不同的问题和情况,比如MFS(Master、Chunk及Client)服务器迁移、MFS ChunkServer维护关停等,本文重点说明MooseFS是如何应对这些情况及如何完成相应的操作。
1)MFS Master迁移
要迁移MFS Master到新的服务器,必须得先对数据做备份,但是,这个就会涉及停服的问题,这也是无法避免的问题。
备份:
a)先停止MFS Master服务
正确的停服步骤应该是:clientàchunkeràmetaloggeràmaster
停服肯定会导致用户端无法正常操作,因此,在考虑迁移前必须做足准备工作。
b)停止MFS Master服务,备份metadata.mfs文件
备份metadata.mfs这个文件非常极其的重要,一旦丢失后果不堪设想。建议全目录备份:
#/usr/local/mfs/sbin/mfsmaster stop
# cp /usr/local/mfs-1.6.27/var/mfs/metadata.mfs /opt/backup/mfs/20170710/meatadata
或者
# cp /usr/local/mfs-1.6.27/var/mfs/* /opt/backup/mfs/20170710/metadata
c)备份所有配置文件
如果同版本的迁移,配置文件必须备份好,这个非常极其重要。
# cp /usr/local/mfs-1.6.27/etc/mfs/* /opt/backup/mfs/20170710/config/
注:MFS Metalogger服务备份方式与Master相同。
迁移:
a)在新的server上安装MFS Master(参考前面或后续的文章);
b)将metadata.mfs复制到新的MFS Master(注意不同版本之间的目录位置);
c)将配置文件复制到新的MFS Master(如果是升级安装,则忽略);
d)检查文件属主、权限等情况;
e)启动MFS Master;
2)MFS ChunkServer迁移
关于ChunkServer其实不应该有迁移这一说法,在MFS系统中,ChunkServer是可以随意增加或减少的,也无需迁移。可能存在的需求是,当前的ChunkServer硬件配置不够或者其他原因,需要停掉该服务器,切换到新服务器上。
其实这种需求,只需要:
a)把新的ChunkServer挂载上;
b)将旧的ChunkServer数据迁移、同步到其他服务器;
c)关掉旧的ChunkServer。
具体如何完成b)和c)步骤,请参见第3)点内容。
3)MFS ChunkServer关停维护
要关停ChunkServer,在MFS v1.6.27版本中,我们可以这样做:
vi $MFS_HOME/etc/mfs/mfshdd.cfg
在挂载点前面,比如: /mnt/mfschunk前面加个星号,如下:
*/mnt/mfschunk
然后,重启ChunkServer,等待数据同步到其他ChunkServer。
这个后期同步的过程可以看官方提供的Web Portal,非常的方便。v1.6.27版本的同步会非常的耗时,因此建议升级至v3.0版本。
4)其他
目前官方的MFS 3.0版本性能提升了不少,也改进了不少,修复了很多已知的问题,商业版的还支持多个Master并能自动切换,避免了单点的问题。
因此,个人建议,有条件还是直接升级到3.0版本,有资金还是购买商业版,以避免单点问题带来的隐患。
如果同行在升级或迁移过程中有任何问题,可以留言交流。