灌溉梦想,记录脚步
« »
2010年1月29日技术合集

MooseFS 维护

一、启动MooseFS集群
最安全的启动MooseFS集群(避免任何读或写的错误数据或类似的问题)的方式是按照以下命令步骤:
1.启动mfsmaster进程
2.启动所有的mfschunkserver进程
3.启动mfsmetalogger进程(如果配置了mfsmetalogger)
当所有的chunkservers连接到MooseFS master后,任何数目的客户端可以利用mfsmount去挂接被export的文件系统。(可以通过检查master的日志或是CGI监视器来查看是否所有的chunkserver被连接)。
二、停止MooseFS集群
安全的停止MooseFS集群:
1.在所有的客户端卸载MooseFS 文件系统(用umount命令或者是其它等效的命令)
2.用mfschunkserver –s命令停止chunkserver进程
3.用mfsmetalogger –s命令停止metalogger进程
4.用mfsmaster –s命令停止master进程
三、MooseFS chunkservers的维护
假如每个文件的goal(目标)都不小于2,并且没有under-goal文件(这些可以用mfsgetgoal –r和mfsdirinfo命令来检查),那么一个单一的chunkserver在任何时刻都可能做停止或者是重新启动。以后每当需要做停止或者是重新启动另一个chunkserver的时候,要确定之前的chunkserver被连接,而且要没有under-goal chunks。
四、MooseFS元数据的备份
通常元数据有两部分的数据
1.主要元数据文件metadata.mfs,当mfsmaster运行的时候会被命名为metadata.mfs.back
2.元数据改变日志changelog.*.mfs,存储了过去的N小时的文件改变(N的数值是由BACK_LOGS参数设置的,参数的设置在mfschunkserver.cfg配置文件中)。
主要的元数据文件需要定期备份,备份的频率取决于取决于多少小时changelogs储存。元数据changelogs应该实时的自动复制。自从MooseFS 1.6.5,这两项任务是由mfsmetalogger守护进程做的。
五、MooseFS master的恢复
一旦mfsmaster崩溃(例如因为主机或电源失败),需要最后一个元数据日志changelog并入主要的metadata中。这个操作时通过mfsmetarestore工具做的,最简单的方法是:
mfsmetarestore -a
如果master数据被存储在MooseFS编译指定地点外的路径,则要利用-d参数指定使用,如:
mfsmetarestore -a -d /storage/mfsmaster
六、从备份恢复MooseFS master
为了从备份中恢复一个master,需要做:
1、安装一个mfsmaster
2、利用同样的配置来配置这台mfsmaster(利用备份来找回mfsmaster.cfg),可见配置文件也是需要备份的。
3、找回metadata.mfs.back文件,可以从备份中找,也可以中metalogger主机中找(如果启动了metalogger服务),然后把metadata.mfs.back放入data目录,一般为${prefix}/var/mfs。
4、从在master宕掉之前的任何运行metalogger服务的服务器上拷贝最后metadata文件,然后放入mfsmaster的数据目录。
5、利用mfsmetarestore命令合并元数据changelogs,可以用自动恢复模式mfsmetarestore –a,也可以利用非自动化恢复模式,语法如下:
mfsmetarestore -m metadata.mfs.back -o metadata.mfs changelog_ml.*.mfs

转载自:http://bbs.chinaunix.net/viewthread.php?tid=1643863&extra=&page=1

日志信息 »

该日志于2010-01-29 11:46由 kevin 发表在技术合集分类下, 你可以发表评论。除了可以将这个日志以保留源地址及作者的情况下引用到你的网站或博客,还可以通过RSS 2.0订阅这个日志的所有评论。

发表回复