rook-ceph下线osd


前言

现在有需求需要停止172-17-27-77上的sda也就是osd0

image-20211203131608704

image-20211203131633866

## 如何查找对应的osd和磁盘关系

解决办法

  • 先把operator设置为0

    kubectl -n rook-ceph scale deployment rook-ceph-operator --replicas=0

    image-20211203131753375

  • 修改配置,将需要移除的盘移除:

    kubectl edit cephclusters.ceph.rook.io -n rook-ceph   rook-ceph

    删除对应的对应的盘,如只有一款盘则直接删除主机则圈起来部分

    ⚠️如果是该主机下多块盘则删除对应的盘即可,则sda

    当前截图情况删除圈起来部分

    image-20211203131934027

  • 登陆到toolbox pod内手动移除对应的osd

    kubectl exec -it  -n rook-ceph      rook-ceph-tools-769bdf4bdd-hdx6r bash 
    ceph osd set noup
    ceph osd down 0
    ceph osd out 0 
    # 等待数据均衡完成

    image-20211203132613145

    image-20211203132635520

    image-20211203132658631

均衡数据完成后移除对应的osd

ceph osd purge 0 --yes-i-really-mean-it
ceph auth del osd.0

image-20211203165153751

如果该主机只有一块盘则对应移除该主机

⚠️可以通过ceph osd tree确定该主机是否为一块盘

ceph osd crush remove 172-17-27-77

image-20211203165123961

检查ceph状态以及osd状态

ceph -s
ceph osd tree

移除pod,和判断删除对应的job

kubectl delete deploy -n rook-ceph rook-ceph-osd-0

恢复配置

ceph osd unset noup

恢复rook的operator

kubectl -n rook-ceph scale deployment rook-ceph-operator --replicas=1

检查对应osd的pod是否启动

kubectl get pod  -n rook-ceph      -l  app=rook-ceph-osd -o wide

image-20211203171055644


文章作者: James Liu
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 James Liu !
 上一篇
sonar+sonar-scanner+gitlab+gitlab-runner实现代码的检测、部署以及通知 sonar+sonar-scanner+gitlab+gitlab-runner实现代码的检测、部署以及通知
随着工作量越来越大,我们需要保证我们的工作效率的同时保证我们的代码的质量,所以我们需要一些自动化的东西加入到我们的工作中自动化部署、自动化测试、自动化通知等
2022-01-10
下一篇 
rook-ceph升级 rook-ceph升级
rook-ceph升级到v1.5.11以及配置存储网络分离以及设置metadevice设置实现网络优化
2022-01-07
  目录