准备工作
使用在线迁移服务将 OSS 或 LocalFS 中的数据迁移至 LocalFS 前,请依次完成操作账号、数据源和目的地址的准备。LocalFS 包括本地磁盘及挂载到本地的 NAS、CPFS 等文件系统。
步骤一:准备操作账号
1. 创建 RAM 用户
使用 RAM 用户操作在线迁移服务。后续创建数据地址和迁移任务时,使用该用户登录。源端为 OSS 时,建议在源 Bucket 所属的阿里云账号下创建该用户。
如果尚未创建 RAM 用户,请参见创建 RAM 用户并授权,并启用控制台访问。已有用户可配置以下权限。
2. 为 RAM 用户授权
根据数据源类型,为 RAM 用户添加相应权限。
使用阿里云账号或具有相应授权权限的管理员登录 RAM 控制台,在身份管理 > 用户页面选择步骤一创建的 RAM 用户,进入授权面板,添加下表所列的系统策略和自定义策略。自定义策略需先创建,再附加给该用户。具体操作请参见管理RAM用户的权限。
数据源类型 | 所需权限 | 用途 |
LocalFS |
| 管理在线迁移服务 |
OSS |
| 管理在线迁移服务,创建和配置迁移使用的 RAM 角色及权限策略 |
源端为 OSS 时,自定义策略如下。创建方法请参见创建自定义权限策略。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ram:CreateRole",
"ram:CreatePolicy",
"ram:AttachPolicyToRole",
"ram:ListRoles"
],
"Resource": "*"
}
]
}本步骤配置操作迁移服务账号的权限。读取源数据和写入目的目录所需的权限,分别在后续步骤中准备。
下文所述“本账号”,指该 RAM 用户所属的阿里云账号。同账号表示源 Bucket 与该 RAM 用户属于同一阿里云账号;跨账号表示两者属于不同阿里云账号。
步骤二:准备数据源
根据数据源类型,选择对应标签页完成准备工作。
LocalFS 数据源
确定待迁移的源目录,并完成以下准备。
准备事项 | 说明 |
源目录 | 确认目录存在,并记录其绝对路径,例如 |
文件系统挂载 | 源数据位于 NAS、CPFS 等文件系统时,先完成挂载,并确认挂载目录中的文件可以正常访问 |
读取权限 | 确保运行迁移代理的操作系统用户具有源目录及其子目录的遍历权限,以及待迁移文件的读取权限 |
多代理访问 | 同一源数据地址关联多台代理时,确保所有代理通过所填写的目录路径访问同一份源数据 |
RAM 用户权限用于操作在线迁移服务控制台;本地目录和文件的访问权限由操作系统及文件系统控制,需要分别配置。
OSS 数据源
本节适用于将 OSS 中的数据迁移至 LocalFS 的场景。
1. 准备源 Bucket 信息
记录源 Bucket 名称、所属地域和待迁移的对象前缀,并确认 Bucket 是否属于本账号。
2. 配置源 Bucket 访问权限
根据源 Bucket 是否属于本账号,选择对应的授权方式。
源 Bucket 归属于本账号
自动授权(推荐)
创建源数据地址时,在“授权角色”中完成自动授权,无需提前手动创建角色。
手动授权
需要复用角色管理多个 Bucket、角色数量受限或无法使用自动授权时,可选择手动授权。
创建 RAM 角色
使用步骤一准备的 RAM 用户登录 RAM 控制台,在角色页面创建角色:
信任主体类型选择云服务。
信任主体名称选择闪电立方(
mgw.aliyuncs.com)。输入角色名称,例如
role-test,并完成创建。
角色名称使用小写字母,支持数字、连字符(-)和点号(.),长度不超过 64 个字符。已有符合要求的角色时,可为该角色补充相应权限。
授予源 Bucket 读取权限
创建以下自定义策略并附加到 RAM 角色,将 <readBucket> 替换为源 Bucket 的实际名称。
创建策略后,在 RAM 控制台 > 身份管理 > 角色页面选择迁移角色,进入授权面板,选择自定义策略并添加刚创建的策略。具体操作请参见管理RAM角色的权限。后续需要授予 KMS 系统策略时,也可通过该入口添加。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": ["oss:List*", "oss:Get*"],
"Resource": [
"acs:oss:*:*:<readBucket>",
"acs:oss:*:*:<readBucket>/*"
]
}
]
}源 Bucket 不归属于本账号
创建 RAM 角色
使用步骤一准备的 RAM 用户登录 RAM 控制台,在角色页面创建角色:
信任主体类型选择云服务。
信任主体名称选择闪电立方(
mgw.aliyuncs.com)。输入角色名称,例如
role-test,并完成创建。
角色名称使用小写字母,支持数字、连字符(-)和点号(.),长度不超过 64 个字符。已有符合要求的角色时,可为该角色补充相应权限。
配置源 Bucket Policy
使用源 Bucket 所属账号登录 OSS 管理控制台,选择源 Bucket,进入权限控制 > Bucket 授权策略,在按语法策略添加页签中添加以下授权。
占位符 | 替换内容 |
| 步骤一中 RAM 用户所属主账号的 UID |
| 源 Bucket 所属主账号的 UID |
| 在本账号下创建的 RAM 角色名称 |
| 源 Bucket 名称 |
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": ["oss:List*", "oss:Get*"],
"Principal": [
"arn:sts::<migrationUid>:assumed-role/<roleName>/*"
],
"Resource": [
"acs:oss:*:<bucketOwnerUid>:<readBucket>",
"acs:oss:*:<bucketOwnerUid>:<readBucket>/*"
]
}
]
}编辑 Bucket Policy 时,应保留已有策略,并合并新增授权,避免影响已有访问权限。
3. 配置 KMS 权限(按需)
如果待迁移的源对象使用 KMS 加密,为读取源数据的 RAM 角色授予 AliyunKMSFullAccess 系统策略。
跨账号访问使用自定义 KMS 密钥加密的对象时,还需由密钥所属账号配置密钥策略,在其他账号使用者中添加该角色的 ARN:
acs:ram::<migrationUid>:role/<roleName>具体操作请参见设置密钥策略。
4. 解冻待迁移对象(按需)
如果待迁移对象处于冻结状态,请在创建源数据地址和迁移任务前完成解冻。具体操作请参见解冻文件。
根据待迁移数据量和预计迁移时间设置解冻有效期,确保对象在迁移期间保持可读。
解冻会产生数据取回费用,具体以 OSS 的计费规则为准。
在线迁移服务不会自动解冻源对象。未解冻或仍在解冻中的对象会迁移失败。
步骤三:准备目的地址
目的地址为 LocalFS。选择用于接收迁移数据的目录,并完成以下准备。
准备事项 | 说明 |
目的目录 | 提前创建目的目录,并记录其绝对路径,例如 |
文件系统挂载 | 目的存储为 NAS、CPFS 等文件系统时,先完成挂载,并将数据写入挂载目录 |
访问权限 | 确保运行迁移代理的操作系统用户能够访问目的目录、创建子目录和写入文件;需要覆盖已有文件时,还需具有相应文件的写入权限 |
可用空间 | 确认目的文件系统有足够的可用空间和配额容纳待迁移数据;需要推送迁移报告时,为报告预留空间 |
多代理访问 | 同一目的数据地址关联多台代理时,确保所有代理通过所填写的目录路径访问同一个目的文件系统 |
创建目的数据地址时,将准备好的目录路径填写到待迁移目录。
如果目的目录中已有同名文件,迁移任务会按配置的覆盖方式处理。对需要保留的文件,请提前备份或调整目的目录。