Chinaunix首页 | 论坛 | 博客
  • 博客访问: 39035
  • 博文数量: 7
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 76
  • 用 户 组: 普通用户
  • 注册时间: 2011-10-11 11:52
文章分类

全部博文(7)

文章存档

2017年(6)

2013年(1)

我的朋友

分类: 云计算

2017-02-05 23:25:56

    Ceph集群在使用过程中,若磁盘的使用率达到95%(默认值,mon_osd_full_ratio=0.95)时,集群会处于full状态,根据官网描述: “When a Ceph Storage Cluster gets close to its maximum capacity (i.e., mon osd full ratio), Ceph prevents you from writing to or reading from Ceph OSD Daemons as a safety measure to prevent data loss.”
    此时,集群对外读写均会受到影响,甚至不可用。 应急恢复读写,特别是要恢复读的方法有如下几种:
    1) 取巧
        # ceph osd unset full
        此方法只能短暂恢复I/O,几乎在秒级内即可重新恢复为full状态,可以写个脚本循环执行,,或在命令行中执行:
        # while true; do ceph osd unset full && sleep 1; done
    2)断臂求生:适用于只有1个OSD使用率达到阈值的情况,且系统支持1个OSD离线。
        # ceph osd set norecover
        # ceph health detail    // 找到full的OSD
        # ceph osd find id      // 找到osd对应的host,然后kill掉对应的ceph-osd进程
        此方法将full的osd踢掉,系统虽进入degrade状态,由于系统容错机制的保障,系统仍旧能够进行正常的读写。

    以上应急恢复I/O方案,也仅仅用于应急,尤其是在这种情况下,想读取数据。
    它不能直接将系统恢复成正常状态,甚至会使系统进入“危险”境地;因此并不能作为恢复系统的手段,但可以作为辅助手段一用。

    祝大家玩得开心!
阅读(2605) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~