自己測試的時候用的是虛擬機,在調試過程中遇到切換環境換IP的情況。
那么ceph應該怎樣換IP呢?
目錄
修改步驟:
1.導出mon的配置;
2.修改mon的配置;
3.修改ceph配置文件
4.關閉ceph集群
5.修改服務器IP,/etc/hosts對應的ip等:
6.導入修改后的mon配置;
7.重啟集群
修改步驟如下
1.導出mon配置
ceph mon getmap -o monmap.bin
2.修改mon配置
#打印查看原來的mon配置
monmaptool --print monmap.bin
#刪除原來mon配置(多個節點直接在后面加"--rm xxxx"即可)
monmaptool --rm node1 monmap.bin
#添加新的mon配置(多個就多家幾個"--add nodeX xxxxx"即可)
monmaptool --add node1 192.168.17.15:6789 monmap.bin
#修改后打印一下,驗證是否修改正確
monmaptool --print monmap.bin
3.修改ceph的配置文件
將/etc/ceph.conf文件中原來的ip地址替換為新的ip地址(每一台都必須修改)
如果是用ceph-deploy安裝的,可將安裝目錄下的ceph.conf修改掉,然后將配置文件同步到其他節點。
ceph-deploy --overwrite-conf admin node1
如果ceph-deploy命令已經失效,那么就手動把配置文件拷貝到其他節點。
4.關閉ceph集群(建議將集群內的所有節點中的ceph都關閉)
systemctl stop ceph.target
5.修改服務器IP
修改/etc/sysconfig/network-scripts/ifcfg-XXXX
將原來/etc/hosts內的域名配置中原來的ip替換成新的ip;
重啟網卡systemctl restart network
6.導入修改后的mon
ceph-mon -i node1 --inject-monmap monmap.bin
7.重啟集群
systemctl restart ceph.target
8.查看集群狀態是否正常
ceph -s
如果發現子部件沒有啟動,則以下面命令為例,先將服務標志刪除再啟動
systemctl reset-failed ceph-mon@node1.service
systemctl reset-failed ceph-mds@node1.service
systemctl reset-failed ceph-osd@0.service
systemctl reset-failed ceph-osd@1.service
參考文獻:
https://blog.csdn.net/signmem/article/details/80312345
注:網上很多人的操作方法並不嚴謹,操作時注意備份。
