微信公众号:运维开发故事,作者:wanger

背景

     最近公司服务器搬迁至外地机房,服务器中包含ceph存储集群,迁移到新机房需要整体修改服务器ip,因此mon节点的ip也将被修改,发现官网有修改ip的文档,正好参考官网记录一下。官网提供了只更改同一网络里的mon节点ip以及ceph集群更改到不同网络的情况下修改所有mon ip的方法。

修改同一网络里的mon ip

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

手动添加mon节点

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

mkdir /var/lib/ceph/mon/ceph-{mon-id}
  1. 获取 mon 的 keyring 文件,保存在临时目录下。
ceph auth get mon. -o /tmp/ceph.mon.keyring
  1. 获取集群的 mon map 并保存到临时目录下。
ceph mon getmap -o /tmp/monmap
  1. 格式化mon的数据目录并指定上面两步创建的monmap和ceph.mon.keyring文件路径
ceph-mon -i {mon-id} --mkfs --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring
  1. 启动节点上的 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}
  1. 从ceph集群移除mon节点
ceph mon remove {mon-id}
  1. 在ceph.conf配置文件中移除mon部分

修改所有mon节点ip

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

  1. 获取monmap,如果此时已经连接不上集群了可以在mon节点上使用第二条命令,并指定{mon-id}
ceph mon getmap -o /tmp/monmap
ceph-mon -i node3  --extract-monmap /tmp/monmap
  1. monmap内容如下
# monmaptool --print /tmp/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
  1. 删除现有的mon
# monmaptool --rm node1 --rm node2 --rm node3 /tmp/monmap
monmaptool: monmap file /tmp/monmap
monmaptool: removing node1
monmaptool: removing node2
monmaptool: removing node3
monmaptool: writing epoch 1 to  /tmp/monmap (0 monitors)
  1. 添加新的mon
# monmaptool --add node1 192.168.244.44 --add node2 192.168.244.45  --add node3 192.168.244.46 /tmp/monmap
monmaptool: monmap file  /tmp/monmap
monmaptool: writing epoch 1 to  /tmp/monmap (3 monitors)
  1. 停止所有mon服务并注入monmap,,每个mon节点都要执行
ceph-mon -i {mon-id} --inject-monmap /tmp/monmap
  1. 执行完成后需要重启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/

公众号:运维开发故事

github:https://github.com/orgs/sunsharing-note/dashboard

博客**:https://www.devopstory.cn**

爱生活,爱运维

我是wanger,《运维开发故事》公众号团队中的一员,一线运维农民工,这里不仅有硬核的技术干货,还有我们对技术的思考和感悟,欢迎关注我们的公众号,期待和你一起成长!

