找回密码
 注册
查看: 6100|回复: 0

解决Ceph集群Mon和OSD网络变更或者ip(

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2018-10-9 17:17:56 | 显示全部楼层 |阅读模式
问题分析:  Ceph的Monitor是集群中非常重要的模块,它们需要维护一组合理有效的Monitor节点信息,这些节点之间彼此能发现,它们通过选举达成一致的状态,来保证整个Ceph系统处于一个可用的一致状态。  不同于别的Ceph Daemon通过ceph.conf文件中的配置来与Monitor通信,Monitors之间则通过独立的monitor map来彼此发现,在monitor monmap中有monitor的ip信息,所以网络变更后单独通过  修改ceph.conf文件的方法来修改Monitor的网络是行不通的。必须手动修改Monitor的monmap中原有的ip信息。  解决方案:  修改monitors的monmap中原有的ip信息。 变更为新的ip信息后,将新的monmap应用到monitors。 重启Ceph服务。 解决步骤:  1. 更改当前Ceph集群中server上的/etc/hosts里的主机信息,改为最新正确ip。  例如: 原配置为:     192.168.114.128  ceph-admin     192.168.114.158  mon1     192.168.114.128  ceph-osd1     192.168.114.168  ceph-osd2  更改为server在当前网络下的地址:     192.168.1.228  ceph-admin     192.168.1.188  mon1     192.168.1.258  ceph-osd1     192.168.1.178  ceph-osd2 1 2 3 4 5 6 7 8 9 10 11 12 2.修改ceph-admin服务器下的ceph.conf中的public/cluster network信息为当前正确的ip ,并同步到其他服务器      原网络为:192.168.114.158     配置为: public network = 192.168.114.0/24      新网络: 192.168.1.188     更改配置为: public network = 192.168.1.0/24      ceph-deploy --over-write-conf config push ceph-osd1 ceph-osd2 mon1 1 2 3 4 5 6 7 3. 重启所有Monitor和OSD上的Ceph服务。  可用命令如下: service ceph restart    重启 service ceph restart    停止 service ceph restart    启动 service ceph restart    状态 1 2 3 4 5 4. 登陆到其中一台Monitor,执行命令,获取当前Ceph集群中Monitor的monmap。  方法1:      ceph mon getmap -o 文件路径/monmap文件名 例如:     ceph mon getmap -o ~/monmap_tmp  方法2:当使用方法1出错时用方法2,在Ceph根目录下寻找monmap,copy出来     find / -name monmap 1 2 3 4 5 6 7 5. 查看monmap中的信息。  monmaptool --print 文件路径/monmap文件名称  例如 monmaptool --print ~/monmap_tmp 输出如下: monmaptool: monmap file monmap epoch 1 fsid e55gfgb4-4d47-4a9a-5fc8-ace4522835df last_changed 2018-01-01 00:01:01.555555 created 2018-01-01 00:01:01.555555 0: 192.168.114.158:6789/0 mon.mon1 1 2 3 4 5 6 7 8 9 10 11 6. 删除现有的monmap中的monitor信息。  monmaptool --rm mon1 --rm mon2 --rm mon3 文件路径/monmap文件  例如: monmaptool --rm mon1 ~/monmap_tmp 1 2 3 4 7. 查看删除信息后的monmap。  monmaptool --print ~/monmap_tmp  结果如下: monmaptool: monmap file monmap epoch 1 fsid e55gfgb4-4d47-4a9a-9cc8-ace4522835df last_changed 2018-01-01 00:01:01.555555 created 2018-01-01 00:01:01.555555 1 2 3 4 5 6 7 8 8. 将新的monitor信息写入该monmap。  monmaptool --add mon1 IP:port --add mon2 IP:port 文件路径/monmap文件  例如: monmaptool --add mon1 192.168.1.188:6789 ~/monmap_tmp 1 2 3 4 9. 检查添加新monitor后的monmap,看是添加信息是否正确。  monmaptool --print ~/monmap_tmp 结果如下: monmaptool: monmap file monmap epoch 1 fsid e55gfgb4-4d47-4a9a-9cc8-ace4522835df last_changed 2018-01-01 00:01:01.555555 created 2018-01-01 00:01:01.555555 0: 192.168.1.188:6789/0 mon.mon1 1 2 3 4 5 6 7 8 10. copy修改后的monmap到Ceph集群的所有monitor节点。  11. copy 修改后的monmap文件到所有monitor节点,并使之生效。  a. 依次登陆到每台monitor,停止monitor节点上的mon服务。         service ceph stop。 b. 注入新的monmap信息到monitor。         ceph-mon -i mon1 --inject-monmap 文件路径/monmap文件         ps:可能会失败,确保ceph服务都关闭,然后再执行。  c. 启动Ceph服务。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

返回首页|Archiver|手机版|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )

GMT+8, 2026-6-12 00:59 , Processed in 0.015501 second(s), 22 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表