
# 将MongoDB迁移到DDS
#### 支持的源和目标数据库
表1支持的数据库 
| 源数据库                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | 目标数据库                                                                                                                                                                                                                                                     |
|:---|:---|
| - 本地自建Mongo数据库（3.2、3.4、3.6、4.0、4.2、4.4、5.0版本）  - ECS自建Mongo数据库（3.2、3.4、3.6、4.0、4.2、4.4、5.0版本）  - 其他云上Mongo数据库（3.2、3.4、3.6、4.0、4.2、4.4、5.0版本）  - DDS实例（3.2、3.4、4.0、4.2、4.4、5.0版本） 说明： - 源数据库为DDS 3.2版本集群实例时，仅支持单全量迁移，不支持增量迁移。    - 如果源库选择DDS实例，则此链路的数据库引擎是"DDS"，否则，此链路的数据库引擎是"MongoDB（数据库种类）-DDS"。      | - DDS实例（3.4、4.0、4.2、4.4、5.0版本） 说明： 仅支持目标库版本等于或高于源库版本。    |
   
可通过以下命令，查询源数据库版本是否符合要求的内容：
```
db.version()
```
#### 数据库账号权限要求
在使用DRS进行迁移时，连接源库和目标库的数据库账号需要满足以下权限要求，才能启动实时迁移任务。不同类型的迁移任务，需要的账号权限也不同，详细可参考[表2]进行赋权。**DRS会在"预检查"阶段对数据库账号权限进行自动检查，并给出处理建议。**
 表2数据库账号权限 
| **类型名称**  | **全量迁移**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | **全量+增量迁移**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|
| 源数据库连接账号  | - 副本集：连接源数据库的用户需要有admin库的readAnyDatabase权限。  - 单节点：连接源数据库的用户需要有admin库的readAnyDatabase权限。  - 集群：连接源数据库的用户需要有admin库的readAnyDatabase权限，有config库的read权限。  - 如果需要迁移源数据库用户和角色信息，连接源数据库和目标库数据库的用户需要有admin数据库的系统表system.users、system.roles的read权限。   | - 副本集：连接源数据库的用户需要有admin库的readAnyDatabase权限，有local库的read权限。  - 单节点：连接源数据库的用户需要有admin库的readAnyDatabase权限，有local库的read权限。  - 集群：连接源数据库mongos节点的用户需要有admin库的readAnyDatabase权限，有config库的read权限，连接源数据库分片节点的用户需要有admin库的readAnyDatabase权限，有local库的read权限。  - 如果需要迁移源数据库用户和角色信息，连接源数据库和目标库数据库的用户需要有admin数据库的系统表system.users、system.roles的read权限。   |
| 目标数据库连接账号 | 连接目标数据库的用户需要有admin库的dbAdminAnyDatabase权限，有目标数据库的readWrite权限。 对于目标数据库是集群的实例，迁移账号还要有admin库的clusterManager权限。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  ||
   
