迁移操作指导

最近更新时间:2024-06-21 09:26:01

我的收藏

操作场景

基于 DTS 的 MongoDB 数据迁移,支持全量 + 增量数据的迁移,即迁移前源库的历史数据,和迁移过程中源库新增的写入数据可一并进行迁移。
本文介绍使用 DTS 数据迁移功能从 MongoDB 迁移数据至腾讯云数据库 MongoDB 的操作指导。

准备工作

1. 请仔细阅读 使用说明,了解功能约束和注意事项。
2. 请根据您需要使用的接入类型,提前打通 DTS 与数据库之间的访问通道,具体请参考 网络准备工作
IDC 自建数据库/其他云厂商数据库:接入方式可选择“公网/专线接入/VPN 接入/云联网”。
CVM 上的自建数据库:接入方式选择“云主机自建”。
腾讯云数据库实例:接入方式选择“云数据库”。
3. 建议在源数据库创建一个只读账号供迁移使用,参考方式如下。
use admin
db.createUser({user: "username",pwd: "password",roles:[{role: "readAnyDatabase", db: "admin"},{role: "read", db: "local"}]})
4. 目标库为腾讯云数据库实例,可以使用 mongouser 进行迁移,也可以自行创建账号,自行创建账号的参考方式如下。
db.createUser({user:"username",pwd:"password",roles:[{role:"readWriteAnyDatabase",db:"admin"}]})

操作步骤

1. 登录 DTS 控制台,在左侧导航选择数据迁移页,单击新建迁移任务,进入新建迁移任务页面。
2. 在新建迁移任务页面,选择迁移的源实例类型和所属地域,目标实例类型和所属地域,规格等,然后单击立即购买



配置参数
说明
创建模式
新建任务:新建一个全新的任务。
创建类似任务:快速创建一个和历史任务相同配置的任务,新的任务中数据库类型、接入方式、计费模式、迁移类型等默认填充的选项都和历史任务保持一致,用户如果需要也可根据情况进行修改。
源实例类型
请根据您的源数据库类型选择,购买后不可修改。本场景选择“MongoDB”。
源实例地域
选择源数据库所属地域。如果源库为自建数据库,选择离自建数据库最近的一个地域即可。
目标实例类型
请根据您的目标数据库类型选择,购买后不可修改。本场景选择“MongoDB”。
目标实例地域
选择目标数据库所属地域。
版本
默认为 NewDTS,不需要修改。
规格
当前仅支持 Mediun 规格。
任务名
选择创建后命名,默认任务名称与任务 ID 一致。在迁移任务创建完成之后,可重新设置任务名称。
选择立即命名,在下面输入框,输入任务名称。
3. 购买完成后,页面自动跳转到数据迁移的任务列表,请选择刚才购买的任务进行配置。
如果您购买了多个地域,或者进行跨地域的任务配置,任务列表按照目标实例的所属地域进行展示,可在上方切换地域后找到已购买的任务。



4. 在设置源和目标数据库页面,完成任务设置、源库设置和目标库设置。
注意:
源库账号请填入之前创建的只读账号,否则前置校验步骤将不通过。
如果源库或者目标库为腾讯云数据库实例,DTS 在迁移过程中会使用系统服务账号导出数据/写入数据。例如,源库为腾讯云数据库实例,则 DTS 使用用户填入的只读账号连接源库外,还会使用系统服务账号导出源库数据;目标库为腾讯云数据库实例,则 DTS 使用用户填入的账号连接目标库外,还会使用系统服务账号向目标库写入数据。

