一、测试环境说明:

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. OpenStack Trove组件WSGI和RPC调用流程(参考调用的整个过程)

    参考博文:https://blog.csdn.net/bill_xiang_/article/details/72909927

  2. 分布式计算课程补充笔记 part 2

    ▶ 并行计算八字原则:负载均衡,通信极小 ▶ 并行计算基本形式:主从并行.流水线并行.工作池并行.功能分解.区域分解.递归分治 ▶ MPI 主要理念:进程 (process):无共享存储:显式消息传递 ...

  3. .NET项目中使用PostSharp

    PostSharp是一种Aspect Oriented Programming 面向切面(或面向方面)的组件框架,适用在.NET开发中,本篇主要介绍Postsharp在.NET开发中的相关知识,以及一 ...

  4. myeclipse和jdk的安装和配置

    一.安装JDK 1.下载得到jdk-8u11-windows-i586.1406279697.exe,直接双击运行安装,一直next就可以,默认是安装到系统盘下面Program Files,我这里装在 ...

  5. intellij ideal 在erlang 开发环境遇到的一些小问题

    由于之前重装电脑,公司电脑上的erlang开发环境重新搭建了,但是由于导入项目错误,直接将项目删掉重新又导入了一次,但是发现使用的sdk在联想输入方面出现了问题,写个东西记一下自己犯的错误. 修正方法 ...

  6. 一篇面经(BAT面试)(转)

    0. 写在之前 首先呢我的面试经历和一些面霸和收割机的大神相比绝不算丰富,但我这三个月应该能代表很大一部分人的心路历程:从无忧无虑也无知的状态,然后遭遇挫败,跌入低谷,连续数天的黑暗,慢慢调整,逼着自 ...

  7. Java并发辅助类的使用

    目录 1.概述 2.CountdownLatch 2-1.构造方法 2-2.重要方法 2-3.使用示例 3.CyclicBarrier 3-1.构造方法 3-2.使用示例 4.Semaphore 4- ...

  8. 简单实用的分页类-python

    django自带的分页虽然挺好,但是就想自己弄个通用的 自己写了个分页的类,用的是python,   其他语言改下语法就能用了. #定义好类.class pagemanage: def __init_ ...

  9. cdnbest架设cdn同一个源用不同的端口访问如何设置

    在站点里的应用防火墙-->高级设置里配置 比如test.com要同时用80和88访问

  10. Java框架spring Boot学习笔记(一):开始第一个项目

    新建一个项目,选择Spring initializr 修改group和项目名 添加依赖包Web,MongoDB 设置保存位置和工程名 新建一个test的文件 输入代码: package com.xxx ...