MooseFS使用问题分析总结

随着数据量越来越大,MFS的使用中也出现过一些问题,这里做了一些分析和总结,下面和大家分享一下:

先提一下MFS出问题时出现比较频繁的两个信息:

  • 连接中断
  • 坏块问题

连接中断问题在Master端会出现如下错误:

  1. mfsmaster[15861]: connection with client(ip:10.11.18.175) has been closed by peer
  2. 表示客户端和master的连接中断
  3. mfsmaster[15861]: connection with ML(10.11.19.76) has been closed by peer
  4. 表示Metalogger和Master的连接中断
  5. mfsmaster[15861]: connection with CS(10.11.18.199) has been closed by peer
  6. 表示ChunkServer和Master的连接中断

原因分析可能如下:

  1. 网络闪断 - 正常现象,MFS本身可自动重连,不会造成问题
  2. Clinet或ChunkServer主动断开连接,如Kill进程,也会引起这种错误
  3. ChunkServer或Client到Master的连接超时,也会断开连接,引起超时可能有两个原因:
  • Client请求过多,引起Master请求队列已满,导致的连接超时
  • 网络响应慢引起的超时(和网络闪断区分)

解决办法:

  • 对于1、3出现引起的中断可不加理会,重点需关注2引起的问题:
  • 针对2-a:Client控制请求,如超高并发的读写删除,另需注意的操作是ls,大家知道Linux系统本身对一个目录下文件个数的显示是有限制的(如10W,那么涉及到的需遍历指令就会报错,list too long),同样,我们MFS中遍历目录下文件时也要注意,要遍历的文件数过多会导致超时引起连接被中断等问题。
  • 针对2-b: 合理分配带宽资源,优化网络环境解决。

备注:

Client或Chunk到Master的连接中断之后,会由Client或Chunk自动发出重连(Reconnection)和注册(Register)操作。

坏块问题在Master端会出现如下错误:

  1. mfsmaster[3250]: chunkserver has nonexistent chunk (000000000002139F_00000001), so create it for future deletion
  2. mfsmaster[3250]: (10.11.18.199:9422) chunk: 000000000002139F creation status: 20
  3. mfsmaster[3250]: chunk 000000000002139F has only invalid copies (1) – please repair it manually
  4. mfsmaster[3250]: chunk 000000000002139F_00000001 – invalid copy on (10.11.18.199 – ver:00000000)
  5. mfsmaster[3250]: currently unavailable chunk 000000000002139F (inode: 135845 ; index: 23)

上述日志的意思是:有一个块在Master中有元数据信息,但ChunkServer中没有这个块,系统会自动在ChunkServer上创建此块为了后续删除,因为没有内容,所以是非法的copy,我们也无法访问到此块。

出现的原因可能有很多,如:

  • Client端大文件传输过程中,强制拔下master主机电源,造成master非法关闭,使用mfsmetarestore -a修复后,master日志报告有坏块
  • ChunkServer的csstats.mfs存放位置空间不足,导致文件块无法写入,也会引起块错误
  • 手动删除ChunkServer上的块文件
  • 删除文件后,Master非正常结束后重启,但没有结果changelog.mfs进行恢复,也会引起坏块

原因应该还有很多,后续有遇到再补充。

解决办法:

Client端使用mfsfilerepair对文件进行修复。

我理解坏块分为两种:

  • 一种是没有任何一个trunk节点有数据(修复工作其实就是生成chunk,在需要补充内容的地方填充0,这种块事后要删除)
  • 另一种是存在有数据块的节点(从存在的数据块copy,这里的块不需要删除)

修复之后可能出现如下日志信息:

  1. mfsmaster[3250]: chunk hasn’t been deleted since previous loop – retry
  2. mfsmaster[3250]: (10.11.18.199:9422) chunk: 000000000002139F deletion status: 13

Client端执行一个mv或rm 操作,master将不会再显示此信息,如:

  1. mv 80499644316259743_s.jpg 80499644316259743_s_1.jpg
时间: 2024-08-06 16:06:44

MooseFS使用问题分析总结的相关文章

MooseFS源码分析(二)