配置参数
说明
任务名称
设置一个具有业务意义的名称,便于任务识别。
运行模式
立即执行:前置校验通过后会立即启动任务。
定时执行:设置一个任务开始执行的时间,前置校验通过后不启动任务,到设定的时间再启动。
接入类型
请根据您的场景选择,选择不同接入类型的准备工作请参考 准备工作概述
公网:源数据库可以通过公网 IP 访问。
云主机自建:源数据库部署在 腾讯云服务器 CVM 上。
专线接入:源数据库可以通过 专线接入 方式与腾讯云私有网络打通。
VPN 接入:源数据库可以通过 VPN 连接 方式与腾讯云私有网络打通。
云数据库:源数据库属于腾讯云数据库实例。
云联网:源数据库可以通过 云联网 与腾讯云私有网络打通。
源库为 IDC 自建数据库/其他云厂商数据库,接入方式可选择“公网/专线接入/VPN 接入/云联网”。源库为 CVM 上的自建数据库,源库接入方式选择“云主机自建”。源库为腾讯云数据库实例,接入方式选择“云数据库”。
架构
接入类型选择“云主机自建/专线接入/VPN 接入/云联网”时显示该参数。请根据实际情况选择。
副本集:指源库为副本集,每一个副本集由一个 Primary 节点和一个或多个 Secondary 节点组成的架构。
集群迁移:指源库为分片集群,每一个分片集群由 mongos 节点、config server、shard 节点等组件组成的架构。
单节点:指源库集群为单个节点来进行读写操作。
说明:
选择一种架构类型,并且连通性测试通过后,不能再修改为其他架构类型,否则任务会报错。
集群迁移
架构选择“集群迁移”时,需要配置如下参数。
节点 - mongod:请输入 mongod 节点 IP 和端口,或者域名和端口。多个节点请换行输入;每个 shard 下仅填入一个 mongod 即可,示例:1xx.xx.55.77:6xx9
节点 - mongos:请输入 mongos 节点 IP 和端口,或者域名和端口。
节点 - Config Server:请输入 Config Server 节点的 IP 和端口,或者域名和端口。
公网
接入类型选择“公网”时,需要配置如下参数。
主机地址:源数据库 IP 地址或域名。
端口:源数据库使用的端口。
云主机自建
接入类型选择“云主机自建”时,需要配置如下参数。
云主机实例:云服务器 CVM 的实例 ID。
端口:源数据库使用的端口。
专线接入
接入类型选择“专线接入”时,需要配置如下参数。
私有网络专线网关:专线接入时只支持私有网络专线网关,请确认网关关联网络类型。
私有网络:选择私有网络和子网。
主机地址:源数据库 IP 地址。
端口:源数据库使用的端口。
VPN 接入
接入类型选择“VPN 接入”时,需要配置如下参数。
VPN 网关:VPN 网关,请选择通过 VPN 网关接入的 VPN 网关实例。
私有网络:选择私有网络和子网。
主机地址:源数据库 IP 地址。
端口:源数据库使用的端口。
云数据库
接入类型选择“云数据库”时,需要配置如下参数。
云数据库实例:选择源数据库的实例 ID。
云联网
接入类型选择“云联网”时,需要配置如下参数。
云联网接入时,支持同账号云联网和跨账号云联网,因网络打通配置较多,请参考 通过云联网方式迁移自建数据库至腾讯云数据库
主机所在网络环境:请根据实际情况选择。例如源库为腾讯云数据库实例,选择“腾讯云”;源库为 IDC 自建数据库,选择“自建 IDC”;源库为其他云厂商数据库,则选择对应的网络。
主机地址:源数据库的主机 IP 地址。
端口:源数据库使用的端口。
云联网实例所属账号
我的账号:云联网资源和 DTS 归属同一个腾讯云主账号。
其他账号:云联网资源和 DTS 归属不同的腾讯云主账号。
私有网络云联网:云联网实例名称。
接入 VPC:选择接入 VPC 及子网。接入 VPC 指的是云联网中接入 DTS 迁移链路的 VPC。请在云联网关联的所有 VPC 中,选择除了源数据库所属 VPC 外的其他 VPC。
接入 VPC 地域:购买任务时选择的源数据库地域与接入 VPC 地域需要保持一致,如果不一致,DTS 会将购买任务中选择的源数据库地域,改为接入 VPC 地域。
是否需要认证
是否需要对源库中用户名和密码的安全性进行认证。选择“需要”则要填写如下参数。
认证库:需要认证的库名,即执行迁移任务账号所属的数据库名称,例如 admin。
认证机制:当前仅支持 SCRAM-SHA-1。
账号及密码选择
相同账号及密码:mongod、mongos、Config Server 角色均采用相同账号及密码时选择该参数,并填入统一的账号密码。
不同的账号及密码:mongod、mongos、Config Server 角色采用不同账号及密码时选择该参数,并分别填入 mongod、mongos、Config Server 的账号和密码。
账号/密码
账号/密码:源数据库的账号、密码。
5. 测试源实例和目标实例的连通性。 如果连通性测试未通过,请参考 连通性测试不通过 进行处理。

6. 在设置迁移选项及选择迁移对象页面,设置迁移选项和迁移对象。



配置参数
说明
迁移类型
请根据您的场景选择。
全量迁移:迁移整个数据库,迁移数据仅针对任务发起时,源数据库已有的内容,不包括任务发起后源库实时新增的数据写入。
全量 + 增量迁移:迁移数据包括任务发起时源库的已有内容,也包括任务发起后源库实时新增的数据写入。如果迁移过程中源库有数据写入,需要不停机平滑迁移,请选择此场景。
数据一致性校验
仅当迁移类型配置为“全量 + 增量迁移”时,支持进行一致性校验,对迁移后源库和目标库的数据进行详细对比;当迁移类型配置为“全量迁移”时,固定为不检测。
全量检测迁移对象:迁移任务在增量同步完成后,DTS 会自动触发一次一致性校验任务。
不检测:即不进行数据校验。用户如果需要可在增量同步完成后,手动进行触发,详情参考 创建数据一致性校验任务
数据校验
数据一致性校验选择“全量检测迁移对象”时,显示默认一致性校验的类型为“内容校验”。
迁移对象
整个实例:迁移整个实例,但不包括系统库,如 postgres 中的系统对象,但是会迁移 role 与用户元数据定义。
指定对象:迁移指定对象。
指定对象
在源库对象中选择待迁移的对象,然后将其移到已选对象框中。
7. 在校验任务页面,完成迁移前校验工作,单击启动任务。 如果校验任务不通过,可以参考 校验不通过处理方法 修复问题后重新发起校验任务。
失败:表示校验项检查未通过,任务阻断,需要修复问题后重新执行校验任务。
警告:表示检验项检查不完全符合要求,可以继续任务,但对业务有一定的影响,用户需要根据提示自行评估是忽略警告项还是修复问题再继续。

8. 返回迁移任务列表,同步任务运行中。
如果您需要进行查看任务详情、删除任务等操作,请单击对应的任务操作,详情可参考 任务管理。如果发生任务报错,请参考错误处理



9. 结束任务。
选择全量迁移:任务完成后会自动结束,不需要手动结束。
选择全量 + 增量迁移:全量迁移完成后会进入增量数据同步阶段,增量数据同步不会自动结束,需要用户手动来结束任务。
请在增量同步完成(即状态为“准备完成”),且目标与源库时间延迟为0秒时,在操作列单击完成,即可结束迁移任务。



10. (可选)如果需要割接,在结束任务后,任务状态变为任务成功时,即可对业务进行正式割接,更多详情可参考 割接说明