文档首页/ 迁移中心 MGC/ 最佳实践/ 存储迁移相关最佳实践/ 迁移其他云平台存储数据至华为云
更新时间:2024-11-18 GMT+08:00

迁移其他云平台存储数据至华为云

适用场景

通过独立专享迁移集群以及配置迁移专线,简单、快捷实现对象存储、文件存储一站式上云,提升上云效率。本文介绍如何使用迁移中心MgC将其他云平台的对象存储或文件存储数据迁移到华为云。

当前支持以下区域(Region):

  • 拉美-圣地亚哥
  • 拉美-圣保罗
  • 土耳其-伊斯坦布尔
  • 亚太-曼谷
  • 亚太-新加坡
  • 亚太-雅加达
  • 中东-利雅得

优势

  • 专享迁移集群,减少资源竞争,提高迁移效率。
  • 支持多种云平台对象存储、文件存储服务,支持自建网络文件服务。支持迁移的云平台和存储类型包括:
    • 华为云 OBS
    • 阿里云 OSS
    • 百度云 BOS
    • 腾讯云 COS
    • 金山云 KS3
    • 七牛云 KODO
    • 优刻得 US3
    • 亚马逊 S3
    • 微软 Blob
    • 青云QINGSTOR
    • NAS_SMB
    • NAS_NFS_V3_MOUNT
    • NAS_NFS_V3_PROTOCOL
    • HTTP/HTTPS数据源

约束与限制

关于存储迁移的约束与限制请查看存储迁移的约束与限制有哪些?

逻辑架构图

通过迁移中心进行存储数据迁移的逻辑架构图如图1所示。

图1 存储迁移逻辑架构图

准备工作

步骤一:创建目的端

迁移中心支持将对象存储数据迁移到弹性文件系统,也支持将文件存储数据迁移到OBS桶。请根据实际需求,在华为云提前创建目的端对象桶创建弹性文件系统

步骤二:创建集群

迁移集群是专为存储工作流提供协作中的核心组件,通过集群可以创建和管理迁移节点、列举节点,部署和升级迁移插件,确保存储工作流顺利运行。详细说明和创建步骤请参见创建集群

