- 测试场景
-
- KingbaseES 手工进行主备切换
测试项 | KingbaseES手工进行主备切换 |
测试步骤 | 1、模拟故障前,检验集群主备数据库运行是否正常; 2、在主节点查看可供切换的备节点 3、在主节点执行手工切换 4、检查主备库数据同步一致性。 |
测试过程 | 1检查集群状态 业务状态 业务状态正常 2在备节点执行手工切换 3检查主备库数据同步一致性 4 业务状态 业务状态正常 |
验收标准 | 满足3即表示检查通过。 |
验收结果 |
-
- KingbaseES主库正常停止
测试项 | KingbaseES主库正常停止 |
测试步骤 | 1、模拟故障前,检验集群主备数据库运行是否正常; 2、在主库上以kingbase用户执行命令停止数据库服务; 3、在备库节点上检查数据库,是否发生备切主; 4、业务侧检查业务是否正常(客户端连接数据库); 5、原库服务启动恢复后是否自动切换成备库; 6、检查主备库数据同步一致性。 |
测试过程 | 1检查集群状态 业务状态 业务状态正常 2使用kingbase用户停止主库 3 此时集群并没有发生切换 原因:在主库关闭后需要进行7次的连接验证,如果7次连接都失败才会切机,如果有一次连接成功不会切机,这里的参数设置为2秒连接一次,验证连接7次,等待14秒后,发生切机。 总结:切换节点,在这段时间里,业务会有连库失败的情况。这个参数可以调整,把检测时间缩短,减小切换过程连库失败的影响时间。 此时已经发生切换,原主库停机,备库切换为新主库。 4 将备库拉起,查看集群状态 已经以备库方式自动加入集群。 5检查主备库数据同步一致性 业务状态 业务状态正常 |
验收标准 | 1、主库进程被停止后,备库切主正常; 2、原主库恢复后,自动切成备,数据正常同步; 3、主备切换业务正常提供服务。 满足1、2、3即表示检查通过。 |
验收结果 |
-
- KingbaseES主库异常停止
测试项 | KingbaseES主库异常停止 |
测试步骤 | 1、模拟故障前,检验集群主备数据库运行是否正常; 2、在主库上以kingbase用户执行kill命令杀掉数据库服务; 3、在备库节点上检查数据库,是否发生备切主; 4、业务侧检查业务是否正常(客户端连接数据库); 5、原库启动恢复后是否自动切换成备库; 6、检查主备库数据同步一致性。 |
测试过程 | 1 检查集群状态 业务状态 业务状态正常 2 kill 数据库进程 3此时数据并没有发生切换 原因:在主库关闭后需要进行7次的连接验证,如果7次连接都失败才会切机,如果有一次连接成功不会切机,这里的参数设置为2秒连接一次,验证连接7次,等待14秒后,发生切机。 总结:切换节点,在这段时间里,业务会有连库失败的情况。这个参数可以调整,把检测时间缩短,减小切换过程连库失败的影响时间。 图后面已经成功切换
检查数据库一致性: 业务状态 业务状态正常 |
验收标准 | 1、主库进程被杀掉后,备库切主正常; 2、原主库恢复后,自动切成备,数据正常同步; 3、主备切换业务正常提供服务。 满足1、2、3即表示检查通过。 |
验收结果 |
-
- KingbaseES备库正常停止
测试项 | KingbaseES备库正常停止 |
测试步骤 | 1、模拟故障前,检验集群主备数据库运行是否正常; 2、在备库上以kingbase用户执行命令停止数据库服务; 3、业务侧检查业务是否正常(客户端连接数据库); 4、原备库服务启动恢复后是否自动切换成备库; 5、检查主备库数据同步一致性。 |
测试过程 | 1查看集群状态 业务状态 业务状态正常 2手动停止备库 3 备库自动恢复,通过日志查看详细备库恢复操作,查看集群状态 原备库启动之后恢复为备库。 业务状态 业务状态正常 |
验收标准 | 1、备库进程被停止后,不发生切换,主备服务正常; 2、原备库恢复后,自动切成备(备库自动增量同步),数据正常同步; 3、主备切换业务正常提供服务。 满足1、2、3即表示检查通过。 |
验收结果 |
-
- KingbaseES备库异常停止
测试项 | KingbaseES备库异常停止 |
测试步骤 | 1、模拟故障前,检验集群主备数据库运行是否正常; 2、在备库上以kingbase用户执行kill命令杀掉数据库服务; 3、业务侧检查业务是否正常(客户端连接数据库); 4、原备库恢复后是否自动切换成备库; 5、检查主备库数据同步一致性。 |
测试过程 | 1检查集群状态 业务状态 业务状态正常 2使用kingbase用户kill 数据库进程 3备库自动恢复,查看集群状态 业务状态 业务状态正常 |
验收标准 | 1、备库进程被停止后,不发生切换,主备服务正常; 2、原备库恢复后,自动切成从,数据正常同步; 3、主备切换业务正常提供服务。 满足1、2、3即表示检查通过。 |
验收结果 |
- 测试结论
通过上面场景测试总结如下:
测试项 | 测试子项 | 测试结果 |
模拟主节点异常 | KingbaseES主库正常停止 | 通过 |
KingbaseES主库异常停止 | 通过 | |
模拟单个备节点异常 | KingbaseES备库正常停止 | 通过 |
KingbaseES备库异常停止 | 通过 |