主库和同步备库下线维护
处理时序图:
处理过程说明:
序号 | 类型 | 执行方 | 操作过程说明 | 如何验证成功 |
---|---|---|---|---|
1 | 人工 | DBA | 执行HAS停止命令,停止HAS和数据库服务。 停止DCS进程,执行DCS停止命令 。 | 执行HAS进程检查命令。 执行数据库状态检查命令。 执行DCS进程检查命令。 |
2 | 自动 | HAS | 通过vsql连接数据库。 执行数据库流复制状态检查命令,可以看到原异步备库的sync_state为Sync。 调用HAS状态查看命令,查看集群状态,此时集群状态应为一主一同步备,并且leader为原主库。 | |
3 | 人工 | DBA | 调用HAS节点切换命令*,*原异步备为主库。 | 在原主库和原异步库上执行数据库主备角色检查命令,此时原异步备库已成为主库,原主库已切换为备库。 通过vsql连接数据库。 执行数据库流复制状态检查命令,此时原主库的sync_state为Sync。 调用HAS状态查看命令,查看集群状态,此时集群状态应为一主一同步备,并且leader为原异步备库。 分别在两个个节点上执行查看网络接口命令,发现vip绑定在原异步备库节点上。 |
4 | 自动 | HAS | ||
5 | 人工 | DBA | 执行HAS停止命令,停止HAS和数据库服务。 停止DCS进程,执行DCS停止命令 。 | 执行HAS进程检查命令。 执行数据库状态检查命令。 执行DCS进程检查命令。 |
6 | 人工 | DBA | 调用HAS停止命令停止HAS和数据库服务。 调用数据库启动命令,自动以主库运行。 通过VIP添加命令使主库通过VIP继续对外提供服务。 | 在原异步备库上执行数据库主备角色检查命令,此时检查结果应是主库。 在原异步备库节点上执行查看网络接口命令,发现vip绑定在原异步备库节点上。 |
7 | 人工 | DBA | 启动集群节点主机。 | 通过ssh访问节点主机。 |
8 | 人工 | DBA | 启动DCS软件,调用DCS启动命令,如果DCS节点无法启动(可以启动则忽略),需要重构DCS节点,步骤如下: 删除主库上DCS的数据。 配置三台机器上的DCS和故障节点的HAS,参考部署文档。 通过DCS启动命令启动所有节点的DCS。 | 调用DCS集群状态查看命令检查DCS集群是否健康。 |
9 | 人工 | DBA | 调用HAS启动命令 。 | 在原异步备库上执行数据库主备角色检查命令,此时检查结果应是主库。 调用HAS状态查看命令,查看集群状态,此时集群状态应为一主,并且leader为原异步备库。 在原异步备库节点上执行查看网络接口命令,发现vip绑定在原异步备库节点上。 |
10 | 人工 | DBA | 以同步备库加入集群,调用HAS启动命令。 | 通过vsql连接数据库。 执行数据库流复制状态检查命令,可以看到原主库的sync_state为Sync。 调用HAS状态查看命令,查看集群状态,此时集群状态应为一主一同步备,并且leader为原异步备库。 分别在两个个节点上执行查看网络接口命令,发现vip绑定在原异步备库节点上。 |
11 | 人工 | DBA | 以异步备库加入集群,调用HAS启动命令。 | 通过vsql连接数据库。 执行数据库流复制状态检查命令,可以看到原主库的sync_state为Sync,原同步备库的sync_state为Async。 调用HAS状态查看命令,查看集群状态,此时集群状态应为一主一同步备一异步备,并且leader为原异步备库。 分别在三个节点上执行查看网络接口命令,发现vip绑定在原异步备库节点上。 |
12 | 人工 | DBA | 调用HAS节点切换命令,同步备(原主库)切换为主库。 | 通过vsql连接数据库。 执行数据库流复制状态检查命令,可以看到原同步备库的sync_state为Sync,原异步备库的sync_state为Async。 调用HAS状态查看命令,查看集群状态,此时集群状态应为一主一同步备一异步备,并且leader为原主库。 |
13 | 自动 | HAS | 异步备库(原同步备库)自动切换为同步备库。 | |
14 | 自动 | HAS | 主库(原异步备库)自动切换为异步备库。 |