【Ceph運維】Ceph手動修復mon 集群


一、背景介紹

ceph 版本為L版,集群由於異常斷電,導致文件丟失,ceph mon 數據文件store.db/目錄下的sst 文件丟失,所以無法正常啟動。

本集群有三台mon節點,其中有一台mon 節點的服務可以正常啟動,另外兩台無法正常啟動。(ceph-mon 命令已經無法執行)

二、 解決過程

因為判斷可能出現文件丟失導致的mon無法啟動,所以決定重做另兩台mon來解決問題

1、本環境中control3的mon是好的,control1和control2是壞的

在control3上導出monmap

[root@control3 ~]monmaptool  --create  --clobber  --fsid  45b34caa-83b8-4c36-833b-544bba873456  --add  control3  172.16.12.43:6789  --add  control1 172.16.12.41:6789    --add  control2  172.16.12.42:6789  /tmp/monmap    
//導出monmap,好的節點寫再前面,后面把所有的壞的節點加上即可。

2、將control1 和control2節點上的/var/lib/ceph/mon目錄刪掉,因為僅僅是文件丟失,並不是認證出現問題,原有的/etc/ceph/目錄沒有刪除。

3、將keyring 文件傳到其他節點上

[root@control3 ~]scp   /var/lib/ceph/mon/ceph-control3/keyring   root@control1:/tmp/
[root@control3 ~]scp   /var/lib/ceph/mon/ceph-control3/keyring   root@control2:/tmp/
[root@control3 ~]scp   /tmp/monmap  root@control1:/tmp/
[root@control3 ~]scp   /tmp/monmap  root@control2:/tmp/

4、重做control1和control2的mon

[root@control1 ~] ceph-mon  --cluster    ceph  -i  control1 --mkfs  --monmap  /tmp/monmap  --keyring  /tmp/keyring  -c  /etc/ceph/ceph.conf
[root@control1 ~] chown -R ceph:ceph   /var/lib/ceph/mon
[root@control1 ~] systemctl restart ceph-mon@control1

-------------------------------------------------------------------------
[root@control2 ~] ceph-mon  --cluster    ceph  -i  control2 --mkfs  --monmap  /tmp/monmap  --keyring  /tmp/keyring  -c  /etc/ceph/ceph.conf
[root@control2 ~] chown -R ceph:ceph   /var/lib/ceph/mon
[root@control2 ~] systemctl restart ceph-mon@control2

5、執行ceph -s


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM