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,可忽略该问题
- 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集群状态检查切换数据同步验证方法的主要内容,如果未能解决你的问题,请参考以下文章