本文为您介绍如何进行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,无数据丢失风险。
演练步骤
登录PolarDB控制台,在左侧导航栏单击集群列表,选择集群所在地域,并单击目标集群ID进入集群详情页。
在左侧菜单栏,单击服务可用性,单击容灾演练页签。
在容灾演练页面,您可选择需要进行演练的可用区或节点。选择后,单击开始演练。
在故障注入方式弹窗中,选择节点级故障注入方式。单击确定。
您可在容灾演练页面下方的演练列表中查看当前演练任务的状态和各个阶段的展示。
节点维度示意图:
演练列表的表格包含任务ID、演练模式、故障注入方式、开始时间、结束时间、演练状态、节点信息等列。
展开任务可查看容灾演练阶段展示,包含三个阶段:故障注入(主节点的故障注入)、恢复阶段(主节点恢复可用)和后处理阶段,各阶段完成后显示绿色勾号。
可用区维度示意图:
演练列表的表格包含任务ID、演练模式、故障注入方式、开始时间、结束时间、演练状态、节点信息等列。
展开任务可查看容灾演练阶段展示,包含三个阶段:故障注入(只读节点的故障注入、主节点的故障注入)、恢复阶段(主节点恢复可用)和后处理阶段(备库重建),各阶段完成后显示绿色勾号。
演练阶段
故障注入
根据选择的演练节点和故障注入方式进行相应的故障注入。
恢复阶段
节点维度
选择主节点进行演练,若存在只读节点(热备),则将主节点切换至只读节点(热备)。
选择主节点进行演练,若不存在只读节点(热备),但存在只读节点,则将主节点切换至只读节点。
选择主节点进行演练,若不存在只读节点(热备)和只读节点,则为可用区维度演练。
选择只读节点进行演练,则启动一个新的只读节点进行切换。
可用区维度
选择可用区进行演练,即对该可用区下的所有节点进行演练,将主节点及各节点切换至备可用区。各场景示意图如下:
演练前
可用区下所有节点进行故障演练
主节点恢复可用
资源补齐
根据新主可用区(示例可用区2)的资源情况来决定是否进行资源补齐。若允许进行资源补齐,示意图如下所示。
后处理阶段
仅当可用区维度演练时才会触发,此操作的消耗时长与数据量和网络时延有关。不影响业务使用。
补齐资源
备库重建
主节点回切
未补齐资源
备库重建
主节点回切