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进 ...
随机推荐
- redis-缓存失效三种策略(FIFO 、LRU、LFU)
缓存失效策略(FIFO .LRU.LFU三种算法的区别) 当缓存需要被清理时(比如空间占用已经接近临界值了),需要使用某种淘汰算法来决定清理掉哪些数据.常用的淘汰算法有下面几种: FIFO:First ...
- Java 学习 UUID 与 时间格式化、时间操作
UUID : UUID 是 通用唯一识别码(Universally Unique Identifier)的缩写,是一种软件建构的标准,亦为开放软件基金会组织在分布式计算环境领域的一部分.其目的,是让分 ...
- 使用libvirtAPI打快照原理
参考: https://blog.51cto.com/3646344/2096347 https://blog.51cto.com/3646344/2096351(磁盘外部快照) API接口: htt ...
- sqlite--一秒20万数据
参考博文:https://blog.csdn.net/weixin_35261786/article/details/78222602 #include <iostream> #inclu ...
- Java中通过Class的反射来获取方法
本文转自:http://z3sm2012.iteye.com/blog/1933227 今天在程序中用到java反射机制时,遇到的问题记录一下:我当时遇到的问题是,我用反射getMethod()调用类 ...
- .NET MVC 控制器和行为
行为就是可访问方法(public) 行为返回类型必须是 ActionResult 或者其派生类,基本上返回类型为以下四种之一 View(视图路径) Json(对象或者对象集合) Content(字符串 ...
- HttpWebResponse远程服务器返回错误: (500) 内部服务器错误 的解决办法
在工作中用C#开发了一个小程序,不断访问去请求一个网站的页面,在循环过程中有时会报“远程服务器返回错误: (500) 内部服务器错误”,有时不会,出现的时机也不太一样.开始以为是网站的问题,后来网站是 ...
- board_led.h/board_led.c
/******************************************************************************* Filename: board_led ...
- MYSQL性能优化(1)
优化步骤 1.show status 查询服务器状态运行信息 根据增删改查统计信息可以知道数据库是查询为主还是更新为主,各类型业务大致比例(更新操作 执行与回滚都会计数) 对于事务,可以通过Com_c ...
- 原子性: Interlocked 类
public class CounterNoLock:CountBase { private int _count; public int Count { get { return _count; } ...