容灾演练

本文为您介绍如何进行PolarDB MySQL版集群的容灾演练

概述

您可以使用容灾演练功能对PolarDB MySQL版集群进行故障演练。容灾演练支持节点维度演练与可用区维度演练,节点维度演练仅支持选择一个节点进行演练。在演练过程中,一旦故障注入,指定节点将变为不可用,PolarDB MySQL版集群将按照固定策略进行恢复。恢复策略请参见演练恢复阶段

说明

该功能目前处于灰度阶段,如需使用,您可以联系我们加入白名单,启用该功能。

前提条件

PolarDB MySQL版集群需满足如下条件:

  • 产品版本企业版

  • 数据库引擎

    • MySQL 5.6,且内核小版本需为5.6.1.0.42及以上。

    • MySQL 5.7,且内核小版本需为5.7.1.0.26及以上。

    • MySQL 8.0.1,且内核小版本需为8.0.1.1.30.2及以上。

    • MySQL 8.0.2,且内核小版本需为8.0.2.2.19及以上。

注意事项

容灾演练过程中存在连接闪断以及数据丢失等风险。为了不影响您业务的正常运行,建议克隆一个新集群进行演练。同时,可结合智能压测功能,模拟生产负载以配合故障演练。

说明

数据丢弃风险说明:

  • 在进行可用区维度容灾演练时,RPO<60,存在数据丢失风险。

  • 在进行节点维度容灾演练时,若存在只读节点(热备)只读节点,RPO=0,无数据丢失风险。

演练步骤

  1. 登录PolarDB控制台

  2. 在左侧导航栏单击集群列表

  3. 在左上角,选择集群所在地域。

  4. 找到目标集群,单击集群ID。

  5. 在左侧菜单栏,单击服务可用性,单击容灾演练页签。

  6. 容灾演练页面,您可选择需要进行演练的可用区或节点。选择后,单击开始演练

    说明
    • 容灾演练页提供智能压测集群克隆快捷入口。

    • 选择可用区演练,即对该可用区下的所有节点进行演练。

    image

  7. 故障注入方式弹窗中,选择节点级故障注入方式。单击确定image

  8. 您可在容灾演练页面下方的演练列表中查看当前演练任务的状态和各个阶段的展示。

    • 节点维度示意图image

    • 可用区维度示意图image

演练阶段

故障注入

根据选择的演练节点故障注入方式进行相应的故障注入。

恢复阶段

故障恢复阶段,详细恢复过程如下。

节点维度

  • 选择主节点进行演练,若存在只读节点(热备),则将主节点切换至只读节点(热备)

  • 选择主节点进行演练,若不存在只读节点(热备),但存在只读节点,则将主节点切换至只读节点

  • 选择主节点进行演练,若不存在只读节点(热备)只读节点,则为可用区维度演练。

  • 选择只读节点进行演练,则启动一个新的只读节点进行切换。

可用区维度

选择可用区进行演练,即对该可用区下的所有节点进行演练,将主节点及各节点切换至备可用区。

  • 演练前的示意图如下所示。

    image
  • 可用区下所有节点进行故障演练,示意图如下所示。

    image
  • 主节点恢复可用,示意图如下所示。

    image

    根据新主可用区(示例可用区2)的资源情况来决定是否进行资源补齐。若允许进行资源补齐,示意图如下所示。

    image

后处理阶段

仅当可用区维度演练时才会触发,此操作的消耗时长与数据量和网络时延有关。不影响业务使用。

  • 补齐资源

    • 备库重建

      image
    • 主节点回切

      image
  • 未补齐资源

    • 备库重建

      image
    • 主节点回切

      image