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