跳到主要内容

调整允许的corosync网络波动时间操作步骤

编写人编写内容编写时间
段应寿初稿2023-06-08

调整允许的corosync网络波动时间仅需修改repmgr.conf配置文件,重启kbha和repmgrd进程,无需停止数据库,也不影响上层业务运行。按如下步骤修改配置并重启服务,经过本次修改重启后,允许的网络波动时间将从20秒增加到50秒。

停止observer,防止修改配置过程中触发跨中心切换

  1. 在observer节点查看集群状态是否正常,保证集群状态正常的情况下进行后续操作;

在observer节点使用如下命令查看集群状态:

./repmgr cluster show

如上图所示,可以看到生产中心和灾备中心的信息均能查询到,其各节点状态均正常,此时可以进行后续步骤。

  1. 停止observer;

使用如下命令停止observer,防止重启高可用服务时进行跨中心切换。

./ha_ctl.sh observer stop

修改生产中心配置,并重启kbha服务和repmgrd服务

在第一个节点上执行如下步骤

  1. 登录机器节点修改配置文件,具体为修改etc/repmgr.conf文件;

将repmgr.conf文件中的如下内容:

reconnect_attempts=5
reconnect_interval=6

替换为

reconnect_attempts=6
reconnect_interval=10
vim etc/repmgr.conf

  1. 停止kbha服务

使用如下命令停止kbha服务:

./ha_ctl.sh kbha stop

kbha 服务成功停止后,使用如下命令找到repmgrd的进程id,使用kill结束repmgrd进程。

ps -ef | grep repmgrd
kill pid

注意:非数据库节点没有repmgrd进程,则不需要结束repmgrd进程,仅重启kbha即可。

repmgrd停止后,使用如下命令确认repmgrd服务已停止。

./repmgr service status

  1. 重启kbha服务

执行如下命令重启kbha。

./ha_ctl.sh kbha start

repmgrd进程无需手动重启,kbha会自动启动repmgrd进程。

使用如下命令确认repmgrd进程已启动,待repmgrd进程启动后再进行后续步骤。

./repmgr service status

如上图所示repmgrd状态为running,且有有效的pid时,表面repmgrd已正常启动。

kbha和repmgrd重启成功后,查看本中心集群状态,确保集群状态正常,且查询无警告或报错,再进行后续步骤。

./repmgr cluster show

对中心内的其他节点按顺序重复以上步骤

每个节点都需要修改配置并重启kbha服务,且其操作步骤与第一个节点操作步骤相同。

若集群查询有告警或报错,可以在重启后等待几秒,待集群内部状态稳定后再进行后续操作。

修改灾备中心配置,并重启kbha服务和repmgrd服务

依次登录灾备中心的各个节点,执行和生产中心相同的步骤修改配置并重启kbha和repmgrd。

重启observer

待生产中心和灾备中心配置均修改完成后,修改observer配置并重启。

编辑repmgr.conf文件,修改如下配置参数:

tptc_corosync_reconnect_attempts=5
tptc_corosync_reconnect_interval=6

修改为:

tptc_corosync_reconnect_attempts=6
tptc_corosync_reconnect_interval=10

配置修改完成后,使用如下命令重启observer。

./ha_ctl.sh observer start

能正常查询到各中心集群信息,且各节点正常,则本次配置修改完成。