MFS故障测试及维护总结
一、测试环境说明:
10.2.2.230 mfsmaster VIP:10.2.2.130
10.2.2.231 mfsbackup
10.2.2.253 mfsdata01
10.2.2.246 mfsdata02
10.2.2.236 mfsdata03
10.2.2.240 mfsdata04
10.2.2.241 mfsclient
二、分别就client、chunker、master的模拟服务器宕机、断网、故障恢复等环境,进行测试并就出现问题的解决办法。
(1)、MFS的client端:
a. client端宕机、断网对MFS的体系不产生影响
b. 杀掉MFS的client服务会产生
df: '/data/mfsdata': Transport endpoint is not connected
处理的方式:
是umount /data/mfsdata,然后再重新挂载就可以了,这种情况是用户MFS客户端出现误杀的情况。
(2)、MFS的chunker端:
a.断网、杀掉MFS的chunker程序对MFS系统无影响。
b. 宕机:
#无文件传输时,对三个chunker都无影响;
#当有文件传输时,但是文件设置存储一份时,对MFS系统无影响。
#当有文件传输,且设置文件存储多份时:
★关掉chunker1之后,如果在chunker1恢复正常之前文件已经传输完毕,那么数据将从chunker2、chunker3同步到chunker1中,并同时自动清除chunker2、chunker3上的部分文件以便达到chunker1、chunker2、chunker3使用容量的基本均衡。
★关掉chunker1之后,如果在 chunker1恢复之后文件尚未传输完毕,那么文件将一方面继续传输一方面从chunker2、chunker3中进行文件的同步到 chunker3,最终达到chunker1、chunker2、chunker3使用容量的基本均衡。
★关掉chunker1之后随即chunker2也挂掉,如果在chunker1、chunker2恢复正常之前文件已经传输完毕,文件数据都会写到chunker3中,之后chunker1、chunker2恢复,那么文件将从chunker3同步到chunker1、chunker2,最终达到chunker1、chunker2、chunker3使用容量的基本均衡。
★关掉chunker1之后随即chunker2也挂掉,如果在chunker1、chunker2恢复正常之后文件尚未传输完毕,文件一部分从chunker3同步到chunker1、chunker2,一部分均匀写到chunker1、chunker2、chunker3中,最终达到chunker1、chunker2、chunker3使用容量的基本均衡。
★关掉chunker1之后随即chunker2、chunker3也挂掉的话就会影响MFS的应用,因为已经没有了可用的chunker服务器了。
综上可知,只要不是三个chunker服务器同时挂掉的话,就不会影响文件的传输,也不会影响服务的使用。
(3)MFS的master端:
前提:实时的对master端数据目录及配置文件目录做备份,推送到其他的备份服务器中。
a. 断网、停掉master服务对MFS系统无影响。
b. 宕机可能会出现以下的情况:
#若服务器宕机后重启恢复,运行/application/mfs/sbin/mfsmaster start恢复master服务。
#若服务器宕机后不能重启恢复,修复的方法有如下几种:
1)搭建新的master环境,保证配置文件路径和宕机的master机器一致,用实时备份的master端数据目录及配置文件目录修复,修复命令:/application/mfs/sbin/mfsmetarestore -a
之后重启master服务就可以了。
2)若有metalogger服务器,把backup提升为主master的操作
可以把实时备份的master端配置文件目录拷贝到metalogger对应的目录下,使用metalogger改变的日志文件修复的命令:mfsmetarestore -m metadata.mfs.back -o metadata.mfs changelog_ml.*.mfs,
之后重启master服务就可以了。
三、MFS集群的维护
最安全的启动MooseFS 集群(避免任何读或写的错误数据或类似的问题)的方式是按照以下命令步骤:
启动mfsmaster 进程
启动所有的mfschunkserver 进程
启动mfsmetalogger 进程(如果配置了mfsmetalogger)
当所有的chunkservers 连接到MooseFS master 后,任何数目的客户端可以利用mfsmount 去挂接export 的文件系统。(可以通过检查master 的日志或是CGI 监视器来查看是否所有的chunkserver被连接)。
停止MFS集群:
安全的停止MooseFS 集群
在所有的客户端卸载MooseFS 文件系统(用umount 命令或者是其它等效的命令)
用mfschunkserver stop 命令停止chunkserver 进程
用mfsmetalogger stop 命令停止metalogger 进程
用mfsmaster stop 命令停止master 进程
四、MFS读写性能:
简单测试结果:
写:
time dd if=/dev/zero of=/data/mfsdata/mfsdata/test500M bs=1M count=500
读:
time dd if=/data/mfsdata/mfsdata/test500M of=/dev/null
|
|
1copy写 |
2copy写 |
1copy读 |
2copy读 |
|
2M |
0m0.139s |
0m0.119s |
0m0.014s |
0m0.055s |
|
5M |
0m0.093s |
0m0.092s |
0m0.014s |
0m0.011s |
|
20M |
0m0.264s |
0m0.313s |
0m0.026s |
0m0.030s |
|
50M |
0m1.312s |
0m0.460s |
0m0.066s |
0m0.056s |
|
200M |
0m2.437s |
0m4.171s |
0m0.165s |
0m0.169s |
|
500M |
0m5.984s |
0m11.511s |
0m3.047s |
0m5.946s |
|
1G |
0m11.875s |
0m26.839s |
0m17.247s |
0m16.223s |
|
2G |
0m55.460s |
0m55.460s |
1m21.784s |
0m55.736s |
总结:读速度:ca 84.3M/s 写速度:ca 39.4M/s 9M/s (以500M计算)
补充:
上面是在mfs的1.x版本上的测试结果,在mfs的2.x版本的测试流程也是一样的,只是修复故障的命令有些更改。更改后的命令操作如下:
前提:实时备份mfsmaster端的配置文件及数据文件最重要。
1)mfsmaster机器数据丢失损坏导致服务器起不来,可以通过如下方式修复:
mfsmaster -a
2)mfsmaster机器数据丢失导致服务起不来时,可以通过如下方式修复:
把mfsmetalogger备节点的数据拷贝到mfsmaster端对应的路径下,
之后在mfsmaster端执行如下命令修复:
mfsmaster -a
3)把mfsmetalogger备机主动提升为mfsmaster角色:
把mfsmaster端备份的配置文件拷贝到mfsmetalogger对应的路径下,执行如下命令提升mfsmetalogger提升为mfsmaster角色:
mfsmaster -a
修复之后要修改mfsmetalogger机器的hosts文件及ip地址,以便mfschunkserver服务器与之通信。
MFS故障测试及维护总结的更多相关文章
- MooseFs-分布式文件系统系列(四)之简单聊聊MFS的日常维护
回顾 文件或目录的额外属性(noower,noattracache和noentrycache),可以通过MFS提供的命令(mfsgeteattr,mfsseteattr,mfsdeleattr等)检查 ...
- MFS学习总结
MFS学习总结 MFS概述.特性和新版改进 MFS 工作原理和设计架构 MFS的安装.部署.配置 MFS的高级特性 MFS的性能测试 MFS集群的维护 MFS的常见问题和建议对策 一.MFS概述.特性 ...
- centos7 MFS drbd keepalived
环境: centos7.3 + moosefs 3.0.97 + drbd84-utils-8.9.8-1 + keepalived-1.2.13-9 工作原理: 架构图: 节点信息: 节点名 ...
- MooseFS技术详解
原文 http://www.tuicool.com/articles/vQvEZ3y MooseFS是一款具有冗余容错功能的分布式文件系统.它把数据分散在多台服务器上,确保一份数据多个备份副本,对外提 ...
- 学习MFS(六)
一.文件系统选型 在一般的生产环境中,NFS共享存储算是比较常用的,简单.方便,但随着业务的不断扩展,数据量也是承爆发式的增长,因而对存储这些数据的文件系统要求也越来越高了,分存式.可扩展.大容量,这 ...
- 构建MFS分布式文件系统
++++++++++++++构建MFS分布式文件系统++++++++++++++PB级别:企业存储空间达到PB级别,即100万GB空间.(1PB=1000TB,1TB=1000GB,1GB=1000M ...
- Centos下MooseFS(MFS)分布式存储共享环境部署记录
分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连,分布式文件系统的实际基于客户机/服务器模式.目前 ...
- Heartbeat+DRBD+MFS高可用
Heartbeat+DRBD+MFS高可用. 前言:MFS系统简介 组件名称及作用 管理服务器(Managing Server) 简称Master Server 这个组件的角色是管理整个mfs文件 ...
- mfs教程(四)
mfs文件系统(四) MooseFS 维护 一.启动MooseFS集群 最安全的启动MooseFS集群(避免任何读或写的错误数据或类似的问题)的方式是按照以下命令步骤: 1.启动mfsmaster进 ...
随机推荐
- 202. 阿里Pandora Boot
[视频&交流平台] àSpringBoot视频:http://t.cn/R3QepWG à SpringCloud视频:http://t.cn/R3QeRZc à Spring Boot源 ...
- centOS7安装kafka和zookeeper
wget http://mirrors.hust.edu.cn/apache/kafka/2.0.0/kafka_2.11-2.0.0.tgz tar zxvf kafka_2.-.tgz cd ka ...
- linux环境下载和安装scala
Linux下安装Scala和Windows下安装类似,步骤如下: 1.首先访问下载链接:http://www.scala-lang.org/download/默认这里下载的是Windows版本,这时点 ...
- leetcode3
public class Solution { public int LengthOfLongestSubstring(string s) { var dic = new Dictionary< ...
- codeforces 1041A Heist
electronic a.电子的 heist v.抢劫 in ascending order 升序 indice n.标记 device n.装置设备 staff n.职员 in arbitrary ...
- Python常用内置函数介绍
Python提供了一个内联模块buildin.内联模块定义了一些开发中经常使用的函数,利用这些函数可以实现数据类型的转换.数据的计算.序列的处理等功能.下面将介绍内联模块中的常用函数. Python内 ...
- MYSQL性能优化(2)
Insert语句优化 1. 多行并为一个语句 insert into table values (行1),(行2),........... 2. 使用中间内存队列, 逻辑是立马执行插入,其他数据放 ...
- R语言-散点图阵
1.pairs()函数 > pairs(iris[,1:4]) #取iris数据集的第一列到第四列两两作图 2.plot()函数 > plot(iris[,1:4], + main=&qu ...
- 合并数组,改变原数组apply与不改变原数组
一看见合并数组,可能第一反应就是concat,concat确实具有我们想要的行为,但它实际上并不附加到现有数组,而是创建并返回一个新数组. 同样你也许会想到ES6的扩展运算符... 但 ...
- c++ 中的数字和字符串的转换
理由:一直忘记数字型的字符串和数字之间的转换,这次总结一下,以便后面再次用到. 其实 C++ 已经给我们写好了相应的函数,直接拿来用即可 QA1:如何把一个数字转换为一个数字字符串?(这个不是很常用) ...