步骤三:创建存储迁移工作流

  1. 登录迁移中心管理控制台。
  2. 在左侧导航栏选择“实施>迁移工作流”,进入迁移工作流页面。在页面左上角的当前项目下拉列表中选择迁移项目
  3. 单击页面右上角的“创建迁移工作流”按钮,进入创建迁移工作流页面。
  4. 选择存储迁移标准模板,单击“开始配置”按钮,进行工作流配置。单击“查看步骤详情”,可以查看存储迁移模板所包含的迁移阶段和步骤,以及每个阶段和步骤的详细描述。其中,步骤类型为“自动”,表示该步由系统自动完成。
  5. 根据表1,配置基础信息参数。

    表1 基础信息参数说明

    参数

    说明

    名称

    用户自定义。

    区域

    下拉菜单中选择目的端所在区域。需要与集群所在区域一致。

    描述

    用户自定义。

    集群

    选择步骤二创建的迁移集群

  6. 根据表2表3,配置源端、目的端信息。

    表2 源端信息参数说明

    参数

    说明

    备注

    数据站点类型

    目前支持迁移的源端存储类型包括:

    • 华为云 OBS
    • 阿里云 OSS
    • 百度云 BOS
    • 腾讯云 COS
    • 金山云 KS3
    • 七牛云 KODO
    • 优刻得 US3
    • 亚马逊 S3
    • 微软 Blob
    • NAS_SMB
    • NAS_NFS_V3_MOUNT
    • NAS_NFS_V3_PROTOCOL
    • HTTP/HTTPS数据源

    -

    AK、SK

    输入源端云账号的访问密钥私有密钥。请确保输入的AK、SK正确,并拥有源端桶的相应权限。

    数据站点类型选择云平台时填写。

    输入源端需要迁移的桶名。

    对象存储终端地址

    输入源端桶所在区域的终端节点(Endpoint)信息。

    桶类型

    根据桶的实际类型选择。桶类型可以通过查看桶的基本信息获取。

    数据站点类型为华为云OBS时选择。

    appID

    填写腾讯云APPID。

    说明:

    您可以在腾讯云控制台账号信息页面查看APPID。

    数据站点类型为腾讯云COS时填写

    列表路径

    输入存放列表文件的路径。列表文件存放地址必须与目的端桶处于同一区域。

    将源端待迁移的文件URL和对象名称写入列表文件(每行只能写一个URL和对象名称),列表文件需要提前创建。

    列表文件约束与限制:

    • 列表文件类型必须为.txt,其他文件类型不做处理,并且该文件元数据中的“ContentType”只能为:“text/plain”。
    • txt文件行数不超过100000行。
    • 单个列表文件大小不能超过300 MB。
    • 列表文件存放目录下的列表文件个数不能超过10000个。
    • 列表文件必须是UTF-8无BOM格式编码格式。
    • 列表文件中每行长度不要超过65535,否则会导致迁移失败。
    • 列表文件的元数据中不能设置“ContentEncoding”,否则会导致迁移失败。
    • 列表文件中每行使用制表符(键盘上Tab键)\t分隔URL和目的端对象名称,请勿使用空格。格式为:[URL][制表符][目的端对象名称],其中源端对象名称如果包含中文、特殊字符必须使用URL Encode对URL编码;目的端对象名称如果包含中文、特殊字符也需要使用URL Encode编码。
    • 列表文件中每行不要添加无效空格,否则会将空格作为对象名,导致迁移失败。

    数据站点类型选择HTTP/HTTPS数据源时填写。

    文件存储服务地址

    输入源端文件系统的挂载地址,格式为:IP地址+:/ xxx,例如:192.1.1.1:/0001

    数据站点类型选择NAS_SMB/NAS_NFS_V3_MOUNT/NAS_NFS_V3_PROTOCOL时填写。

    路径

    输入待迁移文件路径,格式为:/文件夹。

    用户名

    输入具有访问源端文件系统所有文件权限的用户名,例如:administrator。

    数据站点类型选择NAS_SMB时填写。

    密码

    输入用户名对应的密码。

    Windows上的域

    输入对应的域名。

    说明:

    只需输入.com之前的内容,例如:域名为test.com,则输入test。

    表3 目的端信息参数说明

    参数

    说明

    备注

    数据站点类型

    根据源端存储类型,选择华为云对应的存储类型。

    -

    AK

    输入目的端华为云账号的访问密钥。

    数据站点类型选择华为云OBS时填写。

    SK

    输入目的端华为云账号的私有密钥。

    选择目的端OBS桶。

    对象存储终端地址

    输入目的端OBS桶所在区域的终端节点(Endpoint)信息。

    说明:

    可在OBS桶的基本信息查看。

    指定前缀

    将对象迁移到指定前缀,例如:源端对象路径为/A/B/C.txt,目的端前缀配置为/D,迁移后目的端对象路径为/D/A/B/C.txt。详细介绍请参考

    设置“保存到指定前缀”参数中的功能介绍

    文件存储服务地址

    输入目的端文件系统的挂载地址,格式为:IP地址+:/ xxx,例如:192.1.1.1:/0001

    数据站点类型选择NAS_SMB/NAS_NFS_V3_MOUNT时填写。

    路径

    输入目的端接收文件的路径,格式为:/文件夹。

    用户名

    输入具有访问目的端文件系统所有文件权限的用户名,例如:administrator。

    数据站点类型选择NAS_SMB时填写。

    密码

    输入用户名对应的密码。

    Windows上的域

    输入对应的域名。

    说明:

    只需输入.com之前的内容,例如:域名为test.com,则输入test。

  7. 根据表4,进行迁移配置。

    表4 迁移配置参数说明

    参数

    子参数

    说明

    迁移任务类型

    全量迁移

    迁移源端桶/文件夹内的全部数据。

    列表迁移

    通过对象列表文件过滤迁移,只迁移对象列表文件中的对象。

    在“列表路径”输入存放在目的端桶的对象列表文件路径。对象列表文件的约束与限制如下:

    • 目的端为OBS
      • 对象列表文件大小不能超过30 MB。
      • 对象列表文件类型必须为.txt类型,并且元数据ContentType只能为text/plain。
      • 对象列表文件必须是UTF-8无BOM格式编码格式。
      • 对象列表文件每行只能包含一个对象名称,且对象名称使用URL Encode编码。
      • 对象列表文件行长度不超过16KB,否则迁移失败。
      • 对象列表文件元数据中不能设置ContentEncoding,否则迁移失败。
      • 对象列表文件行数不超过10000行。
    • 目的端为NAS
      • 对象列表文件大小不能超过30 MB。
      • 对象列表文件类型必须为.txt类型。
      • 对象列表文件必须是UTF-8无BOM格式编码格式。
      • 对象列表文件每行只能包含一个对象名称,且对象名称使用URL Encode编码。
      • 对象列表文件行长度不超过16KB,否则迁移失败。
      • 对象列表文件行数不超过10000行。

    前缀迁移

    仅支持云平台数据类型。

    在“前缀路径”输入对象名称或者名称前缀,则只迁移与输入对象名称或名称前缀一致的对象。

    须知:
    • 输入对象前缀路径时,如果对象文件在源端桶的根目录下,则直接添加前缀;如果对象文件存在目录路径,则需要在对象前缀前添加对象文件所在的目录路径。格式为:文件夹/对象前缀
    • 多个前缀之间用英文逗号分隔。

    并发子任务数

    -

    用户自定义。配置的数目不能超过可用迁移节点数x10。例如:可用的迁移节点数为2,则最大子任务数配置数目需要≤20。

    同名覆盖方式

    不覆盖

    对于源端和目的端存在的同名文件,跳过源端文件,保留目的端文件。

    警告:
    • 首次迁移时选择“不覆盖”,不会迁移源端中父文件夹的属性到目的端,可能会造成文件夹属性不完整。为规避这一风险,首次迁移时请谨慎使用“不覆盖”策略。
    • 选择“不覆盖”策略进行数据迁移时,如果迁移任务因错误中断后重启或从暂停状态恢复,可能会造成部分数据未完全迁移,而任务显示成功的现象,影响数据的完整性。为规避这一风险,请谨慎使用“不覆盖”策略。

    直接覆盖

    对于源端和目的端存在的同名文件,源端文件直接覆盖目的端文件。

    条件覆盖

    • 对于文件迁移:源端和目的端存在的同名文件,保留最后修改时间较新的文件;如果最后修改时间相同,比较文件大小,大小不同则源端覆盖目的端文件;如果最后修改时间和大小都相同,则跳过;
    • 对于文件夹迁移:当文件迁移完成后再比对文件夹大写、时间和权限,如果文件夹大小不同/时间不相同/权限不相同,则源端覆盖目的端文件夹;
      说明:

      对于空文件夹,覆盖策略与文件相同。

    迁移元数据

    -

    选择是否迁移元数据。

    • 勾选,则迁移源端对象元数据。
    • 不勾选,仅迁移ContentType元数据。

    清理集群

    -

    选择工作流是否创建清理集群步骤。

    • 勾选,迁移工作流将自动创建清理集群步骤,您还可以继续配置是否删除NAT网关、安全组、VPCEP服务等。
    • 不勾选,迁移工作流不创建清理集群步骤。

  8. (可选)根据表5,配置高级选项。

    表5 高级选项参数说明

    参数

    说明

    备注

    目的端存储类型

    选择迁移到华为云OBS后,对象的存储类型。存储策略说明请参见存储类型介绍

    -

    KMS加密

    • 不勾选,迁移后对象状态与源端保持一致。
    • 勾选,所有对象在迁移到OBS桶后都将被加密存储。
    说明:
    • 使用KMS服务端加密可能会降低迁移速率10%左右。
    • 目的端桶所在区域支持KMS加密时,此参数才可用。

    仅目的端选择华为云OBS时支持配置。

    解冻归档数据

    • 不勾选:如果遇到归档类型对象,则直接判定该对象迁移失败并跳过,继续迁移其余对象。
    • 勾选:如果遇到归档类型对象,则自动解冻该对象并进行迁移。如果解冻失败,则判定该对象迁移失败并跳过,继续迁移其余对象。
    说明:

    在数据迁移时,系统会对所有数据发起取回操作,源端云服务商会收取相应的API调用费用和存储费用。

    -

    过滤配置

    通过黑、白名单以及时间段过滤迁移文件。过滤策略详细介绍请参见过滤策略说明

    CDN迁移支持

    当默认域名不能满足您的迁移需求,比如您需要一个自定义域名以便使用CDN降低源端出口下载流量的费用,可以勾选此选项。在域名输入框中输入自定义域名,并选择传输协议。HTTP协议安全级别低于HTTPS协议,推荐使用HTTPS协议。

    源端为阿里云OSS、腾讯云COS时,如果使用了CDN鉴权,还需要选择“鉴权类型”并输入“鉴权密钥”。

    SMN消息发送配置

    选择是否使用SMN消息通知功能,该功能可以通知您迁移任务的结果。

    • 不勾选,不接收SMN消息。
    • 勾选,接收SMN消息。选择SMN主题,会向该主题的订阅者发送消息;选择消息发送语言;选择发送消息的触发条件,支持同时勾选。

    流量控制

    设置迁移任务在指定时段的最大流量带宽。

    • 不勾选,不进行流量控制。
    • 勾选,进行流量控制。分别设置“开始时间”、“结束时间”和“限速”数值。
      例如:设置开始时间08:00、结束时间12:00、限速为20 MB/s,当迁移任务运行到(08:00~12:00)该时间段时,最大迁移速度将限制为20 MB/s。该时间段以外,迁移速度不做限制。
      说明:
      • 限速的数值范围:0~1048576 MB/s 。
      • 最多可以创建5条记录。
      • 时区时间以目的端Region的当地时间为准。

    定时迁移

    设置迁移任务在指定时间内自动迁移。

    • 不勾选,手动启动/暂停迁移任务。
    • 勾选,设置任务在指定时间范围内进行迁移,指定时间以外则暂停迁移。

      例如:

      • 设置开始时间08:00、结束时间12:00,则迁移任务会在每天早晨08:00至中午12:00该时间段进行迁移。该时间段以外,则迁移任务暂停。
      • 设置开始时间12:00、结束时间08:00,则迁移任务会在每天中午12:00至次日早晨08:00该时间段进行迁移。该时间段以外,则迁移任务暂停。

  9. 工作流配置完成后,单击“下一步:确认并创建”按钮,进入确认并创建页面。
  10. 确认配置信息无误后,单击“确认创建工作流”,弹出启动工作流窗口,此时工作流已创建完成。

    • 如果您希望立即开始迁移,则单击“确认”按钮,立即运行工作流。
    • 如果您需要在标准工作流中添加阶段/步骤,则单击“取消”,此时迁移工作流状态为“等待中”,并未开始迁移。确定工作流步骤后,单击“运行”按钮,开始迁移。

  11. 在工作流详情页面,可以查看该存储迁移工作流的配置信息资源迁移进度。还可以进行如下操作:

    • 将鼠标放至资源迁移进度条,在弹窗中可以查看该资源更多迁移信息。
    • 当迁移步骤(进度条)到达需要手动确认的步骤时,您需要将鼠标放至在进度条上,并在弹出的窗口中单击步骤状态后的“确认”。只有完成这一操作,系统才会继续进行后续的迁移步骤。
    • 基础信息区域,单击集群名称后的“管理”,右侧弹出集群详细信息页面。在这个页面上,您可以进行如下操作:
      • 设置流量控制规则:您可以添加、编辑或删除流量控制规则,以确保集群内的流量按照您的需求进行管理。
      • 节点管理:您可以根据实际需求,添加/删除迁移节点和列举节点,也可以对现有节点进行插件升级。

  12. (可选)单击资源迁移进度条或进度条弹窗中的“资源迁移进度详情”,右侧弹出该资源迁移详情页面,可以查看任务概览进度详情等信息。还可以进行如下操作:

    操作

    步骤

    更换集群

    只有OMS任务状态(即工作流状态)为“已暂停”时,可以进行“更换集群”操作。

    1. 任务概览区域,单击迁移集群名称后的“更换”。
    2. 在下拉列表中选择新集群,单击“确认”,更换集群后,系统开始自动运行。

    修改定时迁移

    1. 任务概览区域,单击定时迁移后的“修改”。
    2. 设置开始时间结束时间,单击“确认”。

    修改并发子任务数

    1. 进度详情区域,单击期望并发子任务数下方的“修改”,配置期望并发的子任务数。配置要求:配置的数目不能超过可用迁移节点数x10。例如,可用的迁移节点数为2,则配置数目需要≤20。
    2. 单击“确认”,完成并发子任务数修改。

    添加迁移限速规则

    1. 迁移速度区域,单击“添加”按钮,可以增加一条限速规则,用于限制该资源在某个时间段内的迁移速度。
      须知:
      • 限速取值范围:1 MB~1024 GB。
      • 创建多条限速规则时,限速时段不能重叠。

        例如:已有一条规则,限速时段是8:00~12:00,那么7:00~13:00,7:00~8:00,9:00~12:00...有时间重叠的规则,都无法创建成功。

      • 开始时间不能晚于等于结束时间。

        例如:不能设置时间段为23:00~01:00。

    2. 设置完成后,单击“保存”,完成添加。

    获取迁移失败/跳过/成功资源列表文件

    文件统计区域,可以查看存放迁移失败/跳过/成功的资源列表文件路径。单击路径,可以进入存放文件的OBS桶,获取对应列表文件。

    查看迁移流量统计

    流程统计区域,可以查看该资源近1小时、近6小时、近24小时、整个周期迁移流量使用情况。

