迁移实施
本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
本文介绍数据迁移的注意事项和操作步骤。
注意事项
使用在线迁移服务迁移数据时需要注意以下事项:
在线迁移服务使用源站存储服务提供商公开的标准接口来访问源数据,其行为依赖于源站存储服务提供商的具体实现。
在线迁移会占用源地址和目的地址的资源,可能会影响业务正常运行。若您的业务比较重要,请提前做好评估后对迁移任务设置限速,或在空闲时间启动迁移任务。
在线迁移前会检查源地址和目的地址的文件,但是若您源和目的地址有相同文件名的文件,且在迁移任务中配置了覆盖方式为覆盖,迁移时会直接覆盖目的地址的文件。若两个文件内容不同,必须更改文件名或做好备份。
在线迁移会保留源文件的最后修改时间属性,如果目的Bucket设置了生命周期规则,且迁移后文件处于该生命周期规则生效的时间范围内,则该文件可能会在规则生效时被删除或转为指定的归档类型。
迁移限制
在线迁移目前仅支持单次迁移单个Bucket数据,无法将整个账号的数据一次性迁移。
步骤一:创建源地址
使用创建的RAM用户登录阿里云数据在线迁移控制台。
在左侧导航栏,选择
,单击创建数据地址。在创建数据地址面板,配置如下参数,然后单击确认。
参数
是否必选
说明
数据类型
是
选择AWS S3 Inventory。
数据名称
是
输入3~63位字符。不支持短划线(-)和下划线(_)之外的特殊字符。
Endpoint
是
输入AWS S3的访问域名。更多信息,请参见管理接入点。
重要链接文档仅供参考,由于源站变更,文档可能已经过时。
Bucket
是
输入待迁移数据所在的AWS S3存储桶名称。
说明存储桶名称要求开头和结尾不带空格、换行、制表符等非法字符。
Access Key Id
是
输入用于访问AWS S3 Bucket的密钥,迁移完成后删除。
Secret Access Key
是
Inventory Endpoint
是
输入AWS S3清单的访问域名。
重要链接文档仅供参考,由于源站变更,文档可能已经过时。
Inventory AccessKey Id
是
输入用于访问AWS S3清单的密钥,迁移完成后删除。
Inventory Secret AccessKey
是
InventoryAddress
是
输入AWS S3清单的地址,例如
s3://{bucket}/{ObjectKey}
。其中,bucket是清单所在的存储桶名称,ObjectKey是manifest.json的路径。
步骤二:创建目的地址
选择
,单击创建数据地址。在创建数据地址面板,配置如下参数,然后单击确定。
参数
是否必选
说明
数据类型
是
选择OSS。
数据名称
是
输入3~63位字符。不支持短划线(-)和下划线(_)之外的特殊字符。
数据所在区域
是
选择目的地址所在的地域。
开通并使用传输加速
否
在线迁移服务使用OSS的传输加速服务,需要开通Bucket的传输加速服务。开启传输加速后,会在30分钟内生效,请在30分钟后再创建迁移任务。
重要开启了传输加速的Bucket会收取传输加速费用。关于传输加速的更多信息,请参见传输加速。
OSS Endpoint
是
根据您目的数据所在区域,选择一个Endpoint。关于Endpoint的具体信息,请参见访问域名。
说明将第三方数据迁移到OSS时,只能选择外网Endpoint访问OSS。
AccessKey Id
是
输入创建的RAM用户的AccessKey,用于OSS进行身份识别,确认该用户是否有写入迁移数据的权限。
AccessKey Secret
是
OSS Bucket
是
选择或输入迁移目的所在的存储桶(Bucket)名称。
OSS Prefix
否
数据路径前缀。
指定前缀:您可以设置数据路径前缀将源数据迁移至指定目录下。格式要求不能以正斜线(/)开头,必须以正斜线(/)结尾,例如
data/to/oss/
。不指定前缀:不设置数据路径前缀时,会将源数据迁移至目的Bucket的根目录。
重要若您迁移的源地址文件中有以正斜线(/)开头的文件名,配置目的地址的时候需要添加一个OSS Prefix,否则会导致迁移失败。例如:需要迁移的文件中包含/test/test.png这个文件,您需要添加一个OSS Prefix,例如oss/。当迁移完成后,/test/test.png的OSS文件名变为oss//test/test.png。
步骤三:创建迁移任务
在左侧导航栏,选择
,单击创建迁移任务。在创建迁移任务面板,阅读迁移服务条款协议,选中我理解如上条款,并开通数据迁移服务,单击下一步。
在弹出的费用提示对话框,单击确认,继续创建。
在配置任务页签,配置如下参数,并单击下一步。
参数
是否必选
说明
任务名称
是
输入3~63位小写字母、数字、短划线(-),且不能以短划线(-)开头或结尾。
源地址
是
选择已创建的源地址。
目的地址
是
选择已创建的目的地址。
指定目录
否
设置迁移时包含或排除指定目录下的文件和子目录。
不过滤:不过滤迁移目录。
排除:迁移时,不迁移排除目录下的文件和子目录。
例如,当您只想迁移
root_dir/
下除了root_dir/bad_sub1/
和root_dir/bad_sub2/
之外的所有目录时,您可以选择排除模式,然后添加两项bad_sub1/
和bad_sub2/
。包含:迁移时,只迁移包含目录下的文件和子目录。
例如,当您只想迁移
root_dir/
下的root_dir/good_sub1/
和root_dir/good_sub2/
这两个目录时,您可以选择包含模式,然后添加两项good_sub1/
和good_sub2/
。
说明目录中仅支持数字和大小写字母,除此之外的特殊字符可能会导致迁移失败。
目录不能以正斜线(/)或者反斜线(\)开头,并且目录中不能出现两个正斜线(//),两个半角句号(..)和半角双引号("),提交的所有目录总字符长度不能超过10 KB。
目录要以正斜线(/)结尾,例如
docs/
。最多可设置20个排除目录或者包含目录。
迁移方式
是
全量迁移:迁移一次全量数据,数据迁移完成后任务结束。如果之后源数据有变化,您可以再次提交全量迁移任务,系统将仅迁移变化的数据。
重要全量迁移在每次迁移开始前,对源地址和目的地址的文件进行对比。如果迁移同名文件,则以下三种情况的目标地址文件会被覆盖。
源地址文件与目标地址文件的Content-Type不一致,目标地址文件会被覆盖。
源地址文件的更新时间晚于目标地址,目标地址文件会被覆盖。
源地址文件与目标地址文件的大小不一致,目标地址文件会被覆盖。
文件覆盖方式
是
源地址中文件和目的地址中文件同名时,迁移过程中执行的覆盖方式。包括如下选项:
最后修改时间优先:对于同名文件,判断两个文件的LastModified,即最后修改时间。
如果源地址中文件的LastModified晚于目的地址中文件的LastModified,则执行覆盖。
如果源地址中文件的LastModified早于目的地址中文件的LastModified,则执行跳过。
如果两个文件的LastModified相同,则继续判断两个文件的Size和Content-Type是否均相同。
如果两个文件的Size和Content-Type均相同,则执行跳过;如果两个文件的Size或者Content-Type中存在至少一个不同,则执行覆盖。
条件覆盖:对于同名文件,判断两个文件的LastModified、Size和Content-Type是否相同。
如果两个文件的LastModified、Size和Content-Type均相同,则执行跳过。
如果两个文件的LastModified、Size和Content-Type中存在至少一个不同,则执行覆盖。
全覆盖:对于同名文件,不进行任何判断,直接执行覆盖。
不覆盖:对于同名文件,不进行任何判断,直接执行跳过。
警告条件覆盖或最后修改时间优先无法严格保证一定不会覆盖更新的文件,存在旧文件覆盖新文件的风险。
若您选择条件覆盖或最后修改时间优先覆盖策略时,请务必确保源端文件能返回LastModified、Size、Content-Type等信息,否则覆盖策略可能失效,产生非预期的迁移结果。
在性能调优页签的数据预估区域,填写待迁移存储量和待迁移文件个数。
说明为了迁移任务的顺利进行,请尽量准确进行数据预估。更多信息,请参见预估迁移数据。
可选:在性能调优页签的流量控制区域,设置限流时间段和最大流量,然后单击添加。
说明为了不影响您在线业务的访问,建议您根据业务访问的波峰和波谷来设置迁移时的限流时间段和最大流量。
单击创建,等待迁移任务完成。
步骤四:校验数据
迁移服务仅负责数据的迁移,无法保证数据的一致性和完整性。迁移任务完成后,请您全量校验迁移的数据,务必自行做好源端和目的端数据一致性校验。
请您务必在迁移任务完成后,校验目的端迁移数据。您在删除源数据前,未校验目的端迁移数据无误,导致数据丢失所引起的一切损失和后果均由您自行承担。