获取mon map
1
| ceph mon getmap -o monmap
|
查看mon map:
1 2 3 4 5 6 7 8 9 10
| root@xjcc-1-80:~/piglet/mon# monmaptool --print monmap monmaptool: monmap file monmap epoch 3 fsid 977b0814-6472-45ec-9d89-914c6cf0daf7 last_changed 2020-11-19T15:10:24.859843+0800 created 2020-11-19T02:34:26.993044+0800 min_mon_release 15 (octopus) 0: [v2:10.99.80.1:3300/0,v1:10.99.80.1:6789/0] mon.xjcc-1-80 1: [v2:10.99.80.2:3300/0,v1:10.99.80.2:6789/0] mon.xjcc-2-80 2: [v2:10.99.80.3:3300/0,v1:10.99.80.3:6789/0] mon.xjcc-3-80
|
删除旧的map配置,添加新的map
修改前,先保存一份用于备份恢复
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| monmaptool --rm {nodename} --rm {nodename} --rm {nodename} monmap
添加新ip配置: monmaptool --add {nodename} {ip}:6789 --add {nodename} {ip}:6789 --add {nodename} {ip}:6789 monmap
查看修改后的monmap: root@xjcc-1-80:~/piglet# monmaptool --print monmap monmaptool: monmap file monmap epoch 3 fsid 977b0814-6472-45ec-9d89-914c6cf0daf7 last_changed 2020-11-19T15:10:24.859843+0800 created 2020-11-19T02:34:26.993044+0800 min_mon_release 15 (octopus) 0: v1:10.100.80.1:6789/0 mon.xjcc-1-80 1: v1:10.100.80.2:6789/0 mon.xjcc-2-80 2: v1:10.100.80.3:6789/0 mon.xjcc-3-80
|
注入前预处理
(1)修改ceph.conf 中的ip地址为新的ip地址,并将配置文件更新至所有节点,monmap拷贝至mon节点即可
1 2 3 4 5 6 7 8 9 10 11
| vi /etc/ceph/ceph.conf mon_host = ip1,ip2,ip3 public_network = 10.100.64.0/18
----------------------------
更新ceph.conf至所有节点 scp /etc/ceph/ceph.conf root@{nodename}:/etc/ceph/
拷贝monmap至所有mon节点,以备后续的注入 scp monmap root@{nodename}:/root
|
(2)将集群设置noout,防止重启osd,重平衡带来的负载,若有recover,尽量等recover修复好再进行操作,防止osd拉不起或者损坏带来的数据丢失。
(3)停止所有的mon服务
1 2
| 去各自的mon节点执行停止服务 systemctl stop ceph-mon@{nodename}
|
注入新的monmap
1 2 3 4 5 6 7 8 9 10 11
| 去到各自的mon节点,执行
ceph-mon -i {nodename} --inject-monmap /root/monmap
查看修改后的mon状态: root@xjcc-1-80:~/piglet# ceph mon stat e5: 3 mons at{ xjcc-1-80=[v2:10.100.80.1:3300/0,v1:10.100.80.1:6789/0], xjcc-2-80=[v2:10.100.80.2:3300/0,v1:10.100.80.2:6789/0], xjcc-3-80=[v2:10.100.80.3:3300/0,v1:10.100.80.3:6789/0]}, election epoch 72, leader 0 xjcc-1-80, quorum 0,1,2 xjcc-1-80,xjcc-2-80,xjcc-3-80
|
重启所有服务
1 2
| 重启每个节点对应角色的target服务,如osd节点: systemctl restart ceph-osd.target
|