本文介绍数据迁移的注意事项和操作步骤。
注意事项
在线迁移需注意以下问题:
- 在线迁移服务使用源站存储服务提供商公开的标准接口来访问源数据,其行为依赖于源站存储服务提供商的具体实现。
- 在线迁移会占用源地址和目的地址的网络资源。若您的业务比较重要,建议您对迁移任务设置限速,或在空闲时间启动迁移任务。
- 在线迁移前会检查源地址和目的地址的文件,但是若您源和目的地址有相同文件名的文件,且源地址的文件更新时间比目的地址文件更新时间晚,迁移时会直接覆盖目的地址的文件。若两个文件内容不同,必须更改文件名或做好备份。
- 若您迁移的源地址中设置了静态网站托管,数据迁移时会额外扫描出实际不存在的目录。例如上传文件myapp/resource/1.jpg,开启静态网站托管后,迁移服务扫描会得到3个对象,分别为myapp/、myapp/resource/和myapp/resource/1.jpg,其中myapp/和myapp/resource/会迁移失败,但不影响myapp/resource/1.jpg的正常迁移。
- 若您迁移的源地址中有软链接,数据迁移时,会直接迁移软链接对应的实际文件或目录,并以软链接的名称命名。例如:
- 当软链接指向文件时:源地址A有个软链接a,对应的实际文件是b.jpg,则迁移时会将b.jpg迁移到目的地址,并命名为a。
- 当软链接指向目录时:源地址B有个软链接b.txt,对应的实际目录是c/,则迁移时会将c/迁移到目的地址,并命名为b.txt/。
说明 迁移文件中包含软链接,会导致迁移完成量大于预估量,迁移进度大于100%的情况,请以实际迁移量为准。 - 源地址中有循环软链接(例如:a>b,b>c,c>a,或目录类型的软链接指向其上层目录),则迁移时会永远扫描不完,导致任务数据量一直增长,建议您使用
unlink
命令移除循环软链接。 - 在线迁移目前仅支持单次迁移单个Bucket数据,无法将整个账号的数据一次性迁移。
警告 请您务必在迁移任务完成后,校验目的端迁移数据,确保数据无误。您在删除源数据前,未校验目的端迁移数据无误,导致数据丢失所引起的一切损失和后果均由您自行承担。
步骤一:创建源地址
- 登录阿里云数据在线迁移控制台。
- 选择创建数据地址。 ,单击
- 在创建数据地址面板,配置如下参数,并单击确定。
参数 是否必选 说明 数据类型 是 选择OSS。 数据名称 是 输入3~63位字符。不支持短划线(-)和下划线(_)之外的特殊字符。 数据所在区域 是 选择源地址所在的地域,例如华东1(杭州)。 说明 当源数据为金融云时,请选择其他区域。开通并使用传输加速 否 在线迁移服务使用OSS的传输加速服务,需要开通Bucket的传输加速服务。开启传输加速后,会在30分钟内生效,请在30分钟后再创建迁移任务。 重要 开启了传输加速的Bucket会收取传输加速费用。关于传输加速的更多信息,请参见传输加速。OSS Endpoint 是 根据您数据所在区域,选择一个Endpoint。更多信息,请参见访问域名。 - http://oss-cn-endpoint.aliyuncs.com表示使用HTTP协议的外网Endpoint访问OSS。
- https://oss-cn-endpoint.aliyuncs.com表示使用HTTPS协议的外网Endpoint访问OSS。
- http://oss-cn-qingdao-internal.aliyuncs.com表示使用HTTP协议的内网Endpoint访问OSS。
- https://oss-cn-qingdao-internal.aliyuncs.com表示使用HTTPS协议的内网Endpoint访问OSS。
重要- 当OSS的数据地址使用的是内网Endpoint时,如果创建迁移任务时使用该地址作为源地址,则目标地址仅可以选择同地域的NAS或OSS的数据地址。
- 当源数据为金融云时,请手动填写金融云的Endpoint。
AccessKey Id 是 输入用于迁移的AccessKey。更多信息,请参见创建RAM子账号并授予相关权限。 说明 如果需要跨账号迁移数据,此处请填写源阿里云账号的AccessKey。AccessKey Secret 是 OSS Bucket 是 选择待迁移数据所在的存储空间。 OSS Prefix 是 格式要求不能以正斜线(/)开头,必须以正斜线(/)结尾,例如 data/to/oss/
。
步骤二:创建目的地址
- 选择创建数据地址。 ,单击
- 在创建数据地址面板,配置如下参数,然后单击确定。
参数 是否必选 说明 数据类型 是 选择OSS。 数据名称 是 输入3~63位字符。不支持短划线(-)和下划线(_)之外的特殊字符。 数据所在区域 是 选择目的地址所在的地域。 开通并使用传输加速 否 在线迁移服务使用OSS的传输加速服务,需要开通Bucket的传输加速服务。开启传输加速后,会在30分钟内生效,请在30分钟后再创建迁移任务。 重要 开启了传输加速的Bucket会收取传输加速费用。关于传输加速的更多信息,请参见传输加速。OSS Endpoint 是 根据您数据所在区域,选择一个Endpoint。更多信息,请参见访问域名。 AccessKey Id 是 输入用于迁移的AccessKey。更多信息,请参见创建RAM用户并授予相关权限。 说明 如果需要跨账号迁移数据,此处请填写目的阿里云账号的AccessKey。AccessKey Secret 是 OSS Bucket 是 选择一个存储空间,用于存储迁移数据。 OSS Prefix 是 格式要求不能以正斜线(/)开头,必须以正斜线(/)结尾,例如 data/to/oss/
。如果为空表示迁移至所选存储空间的根目录。
步骤三:创建迁移任务
- 选择创建迁移任务。 ,单击
- 在创建迁移任务面板,阅读迁移服务条款协议,选中我理解如上条款,并开通数据迁移服务,单击下一步。
- 在弹出的费用提示对话框,单击确认,继续创建。
- 在配置任务页签,配置如下参数,单击下一步。
参数 是否必选 说明 任务名称 是 输入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个排除目录或者包含目录。
迁移方式 是 选择迁移数据的方式。 - 全量迁移:根据迁移起点时间迁移一次指定迁移起点时间之后的全量数据,数据迁移完成后任务结束。
如果迁移完成后源数据有变化,您可以再次提交全量迁移任务,系统将仅迁移变化的数据。
- 增量迁移:按设定的增量迁移间隔和增量迁移次数执行迁移任务。
- 首次根据迁移起点时间迁移指定迁移起点时间之后的全量数据。首次迁移完成后,按照增量迁移时间间隔执行增量迁移任务,将源地址从前次迁移任务开始后到下次迁移开始前新增或修改的增量数据迁移至目的地址。
- 如果配置的增量迁移次数是N,则执行1次全量迁移,之后执行N-1次增量迁移。
例如:设置迁移间隔1小时,迁移次数5次,迁移起点时间为2019-03-05 08:00,当前时间为2019-03-10 08:00。则首次迁移最后修改时间在2019-03-05 08:00~2019-03-10 08:00之间的文件。假设迁移任务1小时完成,第二次迁移则从2019-03-10 10:00(迁移1小时,迁移间隔1小时)开始,迁移最后修改时间在2019-03-10 08:00~2019-03-10 10:00之间的文件,共进行1次全量迁移和4次增量迁移。
重要 全量迁移和增量迁移均会在每次迁移开始前,对源地址和目的地址的文件进行对比。如果迁移同名文件,则以下三种情况的目标地址文件会被覆盖。- 源地址文件与目标地址文件的Content-Type不一致,目标地址文件会被覆盖。
- 源地址文件的最后修改时间晚于目标地址文件的最后修改时间,目标地址文件会被覆盖。
- 源地址文件与目标地址文件的大小不一致,目标地址文件会被覆盖。
迁移起点时间 是 选择迁移数据的起点时间。 - 迁移全部:迁移所有时间的文件。
- 指定时间:只迁移指定时间之后创建或修改的文件。
例如指定时间设置为2018-11-01 08:00:00,则只迁移2018年11月01日8点之后创建或修改的文件,在这个时间之前创建或修改的文件被忽略。
增量迁移间隔 是(针对增量迁移) 默认值1小时,最大值24小时。 增量迁移次数 是(针对增量迁移) 默认值1次,最大值30次。 文件覆盖方式 是 源地址中文件和目的地址中文件同名时,迁移过程中执行的覆盖方式。包括如下选项: - 最后修改时间优先:对于同名文件,判断两个文件的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中存在至少一个不同,则执行覆盖。
- 全覆盖:对于同名文件,不进行任何判断,直接执行覆盖。
- 不覆盖:对于同名文件,不进行任何判断,直接执行跳过。
- 在性能调优页签的数据预估区域,填写待迁移存储量和待迁移文件个数。说明 为了迁移任务的顺利进行,请尽量准确进行数据预估。更多信息,请参见预估迁移数据。
- 可选:在性能调优页签的流量控制区域,设置限流时间段和最大流量,然后单击添加。说明 为了不影响您在线业务的访问,建议您根据业务访问的波峰和波谷来设置迁移时的限流时间段和最大流量。
- 单击创建,等待迁移任务完成。