华为云用户手册

  • 操作步骤 在“实时灾备管理”界面,选中指定灾备任务,单击任务名称,进入“基本信息”页签。 单击“灾备对比”页签,进入“灾备对比”信息页面,对业务数据库和灾备数据库的数据进行对比分析。 首先进行数据库对象完整性检查。 在“对象级对比”页签,单击“开始对比”后稍等一段时间再单击,查看各个对比项的对比结果。 图1 对象级对比 若需要查看对比项的对比结果详情,可单击指定对比项操作列的“详情”。 数据库对象检查完成后,进行灾备数据行数和内容对比。 在“数据级对比”页签,单击“创建对比任务”页面,选择“对比类型”、“对比方式”、“对比时间”和“对象选择”,单击“确定”,提交对比任务。 图2 创建对比任务 对比类型:分为行数对比和内容对比。 对比方式:分为静态对比和动态对比两种。 静态对比:对源数据库和目标数据库进行一次全量内容对比,内容对比完成后对比任务结束,适用于无数据变化的非业务时间。 动态对比:先对源数据库和目标数据库进行一次全量内容对比,对比任务完成后进入增量对比阶段,实时比对源数据库和目标数据库的增量数据,适用于有数据变化的业务时间。 目前仅MySQL和 GaussDB (for MySQL)引擎支持对比方式选择。 动态对比过程中不支持在业务数据库创建新表。如需创建,请先取消动态对比,待新表创建并灾备完成后,再重新启动动态对比。 对比时间:可设置为“立即启动”和“稍后启动”。由于同步具有轻微的时差,在数据持续操作过程中进行对比任务,可能会出现符合实际情况的少量数据不一致对比结果,推荐结合对比定时功能,选择在业务低峰期进行对比,得到更为具有参考性的对比结果。 对象选择:可根据具体的业务场景选择需要进行对比的对象。 初始化中的任务无法进行数据级对比。 对比任务提交成功后,返回“数据级对比”页签,单击刷新列表,可以查看到所选对比类型的对比结果。 图3 数据级对比结果 若需要查看对比类型详情,可单击指定对比类型操作列的“查看对比报表”,然后选择需要进行对比的数据库,单击操作列的“查看详情”,查看指定业务数据库和灾备数据库的对比结果详情。 图4 行数对比详情 图5 内容对比详情 已取消的对比任务也支持查看对比报表。 行对比结果可按照“源库表行数”或“目标库表行数”,对当前页面显示的结果进行升序或者降序排列,方便进行筛选。 行对比差异显示为负数时,代表目标库表行数比源库表行数多;显示为正数时,代表源库表行数比目标库表行数多。 查看数据库账号和权限对比。单击“用户对比”页签,可查看数据库账号及权限的对比结果。 图6 用户对比 初始化阶段的任务无法进行用户对比。
  • 对数据库影响 对象对比:会查询源库及目标库的系统表,占用10个左右的session的连接数,正常情况不会对数据库产生影响。但是如果对象数量巨大(比如几十万张表),可能会对数据库产生一定的查询压力。 行数对比:会查询源库及目标库的表行数,占用10个左右的session的连接数,正常的select count语句基本不会对数据库产生影响。但是如果表数据量巨大(亿级)会对数据库产生一定的查询压力,返回查询结果会比较慢。 内容对比:会查询源库及目标库的全部数据,涉及每个字段都会对比,所以会对数据库产生一定的查询压力,主要体现在IO上,查询速度受限于源库和目标库的IO和网络带宽。占用1-2个CPU,占用10个左右的session的连接数。 用户对比:会查询源库及目标库的账户和权限,基本不会对数据库产生影响。
  • 网络配置流程 创建DRS实例,并获取DRS实例所在子网和私有IP地址。 DRS实例所在子网默认选择与目标库在同一个子网。 图3 迁移实例信息 DRS迁移实例创建成功后,界面会显示DRS迁移实例的私有IP地址。 图4 DRS实例私有IP 查询DRS实例所在VPC信息。 DRS迁移实例默认和目标RDS数据库创建在相同VPC,因此可以登录目标RDS查看“基本信息”获取迁移实例所在VPC信息。 图5 目标库信息 在目标Region创建VPN,并配置VPN网关和连接。 购买VPN和配置VPN相关操作,可参考《 虚拟专用网络 快速入门》。 其中创建VPN网关时的虚拟私有云参数为2中DRS迁移实例所在VPC名称。创建VPN连接时填写的本端子网参数,填写步骤1中DRS迁移实例所在子网。 在源Region创建VPN并配置VPN对端设备。 可参考《虚拟专用网络快速入门》中的“配置对端设备”章节实现目标端所在网络和华为云DRS所在VPC子网的互通。 配置源库所在安全组和源库所在子网的网络ACL。 安全组:增加云数据库安全组入方向规则,放通DRS私有IP作为源地址可以访问云数据库监听端口。 网络ACL:VPC默认没有网络ACL,如果您设置过网络ACL,需要增加入方向规则,允许放通DRS私有IP作为源地址、随机端口作为源端口范围,RDS源数据库的IP作为目的地址、监听端口作为目的端口范围。 源数据库添加白名单 源数据库需要添加迁移账号使用DRS迁移实例私有IP访问数据库的权限。各数据库添加白名单的方法不同,请参考各数据库官方文档进行操作。 配置DRS迁移实例所在安全组和DRS所在子网的网络ACL。 VPC默认没有网络ACL,默认安全组的规则在出方向数据全部放行,DRS迁移实例和目标RDS数据库在相同安全组默认互通,所以在默认场景下无需配置。 如果您设置过网络ACL或安全组,请登录VPC管理控制台进行检查和配置。 安全组:确保DRS迁移实例所在安全组出方向到源数据库的IP、监听端口放通。 网络ACL:确保DRS所在子网、随机端口出方向和源数据库的IP、监听端口放通。 测试连接。 登录DRS控制台,单击已经创建的DRS任务操作列的“编辑”,重新进入“源库及目标库”界面,输入源数据库IP、端口、用户名、密码进行测试连接。
  • 网络配置流程 创建DRS实例,并获取DRS实例所在子网和私有IP地址。 DRS实例所在子网默认选择与目标库在同一个子网。 图3 迁移实例信息 DRS迁移实例创建成功后,界面会显示DRS迁移实例的私有IP地址。 图4 DRS实例私有IP 查询DRS实例所在VPC信息。 DRS迁移实例默认和目标RDS数据库创建在相同VPC,因此可以登录目标RDS查看“基本信息”获取迁移实例所在VPC信息。 图5 目标库信息 购买VPN,并配置VPN网关和连接。 购买VPN和配置VPN相关操作,可参考《虚拟专用网络快速入门》。 其中创建VPN网关时的虚拟私有云参数为步骤2中DRS迁移实例所在VPC名称。创建VPN连接时填写的本端子网参数,填写步骤1中DRS迁移实例所在子网。 本地数据中心配置VPN对端设备。 本地数据中心网络采用不同类型的防火墙或主机,可参考《虚拟专用网络快速入门》中的“配置对端设备”章节实现本地数据中心数据库所在网络和华为云DRS所在VPC子网的互通。 本地数据中心自建数据库添加白名单。 本地数据中心自建数据库需要添加DRS私有IP远程访问数据库的权限。 各类型数据库添加白名单的方法不同,具体方法请参考各数据库官方文档进行操作。 配置安全组和网络ACL。 VPC默认没有网络ACL,默认安全组的规则在出方向数据全部放行,DRS迁移实例和目标RDS数据库在相同安全组默认互通,所以在默认场景下无需配置。 如果您设置过网络ACL或安全组,请登录VPC管理控制台进行配置。 安全组:确保DRS私网IP出方向到本地数据中心自建数据库的IP、监听端口放通。 网络ACL:确保DRS私网IP、随机端口出方向和本地数据中心自建数据库的IP、监听端口放通。 测试连接。 登录DRS控制台,单击已经创建的DRS任务操作列的“编辑”,重新进入“源库及目标库”界面,输入本地数据中心的数据库IP、端口、用户名、密码进行测试连接。
  • 网络配置流程 创建DRS实例,并获取DRS实例所在子网和私有IP地址。 DRS实例所在子网默认选择与目标库在同一个子网。 图3 迁移实例信息 DRS迁移实例创建成功后,界面会显示DRS迁移实例的私有IP地址。 图4 DRS实例私有IP 查询DRS实例所在VPC信息。 DRS迁移实例默认和目标RDS数据库创建在相同VPC,因此可以登录目标RDS查看“基本信息”获取迁移实例所在VPC信息。 图5 目标库信息 购买VPN,并配置VPN网关和连接。 购买VPN和配置VPN相关操作,可参考《虚拟专用网络快速入门》。 其中创建VPN网关时的虚拟私有云参数为步骤2中DRS迁移实例所在VPC名称。创建VPN连接时填写的本端子网参数,填写步骤1中DRS迁移实例所在子网。 在其他云购买VPN,并根据华为云VPN配置进行对接。 具体操作请参考其他云对应官网资料进行VPN购买和对接。 其他云数据库添加白名单 其他云数据库需要添加DRS迁移实例私有IP访问数据库的权限。各厂商云数据库添加白名单的方法不同,请参考各数据库官方文档进行操作。 配置安全组和网络ACL。 VPC默认没有网络ACL,默认安全组的规则在出方向数据全部放行,DRS迁移实例和目标RDS数据库在相同安全组默认互通,所以在默认场景下无需配置。 如果您设置过网络ACL或安全组,请登录VPC管理控制台进行配置。 安全组:确保DRS私网IP出方向到源数据库的IP、监听端口放通。 网络ACL:确保DRS私网IP、随机端口出方向和源数据库的IP、监听端口放通。 测试连接。 登录DRS控制台,单击已经创建的DRS任务操作列的“编辑”,重新进入“源库及目标库”界面,输入其他云的数据库IP、端口、用户名、密码进行测试连接。
  • 网络配置流程 源库绑定弹性公网IP。 参考华为云各数据库官方文档进行绑定弹性公网IP。 以源库为华为云RDS for MySQL为例,可参考《云数据库RDS快速入门》。 创建DRS公网网络任务,为DRS实例绑定弹性公网IP。 在创建公网网络的DRS任务时,可在实例信息页面为DRS实例绑定弹性公网IP。 配置源库所在安全组和源库所在子网的网络ACL。 安全组:增加云数据库安全组入方向规则,放通DRS弹性公网IP作为源地址可以访问云数据库监听端口。 网络ACL:VPC默认没有网络ACL,如果您设置过网络ACL,需要增加入方向规则,允许放通DRS弹性公网IP作为源地址、随机端口作为源端口范围,RDS源数据库的IP作为目的地址、监听端口作为目的端口范围。 华为云E CS 自建数据库添加白名单。 华为云ECS自建数据库需要添加迁移账号使用DRS私有 IP访问数据库的权限。各种数据库添加白名单的方法不同,请参考各数据库官方文档进行操作。 配置DRS迁移实例所在安全组和DRS所在子网的网络ACL。 VPC默认没有网络ACL,默认安全组的规则在出方向数据全部放行,DRS迁移实例和目标RDS数据库在相同安全组默认互通,所以在默认场景下无需配置。 如果您设置过网络ACL或安全组,请登录VPC管理控制台进行检查和配置。 安全组:确保DRS迁移实例所在安全组出方向到源数据库的IP、监听端口放通。 网络ACL:确保DRS所在子网、随机端口出方向和源数据库的IP、监听端口放通。 测试连接。 登录DRS控制台,单击已经创建的DRS任务操作列的“编辑”,重新进入“源库及目标库”界面,输入源数据库IP、端口、用户名、密码进行测试连接。
  • 网络配置流程 创建DRS实例,并获取DRS实例所在子网和私有IP地址。 DRS实例所在子网默认选择与目标库在同一个子网。 图3 迁移实例信息 DRS迁移实例创建成功后,界面会显示DRS迁移实例的私有IP地址。 图4 DRS实例私有IP 查询DRS实例所在VPC信息。 DRS迁移实例默认和目标RDS数据库创建在相同VPC,因此可以登录目标RDS查看“基本信息”获取迁移实例所在VPC信息。 图5 目标库信息 在目标Region创建VPN,并配置VPN网关和连接。 购买VPN和配置VPN相关操作,可参考《虚拟专用网络快速入门》。 其中创建VPN网关时的虚拟私有云参数为步骤2中DRS迁移实例所在VPC名称。创建VPN连接时填写的本端子网参数,填写步骤1中DRS迁移实例所在子网。 在源Region创建VPN并配置VPN对端设备。 可参考《虚拟专用网络快速入门》中的“配置对端设备”章节实现目标端所在网络和华为云DRS所在VPC子网的互通。 配置源库所在安全组和源库所在子网的网络ACL。 安全组:增加云数据库安全组入方向规则,放通DRS私有IP作为源地址可以访问云数据库监听端口。 网络ACL:VPC默认没有网络ACL,如果您设置过网络ACL,需要增加入方向规则,允许放通DRS私有IP作为源地址、随机端口作为源端口范围,RDS源数据库的IP作为目的地址、监听端口作为目的端口范围。 配置DRS迁移实例所在安全组和DRS所在子网的网络ACL。 VPC默认没有网络ACL,默认安全组的规则在出方向数据全部放行,DRS迁移实例和目标RDS数据库在相同安全组默认互通,所以在默认场景下无需配置。 如果您设置过网络ACL或安全组,请登录VPC管理控制台进行检查和配置。 安全组:确保DRS迁移实例所在安全组出方向到源数据库的IP、监听端口放通。 网络ACL:确保DRS所在子网、随机端口出方向和源数据库的IP、监听端口放通。 测试连接。 登录DRS控制台,单击已经创建的DRS任务操作列的“编辑”,重新进入“源库及目标库”界面,输入源数据库IP、端口、用户名、密码进行测试连接。
  • 网络配置流程 创建DRS实例,并获取DRS实例私有IP地址。 DRS迁移实例创建成功后,界面会显示DRS迁移实例的私有IP地址。 图3 DRS实例私有IP 配置源库所在安全组和源库所在子网的网络ACL。 安全组:增加云数据库安全组入方向规则,放通DRS私网IP作为源地址可以访问云数据库监听端口。 网络ACL:VPC默认没有网络ACL,如果您设置过网络ACL,需要增加入方向规则,允许放通DRS私网IP作为源地址、随机端口作为源端口范围,RDS源数据库的IP作为目的地址、监听端口作为目的端口范围。 华为云ECS自建数据库添加白名单。 华为云ECS自建数据库需要添加迁移账号使用DRS私有 IP访问数据库的权限。各种数据库添加白名单的方法不同,请参考各数据库官方文档进行操作。 配置DRS迁移实例所在安全组和DRS所在子网的网络ACL。 VPC默认没有网络ACL,默认安全组的规则在出方向数据全部放行,DRS迁移实例和目标RDS数据库在相同安全组默认互通,所以在默认场景下无需配置。 如果您设置过网络ACL或安全组,请登录VPC管理控制台进行检查和配置。 安全组:确保DRS私网IP出方向到源数据库的IP、监听端口放通。 网络ACL:确保DRS私网IP、随机端口出方向和源数据库的IP、监听端口放通。 测试连接。 登录DRS控制台,单击已经创建的DRS任务操作列的“编辑”,重新进入“源库及目标库”界面,输入源数据库IP、端口、用户名、密码进行测试连接。
  • 网络配置流程 源库绑定弹性公网IP。 参考华为云各数据库官方文档进行绑定弹性公网IP。 以源库为华为云RDS for MySQL为例,可参考《云数据库RDS快速入门》。 创建DRS公网网络任务,为DRS实例绑定弹性公网IP。 在创建公网网络的DRS任务时,可在实例信息页面为DRS实例绑定弹性公网IP。 配置源库所在安全组和源库所在子网的网络ACL。 安全组:增加云数据库安全组入方向规则,放通DRS弹性公网IP作为源地址可以访问云数据库监听端口。 网络ACL:VPC默认没有网络ACL,如果您设置过网络ACL,需要增加入方向规则,允许放通DRS弹性公网IP作为源地址、随机端口作为源端口范围,RDS源数据库的IP作为目的地址、监听端口作为目的端口范围。 配置DRS迁移实例所在安全组和DRS所在子网的网络ACL。 VPC默认没有网络ACL,默认安全组的规则在出方向数据全部放行,DRS迁移实例和目标RDS数据库在相同安全组默认互通,所以在默认场景下无需配置。 如果您设置过网络ACL或安全组,请登录VPC管理控制台进行检查和配置。 安全组:确保DRS迁移实例所在安全组出方向到源数据库的IP、监听端口放通。 网络ACL:确保DRS所在子网、随机端口出方向和源数据库的IP、监听端口放通。 测试连接。 登录DRS控制台,单击已经创建的DRS任务操作列的“编辑”,重新进入“源库及目标库”界面,输入源数据库IP、端口、用户名、密码进行测试连接。
  • 网络配置流程 创建VPC对等连接。 具体建立VPC对等连接的方法,可参考《虚拟私有云用户指南》。 对等连接建立后,需要在本端VPC、对端VPC分别添加对方子网的路由才能通信,详细操作可参考添加VPC对等连接路由。 在添加对等路由时,建议添加网段路由信息。如果添加点对点路由,DRS任务重建后实例IP会发生改变,此时需要重新添加路由,否则会导致网络不通。 创建DRS实例,并获取DRS实例私有IP地址。 DRS迁移实例创建成功后,界面会显示DRS迁移实例的私有IP地址。 图3 DRS实例私有IP 配置源库所在安全组和源库所在子网的网络ACL。 安全组:增加云数据库安全组入方向规则,放通DRS私网IP作为源地址可以访问云数据库监听端口。 网络ACL:VPC默认没有网络ACL,如果您设置过网络ACL,需要增加入方向规则,允许放通DRS私网IP作为源地址、随机端口作为源端口范围,RDS源数据库的IP作为目的地址、监听端口作为目的端口范围。 配置DRS迁移实例所在安全组和DRS所在子网的网络ACL。 VPC默认没有网络ACL,默认安全组的规则在出方向数据全部放行,DRS迁移实例和目标RDS数据库在相同安全组默认互通,所以在默认场景下无需配置。 如果您设置过网络ACL或安全组,请登录VPC管理控制台进行检查和配置。 安全组:确保DRS私网IP出方向到源数据库的IP、监听端口放通。 网络ACL:确保DRS私网IP、随机端口出方向和源数据库的IP、监听端口放通。 测试连接。 登录DRS控制台,单击已经创建的DRS任务操作列的“编辑”,重新进入“源库及目标库”界面,输入源数据库IP、端口、用户名、密码进行测试连接。
  • 网络配置流程 创建VPC对等连接。 具体建立VPC对等连接的方法,可参考《虚拟私有云用户指南》。 对等连接建立后,需要在本端VPC、对端VPC分别添加对方子网的路由才能通信,详细操作可参考添加VPC对等连接路由。 在添加对等路由时,建议添加网段路由信息。如果添加点对点路由,DRS任务重建后实例IP会发生改变,此时需要重新添加路由,否则会导致网络不通。 创建DRS实例,并获取DRS实例私有IP地址。 DRS迁移实例创建成功后,界面会显示DRS迁移实例的私有IP地址。 图3 DRS实例私有IP 配置源库所在安全组和源库所在子网的网络ACL。 安全组:增加云数据库安全组入方向规则,放通DRS私网IP作为源地址可以访问云数据库监听端口。 网络ACL:VPC默认没有网络ACL,如果您设置过网络ACL,需要增加入方向规则,允许放通DRS私网IP作为源地址、随机端口作为源端口范围,RDS源数据库的IP作为目的地址、监听端口作为目的端口范围。 华为云ECS自建数据库添加白名单。 华为云ECS自建数据库需要添加迁移账号使用DRS私有 IP访问数据库的权限。各种数据库添加白名单的方法不同,请参考各数据库官方文档进行操作。 配置DRS迁移实例所在安全组和DRS所在子网的网络ACL。 VPC默认没有网络ACL,默认安全组的规则在出方向数据全部放行,DRS迁移实例和目标RDS数据库在相同安全组默认互通,所以在默认场景下无需配置。 如果您设置过网络ACL或安全组,请登录VPC管理控制台进行检查和配置。 安全组:确保DRS私网IP出方向到源数据库的IP、监听端口放通。 网络ACL:确保DRS私网IP、随机端口出方向和源数据库的IP、监听端口放通。 测试连接。 登录DRS控制台,单击已经创建的DRS任务操作列的“编辑”,重新进入“源库及目标库”界面,输入源数据库IP、端口、用户名、密码进行测试连接。
  • 网络配置流程 创建DRS公网网络任务,为DRS实例绑定弹性公网IP。 在创建公网网络的DRS任务时,可在实例信息页面为DRS实例绑定弹性公网IP。 本地数据中心的防火墙设置。 本地数据中心防火墙需要放通DRS实例弹性公网IP的访问,使得DRS可以正常访问本地数据中心自建数据库。 入方向放行:放通DRS实例弹性公网IP到数据库监听端口的访问。 出方向放行:放通数据库监听端口到实例弹性公网IP的数据传输。 本地数据中心自建数据库添加白名单。 本地数据中心自建数据库需要添加DRS弹性公网IP远程访问数据库的权限。 各类型数据库添加白名单的方法不同,具体方法请参考各数据库官方文档进行操作。 测试连接。 登录DRS控制台,单击已经创建的DRS任务操作列的“编辑”,重新进入“源库及目标库”界面,输入本地数据中心的数据库IP、端口、用户名、密码进行测试连接。
  • 网络配置流程 创建DRS实例,并获取DRS实例私有IP地址。 DRS迁移实例创建成功后,界面会显示DRS迁移实例的私有IP地址。 图3 DRS实例私有IP 配置源库所在安全组和源库所在子网的网络ACL。 安全组:增加云数据库安全组入方向规则,放通DRS私网IP作为源地址可以访问云数据库监听端口。 网络ACL:VPC默认没有网络ACL,如果您设置过网络ACL,需要增加入方向规则,允许放通DRS私网IP作为源地址、随机端口作为源端口范围,RDS源数据库的IP作为目的地址、监听端口作为目的端口范围。 配置DRS迁移实例所在安全组和DRS所在子网的网络ACL。 VPC默认没有网络ACL,默认安全组的规则在出方向数据全部放行,DRS迁移实例和目标RDS数据库在相同安全组默认互通,所以在默认场景下无需配置。 如果您设置过网络ACL或安全组,请登录VPC管理控制台进行检查和配置。 安全组:确保DRS私网IP出方向到源数据库的IP、监听端口放通。 网络ACL:确保DRS私网IP、随机端口出方向和源数据库的IP、监听端口放通。 测试连接。 登录DRS控制台,单击已经创建的DRS任务操作列的“编辑”,重新进入“源库及目标库”界面,输入源数据库IP、端口、用户名、密码进行测试连接。
  • 网络配置流程 创建DRS公网网络任务,为DRS实例绑定弹性公网IP。 在创建公网网络的DRS任务时,可在实例信息页面为DRS实例绑定弹性公网IP。 其他云申请弹性公网IP并绑定到数据库。 不同数据库对应方法不同,具体操作步骤可参考其他云官网资料进行设置。 其他云数据库添加白名单。 其他云数据库需要添加DRS弹性公网IP远程访问数据库的权限。 各厂商云数据库添加白名单的方法不同,请参考各厂商云数据库官方文档进行操作。 测试连接。 登录DRS控制台,单击已经创建的DRS任务操作列的“编辑”,重新进入“源库及目标库”界面,输入其他云的数据库IP、端口、用户名、密码进行测试连接。
  • 支持的高级特性 数据复制服务 提供的实时同步任务支持多种特性,有效的帮助您提高实时同步的成功率。 表4 高级特性列表 特性 说明 同步级别 数据复制服务提供的实时同步功能支持库级同步和表级同步。 库级同步是以库为单位的同步,不可单独选择表,且库中新增表会自动加入同步关系之中。 表级同步是以表为单位的同步,不可以单独选择库,新增表需要再次编辑同步任务,将新的表追加到同步关系中。 对象名映射 实时同步功能可以支持源数据库和目标数据库中的同步对象(包括数据库、schema、表或列)的名称不同。如果同步的数据库对象在源数据库和目标数据库中的命名不同,那么可以使用数据复制服务提供的对象名映射功能进行映射。 目前数据复制服务提供的映射功能支持库映射、schema映射和表映射。 动态增减同步对象 在实时同步过程中,您可以通过编辑同步对象随时增加或减少需要同步的对象。 冲突处理 数据复制服务提供的实时同步功能使用了主键或唯一键冲突策略,这些策略可以由您自主选择,尽可能保证源数据库中有主键约束或唯一键约束的表同步到目标数据库是符合预期的。 目前支持的冲突策略有: 忽略 当同步数据与目标数据库已有数据冲突时(主键/唯一键存在重复等),以目标数据为准,DRS将跳过冲突数据,继续进行后续同步。 覆盖 当同步数据与目标数据库已有数据冲突时(主键/唯一键存在重复等),以源数据为准,DRS将覆盖原来的冲突数据。 报错 当同步数据与目标数据库已有数据冲突时(主键/唯一键存在重复等),同步任务将失败并立即中止。 忽略和覆盖,都是以同步稳定性优先(不会因为数据冲突而中断任务),如果用户以同步稳定性为关键,则在这里二选一。 报错则是以数据质量为优先,即用户环境不应该出现任何数据冲突,无论是忽略还是覆盖都可能产生严重业务问题,所以DRS同步任务立即失败,并人为排查原因。但需注意,如果任务长期处于失败状态,可能会导致存储占满而无法修复任务。 数据结构同步能力 数据复制服务提供的实时同步功能不支持单独的数据结构同步,而是提供特殊的数据结构同步机制,在同步任务启动后,将数据和结构一并同步到目标数据库。
  • 支持的同步对象 数据复制服务提供的实时同步任务支持不同对象的选择,支持情况如下表。 表3 支持的同步对象 同步方向 源数据库 目标数据库 表级同步 库级同步 导入对象文件 入云 MySQL MySQL 支持 支持 支持 PostgreSQL 支持 支持 支持 GaussDB分布式版 支持 暂不支持 支持 GaussDB主备版 支持 暂不支持 支持 GaussDB(for MySQL) 支持 支持 支持 GaussDB(DWS) 支持 支持 支持 MariaDB 支持 支持 支持 PostgreSQL PostgreSQL 支持 支持 支持 GaussDB(DWS) 支持 支持 暂不支持 GaussDB主备版 支持 暂不支持 支持 GaussDB分布式版 支持 暂不支持 支持 DDM MySQL 支持 暂不支持 暂不支持 GaussDB(DWS) 支持 支持 暂不支持 DDM 支持 支持 暂不支持 Oracle MySQL 支持 暂不支持 支持 DDM 支持 暂不支持 暂不支持 GaussDB(DWS) 支持 暂不支持 支持 PostgreSQL 支持 暂不支持 支持 GaussDB(for MySQL) 支持 暂不支持 支持 GaussDB主备版 支持 暂不支持 支持 GaussDB分布式版 支持 暂不支持 支持 DB2 for LUW GaussDB主备版 支持 暂不支持 支持 GaussDB分布式版 支持 暂不支持 支持 GaussDB(DWS) 支持 暂不支持 支持 TiDB GaussDB(for MySQL) 支持 支持 暂不支持 Microsoft SQL Server GaussDB(DWS) 支持 暂不支持 暂不支持 GaussDB主备版 支持 暂不支持 暂不支持 GaussDB分布式版 支持 暂不支持 暂不支持 Microsoft SQL Server 说明: 目前仅支持白名单用户使用。 支持 暂不支持 暂不支持 MongoDB DDS 支持 支持 暂不支持 GaussDB(for MySQL) GaussDB(for MySQL) 支持 支持 支持 MariaDB MariaDB 支持 支持 支持 MySQL 支持 支持 支持 GaussDB(for MySQL) 支持 支持 支持 出云 MySQL MySQL 支持 支持 暂不支持 Kafka 支持 支持 支持 CSS /ES 支持 暂不支持 支持 Oracle 支持 暂不支持 支持 MariaDB 说明: 目前仅支持白名单用户使用。 支持 支持 支持 DDM MySQL 支持 暂不支持 暂不支持 Oracle 支持 支持 暂不支持 Kafka 支持 支持 暂不支持 DDS MongoDB 支持 支持 暂不支持 Kafka 支持 支持 暂不支持 PostgreSQL PostgreSQL 支持 支持 支持 Kafka 支持 支持 暂不支持 GaussDB主备版 MySQL 支持 暂不支持 暂不支持 Oracle 支持 暂不支持 支持 Kafka 支持 支持 暂不支持 GaussDB(DWS) 支持 暂不支持 暂不支持 GaussDB分布式版 支持 暂不支持 支持 GaussDB主备版 支持 暂不支持 支持 GaussDB分布式版 MySQL 支持 暂不支持 暂不支持 Oracle 支持 暂不支持 支持 GaussDB(DWS) 支持 暂不支持 暂不支持 Kafka 支持 支持 暂不支持 GaussDB分布式版 支持 暂不支持 支持 GaussDB主备版 支持 暂不支持 支持 GaussDB(for MySQL) MySQL 支持 支持 支持 GaussDB(DWS) 支持 支持 支持 Kafka 支持 支持 支持 CSS/ES 支持 支持 暂不支持 Oracle 支持 暂不支持 支持 MariaDB MariaDB 支持 支持 支持 Microsoft SQL Server Kafka 说明: 目前仅支持白名单用户使用。 支持 暂不支持 支持 自建-自建 MySQL Kafka 支持 支持 支持 CSS/ES 支持 暂不支持 支持 GaussDB主备版 支持 暂不支持 支持 GaussDB分布式版 支持 暂不支持 支持 Oracle Kafka 支持 暂不支持 支持 GaussDB主备版 支持 暂不支持 支持 GaussDB分布式版 支持 暂不支持 支持 GaussDB主备版 MySQL 支持 暂不支持 暂不支持 Oracle 支持 暂不支持 支持 Kafka 支持 支持 暂不支持 GaussDB主备版 支持 暂不支持 支持 GaussDB分布式版 支持 暂不支持 支持 GaussDB分布式版 MySQL 支持 暂不支持 暂不支持 Oracle 支持 暂不支持 支持 Kafka 支持 支持 暂不支持 GaussDB分布式版 支持 暂不支持 支持 GaussDB主备版 支持 暂不支持 支持 PostgreSQL Kafka 支持 支持 暂不支持 DB2 for LUW GaussDB主备版 支持 暂不支持 支持 GaussDB分布式版 支持 暂不支持 支持 Microsoft SQL Server Kafka 说明: 目前仅支持白名单用户使用。 支持 暂不支持 支持
  • 支持的网络方式 数据复制服务提供的实时同步功能支持通过多种网络方式进行实时同步,包括:VPC网络、VPN网络、专线网络和公网网络,在正式进行实时同步之前请参考表1了解网络类型的使用场景及准备工作,并参考表2了解具体的网络类型支持情况完成网络设置。 表1 网络类型 网络类型 使用场景 准备工作 VPC网络 适合云上同区域数据库之间的同步。 源数据库所在的区域要和目标数据库实例所在的区域保持一致。 源数据库可以和目标数据库在同一VPC内,也可以在不同VPC内。 当源数据库和目标数据库处于同一个VPC内的时候,默认网络是连通的,不需要单独设置安全组。 当源数据库和目标数据库不在同一个VPC内的时候,要求源数据库和目标数据库所处的子网处于不同网段,不能重复或交叉,此时需要通过对等连接实现网络互通。 目前DRS暂不支持跨租户通过VPC网络实现源库、目标库的网络互通。如果有需要,用户可通过手动创建对等连接后,选择“VPN网络”实现网络互通。 具体建立VPC对等连接的方法,可参考《虚拟私有云用户指南》中“对等连接”章节内容。 VPN网络 适合通过VPN网络,实现其他云下自建数据库与云上数据库之间的实时同步、或云上跨Region的数据库之间的实时同步。 用户需要确保本地数据中心和目标数据库所在VPC的VPN网络建立连接,确保VPN网络可正常访问的前提下,再进行数据同步。 VPN相关操作,请参见《虚拟专用网络快速入门》。 专线网络 适合通过专线网络,实现其他云下自建数据库与云上数据库之间的实时同步、或云上跨Region的数据库之间的实时同步。 用户需要通过专线网络建立云与数据中心的专线连接。 云专线相关操作,请参见《云专线快速入门》。 公网网络 适合通过公网网络把其他云下或其他平台的数据库同步到目标数据库。 为了确保源数据库和目标数据库之间的网络互通,源数据库端和目标数据库端分别需要进行如下设置: 开启公网访问 源数据库端实例需要根据具体的场景,由用户端开启公网访问。 设置安全组规则 源数据库需要将DRS同步实例的弹性公网IP添加到其网络入口白名单内,使源数据库与DRS同步实例可以连通。 由于目标数据库和DRS同步实例处于同一个VPC内,默认网络是连通的,不需要单独设置安全组。 说明: DRS同步实例创建成功后,可在“源库及目标库”页面获取DRS同步实例的弹性公网IP。 在选择公网网络进行同步时,如果没有开启SSL安全连接加密同步链路的功能,请确保待同步的数据为非机密数据,再进行数据同步。 表2 支持的网络类型 同步方向 源数据库 目标数据库 VPC网络 公网网络 VPN、专线网络 入云 MySQL MySQL 支持 支持 支持 PostgreSQL 支持 支持 支持 GaussDB分布式版 支持 支持 支持 GaussDB主备版 支持 支持 支持 GaussDB(for MySQL) 支持 支持 支持 GaussDB(DWS) 支持 支持 支持 MariaDB 支持 支持 支持 PostgreSQL PostgreSQL 支持 支持 支持 GaussDB(DWS) 支持 支持 支持 GaussDB主备版 支持 支持 支持 GaussDB分布式版 支持 支持 支持 DDM MySQL 支持 支持 支持 GaussDB(DWS) 支持 支持 支持 DDM 支持 支持 支持 Oracle MySQL 支持 支持 支持 DDM 支持 支持 支持 GaussDB(DWS) 支持 支持 支持 PostgreSQL 支持 支持 支持 GaussDB(for MySQL) 支持 支持 支持 GaussDB主备版 支持 支持 支持 GaussDB分布式版 支持 支持 支持 DB2 for LUW GaussDB主备版 支持 支持 支持 GaussDB分布式版 支持 支持 支持 GaussDB(DWS) 支持 支持 支持 TiDB GaussDB(for MySQL) 不支持 支持 支持 Microsoft SQL Server GaussDB(DWS) 支持 支持 支持 GaussDB主备版 支持 支持 支持 GaussDB分布式版 支持 支持 支持 Microsoft SQL Server 说明: 目前仅支持白名单用户使用。 支持 支持 支持 MongoDB DDS 支持 支持 支持 GaussDB(for MySQL) GaussDB(for MySQL) 支持 支持 支持 MariaDB MariaDB 支持 支持 支持 MySQL 支持 支持 支持 GaussDB(for MySQL) 支持 支持 支持 出云 MySQL MySQL 支持 支持 支持 Kafka 支持 支持 支持 CSS/ES 支持 支持 支持 Oracle 支持 支持 支持 MariaDB 说明: 目前仅支持白名单用户使用。 支持 支持 支持 DDM MySQL 支持 支持 支持 Oracle 支持 支持 支持 Kafka 支持 支持 支持 DDS MongoDB 支持 支持 支持 Kafka 支持 支持 支持 PostgreSQL PostgreSQL 支持 支持 支持 Kafka 暂不支持 支持 支持 GaussDB主备 MySQL 暂不支持 支持 支持 Oracle 暂不支持 支持 支持 Kafka 支持 支持 支持 GaussDB(DWS) 暂不支持 支持 支持 GaussDB分布式版 支持 支持 支持 GaussDB主备版 支持 支持 支持 GaussDB分布式版 MySQL 暂不支持 支持 支持 Oracle 暂不支持 支持 支持 GaussDB(DWS) 暂不支持 支持 支持 Kafka 支持 支持 支持 GaussDB分布式版 支持 支持 支持 GaussDB主备版 支持 支持 支持 GaussDB(for MySQL) MySQL 支持 支持 支持 GaussDB(DWS) 支持 支持 支持 Kafka 支持 支持 支持 CSS/ES 支持 支持 支持 Oracle 支持 支持 支持 MariaDB MariaDB 支持 支持 支持 Microsoft SQL Server Kafka 说明: 目前仅支持白名单用户使用。 支持 支持 支持 自建-自建 MySQL Kafka 支持 支持 支持 CSS/ES 支持 支持 支持 GaussDB主备版 暂不支持 支持 支持 GaussDB分布式版 暂不支持 支持 支持 Oracle Kafka 支持 支持 支持 GaussDB主备版 暂不支持 支持 支持 GaussDB分布式版 暂不支持 支持 支持 PostgreSQL Kafka 暂不支持 支持 支持 GaussDB主备版 MySQL 暂不支持 支持 支持 Oracle 暂不支持 支持 支持 Kafka 支持 支持 支持 GaussDB主备版 支持 支持 支持 GaussDB分布式版 支持 支持 支持 GaussDB分布式版 MySQL 暂不支持 支持 支持 Oracle 暂不支持 支持 支持 Kafka 支持 支持 支持 GaussDB分布式版 支持 支持 支持 GaussDB主备版 支持 支持 支持 DB2 for LUW GaussDB主备版 暂不支持 支持 支持 GaussDB分布式版 暂不支持 支持 支持 Microsoft SQL Server Kafka 说明: 目前仅支持白名单用户使用。 支持 支持 支持
  • 录制回放 录制回放是指将源数据库发生的真实业务流量,在目标数据库模拟执行,从而观察和检验目标数据库的功能和性能表现。录制回放支持的数据库和版本如表25所示,更多录制回放的功能特性可参考录制回放。 其中,自建数据库(例如MySQL、MariaDB等)包含本地自建数据库和ECS自建数据库,RDS for MySQL指华为云云数据库RDS上的MySQL数据库。 不支持从高版本到低版本的回放。 表25 数据库信息 源数据库引擎 源数据库类型和版本 目标数据库类型和版本 MySQL RDS for MySQL 所有版本 RDS for MySQL 所有版本 GaussDB(for MySQL) 兼容MySQL 8.0版本 自建MySQL 5.6、5.7、8.0版本 其他云上MySQL 5.6、5.7、8.0版本 RDS for MySQL 所有版本 GaussDB(for MySQL) 兼容MySQL 8.0版本 GaussDB(for MySQL) GaussDB(for MySQL) 兼容MySQL 8.0版本 GaussDB(for MySQL) 兼容MySQL 8.0版本
  • 备份迁移 备份迁移通过将源数据库的数据导出成备份文件,并上传至 对象存储服务 ,然后恢复到目标数据库。备份迁移可以帮助您在云服务不触碰源数据库的情况下,实现数据迁移。其支持的数据库、版本和迁移类型如表8所示,更多备份迁移的功能特性可参考备份迁移。 不支持从高版本迁移到低版本。 表8 数据库信息 备份文件版本 目标数据库版本 迁移方式 备份文件来源 本地及其他云Microsoft SQL Server数据库备份文件版本: Microsoft SQL Server 2000 Microsoft SQL Server 2005 Microsoft SQL Server 2008 Microsoft SQL Server 2012 Microsoft SQL Server 2014 Microsoft SQL Server 2016 Microsoft SQL Server 2017 Microsoft SQL Server 2019 RDS for SQL Server Microsoft SQL Server 2008(存量版本) Microsoft SQL Server 2012 Microsoft SQL Server 2014 Microsoft SQL Server 2016 Microsoft SQL Server 2017 Microsoft SQL Server 2019 全量迁移 增量迁移 OBS自建桶 RDS全量备份 RDS for SQL Server全量备份文件版本: Microsoft SQL Server 2008 Microsoft SQL Server 2012 Microsoft SQL Server 2014 Microsoft SQL Server 2016 Microsoft SQL Server 2017 Microsoft SQL Server 2019 全量迁移 增量迁移 OBS自建桶 RDS全量备份
  • 计费标准 表1 按需计费标准 计费项 计费说明 配置费(必选) 指计算和存储资源及数据处理的费用,按照实际使用时长计费,以自然小时为单位整点计费,不足一小时按照实际使用时长计费。 弹性公网IP费用(可选) 指公网访问产生的数据处理和数据流量费用。如果创建公网网络任务,您需要购买弹性公网IP。 华为云DRS配置费用详情,请参见产品价格详情。您可以通过DRS提供的价格计算器,选择您需要的配置规格,来快速计算出参考价格。
  • HA管理 针对主机故障,系统会自动将迁移实例或者同步实例切换到备机继续进行任务,以提高任务的成功率。 对于如下状态的迁移任务,在迁移实例或者同步实例发生故障无法正常完成任务的情况下,系统会自动执行重启迁移实例或者同步实例的操作,然后下发重试任务的命令,此时任务状态会变为故障恢复。如果重启后,迁移实例或者同步实例还处于故障无法正常完成任务时,则系统需要重新创建迁移实例或者同步实例,创建完成后自动重试任务。 全量迁移 增量迁移 全量同步 增量同步
  • 区域和可用区 我们用区域和可用区来描述数据中心的位置,您可以在特定的区域、可用区创建资源。 区域(Region):从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。 可用区(AZ,Availability Zone):一个AZ是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 图1阐明了区域和可用区之间的关系。 图1 区域和可用区 目前,华为云已在全球多个地域开放云服务,您可以根据需求选择适合自己的区域和可用区。更多信息请参见华为云全球站点。
  • 临时账户 为了确保用户数据库成功迁移到关系型数据库MySQL实例,创建迁移任务时,数据复制服务自动为目标数据库实例创建drsFull和drsIncremental临时账户,分别用于全量迁移和增量迁移。任务结束后,数据复制服务会自动删除这两个账户。 禁止使用用户自建的drsFull和drsIncrementa账号作为DRS任务连接数据库的账号。 删除、重命名和修改临时账户的密码和权限,会导致任务出错。
  • 计费标准 表1 包年/包月计费标准 计费项 说明 配置费(必选) 指计算和存储资源及数据处理的费用,包年/包月的配置费用是一次性计费。 弹性公网IP费用(可选) 指公网访问产生的数据处理和数据流量费用。如果创建公网网络任务,您需要购买弹性公网IP。 目前实时迁移仅支持“按需计费”,暂不支持“包年/包月”。 实时同步和实时灾备支持“按需计费”和“包年/包月”的选择。 华为云DRS费用详情,请参见产品价格详情。您可以通过DRS提供的价格计算器,选择您需要的配置规格,来快速计算出参考价格。
  • 规格说明 实时同步根据同步链路的性能上限,定义了五种规格:极小、小、中、大、超大,各个规格的同步性能上限如表1。 表1 规格性能上限 规格名称 性能上限(行/秒)参考 极小 300 小 3000 中 7500 大 10000 超大 20000 规格的线上运行性能受网络环境、源数据库和目标数据库的性能、延迟等因素影响,实际的性能值会有差异,表中性能上限值仅供参考。 DRS规格:DRS为用户提供的不同性能的链路规格,以全量同步(不限速)和增量同步性能为衡量标准。 性能上限(行/秒):表示每秒同步的事务数,包括BEGIN、COMMIT 、DML语句(INSERT、DELETE、UPDATE)及DDL语句。用户可通过 云监控 CES查看写目标库频率(apply_rows_rate)监控指标获取。 目前,DRS同步仅支持任务类型为单AZ的同步任务升级实例规格,不支持父子任务升级实例规格,不支持降低规格,具体操作及约束限制可参考同步规格变更。 对于支持内容对比的链路,如果创建任务时可以选择实例规格,那么仅支持大规格及以上规格进行内容对比。
  • 测试模型 在两个RDS for MySQL实例间创建全量+增量的实时同步任务,实例配置如表2。 表2 实例规格 参数 源RDS for MySQL实例 目标RDS for MySQL实例 规格名称 c6.4xlarge.4(通用增强Ⅱ型) c6.4xlarge.4(通用增强Ⅱ型) 性能规格 超高IO 超高IO 存储类型 16vCPUs|64 GB 16vCPUs|64 GB 存储空间 300G 300G 最大连接数 18000 18000 最大QPS 3352 3352 最大IOPS 114152 114152 测试模型: 测试表数量为20。 测试表均有主键。 记录大小为1KB。 每个事务平均包含两条DML操作,一条COMMIT,其中INSERT、UPDATE、DELETE的比例为1:1:1。
  • 架构说明 最小权限设计 采用JDBC连接,无需在用户的源数据库、目标数据库节点部署程序。 任务独立虚拟机运行独享资源,租户之间数据隔离。 采用最小IP资源,在源数据库、目标数据库仅开放DRS数据迁移实例节点IP访问权限,无需增加网段。 可靠性设计 连接异常自动重试:当网络闪断、数据库倒换等场景造成DRS和数据库连接异常,会自动重试直到任务恢复。 具备断点续传能力:源数据库或目标数据库连接出现异常时,自动记录当前回放位点,等故障修复后,自动从上一次位点接续回放,保证同步数据的一致性。 DRS迁移实例所在虚拟机故障,业务自动切换到新虚拟机并保证IP不变,保证迁移任务正常。 DRS使用的字符集标准是Unicode 6.2.0。
  • 实时同步基本原理 图4 实时同步原理 实时同步功能实现源数据库和目标数据库的数据长期同步,主要用于OLTP到OLAP、OLTP到大数据组件的数据实时同步。全量和增量的数据同步和实时迁移的技术原理基本一致,但是基于不同的业务使用场景,两个功能还是有些差异。 实时同步支持异构数据库,针对异构数据库结构同步,DRS服务会通过语法转换,将源数据库的结构定义语句转换为目标库的结构定义语句在目标数据库执行,同时数据库字段类型也会进行映射转换。可以参考各异构链路的数据类型映射关系,也可以使用UGO服务进行异构链路的结构同步。 实时同步会提供更多的数据加工规则可供用户在数据同步时使用,这些规则会在数据抽取、解析、回放阶段进行处理,最终满足用户需要的各种数据同步规则。 实时同步不会同步账号、触发器、事件等对象。 实时同步经常用于多个源数据库到一个目标数据库的数据同步,对于多对一、一对多场景的DDL操作有专门的处理。
  • 录制回放基本原理 录制回放主要分为录制、回放两个阶段,录制过程是从源数据库上将所需时间段内的全部SQL原语句(包括增、删、改、查)通过binlog下载、录制工具等进行采集,以文件形式缓存起来,并往目标数据库注入模拟数据,等待用户执行回放。用户可以在DRS任务上手工触发回放,观察目标数据库的性能表现。也可以通过控制DRS录制回放的线程及回放速度,来模拟源业务流量放大的效果,从而分析目标数据库对于未来业务激增时的稳定性表现。
  • 实时迁移基本原理 图2 实时迁移原理 以“全量+增量”迁移为例,完整的迁移分为四个阶段。 第一阶段:结构迁移。DRS服务会从源数据库查询到用户选择迁移的库、表、主键等对象,然后在目标数据库创建这些对象。 第二阶段:全量数据迁移。DRS服务会通过并行技术,以最高效的资源利用,从源数据库查询到当前所有数据,并在目标数据库进行插入。在全量数据迁移启动前,会提前进行增量数据抽取保存,以便在第三阶段增量数据迁移时,能够和全量数据接续,保证数据的完整性和一致性。 第三阶段:增量数据迁移。全量任务结束后,增量迁移任务启动,此时会从全量开始的增量数据持续的解析转换和回放,直到追平当前的增量数据。 第四阶段:为了防止触发器、事件在迁移阶段对于数据的操作,在结束任务阶段再迁移触发器、事件。 全量数据迁移的底层模块主要原理: 分片模块:通过优化的分片算法,计算每个表的分片逻辑 抽取模块:根据计算的分片信息并行多任务从源数据库查询数据 回放模块:将抽取模块查询的数据并行多任务插入目标数据库 增量数据迁移的底层实现模块主要原理: 日志读取模块:日志读取模块从源数据库读取原始增量日志数据(例如MySQL为binlog),经过解析转换为标准的日志格式存储在本地。 日志回放模块:日志回放模块根据日志读取模块转换的标准格式增量日志,根据用户的选择策略进行加工过滤,将增量数据同步到目标数据库。
共100000条