迁移实施
本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
本文介绍将NAS资源迁移至阿里云对象存储OSS的操作步骤。
注意事项
使用在线迁移服务迁移数据时需要注意以下事项:
在线迁移服务使用源站存储服务提供商公开的标准接口来访问源数据,其行为依赖于源站存储服务提供商的具体实现。
在线迁移会占用源地址和目的地址的资源,可能会影响业务正常运行。若您的业务比较重要,请提前做好评估后对迁移任务设置限速,或在空闲时间启动迁移任务。
在线迁移前会检查源地址和目的地址的文件,但是若您源和目的地址有相同文件名的文件,且在迁移任务中配置了覆盖方式为覆盖,迁移时会直接覆盖目的地址的文件。若两个文件内容不同,必须更改文件名或做好备份。
在线迁移会保留源文件的最后修改时间属性,如果目的Bucket设置了生命周期规则,且迁移后文件处于该生命周期规则生效的时间范围内,则该文件可能会在规则生效时被删除或转为指定的归档类型。
迁移限制
若您迁移的源地址中有软链接,数据迁移时,会直接迁移软链接对应的实际文件或目录,并以软链接的名称命名。例如:
当软链接指向文件时:源地址A有个软链接a,对应的实际文件是b.jpg,则迁移时会将b.jpg迁移到目的地址,并命名为a。
当软链接指向目录时:源地址B有个软链接b.txt,对应的实际目录是c/,则迁移时会将c/迁移到目的地址,并命名为b.txt/。
关于软链接的详细信息,请参见软链接。
说明迁移文件中包含软链接,会导致迁移完成量大于预估量,迁移进度大于100%的情况,请以实际迁移量为准。
源地址中有循环软链接(例如:a>b,b>c,c>a,或目录类型的软链接指向其上层目录),则迁移时会永远扫描不完,导致任务数据量一直增长,建议您使用
unlink
命令移除循环软链接。
迁移文件中包含如下非常规的磁盘文件类型则不支持迁移:
块设备文件(Block device file)
字符设备文件(Character device file)
管道文件(FIFO/pipe)
socket文件
其他无法识别的未知类型
如果迁移的源地址中有空目录,迁移时会被忽略。
步骤一:创建源地址
使用创建的RAM用户登录阿里云数据在线迁移控制台。
重要如果需要跨账号迁移数据,为了方便创建目的NAS数据地址,建议用NAS所在的账号登录控制台。
选择
,单击创建数据地址。在创建数据地址面板,配置如下参数,单击确定。
参数
是否必选
说明
数据类型
是
选择NAS。
数据名称
是
输入3~63位字符。不支持短划线(-)和下划线(_)之外的特殊字符。
数据所在区域
是
选择NAS服务所在地域。
阿里云NAS请选择NAS服务所在地域。
其他NAS请选择其挂载的阿里云专有网络VPC所在地域。
NAS来源
是
根据实际情况选择NAS的来源。
阿里云:您在阿里云创建的NAS服务。
其他:通过其他途径创建的NAS服务,需挂载到阿里云专有网络VPC下。
文件系统
是(仅针对阿里云NAS)
选择目标NAS对应的文件系统。
挂载点
是(仅针对阿里云NAS)
选择目标NAS对应的挂载点。
重要目前只支持挂载在VPC网络上的NAS,经典网络暂时不支持。
专有网络
是(仅针对其他NAS)
选择目标NAS挂载的VPC网络。
交换机
是(仅针对其他NAS)
选择目标NAS挂载的交换机。
NAS网络地址
是(仅针对其他NAS)
填写NAS服务器的IP地址。此地址必须能被VPC网访问到。
子目录
可选
填写需要迁移的数据所在文件目录。如果不填写,则默认为根目录(/)。
重要如果您填写了子目录,必须保证NAS服务器中有这个子目录存在,否则会导致数据地址创建失败。
说明极速型NAS默认包含share目录,而其他NAS则不包含。SMB默认下包含myshare目录。
连接类型
是(仅针对其他NAS)
选择NAS的协议类型。
是否有连接密码
是(仅针对其他NAS)
选择是否需要访问密码。
无密码:当访问NAS服务无需密码时选择无密码。
有密码:当访问NAS服务有密码的时候,选择有密码,并填写正确的用户名和密码信息。
说明关于数据地址创建后的状态,请参见查看数据地址状态。
步骤二:创建目的地址
在左侧导航栏,选择
,单击创建数据地址。在创建数据地址面板,配置如下参数,然后单击确定。
参数
是否必选
说明
数据类型
是
选择OSS。
数据名称
是
输入3~63位字符。不支持短划线(-)和下划线(_)之外的特殊字符。
数据所在区域
是
选择目的地址所在的地域。
开通并使用传输加速
否
在线迁移服务使用OSS的传输加速服务,需要开通Bucket的传输加速服务。开启传输加速后,会在30分钟内生效,请在30分钟后再创建迁移任务。
重要开启了传输加速的Bucket会收取传输加速费用。关于传输加速的更多信息,请参见传输加速。
OSS Endpoint
是
根据您目的数据所在区域,选择一个Endpoint。关于Endpoint的具体信息,请参见访问域名。
AccessKey Id
是
输入创建的RAM用户的AccessKey,用于OSS进行身份识别,确认该用户是否有写入迁移数据的权限。
说明如果需要跨账号迁移数据,此处请填写目的阿里云账号生成的RAM用户的AccessKey。
AccessKey Secret
是
OSS Bucket
是
选择或输入迁移目的所在的存储桶(Bucket)名称。
OSS Prefix
否
数据路径前缀。
指定前缀:您可以设置数据路径前缀将源数据迁移至指定目录下。格式要求不能以正斜线(/)开头,必须以正斜线(/)结尾,例如
data/to/oss/
。不指定前缀:不设置数据路径前缀时,会将源数据迁移至目的Bucket的根目录。
步骤三:创建迁移任务
在左侧导航栏,选择
,单击创建迁移任务。在创建迁移任务面板,阅读迁移服务条款协议,选中我理解如上条款,并开通数据迁移服务,单击下一步。
在弹出的费用提示对话框,单击确认,继续创建。
在配置任务页签,配置如下参数,单击下一步。
参数
是否必选
说明
任务名称
是
输入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中存在至少一个不同,则执行覆盖。
全覆盖:对于同名文件,不进行任何判断,直接执行覆盖。
不覆盖:对于同名文件,不进行任何判断,直接执行跳过。
警告条件覆盖或最后修改时间优先无法严格保证一定不会覆盖更新的文件,存在旧文件覆盖新文件的风险。
若您选择条件覆盖或最后修改时间优先覆盖策略时,请务必确保源端文件能返回LastModified、Size、Content-Type等信息,否则覆盖策略可能失效,产生非预期的迁移结果。
在性能调优页签的数据预估区域,填写待迁移存储量和待迁移文件个数。
说明为了迁移任务的顺利进行,请尽量准确进行数据预估。更多信息,请参见预估迁移数据。
可选:在性能调优页签的流量控制区域,设置限流时间段和最大流量,然后单击添加。
说明为了不影响您在线业务的访问,建议您根据业务访问的波峰和波谷来设置迁移时的限流时间段和最大流量。
单击创建,等待迁移任务完成。
步骤四:校验数据
迁移服务仅负责数据的迁移,无法保证数据的一致性和完整性。迁移任务完成后,请您全量校验迁移的数据,务必自行做好源端和目的端数据一致性校验。
请您务必在迁移任务完成后,校验目的端迁移数据。您在删除源数据前,未校验目的端迁移数据无误,导致数据丢失所引起的一切损失和后果均由您自行承担。
查看数据地址状态
NAS数据地址创建后有以下三种状态。
正常:数据地址创建正常。
创建中:创建第一个NAS数据地址时所需时间可能较长(约3分钟),请您耐心等待。如果数据地址长时间处于“创建中”状态,您可单击右上角的刷新按钮更新数据地址状态。
地址异常:创建地址异常。您可查看配置信息是否正确,NAS服务是否已允许在线迁移服务访问。若无法排查出问题,请提交工单。
相关文档
关于如何将OSS资源迁移至NAS,请参见OSS迁移至NAS步骤。