KingbaseES V8R3集群运维案例之---修改节点ip
案例说明:
在KingbaseES V8R3集群部署完成后,需要修改节点ip(物理ip和vip等),案例描述了相关配置文件配置项的修改。此案例为通用机环境,专用机环境可以参考。
适用版本:
KingbaseES V8R3
一、集群IP修改步骤
- 首先确定修改后的网关IP、所有节点主机IP、集群管理VIP、数据库连接VIP。
- 检查集群服务状态,确保集群服务及主备复制服务正常;通过kingbase_monitor.sh stop一键停止集群和数据库服务。
- 通过配置文件修改所有节点集群管理VIP和数据库连接VIP,并检查配置文件修改是否正确。
- 通过配置文件修改所有节点网关IP、节点(管理节点和数据节点)本地IP、修改集群管理节点IP,并检查配置文件修改是否正确。
- 通过配置修改recovery.done、recovery.conf文件,并检查配置文件修改是否正确。
- 通过配置文件修改cluster_hba.conf、sys_hba.conf文件,并检查配置文件修改是否正确。
- 修改所有节点hosts文件。
- 修改所有节点网卡物理IP,并重新启动网络服务,确保新的IP可用。
- 测试root和kingbase用户的ssh互信,确保ssh互信正常。
- 通过kingbase_monitor.sh start一键启动集群和数据库服务。
- 检查集群节点和数据库服务的状态,检查数据库连接和访问。
- 完成IP地址修改。
二、集群IP修改对应配置文件及参数
2.1 集群IP相关配置文件
数据库节点shell脚本配置文件:
1)配置文件路径(其中kdb为集群部署名称)
[kingbase@srv1 etc]$ pwd
/home/kingbase/cluster/kdb/db/etc
2)相关配置文件
[kingbase@srv1 etc]$ ls -lh
-rw-r--r-- 1 kingbase kingbase 1.6K 11月 17 14:00 HAmodule.conf
-rw-r--r-- 1 kingbase root 184 11月 9 15:19 recovery.done
-rw-r--r-- 1 kingbase root 184 11月 9 15:19 recovery.conf
…….
# HAmodule.conf : 存储所有集群shell脚本中读取的Database相关公共配置项(存在所有节点)
# recovery.done : 一般存在于主库端,记录主备切换时备库连接主库的信息
# recovery.conf : 应用在备库,记录主备切换时备库连接主库的信息
集群节点配置文件:
1)配置文件路径(其中kdb为集群部署名称)
[kingbase@srv1 etc]$ pwd
/home/kingbase/cluster/kdb/kingbasecluster/etc
2)相关配置文件
[kingbase@srv1 etc]$ ls -lh
-rw-r--r-- 1 kingbase root 3.4K 11月 9 15:19 cluster_hba.conf
-rw-r--r-- 1 kingbase kingbase 1.6K 11月 17 14:00 HAmodule.conf
-rw-r--r-- 1 kingbase kingbase 35K 11月 17 14:00 kingbasecluster.conf
…….
# HAmodule.conf : 存储所有集群shell脚本中读取的Cluster相关公共配置项(只存在管理节点)
# kingbasecluster.conf : 存储集群管理节点下Cluster的相关配置信息(只存在管理节点)
# cluster_hba.conf: 存储备库连接主库的认证信息(只存在管理节点)
数据库主备复制认证文件:
1)配置文件路径(其中kdb为集群部署名称)
[kingbase@srv1 data]$ pwd
/home/kingbase/cluster/kdb/db/data
2)相关配置文件
[kingbase@srv1 data]$ ls -lh sys_hba.conf
-rw------- 1 kingbase kingbase 4.5K 11月 18 11:46 sys_hba.conf
# sys_hba.conf: 主备流复制认证文件
三、集群IP配置文件配置项
3.1 HAmodule.conf
KB_GATEWAY_IP='192.168.2.1' # 网关地址
KB_LOCALHOST_IP="192.168.2.3" # 本节点的host IP
KB_VIP="192.168.2.254/24" # Database VIP
KB_POOL_VIP="192.168.2.253" # Cluster VIP
KB_ALL_IP=(192.168.2.2 192.168.2.3) # 集群所有节点的host IP
KB_POOL_IP1="192.168.2.2" # 集群管理节点1的 IP
KB_POOL_IP2="192.168.2.3" # 集群管理节点2 的IP
3.2 kingbasecluster.conf
delegate_IP='192.168.2.253' # Cluster VIP
if_up_cmd='ip addr add 192.168.2.253/24’ # 加载Cluster VIP
if_down_cmd='ip addr del 192.168.2.253/24’ # 卸载Cluster VIP
trusted_servers='192.168.2.1' # 网关地址
arping_cmd='arping -U 192.168.2.253 -I enp0s8 -w 1 -c 1' # arping Cluster VIP
heartbeat_destination0='192.168.2.2' # 管理节点1的IP
other_kingbasecluster_hostname0='192.168.2.3' # 管理节点2的IP
backend_hostname0='192.168.2.2' # 数据节点1的IP
backend_hostname1='192.168.2.3' # 数据节点1的IP
wd_hostname='192.168.2.2' # watchdog 通讯IP
3.3 sys_hba.conf
Tips:
在此文件修改中,修改IP时,子网掩码一般不用修改,用集群部署工具部署后,IP子网掩码直接配置为16,子网掩码为16,用于局域网通讯足够,无需修改。
# Allow replication connections from localhost, by a user with the
# replication private
host all SYSTEM 192.168.2.2/16 md5 #集群主备流复制节点IP
host replication SYSTEM 192.168.2.2/16 md5
host all SYSTEM 192.168.2.3/16 md5
host replication SYSTEM 192.168.2.3/16 md5
3.4 recoery.done和recorery.conf
primary_conninfo='port=54321 host=192.168.2.2 user=SYSTEM password=MTIzNDU2 application_name=node2'
# 此文件的IP的地址,是主库的IP,用于备库连接。IP在用kingbase_monitor.sh启动集群后,自动被修改,故在修改IP时,不用修改。
3.5 cluster_hba.conf
# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 192.168.8.0/24 md5
host all all 0.0.0.0/0 md5
host all all ::1/128 md5
host all all 192.168.1.2/16 md5
#此192.168.1.2为部署完成后主库的IP,在此配置应该无实际意义,在前一个配置”host all all 0.0.0.0/0 md5”项已经覆盖了该配置,IP地址可以不用修改。
四、总结
对所有节点相关的配置文件修改后,重启集群验证。
- 对于集群IP修改,需要提前规划好需要使用的IP。
- 集群IP修改需要停机时间,需要提前申请停机窗口。
- 集群IP修改具有一定的风险,提前做好数据的备份。
- 通过配置文件修改IP后,要做好相应的检查,确定无误后再修改主机IP,重启集群服务。
- 此文档的测试是在CentOS 7的环境下,其他系统的环境,需要在使用时按照环境灵活修改。
- 此文档操作适用于KingbaseES V8R3通用版本的环境,对于专用机版本可以参考。
- 按照文档修改生产环境配置,在使用时,请提前做好测试。
KINGBASE研究院