前言
现在有需求需要停止172-17-27-77
上的sda
也就是osd0
## 如何查找对应的osd和磁盘关系
解决办法
先把operator设置为0
kubectl -n rook-ceph scale deployment rook-ceph-operator --replicas=0
修改配置,将需要移除的盘移除:
kubectl edit cephclusters.ceph.rook.io -n rook-ceph rook-ceph
删除对应的对应的盘,如只有一款盘则直接删除主机则圈起来部分
⚠️如果是该主机下多块盘则删除对应的盘即可,则sda
当前截图情况删除圈起来部分
登陆到
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 # 等待数据均衡完成
均衡数据完成后移除对应的osd
ceph osd purge 0 --yes-i-really-mean-it
ceph auth del osd.0
如果该主机只有一块盘则对应移除该主机
⚠️可以通过
ceph osd tree
确定该主机是否为一块盘
ceph osd crush remove 172-17-27-77
检查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