问题描述
在现有集群加入一个物理节点,接着再此节点创建ceph监视器、创建OSD。从宿主机系统执行ceph osd tree查看状态,创建起来的几个OSD状态都正常(up),从proxmox管理界面看也是这样。
突然不知道什么原因,刚加入的节点就突然不能从集群中失效了。
再进宿主机系统查OSD状态,居然自己从up变成down。新增节点没数据,于是就试试重启,看能不能正常。重启以后,网络能通,ssh不能连接,web管理界面也不能访问。接下来,需要先把故障节点从集群中撤离出来,恢复以后,再加入集群。
从集群中删除故障节点
按操作顺序分两个步骤:从集群中删除故障ceph和从集群中删除物理节点。
ü 从集群中删除故障ceph
1. 登录集群任意物理正常节点系统,执行如下命令查看ceph osd状态:
root@pve48:~# ceph osd tree ID CLASS WEIGHT TYPE NAME STATUS REWEIGHT PRI-AFF -1 18.00357 root default -3 4.91006 host pve48 0 hdd 1.63669 osd.0 up 1.00000 1.00000 1 hdd 1.63669 osd.1 up 1.00000 1.00000 2 hdd 1.63669 osd.2 up 1.00000 1.00000 -5 4.91006 host pve49 3 hdd 1.63669 osd.3 up 1.00000 1.00000 4 hdd 1.63669 osd.4 up 1.00000 1.00000 5 hdd 1.63669 osd.5 up 1.00000 1.00000 -7 4.91006 host pve50 6 hdd 1.63669 osd.6 up 1.00000 1.00000 7 hdd 1.63669 osd.7 up 1.00000 1.00000 8 hdd 1.63669 osd.8 up 1.00000 1.00000 -9 3.27338 host pve51 9 hdd 1.63669 osd.9 down 0 1.00000 10 hdd 1.63669 osd.10 down 0 1.00000 |
从输出可知物理节点pve51的两个OSD有问题,需要删除。
2. 离线有问题的ceph osd,执行的操作如下:
root@pve48:~# ceph osd out osd.9 osd.9 is already out. root@pve48:~# ceph osd out osd.10 osd.10 is already out. |
操作时要仔细,别把正常的osd离线了。
3. 删除已经离线osd认证信息,执行的操作如下:
root@pve48:~# ceph auth del osd.9 updated root@pve48:~# ceph auth del osd.10 updated |
4. 彻底删除故障osd,操作如下:
root@pve48:~# ceph osd rm 9 removed osd.9 root@pve48:~# ceph osd rm 10 removed osd.10 |
注意:此操作ceph最后一列参数与前边的不同,是纯数字格式!!!
5. 查看集群osd状态,操作如下:
root@pve48:~# ceph osd tree ID CLASS WEIGHT TYPE NAME STATUS REWEIGHT PRI-AFF -1 18.00357 root default -3 4.91006 host pve48 0 hdd 1.63669 osd.0 up 1.00000 1.00000 1 hdd 1.63669 osd.1 up 1.00000 1.00000 2 hdd 1.63669 osd.2 up 1.00000 1.00000 -5 4.91006 host pve49 3 hdd 1.63669 osd.3 up 1.00000 1.00000 4 hdd 1.63669 osd.4 up 1.00000 1.00000 5 hdd 1.63669 osd.5 up 1.00000 1.00000 -7 4.91006 host pve50 6 hdd 1.63669 osd.6 up 1.00000 1.00000 7 hdd 1.63669 osd.7 up 1.00000 1.00000 8 hdd 1.63669 osd.8 up 1.00000 1.00000 -9 3.27338 host pve51 9 hdd 1.63669 osd.9 DNE 0 10 hdd 1.63669 osd.10 DNE 0 |
操作完成后,故障节点的osd状态从down变成了DNE
6. 删除故障节点的ceph磁盘,操作如下:
root@pve48:~# ceph osd crush rm osd.9 removed item id 9 name ‘osd.9’ from crush map root@pve48:~# ceph osd crush rm osd.10 removed item id 10 name ‘osd.10’ from crush map |
7. 从ceph集群中删除物理节点,操作如下:
root@pve48:~# ceph osd crush rm pve51 removed item id -9 name ‘pve51’ from crush map |
8. 执行指令 ceph osd tree 查看状态,看是否把故障节点从ceph集群清理出去。
ü 从集群中删除故障节点
Ø 集群上的操作
登录集群中任意正常节点,执行如下指令进行驱逐操作:
root@pve48:~# pvecm delnode pve51 Killing node 4 |
Ø 故障机恢复操作
最好全部干掉,重新安装系统,并用新的ip地址,加入集群。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/101292.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...