十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这篇文章给大家分享的是有关docker中ceph osd误删除怎么恢复的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
创新互联服务项目包括向阳网站建设、向阳网站制作、向阳网页制作以及向阳网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,向阳网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到向阳省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!首先记录osd 状态
[root@k8s-node1 ceph]# ceph osd tree ID 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.2 marked out osd.2.
停止服务:
[root@k8s-node3 ceph]# systemctl stop ceph-osd@2
下面表示删除k8s-node3的osd2:
[root@k8s-node3 ceph]# ceph osd crush remove osd.2 removed item id 2 name 'osd.2' from crush map
下面表示删除k8s-node3的验证:
[root@k8s-node3 ceph]# ceph auth del osd.2 updated
下面表示彻底删除k8s-node3的osd2
[root@k8s-node3 ceph]# ceph osd rm osd.2 removed osd.2
查看发现osd2还在:
[root@k8s-node3 ceph]# ceph osd tree ID 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 tree ID 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 ceph ceph-disk@.service static ceph-mds@.service disabled ceph-mgr@.service disabled ceph-mon@.service enabled ceph-osd@.service enabled ceph-radosgw@.service disabled ceph-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_fsid drwxr-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
进入到其挂载的目录 例如
[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-d41f2cb1d3f2 2
上面返回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 tree ID 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-node3 add 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 tree ID 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.2 marked in osd.2.
然后启动osd服务:
[root@k8s-node3 osd0]# systemctl start ceph-osd@2
查看状态,发现osd2已经回来了,如果有数据,会看到有数据恢复的进度:
[root@k8s-node3 osd0]# ceph osd tree ID 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误删除怎么恢复”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!