过滤策略说明

过滤策略参数填写通配符规则说明和约束说明参见表6

表6 过滤策略参数说明

参数

说明

填写规则

约束说明

黑名单

命中黑名单规则,则文件不进行迁移/一致性对比。支持精确匹配和模糊匹配。

  • 精确匹配
    全路径精确匹配,填写文件绝对路径,特殊字符用反斜杠(\)转义。
    注意:

    配置黑、白名单注意事项:

    • 如果文件存储服务地址是以冒号加斜杠(:/)结尾,请确保在黑、白名单中填写的路径是相对于挂载地址的绝对路径。

      例如,文件存储服务地址为"192.1.1.1:/",挂载地址为"/mnt/turbo",则填写"/mnt/turbo"下的绝对路径。

      挂载信息示例:
      [root@oms-cluster-ecs filter_test]# pwd
      /mnt/sts_turbo/mgc/filter_test
      [root@oms-cluster-ecs- filter_test]# ll
      drwxr-xr-x 2 root root 0 Aug 16 15:27 test2
      -rw-r--r-- 1 root root 5 Aug 16 15:27 test2.log

      如果要使黑名单精确匹配以避免迁移"test2.log"文件,则应在黑名单中填写路径:/mgc/filter_test/test2.log

    • 如果文件存储服务地址在冒号加斜杠(:/)之后还包含其他路径,配置黑、白名单时,除了填写挂载地址下的绝对路径外,还要加上文件存储服务地址:/之后的部分。

      例如,文件存储服务地址为"192.1.1.1:/mgc-test",挂载地址为"/mnt/turbo",则填写"mgc-test+/mnt/turbo"下的绝对路径。

      挂载信息示例:
      [root@oms-cluster-ecs execution-service]# cd /mnt/turbo/autotest/filter_test/
      [root@oms-cluster-ecs- filter_test]# ll
      -rw-r--r-- 1 root root   14 Aug  8 09:22 test1.log
      drwxr-xr-x 1 root root 4096 Aug  8 09:22 test2
      -rw-r--r-- 1 root root   14 Aug  8 09:22 test2.log

      如果要使黑名单精确匹配以避免迁移"test2"文件,则应在黑名单中填写路径:/mgc-test/autotest/filter_test/test2

  • 模糊匹配
    • *匹配任何字符0个或者多个,但不匹配斜杠(/)
    • 使用**匹配任何字符0个或者多个,包括斜杠(/)
    • ?匹配除斜杠(/)之外的任何字符,只能匹配一个
    • {和}定义元素之间的选择:包含一个以逗号分隔的模式列表, 其中任何一种模式都可能匹配,可以包含通配符。
    • 特殊字符可以在它们之前使用 \进行转义,\后面为通配符时,表示转义,否则表示\本身
  • { } 以外,不能出现连续的规则符号,例如:****?**??*?***{**}**}??{*{*}{,}{*,、 ,*},*,
  • { } 之间的模式,只能使用*做通配符。
  • { } 之间的模式,不能有{}嵌套。
  • 文件绝对路径在黑名单和白名单同时命中,则黑名单生效,即不做迁移。
  • 需要配置多个匹配规则时,用英文分号隔开。

白名单

  • 白名单为空时,迁移所有文件。
  • 白名单不为空时,仅对绝对路径命中白名单规则的文件进行迁移/一致性对比。

时间段

配置时间段,根据配置,迁移最后修改时间在配置时间段内的文件或者文件夹。

开始时间和结束时间可以配置为空,为空时表示不限制,时间可以精确到分钟。

过滤策略场景规则示例以及举例见下表。

例如第一级目录为“test”,那么:

  • NAS的路径格式为:“/test”。
  • OBS的路径格式为:“test”。

场景

NAS规则示例

OBS规则示例

说明

文件路径以xx结尾(特定后缀)

/xx /**xx

xx/**xx

xx可以是包含*和?的表达式

根路径下第一层xx开始的文件

/xx*

  • /testssss 匹配
  • /test/xx 不匹配

/xx*

  • testssss 匹配
  • test/xx 不匹配

文件路径以xx开始

/xx**

/xx/**

xx**

xx/**

文件名包含xx

**xx*

**xx*

文件路径包含xx

**xx**

**xx**

文件路径以xx开始,以yy结尾

/xx**yy

xx**yy

xx,yy可以是包含*和?的表达式

文件路径以xx,yy结尾(特定后缀)

**{xx,yy}

**{xx,yy}

文件名包含xx,yy

**{xx,yy}*

**{xx,yy}*

文件路径包含xx,yy

**{xx,yy}**

**{xx,yy}**