本教程讲解如何将LocalFS的数据迁移至阿里云对象存储OSS。
概述
阿里云在线迁移服务是阿里云提供的存储产品数据通道。使用在线迁移服务,您可以将第三方数据轻松迁移至阿里云对象存储OSS,也可以在LocalFS与OSS之间、LocalFS之间或对象存储OSS之间进行灵活的数据迁移。
使用在线迁移服务,您只需在控制台填写源数据地址和目的数据地址信息,并创建迁移任务即可。启动迁移后,您可以通过控制台管理迁移任务,查看迁移进度、流量等信息。
LocalFS简介
LocalFS为本地文件系统,包含如下两种:
-
本机文件系统:在本地计算机上管理和存储文件。
-
挂载在本机的其他文件系统:例如NAS和GFS等。
LocalFS在Linux系统上支持多种文件系统接口,下表为一些常用的接口。
接口类型 | 说明 |
文件I/O接口 | LocalFS支持标准POSIX文件I/O接口,例如 |
目录操作接口 | LocalFS支持包括 |
文件元数据接口 | LocalFS支持包括 |
内存映射接口 | LocalFS支持通过 |
文件锁定接口 | LocalFS支持使用 |
文件系统缓存接口 | LocalFS支持通过 |
一些其他的接口也可以在LocalFS上使用,例如文件I/O向量化接口(readv
和writev
)、文件系统事件接口(inotify
)、POSIX消息队列接口(mq_open
、mq_send
和mq_receive
等)等。LocalFS所支持的接口和功能取决于所使用的文件系统类型和版本,因此在使用时,需要了解本地文件系统的详细情况,并根据实际需求进行选择和使用。
流程图
迁移流程
数据迁移流程图如下所示。
创建迁移任务流程
创建迁移任务流程如下图所示。
重要
创建LocalFS类型数据地址时,必须选择关联代理。
准备工作
介绍数据迁移之前的准备工作。
步骤一:创建目标存储空间
创建目标存储空间,用于存放迁移的数据。具体操作,请参见创建存储空间。
步骤二:登录控制台的RAM用户添加权限
重要
-
该RAM用户用于迁移使用。在创建角色和进行迁移实施操作时,需要在该用户下进行操作。请尽量在源Bucket或者目的Bucket所在的主账号下创建该RAM用户。
-
如果没有创建RAM用户,可以创建RAM用户并授权。
如果没有创建RAM用户,可以创建RAM用户并授权。
登录主账号所在的RAM控制台,在用户页面,单击刚创建的RAM用户 操作 列的 添加权限。
-
系统策略:管理OSS在线迁移服务的权限(AliyunOSSImportFullAccess)。
-
自定义权限策略:该策略必须包含
ram:CreateRole
、ram:CreatePolicy
、ram:AttachPolicyToRole
、ram:ListRoles
权限。可参考创建自定义权限策略进行权限管理,以下是相关的权限策略脚本代码:
{ "Version":"1", "Statement":[ { "Effect":"Allow", "Action":[ "ram:CreateRole", "ram:CreatePolicy", "ram:AttachPolicyToRole", "ram:ListRoles" ], "Resource":"*" } ] }
步骤三:目的Bucket授权
请根据目的Bucket是否归属于本账号,完成相应的操作。
目的Bucket归属于本账号
目的Bucket不归属于本账号
-
一键自动授权:
强烈建议您使用迁移控制台自动授权角色进行一键授权操作,该操作请在迁移实施 > 步骤三 > 授权角色 中实施。
-
手动授权:
说明
手动授权适用于具有特定需求的场景,例如:
-
为了有效管理多个源Bucket,期望通过一个角色实现对多个Bucket的批量授权。
-
当前账户现有的角色数量即将达到上限,因此不希望再创建过多额外的RAM角色。
-
其他不适合或无法使用一键自动授权的场景。
1、创建用于迁移数据的RAM角色
登录上文创建的RAM用户所在的RAM控制台,在角色详情页面单击 创建角色。
-
可信实体类型选择 阿里云服务。
-
角色类型选择 普通服务角色。
-
输入 角色名称(角色名称务必全部小写)。
-
受信服务选择 在线迁移服务。
2、目的Bucket授权
在角色页面,单击刚创建的RAM角色 操作 列的 新增授权。
-
自定义策略:该策略必须包含
oss:List*
、oss:Get*
、oss:Put*
、oss:AbortMultipartUpload*
权限。
可参考创建自定义权限策略 进行权限管理,以下是相关的权限策略脚本代码:
说明
以下权限策略仅供您参考,其中<myDestBucket>为 本账号下的目的Bucket名称,请根据实际值替换。
关于OSS权限策略的更多信息,请参见RAM Policy常见示例。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "oss:List*", "oss:Get*", "oss:Put*", "oss:AbortMultipartUpload" ], "Resource": [ "acs:oss:*:*:<myDestBucket>", "acs:oss:*:*:<myDestBucket>/*" ] } ] }
-
迁移实施
查看迁移任务状态
迁移任务创建后,有以下多种状态:
-
已创建:迁移任务已创建。用户可手动点启动或者等待到达指定的起始时间,系统启动任务。
-
启动:任务创建成功且已启动,等待调度。
-
准备:数据预处理中。
-
迁移:数据正在迁移中,请您耐心等待。
-
删除中:迁移任务正在删除中,待删除完成后,已删除的迁移任务将从任务列表中移除。
-
暂停:迁移任务已暂停。
-
关闭:迁移任务正在关闭中,待关闭完成后,迁移任务将会转为结束状态。
-
结束:迁移任务已结束。
-
中断:迁移任务异常中断。
查看迁移报告
-
登录数据在线迁移控制台。
-
在左侧导航栏,选择在线迁移服务 > 迁移任务。
-
在迁移任务列表中,单击对应任务的管理,进入任务的详情页面。
-
若创建任务时选择不推送报告,在任务详情页 > 历史,单击生成迁移报告。待迁移报告生成完成后,可单击下载迁移报告到本地。
-
若创建任务时选择推送报告,在任务详情页 > 历史,待报告生成完成,可点击下载迁移报告到本地。
-
重要
-
在数据迁移任务完成之前,生成的迁移报告内容可能不完整。如需获取完整的迁移报告,请在任务迁移完成后点击下载。
-
迁移报告仅供参考,以实际迁移完成的内容为准。
迁移报告生成后将被存储在指定的对象存储(OSS)Bucket中。根据任务执行情况,文件夹目录层级的前缀格式如下所示:
OSS://<bucket>/<prefix>/aliyun_import_report/<uid>/<jobid>/<runtimeid>/total_list/
OSS://<bucket>/<prefix>/aliyun_import_report/<uid>/<jobid>/<runtimeid>/failed_list/
OSS://<bucket>/<prefix>/aliyun_import_report/<uid>/<jobid>/<runtimeid>/skipped_list/
字段名称 | 字段含义 |
bucket | 目的端bucket。 |
prefix | 目的数据地址指定的迁移目录前缀。 |
uid | 用户主账号ID。 |
jobid | 任务ID(任务详情页 > 详情获取)。 |
runtimeid | 任务执行记录ID(任务详情页 > 历史获取)。 |
-
在对象存储OSS控制台,找到目的bucket下迁移报告文件,您可以下载这些文件并查看详细的文件列表,推荐使用ossbrowser或ossutil工具查看。
根据任务执行情况,生成的迁移报告文件分为总迁移文件列表、迁移失败文件列表和迁移跳过文件列表三种。
说明
迁移报告文件命名规则
-
uid@jobid@runtimeid_total_list_n,代表总迁移文件列表,可能会有多个,其中 n 是一个大于等于 0 的正整数。
-
uid@jobid@runtimeid_failed_list_n,代表迁移失败文件列表,可能会有多个,其中 n 是一个大于等于 0 的正整数。
-
uid@jobid@runtimeid_skipped_list_n,代表迁移跳过文件列表,可能会有多个,其中 n 是一个大于等于 0 的正整数。
迁移报告文件所含字段内容描述了文件(对象)从源到目的地迁移过程中的各种属性,具体包括:
字段名称 | 字段含义 |
源文件名 | 表示源文件的名称 |
目的文件名 | 表示目标文件的名称 |
源文件大小 | 表示源文件的大小 |
目的文件大小 | 表示目标文件的大小 |
源文件MD5 | 提供源文件的MD5哈希值,用于一致性验证 |
目的文件MD5 | 提供目标文件的MD5哈希值,用于一致性验证 |
源文件CRC64 | 提供源文件的CRC64值,用于一致性检查 |
目的文件CRC64 | 提供目标文件的CRC64值,用于一致性检查 |
源文件最后修改时间 | 表示源文件的最后修改时间 |
目的文件最后修改时间 | 表示目标文件的最后修改时间 |
源对象版本ID(只有多版本迁移涉及) | 仅在多版本迁移中使用,用于指示源对象的版本ID |
目的对象版本ID(只有多版本迁移涉及) | 仅在多版本迁移中使用,用于指示目标对象的版本ID |
迁移开始时间 | 记录文件迁移的开始时间 |
迁移结束时间 | 记录文件迁移的结束时间 |
是否异常迁移(false:正常,true:异常) | 一个布尔标志,指示迁移是否异常(false表示正常,true表示异常) |
异常原因 | 提供异常情况的原因说明 |
查看迁移日志
迁移任务结束后,可以通过日志服务SLS查看迁移任务的日志。您可以使用任务名、任务ID、UID、文件名等作为过滤条件,精准定位迁移日志。
重要
-
仅对创建迁移任务时,参数迁移日志选择推送或仅推送错误日志的任务有效。如果创建迁移任务时,参数迁移日志选择不推送,则不会推送迁移任务的日志到日志服务SLS上。
-
数据迁移未完成前SLS中迁移日志内容可能不完整,如需获取完整的迁移日志,请在任务迁移结束后再查看SLS中的迁移日志。
-
迁移日志仅供您参考,请以实际迁移完成的内容为准。
在线迁移服务会在日志服务SLS中创建名称为aliyun-oss-import-log-阿里云账号ID-当前控制台地域的Project,例如aliyun-oss-import-log-137918634953****-cn-hangzhou。在此Project中可以查看迁移任务的日志,其中包含如下两种日志:
-
drs_import_success_log:迁移成功日志。
-
drs_import_fail_log:迁移失败日志。
迁移日志中的主要字段说明如下表所示。
字段 | 说明 |
JobName | 迁移任务的名称。 |
JobId | 迁移任务ID。 |
Region | 当前控制台所在地域。 |
Status | 迁移文件的状态。包括如下三种状态:
|
UserId | 用户的UID。 |
ExecuteId | 执行记录ID。 |
StartTime | 迁移开始的时间。 |
EndTime | 迁移结束的时间。 |
ListTime | 该文件被扫描到的时间。 |
Time | 当前的时间。 |
SrcObjectName | 源端文件名称。以Src开头的是源端相关字段。 说明 文件名为URL编码处理后的格式,例如docs%2Fmy.docir%2Fexample.log。 |
SrcObjectSize | 源端文件大小。 |
DestObjectName | 目的端文件名称。以Dest开头的是目的端相关字段。 说明 文件名为URL编码处理后的格式,例如docs%2Fmy.docir%2Fexample.log。 |
DestObjectSize | 目的端文件大小。 |
修改限流
数据迁移过程中,您可以根据您的实际情况随时修改限流参数,修改限流后需要一定的生效时间。
-
登录数据在线迁移控制台。
-
在顶部菜单栏,选择任务所在的地域。
-
在左侧导航栏,选择在线迁移服务 > 迁移任务。
-
在迁移任务列表中,单击对应任务的管理,进入任务详情页面。
-
在配置区域,单击迁移带宽上限后的重置。
-
在弹出的对话框中配置迁移带宽上限。
-
默认:默认最大带宽,实际速度取决于文件大小和文件数量。
-
指定上限:根据控制台提示指定具体的带宽上限。
-
-
单击确定,即可完成修改。
修改每秒迁移文件数上限
数据迁移过程中,您可以根据您的实际情况随时修改每秒迁移文件数上限参数,修改每秒迁移文件数上限后需要一定的生效时间。
-
登录数据在线迁移控制台。
-
在顶部菜单栏,选择任务所在的地域。
-
在左侧导航栏,选择在线迁移服务 > 迁移任务。
-
在迁移任务列表中,单击对应任务的管理,进入任务详情页面。
-
在配置区域,单击每秒迁移文件数上限后的重置。
-
在弹出的对话框中配置每秒迁移文件数上限。
-
默认:默认每秒迁移文件数,实际速度取决于文件大小和文件数量。
-
指定上限:根据控制台提示指定具体的每秒迁移文件数。
-
-
单击确定,即可完成修改。
迁移失败后重试
如果迁移任务有部分文件迁移失败,可选择重新迁移失败的文件。
-
登录数据在线迁移控制台。
-
在顶部菜单栏,选择任务所在的地域。
-
在左侧导航栏,选择在线迁移服务 > 迁移任务。
-
在迁移任务列表中,单击对应任务操作列的管理,进入任务详情页面。
-
在历史区域下单击对应任务操作列的重试。
-
修改子任务名称,单击下一步。
-
确认迁移带宽、每秒迁移文件数、覆盖方式等参数无误后,单击下一步。
-
单击确定,子任务会启动并且重新迁移失败的文件。
介绍数据迁移的注意事项、迁移限制说明和操作步骤。
注意事项
使用在线迁移服务迁移数据时需要注意以下事项:
-
创建源数据地址时,待迁移目录请使用绝对路径,必须以正斜线(/)开头和结尾,不支持环境变量和特殊字符。
-
创建源数据地址时,需确保待迁移目录存在且正确有效。
-
在线迁移会占用源地址和目的地址的资源,可能会影响业务正常运行。若您的业务比较重要,请提前做好评估后对迁移任务设置限速,或在空闲时间启动迁移任务。
-
在线迁移前会检查源地址和目的地址的文件,但是若您源和目的地址有相同文件名的文件,且在迁移任务中配置了覆盖方式为覆盖,迁移时会直接覆盖目的地址的文件。若两个文件内容不同,必须更改文件名或做好备份。
-
在线迁移会保留源文件的最后修改时间属性,如果目的Bucket设置了生命周期规则,且迁移后文件处于该生命周期规则生效的时间范围内,则该文件可能会在规则生效时被删除或转为指定的归档类型。
迁移限制说明
-
若您源数据地址中有空目录、软链接文件或目录、字符设备文件或块设备文件、Socket文件和管道文件,此类数据均不会被迁移。
-
若您源数据地址存在硬链接关系,迁移后会变成普通文件。
-
不支持文件父目录属性的迁移。
-
SUID、SGID、SBID等文件权限不支持迁移。
-
迁移LocalFS数据至阿里云OSS的属性限制如下:
-
支持迁移的属性:ModifyTime -> X-Oss-Meta-Mtime(OSS)、Permissions -> X-Oss-Meta-Perms(OSS)、Uid:Gid -> X-Oss-Meta-Owner(OSS)
说明
-
Permissions:包含读、写、执行等9个权限。
-
Uid:Gid:用户ID:用户所属分组ID,中间以半角冒号(:)做分隔符。
-
-
不支持迁移的属性(包括但不限于):AccessTime、ChangeTime、Attr、Acl等。
说明
不支持迁移的属性包括但不限于以上列举的内容,其他未列举的属性行为暂无法确定,以实际迁移完成的内容为准。
-
步骤一:选择地域
-
使用创建的RAM用户登录阿里云在线迁移服务管理控制台。
-
在顶部菜单栏左上角处,选择代理所在的地域,如下图所示。
重要
-
不同地域内的通道、代理、数据地址和迁移任务不通用,请谨慎选择。
-
优先选择代理所在的地域。如果没有代理所在地对应的地域,请尽可能选择接近代理所在的地域创建迁移任务。
-
跨境迁移时,推荐您开启传输加速,提高迁移速度。开启了传输加速的Bucket会收取传输加速费用。关于传输加速的更多信息,请参见传输加速。
-
步骤二:创建通道
-
在左侧导航栏,选择在线迁移服务> 通道管理,单击新建通道。
-
在新建通道对话框,配置如下参数,然后单击确定。
参数
是否必填
说明
名称
是
通道的名称。
-
通道名称不能为空,最大长度为100个字符。
-
支持英文大小写字母、数字和特殊字符短划线(-)和下划线(_)。
带宽上限
是
通道可以使用的带宽上限。
-
不填写:默认值为0,表示不限制带宽。
-
设置该值:取值范围请参考控制台提示。
重要
可用带宽取决于网络链路的实际带宽。
请求数/秒
是
通道每秒请求数上限。
-
不填写:默认值为0,表示不限制每秒请求数。
-
设置该值:取值范围请参考控制台提示。
警告
请根据数据源存储系统的能力认真评估,过大会影响业务正常运行,建议根据控制台提示设置。
-
说明
关于通道的更多信息,请参见通道管理。
步骤三:创建代理
重要
-
如果LocalFS为本地文件,则只能部署1个代理。
-
如果LocalFS为NAS等远程文件系统,则可以部署多个代理,请确保NAS已挂载到名称相同的目录。
-
在左侧导航栏,选择在线迁移服务> 代理管理,单击新建代理。
-
在新建代理对话框,配置如下参数,然后单击确定。
参数
是否必填
说明
名称
是
代理名称。
-
代理名称不能为空,长度为3~63个字符。
-
支持英文小写字母、数字和特殊字符短划线(-)和下划线(_),且区分大小写。
-
UTF-8编码并且不能以短划线(-)和下划线(_)开头。
网络类型
是
代理的网络连接方式,包含如下两种:
-
公网(公网):此代理通过公网进行数据迁移。此方式要求代理机器必须可以访问与迁移服务部署地域的在线迁移服务公网域名。例如,您当前控制台在华北2(北京)地域,则此代理机器必须可以访问在线迁移服务华北2(北京)地域的公网域名cn-beijing.mgw-tc.aliyuncs.com。
-
专线/VPN(VPC):此代理通过专线进行数据迁移。此方式要求代理机器必须可以访问与迁移服务部署地域的在线迁移服务内网域名。例如,您当前控制台在华北2(北京)地域,则此代理必须可以访问在线迁移服务华北2(北京)地域的内网域名cn-beijing.mgw-tc-internal.aliyuncs.com。建议您使用与迁移服务部署地域的ECS部署代理。
部署方式
是
代理的部署方式。目前只支持独立进程部署方式。
通道
是
代理所属的通道,一个代理只允许关联一个通道,代理的带宽受通道总带宽影响。
例如:名称为tunnel-1的通道,设置最高带宽为10 Gbit/s,tunnel-1关联3个代理,分别为agent-1,agent-2和agent-3,则3个代理的总带宽之和最高为10 Gbit/s。如果agent-1设置3 Gbit/s的带宽,则agent-2和agent-3仅有7 Gbit/s的带宽可用,请提前规划并谨慎分配带宽。
-
-
生成部署代理脚本。具体操作,请参见生成部署代理脚本。
说明
关于代理的更多信息,请参见代理管理。
步骤四:创建源地址
重要
-
如果LocalFS源数据为本机的本地文件,则只允许部署一个代理。
-
如果LocalFS源数据为NAS挂载的本地文件,并同时挂载到多台机器上,则请确保NAS已挂载到名称相同的目录,在创建数据地址时,待迁移目录请填写NAS挂载的目录。
-
在左侧导航栏,选择在线迁移服务> 地址管理,单击新建地址。
-
在新建地址面板,配置如下参数,然后单击确定。
参数
是否必选
说明
名称
是
输入源数据地址名称。名称命名规则如下:
-
名称不能为空,长度为3~63个字符。
-
支持英文小写字母、数字和特殊字符短划线(-)和下划线(_),且区分大小写。
-
UTF-8编码不能以短划线(-)和下划线(_)开头。
类型
是
选择LocalFS。
待迁移目录
是
您可以指定待迁移目录的路径。请使用绝对路径,必须以正斜线(/)开头和结尾,不支持环境变量和特殊字符。
例如,设置源数据地址前缀为
/example/src/
,此路径下有文件example.jpg,设置目的数据地址前缀为example/dest/
,则迁移后文件example.jpg的完整路径为example/dest/example.jpg
。重要
如果LocalFS源为NAS挂载的本地文件, 并同时挂载到多台机器上,请确保NAS挂载到名称相同的本地目录上,在创建数据地址时,待迁移目录填写NAS挂载的本地目录名称。
通道
是
选择需要使用的通道名称。
重要
-
仅通过专线或VPN迁移数据上云、自建存储数据迁移上云需要使用该参数。
-
目的数据地址是LOCALFS的以及需要走专线(金融云、专有云等)的场景需要关联代理。
代理
是
选择需要使用的代理名称。
重要
-
仅通过专线或VPN迁移数据上云、自建存储数据迁移上云需要使用该参数。
-
指定通道下,最多可同时选择30个代理。
-
步骤五:创建目的地址
-
在左侧导航栏,选择在线迁移服务 > 地址管理,单击新建地址。
-
在新建地址面板,配置如下参数,然后单击确定。
参数
是否必选
说明
名称
是
输入目的数据地址名称。名称命名规则如下:
-
名称不能为空,长度为3~63个字符。
-
支持英文小写字母、数字和特殊字符短划线(-)和下划线(_),且区分大小写。
-
UTF-8编码不能以短划线(-)和下划线(_)开头。
类型
是
选择Alibaba OSS。
区域
否
选择目的地址所在的地域,例如华东1(杭州)。
授权角色
是
-
目的Bucket归属于在线迁移控制台账号
-
目的Bucket不属于在线迁移控制台账号
存储桶(Bucket)
是
输入当前控制台所在账号下迁移后数据所在的存储桶(Bucket)名称。
代理
否
选择需要使用的代理名称。
重要
-
仅通过专线或VPN迁移数据上云、自建存储数据迁移上云需要使用该参数。
-
指定通道下,最多可同时选择30个代理。
-
步骤六:创建迁移任务
-
在左侧导航栏,选择在线迁移服务 > 迁移任务,单击新建任务。
-
在选择地址页面,配置如下参数,然后单击下一步。
参数
是否必选
说明
名称
是
输入迁移任务名称。名称命名规则如下:
-
名称不能为空,长度为3~63个字符。
-
支持英文小写字母、数字和特殊字符短划线(-)和下划线(_),且区分大小写。
-
UTF-8编码不能以短划线(-)和下划线(_)开头。
源地址
是
选择已创建的源地址。
目的地址
是
选择已创建的目的地址。
-
-
在配置任务页面,配置如下参数。
参数
是否必选
说明
迁移带宽
否
选择迁移带宽。
-
默认:默认最大带宽,实际速度取决于文件大小和文件数量。
-
指定上限:根据控制台提示指定具体的带宽上限。
重要
-
实际迁移带宽与数据源、网络、目的限流、文件大小等因素有关,不一定能达到指定上限。
-
请您评估数据源、迁移目的、业务情况、网络带宽等,并根据实际情况选择合理数值,限流不恰当可能会影响业务的正常运行。
每秒迁移文件数
否
选择每秒迁移文件数。
-
默认:每秒迁移文件数。
-
指定上限:根据控制台提示指定具体的每秒迁移文件数。
重要
-
实际迁移带宽与数据源、网络、目的限流、文件大小等因素有关,不一定能达到指定上限。
-
请您评估数据源、迁移目的、业务情况、网络带宽等,并根据实际情况选择合理数值,限流不当可能会影响业务的正常运行。
覆盖方式
否
选择同名文件的覆盖方式。
警告
-
根据最后修改时间覆盖无法严格保证一定不会覆盖更新的文件,存在旧文件覆盖新文件的风险。
-
若您选择根据最后修改时间覆盖的覆盖方式,请务必确保源端文件能返回最后修改时间、Size、Content-Type等信息,否则覆盖策略可能失效,产生非预期的迁移结果。
-
选择不覆盖或根据最后修改时间覆盖时,为执行后续覆盖判断,会分别请求源端和目的端meta信息一次,因此会在源端和目的端产生对应的请求费用。
-
不覆盖:不迁移该文件。
-
全部覆盖:源地址中的文件会覆盖目的地址中的文件。
-
根据最后修改时间覆盖:
-
当源地址中的文件最后修改时间晚于目的地址中的文件最后修改时间时,目的地址中的文件会被覆盖。
-
当源地址中的文件最后修改时间与目的地址中的文件最后修改时间相同时,若二者的Size和Content-Type有一项不同,则目的地址中的文件会被覆盖。
-
迁移报告
是
迁移报告推送方式。
-
不推送(默认):不推送迁移报告至目的bucket。
-
推送:将迁移报告推送至目的bucket,详细路径请参考后续操作。
重要
-
迁移报告推送会占用目的端一定的存储空间。
-
迁移报告的推送可能会存在一定的时间延迟,请您耐心等待迁移报告的生成。
-
每个任务执行记录都有一个唯一的ID,请注意,迁移报告只会推送一次,请谨慎删除!
迁移日志
是
迁移日志推送方式。
-
不推送(默认):不推送迁移日志。
-
推送:将迁移日志推送至日志服务SLS,可在SLS上查看迁移日志。
-
仅推送文件错误日志:仅将错误迁移日志推送至日志服务SLS,可在SLS上查看错误迁移日志。
当选择推送或仅推送文件错误日志时,在线迁移服务会在日志服务SLS中创建名称为aliyun-oss-import-log-阿里云账号ID-当前迁移服务部署地域的Project,例如aliyun-oss-import-log-137918634953****-cn-hangzhou。
重要
请务必完成以下操作后,再选择推送或仅推送文件错误日志,否则可能会导致迁移任务异常。
-
已开通SLS服务。
-
已在日志服务授权项授权页面中同意授权。
日志服务授权
否
当迁移日志选择推送或仅推送文件错误日志时出现该选项。
单击授权进入云资源访问授权页面,页面会对应创建AliyunOSSImportSlsAuditRole角色,并对角色做授权,请单击同意授权完成授权。
文件名
否
文件名过滤器。
支持包含和排除两种过滤规则,请参见RE2库的正则表达式语法(仅支持部分表达式语法)。例如:
-
.*\.jpg$表示以.jpg结尾的所有文件。
-
^file.*默认表示根目录下以file开头的所有文件。
如果源数据地址设置了前缀,例如源数据地址前缀为data/to/oss/,则需要使用^data/to/oss/file.*来匹配指定前缀下以file开头的所有文件。
-
.*/picture/.*表示匹配某一级为picture的子目录。
重要
-
当过滤规则为包含时,符合规则的文件都会被迁移,如果有多条规则,符合任意一个条件的文件都会被迁移。
例如2个文件picture.jpg和picture.png,设置一条包含规则过滤.*\.jpg$,此时只会迁移picture.jpg文件,如果同时也设置了包含规则过滤.*\.png$,则2个文件都会被迁移。
-
当过滤规则为排除时,符合规则的文件都不会被迁移,如果有多条规则,符合任意一个条件的文件都不会被迁移。
例如2个文件picture.jpg和picture.png,设置一条排除规则过滤.*\.jpg$,此时只会迁移picture.png,如果同时也设置了排除规则过滤.*\.png$,则2个文件都不会被迁移。
-
排除规则优先。当一个文件既在排除规则中又在包含规则中,则文件不会被迁移。
例如文件file.txt,设置排除规则过滤.*\.txt$文件,并同时设置包含规则过滤file.*,则此时file.txt文件不会被迁移。
文件修改时间
否
文件最后一次修改时间过滤器。
可指定文件最后一次修改时间作为过滤规则。如果指定了时间范围,则只迁移文件最后一次修改时间在指定时间范围内的文件,具体规则如下。
-
当仅指定开始时间为2019年01月01日,不指定结束时间时,则只迁移文件最后一次修改时间晚于等于2019年01月01日的文件。
-
当仅指定结束时间为2022年01月01日,不指定开始时间时,则只迁移文件最后一次修改时间早于等于2022年01月01日的文件。
-
当指定开始时间为2019年01月01日,结束时间为2022年01月01日,则迁移文件最后一次修改时间范围在晚于等于2019年01月01日,且早于等于2022年01月01日的文件。
是否迁移
否
是否迁移特殊类型的实体。勾选表示启用迁移,不勾选表示禁用。
目录:
-
启用时,源地址中扫描到的所有目录自身也会被加入待迁移队列,同时会被统计到迁移任务的【文件数】、【存储量】字段。会在目的地址创建对应的'/'结尾的空对象,并将源目录(支持迁移)的属性设置到目的对象的UserMeta中。
-
禁用时,源地址中扫描到的所有目录自身将会被忽略,不会被统计到迁移任务的【文件数】、【存储量】字段。不会在目的地址创建对应的'/'结尾的空对象。
软链接:
-
启用时,源地址中所有软链接类型的文件自身也会被加入待迁移队列,同时会被统计到迁移任务的【文件数】、【存储量】字段。会在目的地址中创建对应的Symlink对象,并将源软链接文件(支持迁移)的属性设置到Symlink对象的UserMeta中。Symlink对象的Target属性值取决于【是否转换Target】选项。
-
禁用时,源地址中所有软链接类型的文件将会被忽略,不会被统计到迁移任务的【文件数】、【存储量】字段。
重要
任何情况下,都不会额外迁移源地址中软链接文件所指向的目标文件或目录(除非该目标文件或目录也在本次迁移范围内)。
是否转换Target
否
对源地址中软链接文件的Target属性进行转换,以尽可能使迁移后的Symlink对象仍可正常指向其目标对象。勾选表示启用转换,不勾选表示禁用转换。
重要
-
此选项仅在启用迁移软链接时才生效。
-
无论是否转换Target,迁移总是不会检查目标对象是否存在、目标对象类型是否合法以及目标对象是否有访问权限等。
启用时,先(以此软链接所在目录为基准)将Target属性解析成最短绝对路径(字符长度最短的等效路径,AbsTarget),然后执行字符串替换操作,将AbsTarget中的SrcPrefix(若匹配)替换成DestPrefix,并将替换后的结果值设置到目的Symlink对象的Target属性上。
说明
示例:假设迁移任务配置的SrcPrefix="/mnt/nas1/",DestPrefix="cloud_base/",/mnt/nas1/links/a.lnk是源地址下的一个软链接类型文件,假设其Target属性:
-
为"../data/./a.txt"。则解析后的最短绝对路径为"/mnt/nas1/data/a.txt"。则替换后的最终Target结果值为"cloud_base/data/a.txt"。
-
为"/mnt/nas1/verbose/../data/./a.txt"。则解析后的最短绝对路径为"/mnt/nas1/data/a.txt",替换后的最终Target结果值为"cloud_base/data/a.txt"。
-
为"/root/outer/../data/./a.txt"。则解析后的最短绝对路径为"/root/data/a.txt",替换未能匹配,最终Target结果值仍为"/root/data/a.txt"。
禁用时,不转换,将源软链接的Target属性原始值设置到目的Symlink对象的Target属性上。
执行时间
否
重要
-
正在迁移中的任务,在下一个指定时间前仍未结束本轮迁移,则会在本轮迁移结束后,自动顺延至下一个指定时间启动任务,直至完成指定次数的迁移。
-
迁移任务并发数量限制:迁移服务部署地域选择中国香港或中国内地时最多支持10个任务并发,选择海外地域时最多支持5个,超出限制后可能导致定时任务调度无法按预期执行。
确定迁移任务的执行时间。
-
立即执行:立即执行当前任务。
-
指定执行时间:指定任务执行期间每天的执行时间段。默认情况下,任务将在指定的起始时间启动,在指定的停止时间暂停。
-
周期调度:通过调整执行频率和执行次数来启动任务。
-
执行频率:支持以每小时、每天、每周、一周中某些天、自定义等5种频率,具体请查看执行频率参考。
-
执行次数:指定任务的执行次数,如不设置则默认执行一次,最大执行次数请参考控制台提示。
-
重要
可随时手动启动和暂停任务,不受自定义执行时间的影响。
-
-
阅读在线迁移服务协议,选中我已理解并确认,合规承诺声明且当迁移任务完成时,我有确认迁移数据一致性的义务和责任,然后单击下一步。
-
检查配置信息,确认无误后,单击确定,等待迁移任务执行。
执行频率参考
执行频率 | 说明 | 示例 |
每小时 | 选择以每小时为频率,可搭配执行次数一起使用。 | 当前时间为8:05分,指定每小时为频率,执行3次任务,则会在下一个整点9点钟开始第一次任务。
|
每天 | 选择以每天为频率时,需设置0~23小时中任意整点时间启动任务,可搭配执行次数一起使用。 | 当前时间为8:05分,指定每天10点,执行5次,会在当天10点开始第一次任务。
|
每周 | 选择每周时,需指定周内任意一天,并设置0~23小时中任意整点时间启动任务,可搭配执行次数一起使用。 | 当前时间为周一8:05分,指定每周一的10点,执行10次,则会在当天10点时开始第一次任务。
|
一周中某些天 | 选择一周中某些天时,支持选择周内任意几天,并设置0~23小时中任意整点时间启动任务。 | 当前为周三8:05,指定每周一、三、五的10点,则会在当天的10点时开始第一次任务。
|
自定义 | 使用Cron表达式自定义设置任务启动时间。 | 说明 Cron表达式由6个字段组成,每个字段之间使用空格分隔,依次表示任务的执行时间规则:秒 分钟 小时 日 月 星期。 以下Cron表达式示例仅供参考,更多请参照Cron表达式生成器:
|
步骤七:校验数据
迁移服务仅负责数据的迁移,无法保证数据的一致性和完整性。迁移任务完成后,请您全量校验迁移的数据,务必自行做好源端和目的端数据一致性校验。
警告
请您务必在迁移任务完成后,校验目的端迁移数据。您在删除源数据前,未校验目的端迁移数据无误,导致数据丢失所引起的一切损失和后果均由您自行承担。