更新时间:2026-04-27 GMT+08:00
分享

TaurusDB异构容灾实例

操作场景

TaurusDB支持异构容灾实例(MySQL节点),支持在极端场景,如社区未知BUG、用户误操作(大事务回滚)导致服务无法正常提供服务等场景,可以快速将服务切换到异构容灾实例继续提供服务。

异构容灾实例无需用户做任何操作,容灾建设和维护,切换都由华为云完成。

容灾切换原理

图1 异构容灾原理图

正常场景

在正常运行状态下,业务系统通过读写内网地址连接到源实例TaurusDB,进行数据的读写操作。同时,通过DRS(Data Replication Service)同步链路,将源实例TaurusDB的数据实时同步到容灾实例RDS for MySQL,确保数据的一致性和高可用性。此时,容灾实例RDS for MySQL处于只读状态。

切换后场景

当源实例TaurusDB遇到极端场景无法恢复时,经过客户授权后台人工切换读写内网地址到容灾实例,业务系统将在容灾实例RDS for MySQL进行数据的读写操作。此时,容灾实例RDS for MySQL处于读写状态,业务系统直接连接到该实例进行数据操作。同时,通过DRS反向同步链路,将容灾实例RDS for MySQL的数据同步回源实例TaurusDB,确保数据的一致性。此时,源实例TaurusDB处于只读状态。

数据迁移包含两个阶段,全量迁移和增量迁移。

全量迁移在只读节点拉取数据,会增加只读节点少量IO,对主节点不会造成压力。

增量期间在主节点拉取Binlog,对主节点的性能消耗在3%以内。

容灾切换流程

  1. 如果您的源实例TaurusDB异常,请提交工单联系客服人员,确认实例长时间无法提供服务。
  2. 华为云客服人员通知您并告知切换影响,请您根据实际情况进行书面授权。
  3. 华为云客服人员执行容灾切换操作,将所有IP与容灾实例进行交换,并自动搭建DRS反向同步链路,由容灾实例RDS for MySQL对外提供服务,源实例TaurusDB则被设置为只读状态。
  4. 后续源实例TaurusDB恢复正常后,您可评估影响选择是否进行回切。如需回切,请提交工单联系客服人员操作。

约束限制

  • 存在以下场景则无法创建异构容灾实例
    表1 限制条件

    限制场景

    原因

    未开启Binlog

    原实例和容灾实例之间需要使用Binlog实时同步数据。

    Binlog格式不是row

    可能导致容灾链路中断。

    存在触发器

    可能导致原实例和容灾实例之间数据不一致。

    存在事件

    可能导致原实例和容灾实例之间数据不一致。

    库名、表名、字段名、索引等存在特殊字符

    可能导致容灾链路中断。

    数据量过大(超过32TB)

    容灾实例的容量存在上限。

    安全组限制

    容灾链路无法连接数据库以同步数据。

    冻结状态

    冻结状态无法创建容灾实例。

    VPC子网IP不足

    容灾实例也会占用同子网IP。

    无主键表或无索引表且存在大量操作

    可能导致容灾链路中断。

    外键级联操作

    可能导致原实例和容灾实例之间数据不一致。

  • 切换到容灾实例的影响
    表2 切换影响

    场景

    原因

    原实例只读流量过高时可能将CPU打满

    容灾实例RDS for MySQL为单节点实例,原实例所有流量进入主节点会占用更多的CPU资源。

    下游以Binlog位点方式的同步链路可能异常

    容灾实例和源实例的Binlog位点不一样,以位点方式的同步链路在切换容灾后可能异常,需要重新配置Binlog位点或者重新进行全量同步。

常见问题

  • 切换容灾实例在控制台可以操作吗?

    切换容灾实例风险高,必须由客户授权,华为云客服人员进行操作。

  • 容灾实例支持的最大容量是多少?

    当前RDS for MySQL最大支持容量是32TB。

  • 规格变更后,对应容灾资源的规格会同步变吗?

    不会,规格变更不会联动容灾实例。

  • 容灾实例是否收费?

    容灾实例目前不收费。

  • Proxy流量会自动切换到容灾实例RDS for MySQL吗?

    是的,Proxy流量会自动切换到容灾实例上。

  • 容灾实例可以关闭吗?

    开启容灾实例后不支持关闭。为保证您业务的可靠性,我们不建议您关闭容灾实例。

相关文档