自己测试的时候用的是虚拟机,在调试过程中遇到切换环境换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​
注:网上很多人的操作方法并不严谨,操作时注意备份。

posted on 2019-10-22 11:18  步孤天  阅读(2783)  评论(0编辑  收藏  举报