首先记录osd 状态
1 2 3 4 5 6 7 8 9 | [root@k8s-node1 ceph]# ceph osd treeID WEIGHT TYPE NAME UP/DOWN REWEIGHT PRIMARY-AFFINITY -1 0.05516 root default -2 0.01839 host k8s-node1 0 0.01839 osd.0 up 1.00000 1.00000 -3 0.01839 host k8s-node2 1 0.01839 osd.1 up 1.00000 1.00000 -4 0.01839 host k8s-node3 2 0.01839 osd.2 up 1.00000 1.00000 |
登录k8s-node3,模拟误删除了osd
下面表示把k8s-node3的osd2移除ceph集群
1 2 | [root@k8s-node3 ceph]# ceph osd out osd.2marked out osd.2. |
停止服务:
1 | [root@k8s-node3 ceph]# systemctl stop ceph-osd@2 |
下面表示删除k8s-node3的osd2:
1 2 | [root@k8s-node3 ceph]# ceph osd crush remove osd.2removed item id 2 name 'osd.2' from crush map |
下面表示删除k8s-node3的验证:
1 2 | [root@k8s-node3 ceph]# ceph auth del osd.2updated |
下面表示彻底删除k8s-node3的osd2
1 2 | [root@k8s-node3 ceph]# ceph osd rm osd.2removed osd.2 |
查看发现osd2还在:
1 2 3 4 5 6 7 8 | [root@k8s-node3 ceph]# ceph osd treeID WEIGHT TYPE NAME UP/DOWN REWEIGHT PRIMARY-AFFINITY -1 0.03677 root default -2 0.01839 host k8s-node1 0 0.01839 osd.0 up 1.00000 1.00000 -3 0.01839 host k8s-node2 1 0.01839 osd.1 up 1.00000 1.00000 -4 0 host k8s-node3 |
重启一下k8s-node3的mon服务:
1 | [root@k8s-node3 ceph]# systemctl restart ceph-mon@k8s-node3 |
再次查看发现osd2已经不见了:
1 2 3 4 5 6 7 8 | [root@k8s-node3 ceph]# ceph osd treeID WEIGHT TYPE NAME UP/DOWN REWEIGHT PRIMARY-AFFINITY -1 0.03677 root default -2 0.01839 host k8s-node1 0 0.01839 osd.0 up 1.00000 1.00000 -3 0.01839 host k8s-node2 1 0.01839 osd.1 up 1.00000 1.00000 -4 0 host k8s-node3 |
查看centos的ceph服务有哪些:
1 2 3 4 5 6 7 8 9 10 11 12 13 | [root@k8s-node3 ceph]# systemctl list-unit-files |grep cephceph-disk@.service static ceph-mds@.service disabledceph-mgr@.service disabledceph-mon@.service enabled ceph-osd@.service enabled ceph-radosgw@.service disabledceph-mds.target enabled ceph-mgr.target enabled ceph-mon.target enabled ceph-osd.target enabled ceph-radosgw.target enabled ceph.target enabled |
重启一下k8s-node3的osd服务:
1 | [root@k8s-node3 ceph]# systemctl stop ceph-osd@2 |
虽然我们把第三个节点的osd误删除了,但是其data数据还在:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | [root@k8s-node3 ceph]# ll /data/osd0/total 5242932-rw-r--r--. 1 ceph ceph 193 Oct 28 21:14 activate.monmap-rw-r--r--. 1 ceph ceph 3 Oct 28 21:14 active-rw-r--r--. 1 ceph ceph 37 Oct 28 21:12 ceph_fsiddrwxr-xr-x. 132 ceph ceph 4096 Oct 28 21:14 current-rw-r--r--. 1 ceph ceph 37 Oct 28 21:12 fsid-rw-r--r--. 1 ceph ceph 5368709120 Oct 28 22:01 journal-rw-------. 1 ceph ceph 56 Oct 28 21:14 keyring-rw-r--r--. 1 ceph ceph 21 Oct 28 21:12 magic-rw-r--r--. 1 ceph ceph 6 Oct 28 21:14 ready-rw-r--r--. 1 ceph ceph 4 Oct 28 21:14 store_version-rw-r--r--. 1 ceph ceph 53 Oct 28 21:14 superblock-rw-r--r--. 1 ceph ceph 0 Oct 28 21:14 systemd-rw-r--r--. 1 ceph ceph 10 Oct 28 21:14 type-rw-r--r--. 1 ceph ceph 2 Oct 28 21:13 whoami |
进入到其挂载的目录 例如
1 | [root@k8s-node3 ceph]# cd /data/osd0/ |
在删除osd 节点上进行恢复
1 2 | [root@k8s-node3 osd0]# cat fsid 29f7e64d-62ad-4e5e-96c1-d41f2cb1d3f2 |
1 2 | [root@k8s-node3 osd0]# ceph osd create 29f7e64d-62ad-4e5e-96c1-d41f2cb1d3f22 |
上面返回2才算正常的。
开始授权:
1 2 | [root@k8s-node3 osd0]# ceph auth add osd.2 osd 'allow *' mon 'allow rwx' -i /data/osd0/keyring added key for osd.2 |
查看一下状态:
1 2 3 4 5 6 7 8 9 | [root@k8s-node3 osd0]# ceph osd treeID WEIGHT TYPE NAME UP/DOWN REWEIGHT PRIMARY-AFFINITY -1 0.03677 root default -2 0.01839 host k8s-node1 0 0.01839 osd.0 up 1.00000 1.00000 -3 0.01839 host k8s-node2 1 0.01839 osd.1 up 1.00000 1.00000 -4 0 host k8s-node3 2 0 osd.2 down 0 1.00000 |
下面再把osd2加入回集群
1 2 | [root@k8s-node3 osd0]# ceph osd crush add 2 0.01839 host=k8s-node3add item id 2 name 'osd.2' weight 0.01839 at location {host=k8s-node3} to crush map |
说明:上面的2是osd2的编号;0.01839是权重,通过ceph osd tree查出来的。
再看一下状态:
1 2 3 4 5 6 7 8 9 | [root@k8s-node3 osd0]# ceph osd treeID WEIGHT TYPE NAME UP/DOWN REWEIGHT PRIMARY-AFFINITY -1 0.05516 root default -2 0.01839 host k8s-node1 0 0.01839 osd.0 up 1.00000 1.00000 -3 0.01839 host k8s-node2 1 0.01839 osd.1 up 1.00000 1.00000 -4 0.01839 host k8s-node3 2 0.01839 osd.2 down 0 1.00000 |
加进来:
1 2 | [root@k8s-node3 osd0]# ceph osd in osd.2marked in osd.2. |
然后启动osd服务:
1 | [root@k8s-node3 osd0]# systemctl start ceph-osd@2 |
查看状态,发现osd2已经回来了,如果有数据,会看到有数据恢复的进度:
1 2 3 4 5 6 7 8 9 | [root@k8s-node3 osd0]# ceph osd treeID WEIGHT TYPE NAME UP/DOWN REWEIGHT PRIMARY-AFFINITY -1 0.05516 root default -2 0.01839 host k8s-node1 0 0.01839 osd.0 up 1.00000 1.00000 -3 0.01839 host k8s-node2 1 0.01839 osd.1 up 1.00000 1.00000 -4 0.01839 host k8s-node3 2 0.01839 osd.2 up 1.00000 1.00000 |
微信
支付宝