版权声明:本文为博主原创文章,未经博主允许不得转载.

MooseFS源码分析(三)

版权声明:本文为博主原创文章,未经博主允许不得转载.

MooseFS代码分析(一)

版权声明:本文为博主原创文章,未经博主允许不得转载.

中小型网站架构分析及优化

先看网站架构图: 以上网站架构广泛运用中大型网站中,本文从架构每一层分析所用主流技术和解决手段,有助于初入网站运维朋友们,进一步对网站架构认识,从而自己形成一套架构概念. 第一层:CDN 国内网络分布主要南电信北联通,造成跨地区访问延迟大问题,对于有一定访问量网站来说,增加CDN(内容分发网络)层可有效改善此现象,也是网站加速的最好选择.CDN把网站页面缓存到全国分布的节点上,用户访问时从最近的机房获取数据,这样大大减少网络访问的路径.如果想自己搭建CDN,不建议这么做,因为什么呢?其实说白了,

MooseFS 分布式文件介绍+部署 MFS

官网:http://www.moosefs.org 1.MooseFS是什么 一个类MooseFS是一个具备冗余容错功能的分布式网络文件系统,它将数据分别存放在多个物理服务器或单独磁盘或分区上,确保一份数据有多个备份副本,然而对于访问MFS的客户端或者用户来说,整个分布式网络文件系统集群看起来就像一个资源一样,从其对文件系统的情况看MooseFS就相当于UNIX的文件系统(ext3.ext4.nfs): a.mfs是一个分层的目录树结构 b.存储支持POSIX标准的文件属性(权限,最后访问和修改

MooseFS灾备演练实录

昨天晚上去机房为数据库服务器做磁盘扩容,顺带为目前线上的存储系统MooseFS做了一次灾难演练.故此,今天准备把昨天的灾难演练的详情总结一下,分享给大家.如果大家正在使用MooseFS,那么就可以有所参考了. MooseFS是一个分布式的文件系统,有关它的具体信息,我这里就不多做介绍了,大家可以去参考我之前写过的三篇博文: 分布式文件系统之MooseFS----介绍 分布式文件系统之MooseFS----部署 分布式文件系统之MooseFS----管理优化 这里简单先介绍一下,目前我们这套存储的

分布式系统三、MooseFS

一.MooseFS简介 1.介绍 MooseFS是一个具备冗余容错功能的分布式网络文件系统,它将数据分别存放在多个物理服务器单独磁盘或分区上,确保一份数据有多个备份副本.对于访问的客户端或者用户来说,整个分布式网络文件系统集群看起来就像一个资源一样. 2.特性 从其对文件操作的情况看,MooseFS表现与其他类Unix文件系统一致. 支持的通用文件系统特性: mfs是一个分层的目录树结构 存储支持POSIX标准的文件属性(权限,最后访问和修改时间) 支持特殊的文件,如:块设备,字符设备,管道和套

V12 MooseFS

MooseFS,是一个具备冗余容错功能的分布式网络文件系统,它将数据分别存放在多个物理server或单独disk或partition上,确保一份数据有多个备份副本,对于访问MFS的client或user来说,整个分布式网络文件系统集群看起来就像一个资源一样,从MFS对文件操作的情况看,相当于一个类unix的FS(ext{3,4}.nfs): https://moosefs.com/index.html 特点: 分层的目录树结构: 存储支持POSIX标准的文件属性(权限.最后访问.修改时间): 支

爱奇艺、优酷、腾讯视频竞品分析报告2016(一)

1 背景 1.1 行业背景 1.1.1 移动端网民规模过半,使用时长份额超PC端 2016年1月22日,中国互联网络信息中心 (CNNIC)发布第37次<中国互联网络发展状况统计报告>,报告显示,网民的上网设备正在向手机端集中,手机成为拉动网民规模增长的主要因素.截至2015年12月,我国手机网民规模达6.20亿,有90.1%的网民通过手机上网. 图 1  2013Q1~2015Q3在线视频移动端和PC端有效使用时长份额对比 根据艾瑞网民行为监测系统iUserTracker及mUserTrac