Ceph修改mon ip地址相关推荐

  1. linux修改ip地址方法如何保存_修改电脑IP地址方法

    相信大家的日常的生活中都会接触电脑,电脑给我们的生活带来了许多的便利,同时也开阔了我们的视野,有时我们会需要更改IP地址,比如电脑受限制或者连接网络不成功的情况下,可能就需要更改一下我们的电脑IP地址 ...

  2. Shell 脚本修改 Mac IP地址

    本篇文章由:http://xinpure.com/shell-script-to-modify-the-mac-ip-address/ 麻烦事 最近在笔记本 WIFI 网络上遇到一个麻烦事, 在公司需 ...

  3. win10批处理改计算机名和ip地址,win10系统修改计算机IP地址的操作方法

    很多小伙伴都遇到过对win10系统修改计算机IP地址进行设置的困惑吧,一些朋友看过网上对win10系统修改计算机IP地址设置的零散处理方法,并没有完完全全明白win10系统修改计算机IP地址的操作方法 ...

  4. ipv4改完保存不成功_win7系统没法保存修改后IP地址的解决方法

    很多小伙伴都遇到过win7系统没法保存修改后IP地址的困惑吧,一些朋友看过网上零散的win7系统没法保存修改后IP地址的处理方法,并没有完完全全明白win7系统没法保存修改后IP地址是如何解决的,今天 ...

  5. linux CentOS7虚拟机修改静态ip地址

    前言: 由于虚拟机自动获取地址,ip地址不时会发生相应的改变,因此要改变为静态ip,避免重复繁琐的修改各种设置 1)查看IP地址 使用系统自带的 ip address 命令 $ip address 2 ...

  6. 用pe修改计算机ip地址,实现WinPE上网功能修改IP及DNS方法

    要实现WinPE上网功能,除了给PE添加网卡驱动外,我们还需要设置WinPE的IP和DNS配置脚本,如何才能实现这一功能呢?下面小编就来教大家设置的方法. 代码如下: echo 正在设置IP即DNS的 ...

  7. ipv4地址怎么设置 手机_怎么修改手机ip地址?手机ip地址更改方法介绍

    许多朋友的手机刷机后,或者使用手机不当,出现WiFi连接一直处于正在获取ip地址,就是上不了网,出现这种情况说明当前的wifi地址出现分配问题,需要手机用户自己修改为静态ip,那么怎么修改手机ip地址 ...

  8. 如何在linux上的上修改配置ip地址

    如何在linux上的上修改配置ip地址 再Linux上面配置IP有很多种方式,每个人有每个人的习惯,所以根据个人喜好进行配置. 方式如下: 1.使用图形化界面进行配置IP地址,但是大多数的服务器都不需 ...

  9. svn设置 修改服务器,svn设置 修改服务器ip地址

    svn设置 修改服务器ip地址 内容精选 换一换 介绍单机场景和集群场景配置Ansible主机信息. 日志记录了系统的运行情况和功能流程的处理情况,是维护人员查看系统状态.进行问题定位的重要工具和手段 ...

最新文章

  1. 海思 HI35* rtsp服务器
  2. 稀疏矩阵之python实现
  3. python协程框架_FastPy3.0 发布,高性能 python 协程web框架
  4. Oracle一定有sqlplus吗,oracle sqlplus执行sql文件
  5. 记一则Hadoop DataNode OOM故障,以及解决方案
  6. XML Schema ---complexType-----复合元素
  7. 关于Java交换两个对象的问题
  8. WPF自定义控件与样式(4)-CheckBox/RadioButton自定义样式
  9. PHP修复输入验证代码中的漏洞
  10. php页面源代码怎么优化,php代码优化及php相关问题总结
  11. python爬虫框架论文开题报告范文_基于Scrapy的分布式网络爬虫的设计与实现.doc...
  12. matlab 最小二乘法拟合_最小二乘法与高斯马尔科夫定理(无偏性、有效性)
  13. 可编程控制器的基本组成部分
  14. 优雅编程之项目注意这些,你就“正常”了(十七)
  15. 算法时间复杂度O(1)
  16. No country for old men 老无所依,从奥斯卡来说,我无所依
  17. 跑步耳机怎么选、最好用的跑步专用耳机分享
  18. Windows下部署ubuntu16.04+anaconda2.7+tensorflow
  19. APP 应用内活动运营,有哪些活动形式?
  20. Rails 用 RJS 简单有效的实现页面局部刷新

热门文章

  1. java指令_常用java的命令有哪些
  2. android busybox脚本,在BusyBox中创建和控制启动脚本
  3. equation buu
  4. html5 canvas 烟花,html5 canvas酷炫的烟花爆炸动画特效
  5. Android RxJava操作符的学习---组合合并操作符---从磁盘或内存缓存中获取缓存数据
  6. 西北工业大学计算机学院奖学金政策,西北工业大学本科生普通奖学金管理办法...
  7. RTMP服务器搭建实时视频直播
  8. 用R语言建立VAR模型预测中国移动美国股价
  9. python pptx_python python-pptx对pptx文件读取示例
  10. hbase周学习——赵俊杰