文章目錄
- 修改`/etc/hosts`中的ip設定
- 修改`ceph.conf`中的ip位址
- 擷取monmap
- 将`monmap`注入到叢集
最近測試部在測試一些功能,在我們不知情得情況下更換了叢集内外網ip,之後直接甩鍋到我這裡(大哭)
接手到的叢集是ceph各個元件之間無法成功通信,不能正常運作,該情根據網上的恢複方法已經不可行。因為ceph mon 指令無法使用,是以不能夠通過該指令擷取到monmap了。
經過對
monmaptool
工具的調研,發現它可以直接從
/etc/ceph/ceph.conf
中擷取到monmap
是以我的恢複過程如下
修改 /etc/hosts
中的ip設定
/etc/hosts
将如下ip映射關系更改為 目前裝置ip即可
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost4 localhost4.localdomain4
10.193.56.91 node1
10.193.56.92 node2
10.193.56.93 node3
修改完成之後
scp
同步到叢集其他節點
修改 ceph.conf
中的ip位址
ceph.conf
其中包括如下ip,全部更改為目前叢集裝置ip
mon_host = 10.193.56.91,10.193.56.92,10.193.56.93
public)_network = 10.193.0.0/16
cluster_network = 10.193.0.0/16
修改完成後執行
ceph-deploy --overwrite-conf config push node1 node2 node3
擷取monmap
monmaptool --create --generate -c /etc/ceph/ceph.conf ./monmap
在目前目錄生成monmap檔案
這裡如果是叢集 ip還未更改,可以通過 ceph mon getmap -o ./monmap
來在目前目錄下生成monmap檔案
使用
monmaptool --print monmap
檢視叢集monmap如下
[root@node1 ~]# monmaptool --print monmap
monmaptool: monmap file monmap
epoch 0
fsid fb4a710d-7b1e-4efe-9482-e46f590a8dcf
last_changed 2019-05-21 13:57:37.783971
created 2019-05-21 13:57:37.783971
0: 10.193.56.91:6789/0 mon.node1 #主要是更改這一部分,将我們新叢集的叢集網絡ip寫入到這裡
1: 10.193.56.92:6789/0 mon.node2
2: 10.193.56.93:6789/0 mon.node3
使用
monmaptool --rm node1 --rm node2 --rm node3 ./monmap
删除對應mon.id的配置
[root@node1 ~]# monmaptool --rm node1 --rm node2 --rm node3 monmap
monmaptool: monmap file monmap
monmaptool: removing node1
monmaptool: removing node2
monmaptool: removing node3
monmaptool: writing epoch 0 to monmap (0 monitors)
再次檢視monmap内容如下
[root@node1 ~]# monmaptool --print monmap
monmaptool: monmap file monmap
epoch 0
fsid fb4a710d-7b1e-4efe-9482-e46f590a8dcf
last_changed 2019-05-21 13:57:37.783971
created 2019-05-21 13:57:37.783971
将我們目前裝置的ip加入到monmap中即可,執行指令
monmaptool --add mon.id 10.112.101.141:6789 --add mon.id 10.112.101.143:6789 --add mon.id 10.112.101.142:6789 monmap
這裡填寫清楚目前mon的名稱即可,如下
[root@node1 ~]# monmaptool --add node1 10.112.101.141:6789 --add node2 10.112.101.143:6789 --add node3 10.112.101.142:6789 monmap
monmaptool: monmap file monmap
monmaptool: writing epoch 0 to monmap (3 monitors)
[root@node1 ~]# monmaptool --print monmap
monmaptool: monmap file monmap
epoch 0
fsid fb4a710d-7b1e-4efe-9482-e46f590a8dcf
last_changed 2019-05-21 13:57:37.783971
created 2019-05-21 13:57:37.783971
0: 10.112.101.141:6789/0 mon.node1
1: 10.112.101.142:6789/0 mon.node3
2: 10.112.101.143:6789/0 mon.node2
将 monmap
注入到叢集
monmap