当你从测试环境切到生产环境,IP 网段也会跟着发生变化。对于已经部署好的 YashanDB YAC 共享集群来说,IP 更换就是一项必须要面对的挑战。
别担心,其实换 IP 没那么复杂,只需要分三步:改 yasboot、改数据库、改集群配置。
一、背景说明
某客户的 YAC 共享集群在测试网段部署完成后,需要整体切换到新的生产网段,因此涉及 IP 全部更新。这就需要同步修改相关组件的配置,保证集群可用、数据互通。
二、需要修改的组件
在换 IP 过程中,我们需要更新以下三个核心模块的配置信息:
1.yasboot 工具本身的配置
2.数据库配置文件中的互联参数
3.YCS 集群控制配置
三、操作步骤详解
- 修改 yasboot 的 IP 配置
如果你的集群是通过 yasboot 部署的,需要先修改 yasom 和 yasagent 的 IP 信息。
在部署节点上执行以下命令(以实际 IP 替换示例地址):
修改 yasom 的 IP
yasboot ipchange yasom -t hosts.toml -n 10.149.240.43
修改第一个节点的 agent
yasboot ipchange yasagent -t hosts.toml -n 10.149.240.43 --host-id host0001
修改第二个节点的 agent
yasboot ipchange yasagent -t hosts.toml -n 10.149.240.42 --host-id host0002
- 修改数据库配置(每个节点都需要)
进入数据库配置文件所在目录:
cd $YASDB_DATA/config
vi yasdb.ini
将原来的互联 IP 修改为新的网段,例如:
原配置
CLUSTER_INTERCONNECT=10.149.237.169:1689
改为新 IP
CLUSTER_INTERCONNECT=10.149.240.43:1689
另一个节点同理,将 .170 改为 .240.42。
- 修改集群配置文件
接下来要修改的是 YCS 的集群控制配置。这个过程需要暂时关闭整个集群,所以建议在业务低峰期操作。
步骤如下:
1、查看当前配置:
ycsctl show config
2、导出配置:
ycsctl export /tmp/
3、编辑导出的脚本 /tmp/ycrbackup.sh,将脚本中旧的 IP 地址全部替换为新的地址:
例如:
把 10.149.237.169 改成 10.149.240.43
把 10.149.237.170 改成 10.149.240.42
其他内容不用改。
4、停掉整个集群(两个节点都要执行):
ycsctl stop instance
ycsctl stop ycs
如果停不下来,可以强制 kill:
kill -9 <ycs相关进程>
5、导入修改后的配置:
ycsctl import /tmp/ycrbackup.sh
6、重启集群,完成 IP 更换。
四、总结建议
共享集群 IP 更换虽然步骤多,但只要按照“先 yasboot、再数据库、最后集群”的顺序操作,一般都能顺利切换。建议提前备份相关配置文件,尤其是在生产环境进行时,避免误操作。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。