原文链接:https://blog.csdn.net/lzw06061139/article/details/51953900
获取monmap
转储当前Ceph集群的monmap到/tmp/monmap文件
[root@ceph-xxx-xxx ~]# ceph mon getmap -o /tmp/monmap
got monmap epoch 4
查看monmap内容
我的示例Ceph集群中包含三个Monitor节点
root@ceph-xxx-xxx ~]# monmaptool --print /tmp/monmap
monmaptool: monmap file /tmp/monmap
epoch 4
fsid 1ee20ded-caae-419d-9fe3-5919f129cf55
last_changed 2016-02-26 17:10:47.603764
created 0.000000
0: 192.168.xxx.xxx:6789/0 mon.ceph-xxx-xxx
删除monitor节点信息
逐一删除monmap中的节点信息:
root@ceph-xxx-xxx ~]# monmaptool --rm ceph-xxx-xxx /tmp/monmap
monmaptool: monmap file /tmp/monmap
monmaptool: removing ceph-xxx-xxx
monmaptool: writing epoch 4 to /tmp/monmap (2 monitors)
//按照上述方法删除三个节点后,/tmp/monmap的内容如下:
[root@ceph-xxx-xxx ~]# monmaptool --print /tmp/monmap
monmaptool: monmap file /tmp/monmap
epoch 4
fsid 1ee20ded-caae-419d-9fe3-5919f129cf55
last_changed 2016-02-26 17:10:47.603764
created 0.000000
添加monitor节点
原有的monitor信息删除后,添加三个新的monitor节点,如下:
[root@ceph-xxx-xxx ~]# monmaptool --add ceph-xxx-xxm 192.168.xxx.xxm:6789 /tmp/monmap
monmaptool: monmap file /tmp/monmap
monmaptool: writing epoch 4 to /tmp/monmap (1 monitors)
//添加完成一个新的monitor节点后,/tmp/monmap内容如下
[root@ceph-xxx-xxx ~]# monmaptool --print /tmp/monmap
monmaptool: monmap file /tmp/monmap
epoch 4
fsid 1ee20ded-caae-419d-9fe3-5919f129cf55
last_changed 2016-02-26 17:10:47.603764
created 0.000000
0: 192.168.xxx.xxm:6789/0 mon.ceph-xxx-xxm
修改节点ip地址
通过修改/etc/sysconfig/network-scripts/ifcfg-eth*文件,修改各节点ip地址,然后重启网络服务完成ip的修改,命令如下:
[root@ceph-xxx-xxx ~]#ifdown eth* && ifup eth*
修改ceph.conf
在admin节点上修改ceph.conf中的mon_host 配置,然后通过ceph-deploy推送到所有monitor节点:
[root@ceph-xxx-xxm ~]#cat ceph.conf
[global]
......
mon_host = 192.168.xxx.xxm,192.168.xxx.xxn,192.168.xxx.xxl
......
[root@ceph-xxx-xxm ~]#ceph-deploy admin overwrite-conf ceph-xxx-xxm ceph-xxx-xxn ceph-xxx-xxl
停止monitor并注入新的monmap
停止各节点上的monitor服务,将/tmp/monmap文件文件拷贝到其他节点,并注入新的monmap记录:
[root@ceph-xxx-xxm ~]#/etc/init.d/ceph stop mon
[root@ceph-xxx-xxm ~]#ceph-mon -i ceph-xxx-xxm --inject-monmap /tmp/monmap
启动monitor
启动各节点上的monitor服务:
[root@ceph-xxx-xxm ~]# /etc/init.d/ceph start mon
重启OSD
最后重启所有的OSD服务:
[root@ceph-xxx-xxm ~]# /etc/init.d/ceph restart osd