[关闭]
@dyj2017 2017-10-20T17:02:19.000000Z 字数 786 阅读 912

批量删除osd的shell脚本


cluster环境:

  1. # cat /etc/redhat-release
  2. CentOS Linux release 7.3.1611 (Core)
  3. # ceph -v
  4. ceph version 12.2.1 (3e7492b9ada8bdc9a5cd0feafd42fbca27f9c38e) luminous (stable)

创建脚本:

  1. # touch del_osd.sh
  2. # chmod +x del_osd.sh

编辑脚本:

  1. # vi del_osd.sh

输入以下内容:

  1. #!/bin/sh
  2. osd_id=`ceph osd tree | grep down| awk '{print $1}'`
  3. for var in ${osd_id}
  4. do
  5. echo "deleting osd.$var"
  6. ceph osd out osd.$var
  7. ceph osd rm osd.$var
  8. ceph osd crush rm osd.$var
  9. ceph auth del osd.$var
  10. sleep 5
  11. echo "umount /var/lib/ceph/osd/ceph-$var "
  12. umount /var/lib/ceph/osd/ceph-$var
  13. done

因为如果不sleep执行umount,umount非常容易失败,所以睡5秒执行就好咯
需要说明的是umount只能在osd所在的host上进行,如果仍然umount失败参考umount: /var/lib/ceph/osd/ceph-1:目标忙解决办法

运行脚本:

  1. # ./del_osd.sh

参考文档:

http://www.cnblogs.com/suyang/archive/2008/05/18/1201990.html
http://blog.sina.com.cn/s/blog_69a636860102vgdq.html
http://bbs.chinaunix.net/thread-2018059-1-1.html

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注