VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

数据库意外终止

主库

处理时序图:

处理过程说明:

序号 类型 执行方 操作过程说明 如何验证成功
1 自动 HAS 由HAS自动启动数据库服务,分为三种情况: 数据库服务重启成功,并且作为主库重新加入集群,进入步骤10。 数据库服务重启成功,但是以异步备库重新加入集群,进入步骤5。 数据库服务重启失败,进入步骤2~9。
2 自动 HAS 原同步备库升级为主库。 在原同步备库上执行数据库主备角色检查命令,此时检查结果应是主库。 通过vsql连接数据库。 执行数据库流复制状态检查命令,可以看到原异步备库的sync_state为Sync。 调用HAS状态查看命令,查看集群状态,此时集群状态应为一主一同步备,并且leader为原同步备库。 分别在三个节点上执行查看网络接口命令,发现vip绑定在原主库以及同步备库节点上。
3 自动 HAS 原异步备库升级为同步备库。
4 人工 DBA 通过kill -9 杀掉HAS进程,HAS进程终止时自动释放vip。 通过日志等手段排查该节点实际问题并处理。 执行HAS进程状态检查命令 。 分别在三个节点上执行查看网络接口命令,发现vip绑定在同步备库节点上。
5 人工 DBA 调用HAS启动命令。 通过vsql连接数据库。 执行数据库流复制状态检查命令,可以看到原主库的sync_state为Async,原异步备库的sync_state为Sync。 调用HAS状态查看命令,查看集群状态,此时集群状态应为一主一同步备一异步备,并且leader为原同步备库。
6 人工 DBA 调用HAS关闭命令。 通过vsql连接数据库。 执行数据库流复制状态检查命令,可以看到原主库的sync_state为Sync,原异步备库关闭。 调用HAS状态查看命令,查看集群状态,此时集群状态应为一主一同步备,并且leader为原同步备库。
7 自动 HAS 异步备升级为同步备。
8 人工 DBA 调用HAS启动命令。 通过vsql连接数据库。 执行数据库流复制状态检查命令,可以看到原主库的sync_state为Sync,原异步备库的sync_state为Async。 调用HAS状态查看命令,查看集群状态,此时集群状态应为一主一同步备一异步备,并且leader为原同步备。 分别在三个节点上执行查看网络接口命令,发现vip绑定在原同步备库节点上。
9 人工 DBA 执行主备切换命令。 通过vsql连接数据库。 执行数据库流复制状态检查命令,可以看到原同步备库库的sync_state为Sync,异步备库的sync_state为Async。 调用HAS状态查看命令,查看集群状态,此时集群状态应为一主一同步备一异步备,并且leader为原主库。

同步备库

处理时序图:

处理过程说明:

序号 类型 执行方 操作过程说明 如何验证成功
1 自动 HAS 出现故障短时间内由HAS自动启动数据库服务,有可能成功,也有可能失败,如果成功,集群恢复正常(状态与最初相同),否则进入序号2。
2 自动 HAS 异步备库自动升级为同步备库。 通过vsql连接数据库。 执行数据库流复制状态检查命令,可以看到原异步备库的sync_state为Sync。 调用HAS状态查看命令,查看集群状态,此时集群状态应为一主一同步备,并且leader为原主库。
3 人工 DBA 通过kill -9 杀掉HAS进程。 通过日志等手段排查该节点实际问题并处理。 执行HAS进程状态检查命令。
4 人工 DBA 调用HAS启动命令。 通过vsql连接数据库。 执行数据库流复制状态检查命令,可以看到原同步备库的sync_state为Async,原异步备库的sync_state为Sync。 调用HAS状态查看命令,查看集群状态,此时集群状态应为一主一同步备一异步备,并且leader为原主库。
5 人工 HAS 调用HAS关闭命令。 通过vsql连接数据库。 执行数据库流复制状态检查命令,可以看到原同步备库的sync_state为Sync,原异步备库关闭。 调用HAS状态查看命令,查看集群状态,此时集群状态应为一主一同步备,并且leader为原主库。
6 自动 HAS 异步备库(原同步备库)自动升级为同步备库。
7 人工 HAS 调用HAS启动命令。 通过vsql连接数据库。 执行数据库流复制状态检查命令,可以看到原同步备库的sync_state为Sync,原异步备库的sync_state为Async。 调用HAS状态查看命令,查看集群状态,此时集群状态应为一主一同步备一异步备,并且leader为原主库。

异步备库

处理时序图:

处理过程说明:

序号 类型 执行方 操作过程说明 如何验证成功
1 自动 HAS 由HAS自动启动数据库服务,有可能成功,也有可能失败,如果成功,进入序号4,否则进入序号2~3。
2 人工 DBA 通过kill -9 杀掉HAS进程。 通过日志等手段排查该节点实际问题并处理。 执行HAS进程状态检查命令。
3 人工 DBA 调用HAS启动命令。 通过vsql连接数据库。 执行数据库流复制状态检查命令,可以看到原同步备库的sync_state为Sync,原异步备库的sync_state为Async。 调用HAS状态查看命令,查看集群状态,此时集群状态应为一主一同步备一异步备,并且leader为原主库。
4 自动 HAS