标签:cli 集群 一个 读写 osd block stack 处理 虚拟
ceph集群full紧急故障恢复1.设置 osd 禁止读写
ceph osd pause
2.通知 mon 和 osd 修改 full 阈值
ceph tell mon.* injectargs "--mon-osd-full-ratio 0.96"
ceph tell osd.* injectargs "--mon-osd-full-ratio 0.96"
3.通知 pg 修改 full 阈值
ceph pg set_full_ratio 0.96 (Luminous版本之前)
ceph osd set-full-ratio 0.96 (Luminous版本)
4.解除 osd 禁止读写
ceph osd unpause
5.删除相关数据或者数据均衡消除osd full
以下方法进行处理:
a.openstack环境下最好是 nova 或者 glance 删除云盘及虚拟机数据,当然也可以在 ceph 层面删除
b.数据均衡ceph osd df | sort -rnk 7 按照倒序osd使用率,根据VAR值进行调整(自动按照集群osd使用率进行调整):
ceph osd reweight-by-utilization VAR*100
Eg:ceph osd reweight-by-utilization 131
c.手动调整某一个osd的权重:
Eg:ceph osd reweight 1 0.95
6.配置还原
ceph tell mon.* injectargs "--mon-osd-full-ratio 0.95"
ceph tell osd.* injectargs "--mon-osd-full-ratio 0.95"
ceph pg set_full_ratio 0.95 (Luminous版本之前)
ceph osd set-full-ratio 0.95 (Luminous版本)
集群出现osd full,一般情况是集群的使用率整体较高,此时扩容或者删除数据才是正解。
Tips:
集群出现full,处于err状态,client端数据无法读写,但是如果集群进行数据均衡,还可以继续recovery。
标签:cli 集群 一个 读写 osd block stack 处理 虚拟
原文地址:https://blog.51cto.com/wendashuai/2500381