這篇文章給大家分享的是有關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誤刪除怎么恢復”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。