mfs教程(四)
mfs文件系统(四)
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
最新文章
- GIT服务器的四种协议
- GD图片(画布)的制作及验证码的应用
- SpringHttpInvoker解析2-服务端实现
- 升级OS X EI Capition 版本导致cocoapods 使用终端上pod: command not found
- Android 使用ContentProvider扫描手机中的图片,仿微信显示本地图片效果
- Hive常用的SQL命令操作
- C/C++ 定义与声明详解(转)
- 撸起袖子加油干 golang入坑系列
- 通过一个小故事,理解 HTTPS 工作原理
- [转载] Relearning to Learn - 学会学习
- Djangon的坑
- 使用redis进行基于shiro的session集群共享
- Yii2 rules验证规则大全
- centos安装ruby
- GIL计算python 2 和 python 3 计算密集型
- Kafka:ZK+Kafka+Spark Streaming集群环境搭建(二十九):推送avro格式数据到topic,并使用spark structured streaming接收topic解析avro数据
- Android Studio开发之Gradle科普
- 20155223 Exp9 Web安全基础实践
- 【VirtualBox】共享文件夹失效问题
- 使用Homebrew在Mac OS X EI Capitan上安装与配置nginx和PHP
热门文章
- [EMWIN]FRAMEWIN 与 WINDOW 的使用注意
- 关于this指向问题的总结【转自秘密花园】
- BZOJ - 4771 七彩树 (可持久化线段树合并)
- WCF *.svc 自定义地址路由映射
- Spring IOC容器的初始化-(二)BeanDefinition的载入和解析
- 【HDU】4632 Palindrome subsequence(回文子串的个数)
- Collections排序
- Markdown 中的目录自动生成功能 TOC
- Chrome 的审查元素功能有哪些奇技淫巧
- eclipse配置项目部署到到本地tomcat