Ceph之删除osd

       当磁盘损坏或者集群需要进行缩容时,需要对磁盘进行删除。在ceph集群中,一个osd通常是一台物理主机上的一个ceph-osd的守护进程,它运行在一个磁盘之上。如果集群有多个磁盘损坏,删除这些磁盘需要依次对这些磁盘所对应的osd进行移除。

1.删除OSD前需要先确定一下当前集群的容量状况,确保删除OSD后不会使集群达到near full比率,可以通过以下命令进行查看:

ceph osd df tree

2.定位故障osd

ceph osd tree | grep -i down

3.删除osd前,需要先把osd踢出集群,命令格式如下:

ceph osd out {osd-num}

示例如下:

假设现在需要删除的osd的num为66,命令如下:

ceph osd out osd.66

4.做完上面的操作,进入故障osd所在节点,删除前还需要先停止osd进程,命令格式如下:

systemctl stop ceph-osd@{osd-num}.service

示例如下:

systemctl stop [email protected]

5.将osd从crush map中移除,命令格式如下:

ceph osd crush rm osd.{num}

6.从osd map里删除该osd

ceph osd rm {osd-mum}

7.删除osd认证密钥

ceph osd del osd.{mum}

8.卸载磁盘分区,并清除数据目录,命令格式如下:

umount /var/lib/ceph/osd/ceph-{osd-num}

rm -rf /var/lib/ceph/osd/ceph-{osd-num}

以下是一个可供参考的示例:

umount /var/lib/ceph/osd/ceph-66

rm -rf  /var/lib/ceph/osd/ceph-66

9.重启systemd-udevd守护进程服务,直接从内核接收设备的插入、拔出、改变状态等事件,并根据这些事件的各种属性,到规则库中进行匹配,以确定触发事件的设备。被匹配成功的规则有可能提供额外的设备信息,这些信息可能会被记录到udev数据库中,也可能会被用于创建符号链接。确保磁盘分区卸载以及数据目录清除。

systemctl restart systemd-udevd.service

10.验证查看

                                                           关注公众号查看更多分享

我们都是ITer

你可能感兴趣的:(Ceph之删除osd)