MooseFS维护技巧集锦

简介:
MooseFS是一款网络分布式文件系统。从其简介、部署及应用方面已经详细给大家介绍了,今天我们来了解一下MooseFS的维护技巧。

一、启动MooseFS集群

最安全的启动MooseFS集群(避免任何读或写的错误数据或类似的问题)的方式是按照以下命令步骤:

启动mfsmaster进程
启动所有的mfschunkserver进程
启动mfsmetalogger进程(如果配置了mfsmetalogger)
当所有的chunkservers连接到MooseFS master后,任何数目的客户端可以利用mfsmount去挂接被export的文件系统。(可以通过检查master的日志或是CGI监视器来查看是否所有的chunkserver被连接)。

二、停止MooseFS集群

安全的停止MooseFS集群:

在所有的客户端卸载MooseFS 文件系统(用umount命令或者是其它等效的命令)
用mfschunkserver –s命令停止chunkserver进程
用mfsmetalogger –s命令停止metalogger进程
用mfsmaster –s命令停止master进程
三、MooseFS chunkservers的维护

假如每个文件的goal(目标)都不小于2,并且没有under-goal文件(这些可以用mfsgetgoal –r和mfsdirinfo命令来检查),那么一个单一的chunkserver在任何时刻都可能做停止或者是重新启动。以后每当需要做停止或者是重新启动另一个chunkserver的时候,要确定之前的chunkserver被连接,而且要没有under-goal chunks。

四、MooseFS元数据的备份

通常元数据有两部分的数据

主要元数据文件metadata.mfs,当mfsmaster运行的时候会被命名为metadata.mfs.back
元数据改变日志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


     本文转自yzy121403725 51CTO博客,原文链接:http://blog.51cto.com/lookingdream/1831816,如需转载请自行联系原作者




相关文章
|
4月前
|
存储 运维 负载均衡
构建高可用的 ChunkServer 系统
【8月更文第30天】在分布式文件系统中,ChunkServer(也称为 DataNode)负责存储文件的数据块(chunks)。为了保证系统的高可用性和数据冗余,需要设计一种可靠的 ChunkServer 部署方案。本文将探讨如何设计和实现一个高可用的 ChunkServer 系统,并通过具体的代码示例来展示其实现细节。
65 0
|
4月前
|
存储 运维 监控
在Linux中,在分布式环境中如何实现文件系统冗余和同步?(例如DRBD、GlusterFS)
在Linux中,在分布式环境中如何实现文件系统冗余和同步?(例如DRBD、GlusterFS)
|
网络协议 数据安全/隐私保护 RDMA
|
存储 网络安全 Perl