CEPH集群更换ip(更换ip前的防范和更换ip后的恢复)
文章目錄
- 修改`/etc/hosts`中的ip設置
- 修改`ceph.conf`中的ip地址
- 獲取monmap
- 將`monmap`注入到集群
 
 
 
 
最近測試部在測試一些功能,在我們不知情得情況下更換了集群內外網ip,之后直接甩鍋到我這里(大哭)
接手到的集群是ceph各個組件之間無法成功通信,不能正常運行,該情根據網上的恢復方法已經不可行。因為ceph mon 命令無法使用,所以不能夠通過該命令獲取到monmap了。
 經過對monmaptool工具的調研,發現它可以直接從/etc/ceph/ceph.conf中獲取到monmap
所以我的恢復過程如下
修改/etc/hosts中的ip設置
 
將如下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地址
 
其中包括如下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 通過scp 同步到集群所有節點
將monmap注入到集群
 
注入之前請先停止集群內所有的ceph服務,systemctl stop ceph.service 因為需要所有的組件重新讀配置文件,主要是mon重新加載monmap來更改集群通信ip
 每個節點執行命令ceph-mon -i node1 --inject-monmap ./monmap,集群都執行結束后每個節點再將所有ceph服務重新拉起即可
總結
以上是生活随笔為你收集整理的CEPH集群更换ip(更换ip前的防范和更换ip后的恢复)的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 整微,整形一般要多少钱
- 下一篇: 史诗碎片在哪兑换
