文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

聊聊如何Ceph修改mon ip地址

2024-12-01 13:58

关注

修改同一网络里的mon ip

这被官网称为是一种正确的方法。仅更改监视器的 IP 地址ceph.conf不足以确保集群中的其他mon收到更新。要更改监mon的 IP 地址,必须添加一个具有要使用的 IP 地址的新mon节点(如添加监视器(手动)中所述),确保新mon成功加入仲裁;然后移除旧 IP 地址的mon。最后更新ceph.conf文件以确保客户端和其他守护程序知道新mon的 IP 地址。

手动添加mon节点

在目标节点上,新建 mon 的数据目录。{mon-id} 名称自己定义 。

mkdir /var/lib/ceph/mon/ceph-{mon-id}

获取 mon 的 keyring 文件,保存在临时目录下。

ceph auth get mon. -o /tmp/ceph.mon.keyring

获取集群的 mon map 并保存到临时目录下。

ceph mon getmap -o /tmp/monmap

格式化mon的数据目录并指定上面两步创建的monmap和ceph.mon.keyring文件路径

ceph-mon -i {mon-id} --mkfs --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring

启动节点上的 mon 进程,它会自动加入集群。守护进程需要知道绑定到哪个 IP 地址,可以通过 --public-addr {ip:port} 选择指定

systemctl start ceph-mon@{mon-id}
ceph-mon -i {mon-id} --public-addr {ip:port}

删除mon节点

1.停止mon节点

systemctl stop ceph-mon@{mon-id}

2.从ceph集群移除mon节点

ceph mon remove {mon-id}

3.在ceph.conf配置文件中移除mon部分

修改所有mon节点ip

如背景所说,我们刚迁移了ceph集群的服务器到其他地市的机房。这需要改变mon节点的所有网络。在这种情况下,解决方案是为集群中的所有mon生成具有更新 IP 地址的新 monmap,并将新映射注入每个单独的mon。我这里是将192.168.28.0/24网段变更为192.168.244.0/24网段。

获取monmap,如果此时已经连接不上集群了可以在mon节点上使用第二条命令,并指定{mon-id}

ceph mon getmap -o /tmp/monmap
ceph-mon -i node3 --extract-monmap /tmp/monmap

monmap内容如下:

monmaptool: monmap file /tmp/monmap
epoch 7
fsid 9c079a1f-6fc2-4c59-bd4d-e8bc232d33a4
last_changed 2022-10-08T10:00:04.055141+0000
created 2022-10-08T03:45:47.301186+0000
min_mon_release 16 (pacific)
election_strategy: 1
0: [v2:192.168.28.159:3300/0,v1:192.168.28.159:6789/0] mon.node1
1: [v2:192.168.248.160:3300/0,v1:192.168.28.160:6789/0] mon.node2
2: [v2:192.168.28.161:3300/0,v1:192.168.28.161:6789/0] mon.node3

删除现有的mon:

monmaptool: monmap file /tmp/monmap
monmaptool: removing node1
monmaptool: removing node2
monmaptool: removing node3
monmaptool: writing epoch 1 to /tmp/monmap (0 monitors)

添加新的mon:

monmaptool: monmap file  /tmp/monmap
monmaptool: writing epoch 1 to /tmp/monmap (3 monitors)

停止所有mon服务并注入monmap,,每个mon节点都要执行;

ceph-mon -i {mon-id} --inject-monmap /tmp/monmap

执行完成后需要重启mon

systemctl start ceph-mon@{mon-id}

按照官网文档执行上述操作后,发现客户端不能连接ceph集群,查看mon服务都能正常监听,且端口通信正常,查看mon选举状态也是正常的。

ceph daemon mon.cloudmap mon_status

后来查看了ceph.conf配置文件,发现mon的配置还是用的以前的mon配置,所有节点更新后并重启mon后,客户端正常连接ceph集群。

官网链接:https://docs.ceph.com/en/latest/rados/operations/add-or-rm-mons/

来源:运维开发故事内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