更新时间:2025-03-04 gmt 08:00

动态挂载obs并行文件系统-九游平台

什么是动态挂载obs并行文件系统

并行文件系统(parallel file system)是对象存储服务(object storage service,obs)提供的一种经过优化的高性能文件系统,详细介绍可以参见并行文件系统

在modelarts运行态的notebook容器中,采用动态挂载特性,将obs对象存储模拟成本地文件系统。其本质是通过挂载工具,将对象协议转为posix文件协议。挂载后应用层可以在容器中正常操作obs对象。

动态挂载适用于哪些使用场景

场景1:数据集预览和操作,将承载数据集的obs挂载至notebook中,可以像本地文件系统一样操作数据集。

场景2:在notebook中训练时,可直接使用挂载至notebook容器中的数据集。

动态挂载obs并行文件系统有什么限制

obs提供两种桶,对象存储(对象桶)和并行文件系统pfs。

modelarts的notebook仅支持挂载obs的并行文件系统,挂载至notebook容器“/data/”的子目录下。

动态挂载obs并行文件系统操作

方式1:通过modelarts控制台操作

  1. 登录modelarts管理控制台,在左侧导航栏中选择“开发空间 > notebook”,进入“notebook”页面。
  2. 选择运行中的notebook实例,单击实例名称,进入notebook实例详情页面,在“存储配置”页签,单击“添加数据存储”,设置挂载参数。
    1. 设置本地挂载目录,在“/data/”目录下输入一个文件夹名称,例如:demo。挂载时,后台自动会在notebook容器的“/data/”目录下创建该文件夹,用来挂载obs文件系统。
    2. 选择存放obs并行文件系统下的文件夹,单击“确定”
      图1 动态挂载obs并行文件系统
  3. 挂载成功后,可以在notebook实例详情页查看到挂载结果。
    图2 挂载成功

方式2:api模式

动态挂载api接口已发布至华北-北京四和华东-上海一站点。请参考jupyterlab九游平台主页介绍在jupyterlab中新建ipynb文件,新建一个ipynb文件然后执行脚本。

挂载脚本代码示例如下。更多api参数介绍请参考动态挂载obs

import os
from json import jsonencoder
from modelarts.config.auth import auth_by_apig
from modelarts.session import session
session = session()
request_url = "/v1/{}/notebooks/{}/storage".format(os.environ['project_id'], os.environ["instance_id"])
# 查询动态挂载列表
auth_by_apig(session, 'get', request_url)
# 动态挂载,obs路径obs://obs-bucket-train/dir/需要根据实际修改,挂载路径mount_path取值为“/data/xxx/”,本示例以“/data/demo/”为例,“demo”可以自定义。
body = {
    "category": "obs",
    "uri": "obs://obs-bucket-train/dir/",
    "mount_path": "/data/demo/"
}
auth_by_apig(session, 'post', request_url, body=jsonencoder().encode(body))
# 动态卸载
auth_by_apig(session, 'delete', request_url   "/ea217c4f-3282-4af2-98ea-d3c668d2fba9")

相关文档

网站地图