xuyuting
作者xuyuting2020-02-26 10:46
项目经理, 北京顶象技术有限公司

ceph满盘导致业务停止后的终极补救措施

字数 834阅读 1237评论 0赞 4

现象: 磁盘满,osd异常

此时ceph集群停止业务,且不能执行 rbd rm glance/***** 命令删除任何文件。

解决办法:

方法一: 调高ceph的满盘比例,比如原值0.95为满盘,现在修改为0.98

修改 所有ceph节点 /etc/ceph/ceph.conf

添加

 mon osd full ratio = 0.98
 mon osd nearfull ratio = 0.80

然后重启 所有ceph节点 即可

/etc/init.d/ceph -a restart

如果方法一无法解决,则使用方法二。

方法二:通过到磁盘上直接删除文件腾出空间,删除的文件属于镜像文件,所以不影响用户的业务:

操作步骤:

1:获取nova池中 所有 文件:

2:遍历nova池中 所有 文件:

非常重要:只有所有nova 文件的 parent里面都没有出现过的glance 镜像才可以删除

3:遍历完毕,假如下图红框中的3个镜像文件没有在所有nova的parent中出现过,则可以删除

4:以删除07d588c5-8a5d-450a-8baa-65f0ce563df3为例

rbd info glance/07d588c5-8a5d-450a-8baa-65f0ce563df3 获取prefix

 5: 直接登录 磁盘满 所在机器,假设为osd.0

6:

a)登录osd.0所在磁盘目录cd /var/lib/ceph/osd/ceph-0

b) 登录pg所在目录cd current

c) 然后查找该镜像文件所在的目录,并替换“”,输出到文件new.txt中:

find . -type f -name 12d85b57e857 > ./a.txt

sed 's/\/\\/g' a.txt > new.txt

d) 删除new.txt中的所有文件

while read line;do rm ${line};done < new.txt

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

4

添加新评论0 条评论

Ctrl+Enter 发表