专栏首页运维一切ceph osd full故障 原

ceph osd full故障 原

资料(传送门)[http://bbs.ceph.org.cn/question/363]

故障之后的现象

[root@ceph-osd-1 ~]# ceph -s  
    cluster 8ade9410-0ad8-4dbb-bd56-e1bf2f947009  
     health HEALTH_ERR 
            1 full osd(s) 
            2 near full osd(s)  
     monmap e1: 1 mons at {ceph-osd-1=10.10.200.163:6789/0}, election epoch 1, quorum 0 ceph-osd-1  
     osdmap e1514: 11 osds: 11 up, 11 in  
            flags full  
      pgmap v177918: 1628 pgs, 6 pools, 2548 GB data, 632 kobjects  
            7708 GB used, 4196 GB / 11905 GB avail  
                1625 active+clean  
                   3 active+clean+scrubbing+deep  
[root@ceph-osd-1 ~]# ceph health  
HEALTH_ERR 1 full osd(s); 2 near full osd(s)  

可以看到其中一个osd磁盘已经写满,另外还有两个osd已经接近爆满。 查看详细的健康情况

[root@ceph-osd-1 ~]# ceph health detail
...
recovery 7482/129081 objects degraded (5.796%)
osd.0 is full at 95%
osd.2 is near full at 93%
osd.1 is near full at 93%

这里能看到具体是哪个磁盘接近饱和。

扩容解决 安装好ceph,配置好验证之后,进行新的osd的安装

[root@ceph-osd-1 ~]# ceph-deploy osd prepare 192.168.1.1:/osd3  
[root@ceph-osd-1 ~]# ceph-deploy osd activate 192.168.1.1:/osd3  

详细的增加osd的步骤可以参考这里:[传送门] 增加之后需要确认你的新osd是否在故障的数据区域 #更改数据区域 查看数据区域

[root@ceph-osd-1 ~]# ceph osd tree
-21 6.00000 root ssd                                              
-11 3.00000     datacenter guangdong                                   
 -2 2.85999         host f207                                     
  1 0.25999             osd.1        up  1.00000          1.00000 
  2 0.25999             osd.2        up  1.00000          1.00000 
  3 0.25999             osd.3        up  1.00000          1.00000 
  4 0.25999             osd.4        up  1.00000          1.00000 
  5 0.25999             osd.5        up  1.00000          1.00000 
  6 0.25999             osd.6        up  1.00000          1.00000 
  7 0.25999             osd.7        up  1.00000          1.00000 
  8 0.25999             osd.8        up  1.00000          1.00000 
  9 0.25999             osd.9        up  1.00000          1.00000 
 -3 2.85999         host f208                                     
 11 0.25999             osd.11       up  1.00000          1.00000 
 12 0.25999             osd.12       up  1.00000          1.00000 
 13 0.25999             osd.13       up  1.00000          1.00000 
 14 0.25999             osd.14       up  1.00000          1.00000 
 15 0.25999             osd.15       up  1.00000          1.00000 
 16 0.25999             osd.16       up  1.00000          1.00000 
 17 0.25999             osd.17       up  1.00000          1.00000 
 18 0.25999             osd.18       up  1.00000          1.00000 
 19 0.25999             osd.19       up  1.00000          1.00000 
 -4 2.85999         host f209                                     
 22 0.25999             osd.22       up  1.00000          1.00000 
 23 0.25999             osd.23       up  1.00000          1.00000 
 24 0.25999             osd.24       up  1.00000          1.00000 
 25 0.25999             osd.25       up  1.00000          1.00000 
 26 0.25999             osd.26       up  1.00000          1.00000 
 27 0.25999             osd.27       up  1.00000          1.00000 
 28 0.25999             osd.28       up  1.00000          1.00000 
 29 0.25999             osd.29       up  1.00000          1.00000 
 30 0.25999             osd.30       up  1.00000          1.00000 
 -5 2.85999         host f214                                     
 74 1.81000             osd.74       up  1.00000          1.00000 
 75 1.81000             osd.75       up  1.00000          1.00000 
 76 1.81000             osd.76       up  1.00000          1.00000 
 77 1.81000             osd.77       up  1.00000          1.00000 
 78 1.81000             osd.78       up  1.00000          1.00000 
 79 1.81000             osd.79       up  1.00000          1.00000 
 80 1.81000             osd.80       up  1.00000          1.00000 
 81 1.81000             osd.81       up  1.00000          1.00000 
 82 1.81000             osd.82       up  1.00000          1.00000 
 83 1.81000             osd.83       up  1.00000          1.00000 

这里能看到datacenter guangdong,可以在广东部署的数据区域情况 ####导出osd数据区域划分文件:

[root@ceph-osd-1 ~]# ceph osd getcrushmap -o crush.dump

转意文件,变成人工可读的

[root@ceph-osd-1 ~]# crushtool -d crush.dump -o crush.map

修改crush.map

...
#调整host所属的数据中心
#item这里修改,加上新加的host,注意host的磁盘权重和磁盘数量,移动item的话新的加完一定把老的删除了,尽量不要让一个机器同属于不同的数据中心
datacenter guangdong{
        id -11          # do not change unnecessarily
        # weight 11.440
        alg straw
        hash 0  # rjenkins1
        item f207 weight 2.860
        item f208 weight 2.860
        item f209 weight 2.860
        item f214 weight 2.860
}
...
#跳转pool的副本集数量和数据区域划分
rule svnrbd {
        ruleset 1
        type replicated
        min_size 2
        max_size 8
        step take guangdong
        step chooseleaf firstn 2 type host
        step emit
        step take beijing
        step chooseleaf firstn -2 type host
        step emit
}
...

map文件压缩并导入

[root@ceph-osd-1 ~]# crushtool -c crush.map -o crush.tmp
[root@ceph-osd-1 ~]# ceph osd setcrushmap -i crush.tmp

完成之后ceph就开始自行进行数据同步了。 过一段时间就恢复了。

故障影响 故障会导致rbd写入直接报错,严重的可以影响同一数据区域下的所有的pool 对rdb操作之后报错如下

[root@p215 /var/log]# rbd lock rm data/f2 p215 client.114319 
2016-06-05 16:28:58.275592 7f896b784880  0 client.132880.objecter  FULL, paused modify 0x2c3e230 tid 2

受影响的文件操作会导致程序处于无限等待的状态,并且进程不可中断,不可响应中断信号。

将磁盘使用率调高的办法

ceph tell mon.* injectargs --mon_osd_nearfull_ratio 0.9
ceph tell mon.* injectargs --mon_osd_full_ratio 0.95
ceph pg set_full_ratio 0.98
ceph daemon  mon.0 config show|grep ratio
#osd的同理

追加一个自动平衡调节磁盘权重参数的命令

ceph osd reweight-by-utilization

后续需要分析:导致这个问题的原因是什么?怎么合理划分数据区域?怎么计算可用容量?

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • ceph数据同步recovery时的性能参数调节

    domain0
  • ceph暂停数据平衡 转

    domain0
  • 查看,修改ceph节点的ceph配置命令

    该命令要求必须在 osd.1 , mon.node1节点上才能执行 这三种方法显示结果都是一样的,不过第三种方法的显示格式和一二种不同而已。

    domain0
  • ceph分布式存储-检查集群健康状态

    元数据服务器为 Ceph 文件系统提供元数据服务,不过在当前生产环境中并未部署 MDS 。

    Lucien168
  • 细数大数据行业的四大误区

    大数据这个词,恐怕是近两年IT界炒的最热的词汇之一了,各种论坛、会议,言必谈大数据,“大数据”这个词,在IT界已经成了某果一样的“街机”或者叫“街词”,不跟风说...

    华章科技
  • 【技术】大数据关键技术

    大数据技术,就是从各种类型的数据中快速获得有价值信息的技术。大数据领域已经涌现出了大量新的技术,它们成为大数据采集、存储、处理和呈现的有力武器。 ...

    小莹莹
  • 大数据时代下的十大变革你知道吗?

    传统科学思维中,决策制定往往是“目标”或“模型”驱动的——根据目标(或模型)进行决策。大数据时代下,数据成为决策制定的主要“触发条件”和“重要依据”。

    刀刀老高
  • 文武双全!为什么数据分析师需要既懂业务又懂技术

    在企业中,数据分析师们往往分为业务和技术两大类。两类能力和工作内容有较大区别,但经常企业在招人的时候都叫:数据分析师。这常使想进门的新人感到困惑。今天,我们就来...

    接地气的陈老师
  • 可视化告诉你,大数据究竟是什么?

    大数据文摘
  • 想成为排名第一的AI公司?建立一支“数据军团”,雇佣这些人吧

    人工智能不仅有光明的前景,而且走在了商业的前沿。人工智能显然是机器人、电子商务、分析和云计算管理的一个构成因素。即使是人才挑选、定制化市场营销和许多其他业务,现...

    大数据文摘

扫码关注云+社区

领取腾讯云代金券