openGauss
开源数据库
openGauss社区官网
开源社区
Mogdb备机处于standby need-repair(WAL)状态怎么处理
2023-04-30openGauss安装
Mogdb 备机处于 standby need-repair 状态怎么处理?
背景介绍:
Mogdb 主备环境,备机检查发现 Standby Need repair 故障。
报错原因:
因网络故障、磁盘满等原因造成主备实例连接断开,主备日志不同步,导致数据库集群在启动时异常。
主备状态检查:
bash
[root@hostname data]# ptk cluster -n mogdb12 status
[ Cluster State ]
cluster_name : mogdb12
cluster_state : Degraded
database_version : MogDB 3.0.0 (build 62408a0f)
[ Datanode State ]
cluster_name | id | ip | port | user | nodename | db_role | state | upstream
---------------+------+--------------+-------+-------+----------+---------+------------------------------------+-----------
mogdb12 | 6001 | ***.***.***.*** | 26007 | omm12 | dn_6001 | primary | Normal | -
| 6002 | ***.***.***.*** | 26007 | omm12 | dn_6002 | standby | Need repair(System id not matched) | -
解决办法:
通过 gs_ctl build -D 命令对故障节点进行重建。在此例中我们切换到 need repair 的主机上,执行如下命令进行修复:
gs_ctl build -D /home/omm12/mogdb/data
恢复后主备状态检查:
[root@hostname data]# ptk cluster -n mogdb12 status
[ Cluster State ]
cluster_name : mogdb12
cluster_state : Normal
database_version : MogDB 3.0.0 (build 62408a0f)
[ Datanode State ]
cluster_name | id | ip | port | user | nodename | db_role | state | upstream
---------------+------+--------------+-------+-------+----------+---------+--------+-----------
mogdb12 | 6001 | ***.***.***.*** | 26007 | omm12 | dn_6001 | primary | Normal | -
| 6002 | ***.***.***.*** | 26007 | omm12 | dn_6002 | standby | Normal | -