创建存储迁移工作流
本节介绍如何使用存储迁移标准模板创建存储迁移工作流。
当前支持以下区域(Region):
- 华北-北京四
- 华北-乌兰察布一
- 华南-广州
- 华东-上海一
- 华东-上海二
- 华东-青岛
- 西南-贵阳一
- 中国-香港
- 亚太-新加坡
约束与限制
关于存储迁移的约束与限制请查看存储迁移的约束与限制有哪些?
风险提示
在创建工作流时,对于源端和目的端的同名对象,我们提供了三种覆盖策略:不覆盖、直接覆盖和条件覆盖。选择“不覆盖”策略进行数据迁移时,如果迁移任务因错误中断后重启或从暂停状态恢复,可能会造成部分数据未完全迁移,而任务显示成功的现象,影响数据的完整性。为规避这一风险,请谨慎使用“不覆盖”策略。
操作步骤
- 登录迁移中心管理控制台。
- 在左侧导航栏选择“实施>迁移工作流”,进入迁移工作流页面。在页面左上角的当前项目下拉列表中选择迁移项目。
- 单击页面右上角的“创建迁移工作流”按钮,进入选择模板页面。
- 选择存储迁移标准模板,单击“查看步骤详情”,可以查看存储迁移模板所包含的迁移阶段和步骤,以及每个阶段和步骤的详细描述。其中,步骤类型为“自动”,表示该步由系统自动完成。单击“开始配置”按钮,进行工作流配置。
- 根据表1,配置基础信息参数。
表1 基础信息参数说明 参数
说明
名称
用户自定义。
区域
下拉菜单中选择目的端所在区域。
描述
用户自定义。
集群
选择用于迁移的集群,集群中包含master节点、迁移节点和列举节点。如果没有可用集群,可以新建集群。
须知:master节点为系统默认创建,无需配置。
- 根据表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
输入源端云账号的私有密钥。
桶
输入源端需要迁移的桶名。
对象存储终端地址
输入源端桶所在区域的终端节点(Endpoint)信息。
例如:站点类型选择阿里云OSS,源端桶所在区域为华东1(杭州),则输入“oss-cn-hangzhou.aliyuncs.com”。
桶类型
根据桶的实际类型选择。桶类型可以通过查看桶的基本信息获取。
数据站点类型为华为云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地址+:/或IP地址+:/ xxx,例如:192.1.1.1:/或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.cn-north-4.myhuaweicloud.com”。
说明:可在OBS桶的基本信息查看。
指定前缀
将对象迁移到指定前缀,例如:源端对象路径为/A/B/C.txt,目的端前缀配置为/D,迁移后目的端对象路径为/D/A/B/C.txt。详细介绍请参考
设置“保存到指定前缀”参数中的功能介绍。
文件存储服务地址
输入目的端文件系统的挂载地址。挂载地址可以在文件系统列表页面,单击挂载地址后面的图标复制获取。
数据站点类型选择NAS_SMB/NAS_NFS_V3_MOUNT时填写。
路径
输入目的端接收文件的路径,格式为:/文件夹。
用户名
输入具有访问目的端文件系统所有文件权限的用户名,例如:administrator。
数据站点类型选择NAS_SMB时填写。
密码
输入用户名对应的密码。
Windows上的域
输入对应的域名。
说明:只需输入.com之前的内容,例如:域名为test.com,则输入test。
- 根据表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服务等。
- 不勾选,迁移工作流不创建清理集群步骤。
- 目的端为OBS
- (可选)根据表5,配置高级选项。
表5 高级选项参数说明 参数
说明
备注
目的端存储类型
选择迁移到华为云OBS后,对象的存储类型。存储策略说明请参见存储类型介绍。
-
KMS加密
- 不勾选,迁移后对象状态与源端保持一致。
- 勾选,所有对象在迁移到OBS桶后都将被加密存储。
说明:- 使用KMS服务端加密可能会降低迁移速率10%左右。
- 目的端桶所在区域支持KMS加密时,此参数才可用。
仅目的端选择华为云OBS时支持配置。
解冻归档数据
- 不勾选:如果遇到归档类型对象,则直接判定该对象迁移失败并跳过,继续迁移其余对象。
- 勾选:如果遇到归档类型对象,则自动解冻该对象并进行迁移。如果解冻失败,则判定该对象迁移失败并跳过,继续迁移其余对象。
说明:在数据迁移时,系统会对所有数据发起取回操作,源端云服务商会收取相应的API调用费用和存储费用。
-
过滤配置
通过黑、白名单以及时间段过滤迁移文件。过滤策略详细介绍请参见过滤策略说明。
CDN迁移支持
当默认域名不能满足您的迁移需求,比如您需要一个自定义域名以便使用CDN降低源端出口下载流量的费用,可以勾选此选项。在域名输入框中输入自定义域名,并选择传输协议。HTTP协议安全级别低于HTTPS协议,推荐使用HTTPS协议。
源端为阿里云OSS、腾讯云COS时,如果使用了CDN鉴权,还需要选择“鉴权类型”并输入“鉴权密钥”。
SMN消息发送配置
选择是否使用SMN消息通知功能,该功能可以通知您迁移任务的结果。
- 不勾选,不接收SMN消息。
- 勾选,接收SMN消息。选择SMN主题,会向该主题的订阅者发送消息;选择消息发送语言;选择发送消息的触发条件,支持同时勾选。
流量控制
设置迁移任务在指定时段的最大流量带宽。
- 不勾选,不进行流量控制。
- 勾选,进行流量控制。分别设置“开始时间”、“结束时间”和“限速”数值。
-
定时迁移
设置迁移任务在指定时间内自动迁移。
-
- 工作流配置完成后,单击“下一步:确认并创建”按钮,进入确认并创建页面。
- 确认配置信息无误后,单击“确认创建工作流”,弹出启动工作流窗口,此时工作流已创建完成。
- 如果您希望立即开始迁移,则单击“确认”按钮,立即运行工作流。
- 如果您需要在标准工作流中添加阶段/步骤,则单击“取消”,此时迁移工作流状态为“等待中”,并未开始迁移。确定工作流步骤后,单击“运行”按钮,开始迁移。
- 在工作流详情页面,可以查看该存储迁移工作流的配置信息和资源迁移进度。还可以进行如下操作:
- 将鼠标放至资源迁移进度条,在弹窗中可以查看该资源更多迁移信息。
- 当迁移步骤(进度条)到达需要手动确认的步骤时,您需要将鼠标放至在进度条上,并在弹出的窗口中单击步骤状态后的“确认”。只有完成这一操作,系统才会继续进行后续的迁移步骤。
- 在基础信息区域,单击集群名称后的“管理”,右侧弹出集群详细信息页面。在这个页面上,您可以进行如下操作:
- 设置流量控制规则:您可以添加、编辑或删除流量控制规则,以确保集群内的流量按照您的需求进行管理。
- 节点管理:您可以根据实际需求,添加/删除迁移节点和列举节点,也可以对现有节点进行插件升级。
- (可选)单击资源迁移进度条或进度条弹窗中的“资源迁移进度详情”,右侧弹出该资源迁移详情页面,可以查看任务概览和进度详情等信息。还可以进行如下操作:
操作
步骤
更换集群
只有OMS任务状态(即工作流状态)为“已暂停”时,可以进行“更换集群”操作。
- 在任务概览区域,单击迁移集群名称后的“更换”。
- 在下拉列表中选择新集群,单击“确认”,更换集群后,系统开始自动运行。
修改定时迁移
- 在任务概览区域,单击定时迁移后的“修改”。
- 设置开始时间和结束时间,单击“确认”。
修改并发子任务数
- 在进度详情区域,单击期望并发子任务数下方的“修改”,配置期望并发的子任务数。配置要求:配置的数目不能超过可用迁移节点数x10。例如,可用的迁移节点数为2,则配置数目需要≤20。
- 单击“确认”,完成并发子任务数修改。
添加迁移限速规则
- 在迁移速度区域,单击“添加”按钮,可以增加一条限速规则,用于限制该资源在某个时间段内的迁移速度。
- 设置完成后,单击“保存”,完成添加。
获取迁移失败/跳过/成功资源列表文件
在文件统计区域,可以查看存放迁移失败/跳过/成功的资源列表文件路径。单击路径,可以进入存放文件的OBS桶,获取对应列表文件。
查看迁移流量统计
在流程统计区域,可以查看该资源近1小时、近6小时、近24小时、整个周期迁移流量使用情况。
过滤策略说明
过滤策略参数填写通配符规则说明和约束说明参见表6。
过滤策略场景规则示例以及举例见下表。
例如第一级目录为“test”,那么:
- NAS的路径格式为:“/test”。
- OBS的路径格式为:“test”。
场景 |
NAS规则示例 |
OBS规则示例 |
说明 |
---|---|---|---|
文件路径以xx结尾(特定后缀) |
/xx /**xx |
xx/**xx |
xx可以是包含*和?的表达式 |
根路径下第一层xx开始的文件 |
/xx*
|
/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}** |