挂载卷是什么?
用户在运行生信工作流时,需要云端已经存在测序文件。
数据上云有两种途径,一种是直接上传数据到GeneDock,另外一种是用户的数据已经在云上,例如用户自己在云上管理数据或者测序工厂通过云端交付的数据。
为了方便用户对接不同来源的数据,GeneDock提供挂载卷功能,即通过挂载的方式使用云端存储。
如何使用挂载卷?
- 创建挂载卷
创建挂载卷前,需要确认如下信息:
• 拥有GeneDock 账号
• 拥有阿里云OSS bucket 且该bucket的所在域与聚道域同域(阿里云华南1区–深圳域,华北2区–北京域)
• 阿里云账号创建子用户并拥有Access Secret ID 和 Access Secret Key
• 建议开通 操作审计(ActionTrail)
备注:目前仅支持 阿里云北京域和深圳域
如上述信息都确认完毕,即可创建挂载卷
步骤1-创建子用户
登录阿⾥里里云控制台,进入”RAM 访问控制”,点击”人员管理”->”用户”,”创建子用户”:
- 输入”登录名称“和“显示名称”(本文以 “sub-volume”为例)。
- 选择”编程访问”。
- 点击”确定”。
步骤2-新建自定义策略
登录阿里云管理控制台,进入 “RAM 访问控制”,“权限管理”->”权限策略管理”, “新建权限策略”
填入策略名称(本文以”genedock-data-transfer”为例)
编辑备注内容 (本文以”genedock-data 数据传输”为例)
”配置模式” 选择 “脚本编辑”。
按照下列脚本内容填写
case1:挂载整个 bucket,以 bucket 名 “test-bucket”为例 (推荐使用这种方法)
{
"Statement": [
{
"Effect": "Allow",
"Action": [
"oss:GetObject",
"oss:PutObject",
"oss:ListParts",
"oss:AbortMultipartUpload",
"oss:ListObjects"
],
"Resource": [
"acs:oss:*:*:test-bucket",
"acs:oss:*:*:test-bucket/*"
]
}
],
"Version": "1"
}
case2: 挂载 bucket 的子目录,以 bucket 名test-bucket
,前缀为data/
为例,
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"oss:GetObject",
"oss:PutObject",
"oss:ListParts",
"oss:AbortMultipartUpload",
"oss:ListObjects"
],
"Resource": [
"acs:oss:*:*: test-bucket/data/*"
],
"Condition": {}
},
{
"Effect": "Allow",
"Action": [
"oss:ListObjects"
],
"Resource": [
"acs:oss:*:*: test-bucket "
],
"Condition": {
"StringLike": {
"oss:Prefix": [
"",
"data/*"
]
},
"StringEquals": {
"oss:Delimiter": "/"
}
}
}
]
}
本文以 case1: 挂载整个 bucket 为例
- 点击”确定”
步骤3-新建RAM角色
登录阿里云管理控制台,进入 “RAM访问控制”,“RAM角色管理”,点击 “新建RAM角色”
- 默认”阿里云账号”和”当前云账号”
- 输入”RAM角色名称”,例如 volume
- 输入备注信息,点击 “确定”
步骤4-给RAM角色添加权限
登录阿里云管理控制台,进入 “RAM访问控制”,“RAM角色管理”
- 选中刚创建的RAM角色名称 ”volume“,点击 “添加权限”
- 选择 “自定义授权策略”,选中步骤2新建的自定义策略,例如”genedock-data-transfer”
- 点击”确定”
步骤5-创建STST权限策略
登录阿里云管理控制台,进入 “RAM访问控制”,“RAM角色管理”
- 点击上面角色名称,进入角色详情面板。复制 ARN 信息。例如,点击“volume”,ARN信息格式为
acs:ram::156330542349:role/volume
(该编号以实际内容为准) - 返回”权限策略管理”面板,点击”新建权限策略”,策略命名为”sts-volume“。
- 填入如下策略信息:
{
"Statement": [
{
"Action": "sts:AssumeRole",
"Effect": "Allow",
"Resource": "acs:ram::156330542349:role/volume"
}
],
"Version": "1"
}
注:"acs:ram:: 156330542349:role/volume"
为第1步生产的ARN编号,请按照实际情况填写编号。
- 点击”确定”
步骤6- 授权sts策略和bucket策略
登录阿里云管理控制台,进入 “RAM访问控制”->”人员管理”->”用户”,
- 选中新增用户,例如sub-test,点击添加权限
“选择权限”->”自定义权限策略”,选择添加步骤2的bucket策略和步骤5的STS策略,例如选择之前创建的 “sts-volume” 和”genedock-data-transfer” 策略
点击”确定”
通过上述的操作,请核对是否已经获取如下信息:
- 阿里云 子用户 AK
- bucket的名称和bucket前缀
- role_arn编码(步骤5)
如果已经ok,请继续后续操作,否则请回查上述的步骤。
步骤7-设置跨域权限
通过web上传数据到挂载点的时候,系统会验证挂载云盘的跨域访问权限,需要如下设置:
步骤8-创建挂载卷
- 确认GeneDock用户的Access ID 和 Access Key
Access ID 和 Access Key 需要在 www.genedock.com 登录后,点击“进入后台”、“设置”、 “AccessKey”页面获取)。
- 创建挂载卷
注意:提前在”数据”模块创建好挂载目录,例如 /data-vol/
- 查看挂载卷列表
- 同步数据
进入挂载点目录,点击 “刷新” 按钮,即可看到数据已经同步到了 /home/admin/data/
目录了,如下图
后续云盘存储如有更新,可以点击 “刷新” 同步文件。
注意事项
功能限制
- 目前GeneDock 平台只支持 阿里云的北京域和深圳域的数据挂载,且不能跨域挂载,即北京域的存储数据只能挂载到GeneDock的北京域。
- 为了保护用户数据安全,用户如要删除挂载数据,必须在文件的源存储上进行操作
时效性说明
- GeneDock 每天定时同步用户的挂载数据,如用户着急使用数据,建议手动同步
- 挂载卷数据同步是增量同步,如第一次同步时,挂载的云端存储文件较多,文件同步过程容易超时,如同步失败请反馈给聚道技术支持人员协助同步。