一、测试环境说明:

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故障测试及维护总结的更多相关文章

  1. MooseFs-分布式文件系统系列(四)之简单聊聊MFS的日常维护

    回顾 文件或目录的额外属性(noower,noattracache和noentrycache),可以通过MFS提供的命令(mfsgeteattr,mfsseteattr,mfsdeleattr等)检查 ...

  2. MFS学习总结

    MFS学习总结 MFS概述.特性和新版改进 MFS 工作原理和设计架构 MFS的安装.部署.配置 MFS的高级特性 MFS的性能测试 MFS集群的维护 MFS的常见问题和建议对策 一.MFS概述.特性 ...

  3. centos7 MFS drbd keepalived

    环境: centos7.3 + moosefs 3.0.97 + drbd84-utils-8.9.8-1 + keepalived-1.2.13-9 工作原理: 架构图: 节点信息: 节点名     ...

  4. MooseFS技术详解

    原文 http://www.tuicool.com/articles/vQvEZ3y MooseFS是一款具有冗余容错功能的分布式文件系统.它把数据分散在多台服务器上,确保一份数据多个备份副本,对外提 ...

  5. 学习MFS(六)

    一.文件系统选型 在一般的生产环境中,NFS共享存储算是比较常用的,简单.方便,但随着业务的不断扩展,数据量也是承爆发式的增长,因而对存储这些数据的文件系统要求也越来越高了,分存式.可扩展.大容量,这 ...

  6. 构建MFS分布式文件系统

    ++++++++++++++构建MFS分布式文件系统++++++++++++++PB级别:企业存储空间达到PB级别,即100万GB空间.(1PB=1000TB,1TB=1000GB,1GB=1000M ...

  7. Centos下MooseFS(MFS)分布式存储共享环境部署记录

    分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连,分布式文件系统的实际基于客户机/服务器模式.目前 ...

  8. Heartbeat+DRBD+MFS高可用

    Heartbeat+DRBD+MFS高可用. 前言:MFS系统简介 组件名称及作用 管理服务器(Managing Server)   简称Master Server 这个组件的角色是管理整个mfs文件 ...

  9. mfs教程(四)

    mfs文件系统(四) MooseFS  维护 一.启动MooseFS集群 最安全的启动MooseFS集群(避免任何读或写的错误数据或类似的问题)的方式是按照以下命令步骤: 1.启动mfsmaster进 ...

随机推荐

  1. JS stringObject.Match()

    JavaScript match() 方法 JavaScript String 对象 定义和用法 match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配. 该方法类似 inde ...

  2. 59.纯 CSS 创作彩虹背景文字

    原文地址:https://segmentfault.com/a/1190000015352436 修改后地址:https://scrimba.com/c/cqK3LaTQ 感想: 又一次见识到CSS的 ...

  3. Git 版本管理使用说明。

    1.回滚: git log :查看log日志 commit_id:  git reset –-soft <commit_id>:回退到某个版本,只回退了commit的信息,不会恢复到ind ...

  4. leetcode53

    public class Solution { public int MaxSubArray(int[] nums) { int max = int.MinValue; ; ; i < nums ...

  5. 一些值得收藏的MySQL知识链接

    https://yq.aliyun.com/articles/5533(死锁分析的很好的一篇文章) http://hedengcheng.com/?spm=5176.100239.blogcont55 ...

  6. CDH hue下定时执行hive脚步

        今天在看oozie时发现能在hue中执行hive 脚本,主要是hue 和 oozie结合使用,下面介绍下怎么使用的,挺恶心的,哈哈(在这里就不哔哔了) 提交oozie定时作业 1.进入hue界 ...

  7. Python的基本用法

    ---恢复内容开始--- 一.函数 1.1 默认参数 想要计算一个数x的n次方,可以定义如下的函数.但是有时候我们仅仅只需要计算x^2,所以只想使用一个参数即power(x),这时如果仍用如下代码会报 ...

  8. 763. Partition Labels 相同字母出现在同一块中,且块数最多

    [抄题]: A string S of lowercase letters is given. We want to partition this string into as many parts ...

  9. Eclipse设置智能提示

    1.解决智能感知提示响应时间,使Eclipse追上VS的响应步伐:Window→Preferences→Java→Editor→Content Assist 这里的Auto activation de ...

  10. OS history

    UNIX的诞生   1965年时,贝尔实验室(Bell Labs)加入一项由奇异电子(General Electric)和麻省理工学院(MIT)合作的计划:该计划要建立一套多使用者.多任务.多层次(m ...