当你从测试环境切到生产环境,IP 网段也会跟着发生变化。对于已经部署好的 YashanDB YAC 共享集群来说,IP 更换就是一项必须要面对的挑战。

别担心,其实换 IP 没那么复杂,只需要分三步:改 yasboot、改数据库、改集群配置。

一、背景说明
某客户的 YAC 共享集群在测试网段部署完成后,需要整体切换到新的生产网段,因此涉及 IP 全部更新。这就需要同步修改相关组件的配置,保证集群可用、数据互通。

image.png
二、需要修改的组件
在换 IP 过程中,我们需要更新以下三个核心模块的配置信息:

1.yasboot 工具本身的配置

2.数据库配置文件中的互联参数

3.YCS 集群控制配置

三、操作步骤详解

  1. 修改 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

  1. 修改数据库配置(每个节点都需要)
    进入数据库配置文件所在目录:

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。

  1. 修改集群配置文件
    接下来要修改的是 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、再数据库、最后集群”的顺序操作,一般都能顺利切换。建议提前备份相关配置文件,尤其是在生产环境进行时,避免误操作。


数据库砖家
1 声望0 粉丝