docker中ceph osd误删除怎么恢复
这篇文章给大家分享的是有关docker中ceph osd误删除怎么恢复的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
模拟删除一个osd
首先记录osd 状态
[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集群
[root@k8s-node3 ceph]# ceph osd out osd.2marked out osd.2.
停止服务:
[root@k8s-node3 ceph]# systemctl stop ceph-osd@2
下面表示删除k8s-node3的osd2:
[root@k8s-node3 ceph]# ceph osd crush remove osd.2removed item id 2 name 'osd.2' from crush map
下面表示删除k8s-node3的验证:
[root@k8s-node3 ceph]# ceph auth del osd.2updated
下面表示彻底删除k8s-node3的osd2
[root@k8s-node3 ceph]# ceph osd rm osd.2removed osd.2
查看发现osd2还在:
[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服务:
[root@k8s-node3 ceph]# systemctl restart ceph-mon@k8s-node3
再次查看发现osd2已经不见了:
[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服务有哪些:
[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服务:
[root@k8s-node3 ceph]# systemctl stop ceph-osd@2
虽然我们把第三个节点的osd误删除了,但是其data数据还在:
[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
恢复误删除的osd
进入到其挂载的目录 例如
[root@k8s-node3 ceph]# cd /data/osd0/
在删除osd 节点上进行恢复
[root@k8s-node3 osd0]# cat fsid 29f7e64d-62ad-4e5e-96c1-d41f2cb1d3f2
[root@k8s-node3 osd0]# ceph osd create 29f7e64d-62ad-4e5e-96c1-d41f2cb1d3f22
上面返回2才算正常的。
开始授权:
[root@k8s-node3 osd0]# ceph auth add osd.2 osd 'allow *' mon 'allow rwx' -i /data/osd0/keyring added key for osd.2
查看一下状态:
[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加入回集群
[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查出来的。
再看一下状态:
[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
加进来:
[root@k8s-node3 osd0]# ceph osd in osd.2marked in osd.2.
然后启动osd服务:
[root@k8s-node3 osd0]# systemctl start ceph-osd@2
查看状态,发现osd2已经回来了,如果有数据,会看到有数据恢复的进度:
[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
感谢各位的阅读!关于“docker中ceph osd误删除怎么恢复”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341