数据复制服务(Data Replication Service,简称DRS)支持将ECS自建数据库的数据迁 移到本云文档数据库服务(Document Database Service,以下简称DDS)实例。通过 DRS提供的实时迁移任务,实现在数据库迁移过程中业务和数据库不停机,业务中断 时间最小化。
本章节主要介绍了通过DRS将ECS自建数据库实时迁移至本云DDS的任务配置流程。支 持以下网络场景:
● 源数据库和目标数据库属于同一个VPC网络内
● 源数据库和目标数据库属于不同VPC网络内
网络示意图
图2-37 同一 VPC 网路
图2-38 同区域不同 VPC 网络
迁移流程
图2-39 迁移流程图
迁移建议(重要)
● 数据库迁移与环境多样性和人为操作均有密切关系,为了确保迁移的平顺,建议 您在进行正式的数据库迁移之前进行一次演练,可以帮助您提前发现问题并解决 问题,如何最小化对数据库的影响请参考如下建议。
● 强烈建议您在启动任务时选择“稍后启动”功能,将启动时间设置在业务低峰 期,相对静止的数据可以有效提升一次性迁移成功率,避免迁移对业务造成性能 影响。
迁移须知(重要)
须知
在创建迁移任务之前,请您务必仔细阅读迁移须知。
参考《数据复制服务实时迁移》中具体链路的“使用须知”。
迁移准备
1. 权限准备:
当使用 DRS 将ECS自建MongoDB数据库的数据迁移到本云DDS实例时,在不同迁 移类型情况下,对源数据库和目标数据库的帐号权限要求如表2-20:
表2-20 迁移帐号权限
迁移类型 全量迁移 全量+增量迁移
源数据库 ● 副本集:连接源数据 库的用户权限需要对 admin数据库有 readAnyDatabase权 限。
● 集群:连接源数据库 的用户权限需要对 admin数据库有 readAnyDatabase权 限,对config数据库 有read权限。
● 单节点:连接源数据 库的用户权限需要对 admin数据库有 readAnyDatabase权 限。
● 如果需要迁移源数据 库用户和角色信息,
连接源数据库的用户 权限需要对admin数 据库的系统表 system.users,
system.roles有读权 限。
● 副本集:连接源数据 库的用户权限需要对 admin数据库有 readAnyDatabase权 限,对local数据库有 read权限。
● 单节点:连接源数据 库的用户权限需要对 admin数据库有 readAnyDatabase权 限,对local数据库有 read权限。
● 集群:连接源数据库 mongos节点的用户 权限需要对admin数 据库有readAnyDatabase权 限,对config数据库 有read权限, 连接源 数据库分片节点的用 户权限需要对admin 数据库有readAnyDatabase权 限,对local数据库有 read权限。
● 如果需要迁移源数据 库用户和角色信息,
连接源数据库的用户 权限需要对admin数 据库的系统表 system.users,
system.roles有读权 限。
目标数据库 连接目标数据库的用户权限需要对admin数据库有 readAnyDatabase权限,对目标数据库有readWrite 权限。
– 源数据库权限设置:
需要确保源数据库MongoDB的帐号权限具备表2-20的要求。若权限不足,需 要在源数据库端开通高权限的帐号。
– 目标数据库权限设置:
本云DDS实例使用初始帐号即可。
2. 网络准备:
– 源数据库所在的region需要和目标DDS所在的region保持一致。
– 源数据库可以与目标DDS实例在同一个VPC,也可以不在同一个VPC。
▪
当不在同一个VPC的时候,要求源数据库实例和目标端DDS实例所处的 子网处于不同网段,此时需要通过建立对等连接实现网络互通,具体操 作请参见《虚拟私有云用户指南》中“VPC对等连接”章节。▪
当在同一VPC的时候,网络默认是互通的。3. 安全规则准备:
– 同一VPC场景下,默认网络是连通的,不需要单独设置安全组。
– 不同VPC场景下,通过建立对等连接就可以实现网络互通,不需要单独设置 安全组。
4. 其他事项准备:
由于迁移过程不会迁移MongoDB数据库的用户信息以及相关参数,需要自行将上 述信息导出后,手动添加到目标DDS中。
迁移步骤
步骤1 创建迁移任务。
1. 登录管理控制台,在服务列表中选择“数据库 > 数据复制服务”,进入数据复制 服务信息页面。
2. 在“实时迁移管理”页面,单击右上角“创建迁移任务”,进入迁移任务信息页 面。
3. 在“迁移实例”页面,填选任务名称、通知收件人、描述和迁移实例信息。
图2-40 迁移实例信息
表2-21 任务和描述
参数 描述
区域 当前所在区域,可进行切换。
参数 描述
源数据库引擎 选择MongoDB数据库引擎。
目标数据库引擎 选择DDS数据库引擎。
图2-41 源库及目标库信息
表2-23 源库信息
参数 描述
源库类型 选择“自建库”。
VPC 源数据库实例所在的虚拟专用网络,可以对不同业务进行网 络隔离。您需要创建或选择所需的虚拟私有云。如何创建虚 拟私有云,请参见《虚拟私有云用户指南》中的“创建虚拟 私有云基本信息及默认子网”章节。
子网 通过子网提供与其他网络隔离的、可以独享的网络资源,以 提高网络安全。子网在可用分区内才会有效,创建源数据库 实例的子网需要开启DHCP功能,在创建过程中也不能关闭 已选子网的DHCP功能。如何创建子网,请参见《虚拟私有 云用户指南》中的“创建虚拟私有云基本信息及默认子网”
章节。
IP地址或域名 配置源MongoDB数据库实例的访问地址或域名。
参数 描述
端口 配置源MongoDB数据库实例的服务端口,可输入范围为 1~65535间的整数。
数据库用户名 访问源MongoDB数据库的用户名。
数据库密码 访问源MongoDB数据库的用户名所对应的密码。
SSL安全连接 您可以选择开启SSL安全连接,对迁移链路进行加密,开启 之后,需要您上传加密证书。
表2-24 目标库信息
参数 描述
数据库实例名称 默认为创建迁移任务时选择的已创建的本云DDS实例,不可 进行修改。
数据库用户名 访问目标数据库本云DDS的用户名。
数据库密码 访问目标数据库本云DDS的用户名所对应的密码。
5. 在“迁移设置”页面,设置迁移对象,单击“下一步”。
图2-42 设置迁移对象
表2-25 迁移对象 于_id的默认索引目标端会自动创建。如果不迁移索引,索引不参 与对比。
图2-43 预检查
说明
所有检查项结果均通过时,若存在待确认项,需要阅读并确认详情后才可以继续执行下一 步操作。
7. 在“任务确认”页面,设置迁移任务的启动时间、任务异常通知设置、SMN主 题、时延阈值、任务异常自动结束时间,并确认迁移任务信息无误后,单击“启 动任务”,提交迁移任务。
图2-44 任务启动设置
表2-26 任务启动设置
参数 描述
启动时间 迁移任务的启动时间可以根据业务需求,设置为“立即启动”或
“稍后启动”,优选“稍后启动”。
说明
预计迁移任务启动后,会对源数据库和目标数据库的性能产生影响,建 议您将任务启动时间设定在业务低峰期,同时预留2-3天校对数据。
任务异常通
知设置 该项为可选参数,开启之后,选择对应的SMN主题。当迁移任 务状态异常时,系统将发送通知。
SMN主题 “任务异常通知设置”项开启后可见,需提前在SMN上申请主 题并添加订阅。
SMN主题申请和订阅可参考《消息通知服务用户指南》。
参数 描述
时延阈值 在增量迁移阶段,源数据库和目标数据库之间的实时同步有时会 存在一个时间差,称为时延,单位为秒。
时延阈值设置是指时延超过一定的值后(时延阈值范围为1—
3600s),DRS可以发送告警通知。告警通知将在时延稳定超过 设定的阈值6min后发送,避免出现由于时延波动反复发送告警 通知的情况。
设置任务异常自动结束天数,输入值必须在14-100之间,默认 值14。 看具体迁移对象的迁移进度。当全量迁移进度显示为100%,表示全量迁移已 经完成。
图2-45 查看时延监控
db.currentOp() 说明
上述语句查询到的进程列表中,包括DRS迁移实例的连接,您需要确认除DRS迁移实例的 连接外无任何新会话执行SQL,即可认为业务已经完全停止。
3. 通过DRS迁移任务监控页面进行观察同步时延,保持实时同步时延为0,并稳定保
1. 结束迁移任务:业务系统和数据库切换至本云后,为了防止源数据库的操作继续 同步到目标数据库,造成数据覆盖问题,此时您可选择结束迁移任务,该操作仅 删除了迁移实例,迁移任务仍显示在任务列表中,您可以进行查看或删除。结束 迁移任务后,DRS将不再计费。
2. 删除迁移任务:对于已结束的迁移任务,您可选择删除任务。该操作将一并删除 迁移任务,删除迁移任务后,该任务将不会出现在任务列表中。
----结束