更新时间:2024-07-23
功能说明
DMP支持Oracle、MySQL、PostgreSQL数据库实例的故障自愈,数据库实例发生故障(如节点异常关机、后台进程被kill)时可自动实现分钟级的修复和拉起。
表32MySQL故障自愈场景
场景序号 |
场景说明 |
处理说明 |
场景1 |
单机库异常 |
1. 检测数据库状态是否异常。 2. 若识别到异常,重启数据库。 3. 重启数据库后,再次检测数据库是否异常。 4. 若依旧异常,重启 DBVM。 5. 若重启 DBVM 后依旧异常,则无法自愈。 |
场景2 |
Master异常 Slave正常 |
1. 切换前检查主从同步一致性和同步延迟。 2. 切换完成后,业务恢复。 3. 故障自愈介入,尝试修复原主,并将其作为新的从库重新加入到集群中。 |
场景3 |
Master异常 Slave异常 |
1. 尝试拉起Master。 2. 若拉起成功,Slave进入故障自愈流程。 3. 若拉起失败,需要人工介入。 |
场景4 |
Master正常 Slave异常 |
1. 通过多次检测,确定Slave异常。 2 .将Slave进行驱逐。 3 .故障自愈介入,尝试修复Slave节点,并将其重新加入到集群中。 |
表33Oracle故障自愈场景
场景序号 |
场景说明 |
处理说明 |
场景1 |
RAC 单节点异常 |
修复异常节点并重组RAC。 |
场景2 |
RAC 两节点故障 |
1. 故障节点一一拉起。 2. 重组RAC,重启RAC服务。 |
场景3 |
RAC 服务器异常 |
尝试修复损坏的服务。 |
场景4 |
磁盘组异常 |
1. 重新扫描磁盘组 2. 尝试修复磁盘组,再由RAC进行修复。 |
表34PostgreSQL故障自愈场景
场景序号 |
场景说明 |
处理说明 |
场景1 |
单机异常 |
1. 检测数据库状态是否异常。 2. 若识别到异常,重启数据库。 3. 重启数据库后,再次检测数据库是否异常。 4. 若依旧异常,重启 DBVM。 5. 若重启 DBVM 后依旧异常,则无法自愈。 |
场景2 |
Master异常 Slave正常 |
1. 切换前检查主从同步一致性和同步延迟。 2. 切换完成后,业务恢复。 3. 故障自愈介入,尝试修复原主,并将其作为新的从库重新加入到集群中。 |
场景3 |
Master异常 Slave异常 |
1. 尝试拉起Master。 2. 若拉起成功,Slave进入故障自愈流程。 3. 若拉起失败,需要人工介入。 |
场景4 |
Master正常 Slave异常 |
1. 通过多次检测,确定Slave异常。 2 .将Slave进行驱逐。 3 .故障自愈介入,尝试修复Slave节点,并将其重新加入到集群中。 4. 若修复失败,从库尝试执行pg_rewind同步主库数据,如果pg_rewind失败,会执行pg_basebackup重做从库。 |
前提条件
- 数据库状态为“运行中”。
- 数据库未进入“维护模式”。
- DMP平台未开启“维护模式”。
注意事项
故障自愈不一定能自愈所有场景,当自愈失败时需要人工介入。
操作步骤
在[数据库]页面,点击对应数据库名称,跳转至[数据库详情/故障自愈]页面,打开<故障自愈>开关,点击<保存>按钮,完成故障自愈配置。