![](https://support.huaweicloud.com/realtimemig-drs/public_sys-resources/note_3.0-zh-cn.png)
- 建议创建单独用于DRS任务连接的数据库账号，避免因为数据库账号密码修改，导致的任务连接失败。
- 连接源和目标数据库的账号密码修改后，请参考[修改连接信息](https://support.huaweicloud.com/realtimemig-drs/drs_03_1135.html)章节修改DRS任务的连接信息，避免任务连接失败后自动重试，导致数据库账号被锁定影响使用。
- 副本集用户赋权参考语句：连接源数据库的用户需要有admin库的readAnyDatabase权限和local库的read权限。
  ```
  db.grantRolesToUser("用户名",[{role:"readAnyDatabase",db:"admin"}, {role:"read",db:"local"}])
  ```
  
- 集群用户赋权参考语句：连接源数据库mongos节点的用户需要有admin库的readAnyDatabase权限，有config库的read权限。
  ```
  db.grantRolesToUser("用户名",[{role:"readAnyDatabase",db:"admin"}, {role:"read",db:"config"}])
  ```
  
 
#### 支持的迁移对象范围
在使用DRS进行迁移时，不同类型的迁移任务，支持的迁移对象范围不同，详细情况可参考[表3]。**DRS会根据用户选择，在"预检查"阶段对迁移对象进行自动检查**。
 表3支持的迁移对象 
| **类型名称** | **使用须知**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|
| 迁移对象范围   | - 支持选择表级、库级或实例级（全部迁移）。  - 副本集：目前只支持集合(包括验证器，是否是固定集合)，索引和视图的迁移。  - 集群：目前只支持集合（包括验证器，是否是固定集合），分片键，索引和视图的迁移。  - 单节点：目前只支持集合（包括验证器，是否是固定集合），索引和视图的迁移。  - 只支持迁移用户数据和源数据库的账号信息，不支持迁移系统库（如local、admin、config等）和系统集合，如果业务数据在系统库下，则需要先将业务数据移动到用户数据库下，可以使用renameCollection命令进行移出。  - 不支持视图的创建语句中有正则表达式。  - 不支持_id字段没有索引的集合。  - 不支持BinData()的第一个参数为2。  - 不支持范围分片的情况下maxKey当主键。  - 不支持源库集合的String类型字段中存储非UTF-8类型字符串，否则会导致迁移前后数据不一致。  - 源库为4.4或更高版本集群时，如果目标库低于5.0版本，不支持复合哈希分片键和复合哈希索引，如果目标库为5.0版本则支持复合哈希分片键和复合哈希索引。  - 源库为4.4或更高版本副本集时，如果目标库低于5.0版本，不支持复合哈希索引，如果目标库为5.0版本则支持复合哈希索引。  - 全量和增量阶段都不支持时序集合。  - 增量阶段不支持同步集群分片键。   |
   
#### 源和目标数据库的网络连通配置
- 源数据库如果部署在本地，可参考[本地数据库到华为云](https://support.huaweicloud.com/prepare-drs/drs_02_0472.html)中的内容，选择网络类型进行配置。
- 源数据库为其他云数据库，可参考[其他云数据库到华为云](https://support.huaweicloud.com/prepare-drs/drs_02_0475.html)中的内容，选择网络类型进行配置。
- 源数据库为华为云ECS自建库，可参考[华为云ECS自建数据库到华为云](https://support.huaweicloud.com/prepare-drs/drs_02_0482.html)中的内容，选择网络类型进行配置。
- 源数据库为华为云上数据库，可参考[华为云数据库到华为云](https://support.huaweicloud.com/prepare-drs/drs_02_0478.html)中的内容，选择网络类型进行配置。
 
#### 源数据库的日志配置检查
在进行增量迁移时，源数据库的Oplog日志必须打开。在磁盘空间允许的情况下，建议源数据库Oplog保存时间越长越好，至少为3天。
#### 注意事项
为保证任务的正常运行，DRS提供了自动化的检查方法，在您启动DRS任务前，会针对源数据库和目标数据库的相关配置、条件进行检查。主要的检查项和对应的处理建议请参考[DRS预检查项一览表](https://support.huaweicloud.com/realtimemig-drs/drs_03_1166.html)。除了预检查项目之外，您还需要注意的事情如[表4]所示
 表4注意事项 
| **类型名称** | **使用和操作限制**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|
| 源数据库限制   | - 源数据库不能是GeminiDB Mongo实例。  - 源数据库的库名不能包含/\\."$和空格，集合名和视图名中不能包含$字符或以system.开头。  - 多个源数据库迁移到同一个目标数据库时，所选的待迁移数据库的库名不能重复。  - 副本集：MongoDB数据库的副本集实例状态必须正常，要存在主节点。  - 单节点类型实例的增量迁移目前仅支持源库为文档数据库单节点实例。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 使用限制     | **通用：** - 整个迁移过程中，不允许修改、删除连接源和目标数据库的用户的用户名、密码、权限，或修改源和目标数据库的端口号。  - 整个迁移过程中，不允许对正在迁移中的目标数据库进行修改操作（包括但不限于DDL、DML操作）。  - 整个迁移过程中，不支持源数据库主备切换导致数据回滚的情况。  - 整个迁移过程中，不支持insert、update源库大于16MB的文档。  - 整个迁移过程中，源数据库不允许手动执行sh.moveChunk()操作，否则将导致迁移数据不一致。   **全量迁移阶段：** - 任务启动和全量数据迁移阶段，请不要在源数据库执行DDL操作，否则可能导致任务异常。   **增量迁移阶段：** - 选择集合迁移时，增量迁移过程中不建议对集合进行重命名操作。  - 为保证迁移的性能，任务增量阶段，会集合级的进行并发回放。特殊地，以下情况只支持单线程写入，不支持并发回放： - 集合的索引中有unique key时；  - 集合属性的capped为true时；   这种情况可能会导致任务时延增高。    **数据对比：** - 建议在源库的业务低峰期进行数据比对，防止误报不一致数据，以及减少对源库和DRS任务的冲击。  - 在增量同步过程中做对比时，源库若存在写入，则对比结果可能不一致。    - 行对比时，集群实例如果存在孤儿文档或者正在进行chunk迁移，会导致返回的行数不准确，对比结果不一致。详细情况可参考[MongoDB官方文档](https://www.mongodb.com/docs/manual/reference/method/db.collection.count/)。   **常见故障排查：** - 在任务创建、启动、全量同步、增量同步、结束等过程中，如有遇到问题，可先参考"[故障排查](https://support.huaweicloud.com/trouble-drs/drs_13_0008.html)"章节进行排查。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| 其他限制     | - 源数据库为非集群实例时，增量迁移阶段支持如下操作**：** - 支持数据库（database）新建、删除。  - 支持文档（document）新增、删除、更新。  - 支持集合（collection）新建、删除。  - 支持索引（index）新建、删除。  - 支持视图（view）新建，删除。  - 支持convertToCapped、collMod、renameCollection命令。    - 源库是集群实例时，集群到集群、集群到副本集的全量+增量迁移，全量阶段和增量阶段，不允许对迁移对象做删除操作，否则会导致任务失败。  - 源库实例类型选择集群的Change Streams（MongoDB 4.0+）模式时，DRS内部迁移使用MongoDB特性Change Streams。使用该模式应注意以下几个方面： - Change Streams订阅数据过程会消耗源数据库一定量的CPU，内存资源，请提前做好源数据库资源评估。  - 受MongoDB Change Streams自身性能影响，如果源库的负载比较大，Change Streams会出现处理速度无法跟上Oplog产生速度，进而导致DRS同步出现时延。  - 受MongoDB Change Streams自身接口限制，增量同步阶段目前仅支持drop database，drop collection，rename的DDL，暂不支持其他类型的DDL。在源库集合首次执行insert或replace文档的操作时，该集合对应的索引（index）会被同步到目标库，如果您不需要同步索引，请提交[工单申请](https://console.huaweicloud.com/ticket/#/ticketindex/createIndex)配置运维参数跳过。  - 不支持DBPointer和DBRef数据类型。  - 增量阶段单表最多支持10000条/秒左右的迁移速度。  - Change Streams模式目前为受限使用阶段。    - 源库实例类型选择集群的Oplog模式时，DRS会根据"源端分片个数"创建多个子任务。如果选择任务限速，设置的限流值会同步给每个子任务。  - 对于在源数据库已经存在TTL索引的集合，或者在增量迁移期间在源库数据创建了TTL索引的集合，由于源数据库和目标库数据库时区，时钟的不一致，不能保证迁移完成之后数据的一致性。  - 压缩参数block_compressor的取值，根据源库对应集合的stats().wiredTiger.creationString.block_compressor来决定，如果目标库已经存在对应的空集合，则不迁移压缩参数；特殊的，对于不支持的压缩参数，按照目标库实例的net.compression.compressors参数决定。当目标库为DDS 4.2版本时，由于目标库不支持压缩参数的设置，DRS不迁移压缩参数。  - 对于用户和角色的迁移，DRS冲突策略为忽略，即迁移的用户和角色与目标数据库冲突时，将跳过冲突数据，继续进行后续迁移。  - 如果源数据库的MongoDB服务不是单独部署的，而是和其他的服务部署在同一台机器，则必须要给源数据库的wiredTiger引擎加上cacheSizeGB的参数配置，建议值设为最小空闲内存的一半。  - 如果源数据库是副本集，则建议填写所有的主节点和备节点信息，以防主备切换影响迁移任务。如果填写的是主备多个节点的信息，注意所有的节点信息必须属于同一个副本集实例。  - 如果源数据库是集群，则建议填写多个mongos信息，以防单个mongos节点故障影响迁移任务。如果填写的是多个mongos信息，注意所有的mongos信息必须属于同一个集群。如果是集群的增量迁移任务，建议shard信息填写所有的主节点和备节点，以防主备切换影响迁移任务，并且注意所填写的主备信息必须属于同一个shard。确保填写的所有shard节点信息必须隶属于同一个集群。  - 非全部迁移场景下，为防止drop database操作删除目标库已有的集合，drop database不会同步到目标库。 - 源库是MongoDB 3.6以下版本（不含3.6）时，执行drop database会导致源库删除集合但目标库没有删除。  - 源库是MongoDB 3.6及以上版本（含3.6）时，drop database 操作在oplog中会体现为drop database 和drop collection操作，所以目标库也会删除相应集合，不会出现问题。    - 为了提高迁移的速度，在开始迁移之前，建议在源数据库删掉不需要的索引，只保留必须的索引。在迁移过程中不建议对源库创建索引，如果必须要创建索引，请使用后台的方式创建索引。  - 为了防止回环，不支持在相同的源和目标库同时启动入云和出云任务。   |
   
#### 操作步骤
本章节将以MongoDB分片集群为示例，介绍在公网网络场景下，通过数据复制服务配置分片集群MongoDB迁移至DDS社区版集群任务的流程。
1. 在"实时迁移管理"页面，单击"创建迁移任务"，进入创建迁移任务页面。
2. 在"迁移实例"页面，填选项目、任务名称、描述、迁移实例信息，单击"开始创建"。此处支持单击"使用上次创建信息"，使用上次创建任务实例缓存的信息。 
   - 任务信息
     图1迁移任务信息   
     ![](https://support.huaweicloud.com/realtimemig-drs/figure/zh-cn_image_0000002578931155.png "点击放大")
     表5任务和描述 
     | **参数** | **描述**                                              |
     |:---|:---|
     | 区域     | 当前所在区域，可进行切换。为了降低访问时延、提高访问速度，请就近选择靠近您业务的区域。         |
     | 项目     | 当前区域对应的项目，可进行切换。                                    |
     | 任务名称   | 任务名称在4到50位之间，必须以字母开头，可以包含字母、数字、中划线或下划线，不能包含其他的特殊字符。 |
     | 描述     | 描述不能超过256位，且不能包含! = \< \> \& ' " \\ 特殊字符。           |
        
     
   
   - 迁移实例信息
     图2迁移实例信息   
     ![](https://support.huaweicloud.com/realtimemig-drs/figure/zh-cn_image_0000001922931953.png "点击放大")
     表6迁移实例信息 
     | **参数**   | **描述**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
     |:---|:---|
     | 数据流动方向   | 选择"入云"。 入云指目标端数据库为本云数据库。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
     | 源数据库引擎   | 选择"MongoDB"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
     | 目标数据库引擎  | 选择"DDS"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
     | 网络类型     | 默认为公网网络类型，可按照需求选择"VPC网络"、"公网网络"和"VPN、专线网络"。 - VPC网络：适合云上同账号同Region同VPC场景下数据库之间的迁移。  - 公网网络：适合通过公网网络把其他云下或其他平台的数据库迁移到目标数据库。  - VPN、专线网络：适合VPN、专线、CC、VPCEP、或者用户已打通VPC对等连接的网络场景，实现其他云下自建数据库与云上数据库迁移、或云上跨Region的数据库之间的迁移。                                                                                           |
     | 目标数据库实例  | 用户所创建的目标数据库实例。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
     | 迁移实例所在子网 | 选择迁移实例所在的子网。也可以单击"查看子网"，跳转至"网络控制台"查看实例所在子网帮助选择。 默认值为当前所选数据库实例所在子网，请选择有可用IP地址的子网。为确保迁移实例创建成功，仅显示已经开启DHCP的子网。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
     | 迁移模式     | - 全量：该模式为数据库一次性迁移，适用于可中断业务的数据库迁移场景，全量迁移将非系统数据库的全部数据库对象和数据一次性迁移至目标端数据库，包括：集合、视图、索引等。 说明： 如果用户只进行全量迁移时，建议停止对源数据库的操作，否则迁移过程中源数据库产生的新数据不会同步到目标数据库。   - 全量+增量：该模式为数据库持续性迁移，适用于对业务中断敏感的场景，通过全量迁移过程完成目标端数据库的初始化后，增量迁移阶段通过解析日志等技术，将源端和目标端数据库保持数据持续一致。 说明： 选择"全量+增量"迁移模式，增量迁移可以在全量迁移完成的基础上实现数据的持续同步，无需中断业务，实现迁移过程中源业务和数据库继续对外提供访问。                                                                                                                                                                                                                             |
     | 源数据库实例类型 | 迁移模式为"全量+增量"时，需要根据源数据库的具体来源进行设置。 - 当源库类型属于集群时，该项需要设置为集群。  - 当源库类型属于副本集或者单节点时，该项需要设置为非集群。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
     | 增量数据获取方式 | 当源端实例类型设置为"集群"，且任务迁移模式为全量+增量时，需要选择增量数据获取方式。除此以外，源数据库必须关闭集合均衡器Balancer并清理孤儿文档，可参考[如何关闭集合均衡器Balancer](https://support.huaweicloud.com/drs_faq/drs_16_0001.html)和[分片集群MongoDB迁移前清除孤儿文档](https://support.huaweicloud.com/drs_faq/drs_09_0101.html)。 - oplog：支持MongoDB 3.2及以上版本，DRS直接连接源数据库实例的每一个Shard进行数据抽取。选择此方式，测试连接时需要填写源数据库每一个Shard的连接信息。  - changeStream：支持MongoDB 4.0及以上版本，DRS连接源数据库实例的mongos进行数据抽取，选择此方式时，源数据库实例必须开启WiredTiger存储引擎，推荐此选项。   说明： "changeStream"方式目前为受限使用阶段，需要提交[工单申请](https://console.huaweicloud.com/ticket/#/ticketindex/createIndex)才能使用。 |
     | 源端分片个数   | 当源端实例类型设置为"集群"且增量数据获取方式为"oplog"时，需要填写源端数据库分片个数。 源端数据库分片个数默认最小值为2，最大值为64，您需要根据源库实际的集群分片个数设置该值大小。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
     | 指定公网IP   | 网络类型选择"公网网络"时可见，选择为DRS实例绑定的弹性公网IP。任务创建时，DRS将会自动绑定该弹性公网IP，等待任务结束后将自动解绑该弹性公网IP。当源端实例类型设置为"集群"且增量数据获取方式为"oplog"时，指定公网IP数量需要与源端分片个数匹配。 公网网络迁移产生的数据传输费用收取标准请参见：[弹性公网IP价格计算器](https://www.huaweicloud.com/pricing.html#/eip)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
        
     
   
   - 可用区
     图3可用区   
     ![](https://support.huaweicloud.com/realtimemig-drs/figure/zh-cn_image_0000001876815114.png "点击放大")
     表7任务可用区 
     | **参数** | **描述**                          |
     |:---|:---|
     | 可用区    | DRS任务创建的可用区，选择跟源或目标库相同的可用区性能更优。 |
        
     
   
   - 企业项目和标签
     图4企业项目和标签   
     ![](https://support.huaweicloud.com/realtimemig-drs/figure/zh-cn_image_0000002056447886.png "点击放大")
     表8企业项目和标签 
     | **参数** | **描述**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
     |:---|:---|
     | 企业项目   | 企业项目是一种云资源管理方式，企业项目管理服务提供统一的云资源按项目管理，以及项目内的资源管理、成员管理。请在下拉框中选择所在的企业项目，其中，default为默认项目。 更多关于企业项目的信息，请参见[《企业管理用户指南》](https://support.huaweicloud.com/usermanual-em/zh-cn_topic_0108763975.html)。 如果需要自定义企业项目，请在控制台右上角单击"企业"，进入"企业项目管理"页面创建，具体请参见《企业管理用户指南》中"[创建企业项目](https://support.huaweicloud.com/usermanual-em/zh-cn_topic_0108763964.html)"的内容。                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
     | 标签     | - 可选配置，对同步任务的标识。使用标签可方便管理您的任务。每个任务最多支持20个标签配额。  - 如果您的组织已经设定DRS的相关标签策略，则需按照标签策略规则为任务添加标签。标签如果不符合标签策略的规则，则可能会导致任务创建失败，请联系组织管理员了解标签策略详情。  - 任务创建成功后，您可以单击任务名称，在"标签"页签下查看对应标签。关于标签的详细操作，请参见[标签管理](https://support.huaweicloud.com/realtimemig-drs/drs_online_tag.html)。   |
        
     
   
   
   
   
3. 在"源库及目标库"页面，迁移实例创建成功后，填选源库信息和目标库信息，单击"源库和目标库"处的"测试连接"，分别测试并确定与源库和目标库连通后，勾选协议，单击"下一步"。 
   - 源库信息
     图5源库信息页面   
     ![](https://support.huaweicloud.com/realtimemig-drs/figure/zh-cn_image_0000001923016789.png "点击放大")
     表9源库信息 
     | **参数**         | **描述**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
     |:---|:---|
     | mongos IP地址或域名 | 源数据库的IP地址或域名，格式为IP地址/域名:端口。其中源数据库服务端口，可输入范围为1\~65535间的整数。 如果源数据库为自建MongoDB，填入自建MongoDB对应Mongos节点的IP地址或域名。 该输入框最多支持填写3组源数据库的IP地址或者域名信息，多个值需要使用英文逗号隔开。例如：192.168.0.1:8080,192.168.0.2:8080。同时需要确保所填写的多个IP地址或域名属于同一个分片集群。 说明： 此处若填写的是多组IP地址或者域名信息，在进行测试连接的过程中，只要存在一组IP地址或者域名可以连通，那么测试连接就提示成功。所以需要您保证填写的IP地址或域名的正确性。                                                                                                                                                                                                                                                                                      |
     | 账号认证数据库        | 填写源数据库MongoDB中数据库账号所属的数据库名称。例如：华为云DDS实例默认的账号认证数据库为admin。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
     | mongos用户名      | 填写源数据库MongoDB对应Mongos节点的用户名。例如：华为云DDS实例默认的mongos用户名为rwuser。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
     | 数据库密码          | 填写数据库的用户名所对应的密码。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
     | SSL安全连接        | 通过该功能，用户可以选择是否开启对迁移链路的加密。如果开启该功能，需要用户上传SSL CA根证书。 说明： - 最大支持上传500KB的证书文件。  - 如果不启用SSL安全连接，请自行承担数据安全风险。                                                                                                                                                                                                                                                                                                                                                                                              |
     | 分片数据库          | 根据源库实际的集群分片个数，填写MongoDB对应的Shard节点信息。 - 分片数据库的IP地址或域名填写源数据库MongoDB中Shard数据库节点的，格式为IP地址/域名:端口。如果源库是华为云DDS实例，可参考《[申请Shard和Config节点的地址](https://support.huaweicloud.com/usermanual-dds/dds_02_0100.html)》申请Shard节点IP，并填写分片数据库IP信息。  - 分片数据库的账号认证数据库填写源数据库MongoDB中Shard数据库账号所属的数据库名称。例如：华为云DDS实例默认的shard节点账号认证数据库为admin。  - 分片数据库的用户名填写源数据库MongoDB中Shard节点的用户名。例如：华为云DDS实例默认的shard节点用户名为sharduser。   |
        
     ![](https://support.huaweicloud.com/realtimemig-drs/public_sys-resources/note_3.0-zh-cn.png)
     **源数据库的IP地址或域名、数据库用户名和密码，** **会被系统加密暂存，直至删除该迁移任务后自动清除。**
     
   
   
   
   - 目标库信息配置
     图6目标库信息   
     ![](https://support.huaweicloud.com/realtimemig-drs/figure/zh-cn_image_0000001923096409.png "点击放大")
     表10目标库信息 
     | **参数**  | **描述**                                                                                                                                                                                                                                                                                                                                                                                                         |
     |:---|:---|
     | 数据库实例名称 | 默认为创建迁移任务时选择的数据库实例，不可进行修改。                                                                                                                                                                                                                                                                                                                                                                                     |
     | 账号认证数据库 | 填写的数据库账号所属的数据库名称。例如：华为云DDS实例默认的账号认证数据库为admin。                                                                                                                                                                                                                                                                                                                                                                  |
     | 数据库用户名  | 目标数据库对应的数据库用户名。                                                                                                                                                                                                                                                                                                                                                                                                |
     | 数据库密码   | 目标数据库的登录密码。                                                                                                                                                                                                                                                                                                                                                                                                    |
     | SSL安全连接 | 通过该功能，用户可以选择是否开启对迁移链路的加密。如果开启该功能，需要用户上传SSL CA根证书。 说明： - 最大支持上传500KB的证书文件。  - 如果不启用SSL安全连接，请自行承担数据安全风险。   |
        
     ![](https://support.huaweicloud.com/realtimemig-drs/public_sys-resources/note_3.0-zh-cn.png)
     **目标数据库的用户名和密码将在迁移过程中被加密暂存到数据库和迁移实例主机上，待该任务删除后会永久清除。**
     
   
   
   
   
4. 在"迁移设置"页面，设置迁移对象，单击"下一步"。 
   图7设置迁移对象   
   ![](https://support.huaweicloud.com/realtimemig-drs/figure/zh-cn_image_0000001923097121.png "点击放大")
   
   表11迁移对象 
   | **参数** | **描述**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   |:---|:---|
   | 流速模式   | 流速模式支持限速和不限速，默认为不限速。限速模式只对全量阶段生效，增量阶段不生效。 - 限速 自定义的最大迁移速度，具体速度受网络等多种因素的影响，迁移过程中每个任务（多任务时为每个子任务）的迁移速度将不会超过该速度。 当流速模式选择了"限速"时，您需要通过流速设置来定时控制迁移速度。流速设置通常包括限速时间段和流速大小的设置。默认的限速时间段为"全天限流"，您也可以根据业务需求选择"时段限流"。自定义的时段限流支持最多设置10个定时任务，每个定时任务之间不能存在交叉的时间段，未设定在限速时间段的时间默认为不限速。 流速的大小需要根据业务场景来设置，不能超过9999MB/s。 图8设置流速模式 ![](https://support.huaweicloud.com/realtimemig-drs/figure/zh-cn_image_0000002078647729.png "点击放大")    - 不限速 对迁移速度不进行限制，通常会最大化使用源数据库的出口带宽。该流速模式同时会对源数据库造成读消耗，消耗取决于源数据库的出口带宽。比如源数据库的出口带宽为100MB/s，假设高速模式使用了80%带宽，则迁移对源数据库将造成80MB/s的读操作IO消耗。 说明： - 限速模式只对全量迁移阶段生效，增量迁移阶段不生效。  - 您也可以在创建任务后修改流速模式。具体方法请参见[修改流速模式](https://support.huaweicloud.com/realtimemig-drs/drs_03_0046.html)。      |
   | 迁移用户   | 常见的迁移用户一般分为两类：支持迁移的用户和不支持迁移的用户。您可以根据业务需求选择迁移或者不迁移，其中，不支持迁移的账号或者未选择迁移的账号将在目标数据库中缺失，需要先确保业务不受影响。 - 是 当您选择迁移用户时，请参见[迁移用户](https://support.huaweicloud.com/realtimemig-drs/drs_09_0017.html)章节进行数据库用户及角色的处理。     - 否 迁移过程中，将不进行数据库用户及角色的迁移。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   | 迁移对象   | 左侧框是源数据库对象，右侧框是已经选择的对象，您可以根据业务需求，选择全部对象迁移、表级迁移或者库级迁移。 - 全部迁移：将源数据库中的所有对象全部迁移至目标数据库，对象迁移到目标数据库实例后，对象名将会保持与源数据库实例对象名一致且无法修改。  - 表级迁移：将选择的表级对象迁移至目标数据库。  - 库级迁移：将选择的库级对象迁移至目标数据库。   如果有切换源数据库的操作或源库迁移对象变化的情况，请务必在选择迁移对象前单击右上角的![](https://support.huaweicloud.com/realtimemig-drs/figure/zh-cn_image_0000001220559671.png)，以确保待选择的对象为最新源数据库对象。 说明： - 若选择部分数据库进行迁移时，由于存储过程、视图等对象可能与其他数据库的表存在依赖关系，若所依赖的表未迁移，则会导致迁移失败。建议您在迁移之前进行确认，或选择全部数据库进行迁移。  - 当对象名称包含空格时，名称前后的空格不显示，中间如有多个空格只显示一个空格。  - 选择的迁移对象名称中不能包含空格。  - 选择对象的时候支持对**展开的库**进行搜索，以便您快速选择需要的数据库对象。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
      
   
   
5. 在"预检查"页面，进行迁移任务预校验，校验是否可进行迁移。 
   - 查看检查结果，如有不通过的检查项，需要修复不通过项后，单击"重新校验"按钮重新进行迁移任务预校验。 预检查不通过项处理建议请参见《数据复制服务用户指南》中的"[预检查不通过项修复方法](https://support.huaweicloud.com/trouble-drs/drs_11_0001.html)"。
     
   
   
   
   - 预检查完成后，且预检查通过率为100%时，单击"下一步"。
     ![](https://support.huaweicloud.com/realtimemig-drs/public_sys-resources/note_3.0-zh-cn.png)
     所有检查项结果均通过时，若存在请确认项，需要阅读并确认详情后才可以继续执行下一步操作。
     
   
   
   
   
6. 在"任务确认"页面，设置迁移任务的启动时间、任务异常通知设置、SMN主题、时延阈值、结束自动创建对比任务、立即启动（仅初始化）、任务异常自动结束时间，并确认迁移任务信息无误后，单击"启动任务"，提交迁移任务。 
   图9任务启动设置   
   ![](https://support.huaweicloud.com/realtimemig-drs/figure/zh-cn_image_0000001876820986.png "点击放大")
   
   图10单全量任务启动设置   
   ![](https://support.huaweicloud.com/realtimemig-drs/figure/zh-cn_image_0000002527605881.png "点击放大")
   表12任务启动设置 
   | **参数**        | **描述**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
   |:---|:---|
   | 启动时间          | 迁移任务的启动时间可以根据业务需求，设置为"立即启动"或"稍后启动"，优选"稍后启动"。 说明： 预计迁移任务启动后，会对源数据库和目标数据库的性能产生影响，建议您将任务启动时间设定在业务低峰期，同时预留2-3天校对数据。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   | 任务异常通知设置      | 该项为可选参数，开启之后，选择对应的SMN主题。当入云迁移任务即将开始计费或者迁移任务状态、时延指标、数据等异常时，系统将发送通知。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   | SMN主题         | "任务异常通知设置"项开启后可见，需提前在SMN上申请主题并添加订阅。 SMN主题申请和订阅可参考[《消息通知服务用户指南》](https://support.huaweicloud.com/usermanual-smn/zh-cn_topic_0043394914.html)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   | 时延阈值          | 在增量迁移阶段，源数据库和目标数据库之间的同步有时会存在一个时间差，称为时延，单位为秒。 时延阈值设置是指时延超过一定的值后（时延阈值范围为0到3600s），DRS可以发送告警通知。告警通知将在时延稳定超过设定的阈值6min后发送，避免出现由于时延波动反复发送告警通知的情况。 说明： - 首次进入增量迁移阶段，会有较多数据等待同步，存在较大的时延，属于正常情况，不在此功能的监控范围之内。  - 设置时延阈值之前，需要设置任务异常通知。  - 当时延阈值设置为0时，不会发送通知给收件人。   |
   | 结束自动创建对比任务    | 在单全量任务场景，可选择是否开启"结束自动创建对比任务"。 - 开启"结束自动创建对比任务"，任务结束后自动创建对象对比与行对比。  - 不开启"结束自动创建对比任务"，任务结束后不自动创建对比任务。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   | 立即启动（仅初始化）    | 在单全量任务场景，可选择是否开启"立即启动（仅初始化）"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
   | 数据异常通知        | 该项为可选参数，开启之后，当同步任务数据异常时，系统将发送通知。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   | 任务异常自动结束时间（天） | 设置任务异常自动结束天数，输入值必须在14到100之间，默认值14。 说明： 异常状态下的任务仍然会计费，而长时间异常的任务无法续传和恢复。设置任务异常自动结束天数后，异常且超时的任务将会自动结束，以免产生不必要的费用。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
      
   
   
7. 迁移任务提交后，您可在"实时迁移管理"页面，查看并[管理自己的任务](https://support.huaweicloud.com/realtimemig-drs/drs_04_0010.html)。
   
   - 您可查看任务提交后的状态，状态请参见[任务状态说明](https://support.huaweicloud.com/realtimemig-drs/drs_03_0001.html)。
   
   - 在任务列表的右上角，单击![](https://support.huaweicloud.com/realtimemig-drs/figure/zh-cn_image_0000001172274868.png)刷新列表，可查看到最新的任务状态。
   
   - 全量迁移结束后，可通过[数据对比](https://support.huaweicloud.com/realtimemig-drs/drs_02_0007.html)功能查看迁移前后数据是否一致。
   
   - 对于未启动、状态为配置中的任务，DRS默认保留3天，超过3天DRS会自动删除后台资源，当前任务状态不变。当用户再次配置时，DRS会重新申请资源。
   
   - 对于公网网络类型的任务，由于DRS需要在任务结束后删除后台资源，所以该任务绑定的弹性公网IP需要等待一段时间，才能恢复为解绑状态。
   
   
   
   
 
