docker筆記40-ceph osd誤刪除恢復
模擬刪除一個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
恢復誤刪除的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-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
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28916011/viewspace-2217844/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle恢復誤刪除資料Oracle
- Oracle閃回刪除恢復誤刪資料Oracle
- lsof恢復oracle誤刪除檔案Oracle
- oracle使用小記、刪除恢復Oracle
- DB2 恢復誤刪除的表DB2
- 使用lsof恢復誤刪除的檔案
- 儲存過程誤刪除的恢復儲存過程
- Flashback Query恢復誤刪除資料(轉)
- 【北亞資料恢復】誤刪除oracle表和誤刪除oracle表資料的資料恢復方法資料恢復Oracle
- 14、MySQL Case-線上表誤刪除恢復MySql
- MySQL資料庫表誤刪除恢復(一)MySql資料庫
- Oracle恢復誤刪除的資料檔案Oracle
- flashback database 恢復誤刪除的表空間。Database
- truncate table 誤刪除資料後的恢復
- ZT:使用lsof恢復誤刪除的檔案
- 誤刪除資料了怎麼辦?小編交易誤刪除資料的恢復方法
- Oracle資料恢復 - Linux / Unix 誤刪除的檔案恢復(轉)Oracle資料恢復Linux
- 誤刪除ESXi虛擬機器資料恢復虛擬機資料恢復
- Sybase ASE資料庫恢復,Sybase資料恢復,資料誤刪除恢復工具READSYBDEVICE資料庫資料恢復dev
- 【伺服器資料恢復】LINUX誤刪除、誤格式化怎麼恢復資料?伺服器資料恢復Linux
- Linux下誤刪除/home目錄的恢復方法Linux
- 使用閃回查詢恢復誤刪除的資料
- 【EM】資料表誤刪除故障模擬及恢復
- linux下恢復誤刪除的資料檔案Linux
- 誤刪除儲存SqlServer資料庫資料恢復SQLServer資料庫資料恢復
- 【伺服器資料恢復】伺服器誤刪除lun如何恢復資料?伺服器資料恢復
- 恢復刪除的檔案
- 刪除檔案的恢復
- Oracle恢復誤刪資料Oracle
- mysql誤刪資料恢復MySql資料恢復
- 怎樣恢復回收站已刪除檔案,檔案刪除恢復教程
- SQL Server資料庫恢復,SQL Server資料恢復,SQL Server資料誤刪除恢復工具SQLRescueSQLServer資料庫資料恢復
- 【虛擬化資料恢復】KVM虛擬機器誤刪除資料恢復案例資料恢復虛擬機
- 【儲存資料恢復】HP EVA儲存誤刪除VDISK的資料恢復案例資料恢復
- 【儲存資料恢復】NetApp儲存誤刪除的資料恢復案例資料恢復APP
- 【伺服器資料恢復】伺服器誤刪除卷怎麼恢復資料伺服器資料恢復
- 【伺服器資料恢復】LINUX誤刪除、格式化的資料恢復伺服器資料恢復Linux
- 【伺服器資料恢復】EMC Unity儲存誤刪除的資料恢復案例伺服器資料恢復Unity