HAC集群状态检查切换数据同步验证方法

Posted 瀚高PG实验室

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HAC集群状态检查切换数据同步验证方法相关的知识,希望对你有一定的参考价值。

瀚高数据库
目录
文档用途
详细信息

文档用途
本文档为Highgo Database HAC集群状态检查、切换、数据同步验证方法,适用于Highgo Database HAC集群操作指导。

详细信息
1.hac集群状态检查

hac集群状态可使用hghactl list命令进行查验,如未配置环境变量需采用命令绝对地址,如:/opt/HighGo/tools/hghac/hghactl -c /opt/HighGo/tools/hghac.yaml list进行查看(命令绝对地址需根据实际情况进行更改),正常状态可参考下图

各参数释义

member      集群中各节点名称

host       集群中各节点地址及其对应端口

role       集群中各节点对应角色,分为leader和replica,leader为主库,replica为备库

state      集群中各节点运行状态,正常应为running

TL        集群中各节点时间线

lag in MB   集群备节点与主节点数据库差异,正常状态应为0,有时因网络、磁盘IO等因素影响可能出现短暂情况的非0状态,如后续变为0,可忽略该问题
  1. hac集群切换

集群主备切换可采用以下两种方式进行切换

①使用hghactl命令切换

hghactl switchover 集群名称

集群名称可通过hghactl list或cat hghac.yaml |gerp scope获取

hghactl list查看的结果中cluster:后边的内容即为集群名称

cat hghac.yaml |gerp scope 输出内容中scope后的内容即为集群名称

hghactl switchover 命令执行后会有出现交互,按照回车–要提升为主节点的备节点名称-回车–键入y的步骤操作即可,详细步骤如下所示

[root@hgdw1 ~]# hghactl  switchover  ha

Master [hgdw1]:

Candidate ['hgdw2', 'hgdw3'] []: hgdw2

When should the switchover take place (e.g. 2022-01-27T11:35 )  [now]:

Current cluster topology

+ Cluster: ha (7003164437309707046) -----+---------+----+-----------+

| Member | Host                | Role    | State   | TL | Lag in MB |

+--------+---------------------+---------+---------+----+-----------+

| hgdw1  | 192.168.197.11:5866 | Leader  | running | 36 |           |

| hgdw2  | 192.168.197.12:5866 | Replica | running | 36 |         0 |

| hgdw3  | 192.168.197.13:5866 | Replica | running | 36 |         0 |

+--------+---------------------+---------+---------+----+-----------+

Are you sure you want to switchover cluster ha, demoting current master hgdw1? [y/N]: y

2022-01-27 10:36:03.72721 Successfully switched over to "hgdw2"

+ Cluster: ha (7003164437309707046) -----+---------+----+-----------+

| Member | Host                | Role    | State   | TL | Lag in MB |

+--------+---------------------+---------+---------+----+-----------+

| hgdw1  | 192.168.197.11:5866 | Replica | stopped |    |   unknown |

| hgdw2  | 192.168.197.12:5866 | Leader  | running | 36 |           |

| hgdw3  | 192.168.197.13:5866 | Replica | running | 36 |        16 |

+--------+---------------------+---------+---------+----+-----------+

切换完后,原主节点会停止,然后被拉起以备节点的状态加入集群中,再次查看集群状态,即恢复正常。

②使用systemctl restart hghac/hghac-vip进行切换

在主节点上执行systemctl restart hghac/hghac-vip可使主备发生切换,执行该命令后hghac会通过比较备节点的健康情况选举最健康的节点提升为主节点,该方法提升备节点存在不确定性,即多个备节点情况下,无法指定某个备节点提升为主,hghac会内部投票选举最健康节点提升为主节点。具体操作如下

查看现在主节点

hghactl list

在主节点上执行systemctl restart hghac

查看切换后的集群状态

3.数据同步验证方法

①主节点查看流复制状态

psql  highgo sysdba

select * from pg_stat_replication;

查看各备节点状态是否正常,重点观察state,write_lag,flush_lag,replay_lag,sync_state参数值。

②新建测试表,插入部分数据,在备段进行查询

以上是关于HAC集群状态检查切换数据同步验证方法的主要内容,如果未能解决你的问题,请参考以下文章

HAC集群状态检查切换数据同步验证方法

HAC集群修改管理员用户密码

HAC集群修改为单机

HAC集群修改为单机

HAC集群修改管理员用户密码

HAC集群修改管理员用户密码