
# 数据层迁移实施
1. **对象存储迁移**
   对象存储适用于存储非结构化的数据，我们日常生活中见到的文档、文本、图片、XML、HTML、各类报表、音视频信息等等都是非结构化数据。不同的量级对应了不同的迁移方式，如下图所示：
   图1对象存储迁移方案   
   ![](https://support.huaweicloud.com/usermanual-caf/zh-cn_image_0000002177562357.png "点击放大")
   表1三种对象存储迁移方式说明 
   | **对象存储** | **迁移方式**   | **适用场景**                | **备注**        |
   |:---|:---|:---|:---|
   | 对象存储迁移   | OBS客户端拷贝   | 数据量较少，GB级数据             | -             |
   | 对象存储迁移   | OMS工具迁移+回源 | 数据量大，TB级及PB级数据，且有较大增量数据 | 优先推荐，华为云有技术支持 |
   | 对象存储迁移   | 线下DES磁盘拷贝  | 数据量较大，增量少的TB级数据         | -             |
      
   
- **OMS工具+回源迁移：** 对象存储迁移服务OMS作为易用、高效的线上数据迁移服务，通过调用源端对象存储的SDK，可快速传输数据并对数据进行加密存储，将数据复制到华为云OBS，可以帮助把对象存储数据从其他云服务商对象存储服务中的数据轻松、平滑地迁移到华为云。通过第一次全量任务，将源端对象存储全量数据迁移至华为云OBS，业务切换时，在华为云配置回源规则，将部分增量数据，通过回源的方式迁移至华为云OBS，在业务切换后，再进行一次全量迁移，本次全量迁移，将自动跳过已经迁移的对象，将剩余增量数据迁移至华为云OBS。
  在对象存储迁移服务中，可以查看迁移任务、管理迁移任务，创建迁移任务组，评估桶内数据，查看审计日志等，具体内容请查看[OMS帮助文档](https://support.huaweicloud.com/oms/index.html)。
  图2对象存储迁移服务   
  ![](https://support.huaweicloud.com/usermanual-caf/zh-cn_image_0000002177520749.png "点击放大") 
- **线下DES磁盘拷贝：**
  云下数据也提供了数据快递服务（DES）来迁移数据，DES 是面向TB或PB级数据上云的传输服务，它使用物理存储介质（USB、eSATA接口的磁盘等）、或Teleport向华为云传输大量数据，解决了上云带宽昂贵、传输时间长的难题。
  详细信息请查看[DES帮助文档](https://support.huaweicloud.com/des/index.html)。
  同时，对于储存数据的迁移华为云也提供了定制迁移服务，专业数据迁移团队可以为企业定制迁移方案并全程贴身服务，协助客户实施全量与增量数据迁移，协助客户验证全量与增量数据迁移的效果，完成云下存储数据到云上存储数据的迁移。
  详细信息请查看[上云迁移服务](https://www.huaweicloud.com/service/migration.html)。
  

- **文件存储迁移**
  NAS文件存储是一种可共享访问、弹性扩展、高可靠以及高性能的分布式文件系统。
  华为云的[弹性文件服务](https://support.huaweicloud.com/sfs/index.html)SFS提供按需扩展的高性能文件存储（NAS），可为云上多个弹性云服务器（Elastic Cloud Server，ECS）、容器（CCE\&CCI）和裸金属服务器（BMS）提供共享访问。
  NAS文件储存迁移时，在网络互通的情况下，可以进行多平台挂载使用，通过Rclone工具或者Rsync工具的复制文件的能力，在中转主机上将源挂载目录文件复制到SFS或者SFS Turbo文件系统上。
  图3文件迁移方案   
  ![](https://support.huaweicloud.com/usermanual-caf/zh-cn_image_0000002142203270.png "点击放大")
  Rclone 是一款命令行工具，支持在不同对象存储、网盘间同步、上传、下载数据，Rclone工具支持自定义多线程多并发迁移任务，大大提高迁移效率，缩短迁移周期。具备数据同步、检查能力，能够将源端文件系统中的数据拷贝到目的端，完成NAS文件的迁移。
  Rsync（Remote synchronize）是一种基于RCP协议（Remote Copy Protocol）的，使用其Rsync算法的远程文件同步工具。
  图4Rsync迁移   
  ![](https://support.huaweicloud.com/usermanual-caf/zh-cn_image_0000002142361318.png "点击放大")
  通过在各业务平台开启Rsync服务，在文件服务器中配置Rsync客户端脚本，通过FileServer系统的定时任务，如：Linux的Crontab，定时将业务服务器的文件以文件增量的方式（第一次是全量）同步到磁阵中。优势：
  1. 文件增量同步，速度快，效率高，占用资源少。
  
  2. 通过SSH，RSH等模式可对第三方平台跨网络开放。
  
  3. 服务端不想共享时，只需停止Rsync服务，不影响其它业务。
  
  4. 支持镜像方式数据拷贝，适合于互联网模式下的静态文件分布式部署，可扩充性好。
   

- **数据库迁移**
  数据库主要分为关系型数据库与非关系型数据库两大类，能保持数据一致性是关系型数据的最大优势，从IDC或者云上将数据库迁移到华为云，有以下三种方法：
  1. 利用SMS主机迁移。如果源端是在ECS上自建数据库，需要将自建ECS数据库服务器迁移到华为云弹性主机ECS上，SMS可以帮助轻松实现，但是此时会中断数据库业务，需要注意。但是当对停机时间有较高要求，您也可以使用数据库的备份恢复功能或者数据库同步复制技术进行迁移。
  
  2. 使用备份恢复进行迁移。备份恢复迁移数据库的备份还原方案是指的保存源系统的数据，停止源系统数据库业务，在源系统进行数据库全备份，确保必要的日志也保留，并在目的系统进行还原。
  
  3. 使用数据库复制服务（Data Replication Service，DRS）进行迁移，实现跨云平台数据库迁移、云下数据库迁移上云或云上跨Region的数据库迁移等多种场景，用于数据库在线迁移和数据库实时同步的云服务。DRS服务是一种易用、稳定、高效，用于数据库平滑迁移和数据库持续同步的云服务。DRS围绕云数据库，降低了数据库之间数据流通的复杂性，有效地减少数据传输的成本。 数据复制服务支持多种数据源之间的数据流通，实时迁移、备份迁移、实时同步、数据订阅和实时灾备对不同数据库的支持不同，详细情况请查看[DRS帮助文档](https://support.huaweicloud.com/productdesc-drs/drs_01_0002.html)。
     
  
  
  图5DRS迁移   
  ![](https://support.huaweicloud.com/usermanual-caf/zh-cn_image_0000002177562361.png "点击放大")
  以下是常见的数据库迁移最佳实践。更多最佳实践可以查看[DRS最佳实践汇总](https://support.huaweicloud.com/bestpractice-drs/drs_overview.html)（中国站）。
  表2数据库迁移最佳实践 
  | **源数据库类型**             | **目标数据库**             | **最佳实践在线文档**                                                                                                           |
  |:---|:---|:---|
  | 其他云MySQL数据库            | 华为云RDS for MySQL      | [其他云MySQL迁移到云数据库 RDS for MySQL](https://support.huaweicloud.com/bestpractice-drs/drs_01_0002.html)                     |
  | 其他云MySQL数据库            | 华为云GaussDB(for MySQL) | [其他云MySQL迁移到GaussDB(for MySQL)](https://support.huaweicloud.com/bestpractice-drs/drs_06_0016.html)                     |
  | 其他云MongoDB             | 华为云DDS                | [其他云MongoDB迁移到DDS](https://support.huaweicloud.com/bestpractice-drs/drs_01_0005.html)                                  |
  | 自建MySQL                | 华为云RDS for MySQL      | [自建MySQL迁移到RDS for MySQL](https://support.huaweicloud.com/bestpractice-drs/drs_04_0010.html)                           |
  | ECS自建MySQL             | 华为云GaussDB(for MySQL) | [ECS自建MySQL迁移到GaussDB(for MySQL)](https://support.huaweicloud.com/bestpractice-drs/drs_03_0007.html)                   |
  | ECS自建MongoDB           | 华为云DDS                | [ECS自建MongoDB迁移DDS](https://support.huaweicloud.com/bestpractice-drs/drs_03_0005.html)                                 |
  | 本地自建MySQL              | 华为云RDS for MySQL      | [本地MySQL迁移到RDS for MySQL](https://support.huaweicloud.com/bestpractice-drs/drs_02_0002.html)                           |
  | 本地自建MongoDB            | 华为云DDS                | [本地MongoDB迁移到DDS](https://support.huaweicloud.com/bestpractice-drs/drs_02_0005.html)                                   |
  | 华为云RDS for MySQL       | 分布式数据库中间件DDM          | [RDS for MySQL迁移到DDM](https://support.huaweicloud.com/bestpractice-drs/drs_02_0017.html)                               |
  | MySQL分库分表              | 分布式数据库中间件DDM          | [MySQL分库分表迁移到DDM](https://support.huaweicloud.com/bestpractice-drs/drs_02_0038.html)                                   |
  | 本地Microsoft SQL Server | 华为云RDS for SQL Server | [本地Microsoft SQL Server备份迁移至本云RDS for SQL Server实例](https://support.huaweicloud.com/bestpractice-drs/drs_04_0001.html) |
     
  
 
