k8s中使用rook-ceph的扩缩容问题
【代码】k8s中使用rook-ceph的扩缩容问题。
·
ceph中osd迁移
- ceph集群中通过osd数据迁移实现集群存储扩缩容及故障排除
1.1 先关闭osd服务
# 编辑osd的deploy,副本数变为0
kubectl -n rook-ceph edit deploy rook-ceph-osd-2
# 此时ceph中对应osd的状态变为down
ceph中osd的状态讲解
- 集群内(in)
- 集群外(out)
- 活着且在运行(up)
- 挂了且不再运行(down)
状态流转过程
- 正常情况下OSD的状态是up in状态,如果down掉OSD,它的状态会变为down in,等待数据均衡完成后osd变为down out状态
- Ceph 会把其归置组迁移到其他OSD, CRUSH 就不会再分配归置组给它。
2.2 在ceph中清除对应的osd
- 当osd的状态变为down时,会自动触发数据迁移!此时需要关注osd的状态是否变为down out,可以通过ceph osd stat查看
[root@data1 ~]# ceph osd stat
4 osds: 3 up (since 23m), 3 in (since 13m); epoch: e345
- 变为down out状态,开始清除osd
## 清除osd
ceph osd rm osd.2
## 从crush map中删除OSD
ceph osd crush rm osd.2
## 删除残留的权限数据,否则影响新的osd启动
ceph auth del osd.2
ceph中osd的扩容
- 通过通过增加盘的方式进行扩容,只需要重启rook-ceph-operator服务即可
- 如果需要纵向扩容,即增加磁盘容量!可以先通过数据迁移,执行操作1osd迁移后,在增加新的磁盘
更多推荐
已为社区贡献3条内容
所有评论(0)