使用共享资源创建开发机
本文描述了如何使用共享资源创建 AIStudio 开发机。
您将了解:
- 什么是共享算力资源
- 使用共享资源创建开发机的优势
- 如何创建一台挂载 8 个 GPU 的 Linux 开发机。
- 如何为开发机启用 Docker 功能。
- 如何查看开发机是否创建成功。
WARNING
已知限制:非管理员用户暂无法使用共享资源池,无法使用共享资源创建开发机。
什么是共享型开发机
在使用 AIStudio 开发机时,您可能面临以下痛点:
- 😠 资源分配不均:有限的 GPU 资源导致部分成员无法创建开发机
- 😠 资源利用率低:独占式使用导致大量 GPU 算力闲置浪费
- 😠 持续运行难题:为给他人腾出资源而被迫关机,影响开发进度
共享型开发机提供创新解决方案。在有限算力配额下(如 NVIDIA A100 80GB * 8)可创建更多开发机(最多 16 台),每位开发者都能获得:
- 😊 独立环境:拥有独立的开发环境,不受他人影响
- 😊 持续运行:无需临时关机,保障开发进度
- 😊 灵活调度:按照先到先的原则分配 GPU 资源,提升整体利用率
通过共享型开发机,团队可以在保证开发体验的同时,实现资源利用的最优化。
NOTE
如果共享算力资源节点的规格为 NVIDIA A100 80GB * 8
,则使用该节点可创建最多 16 台 8 卡开发机。不可创建 1/2/4 卡或其他卡数的开发机。GPU 算力资源有限,遵循先到先得原则,建议在使用 GPU 算力前提前内部沟通。
前提条件
共享算力资源
租户需要提前利用「包年包月资源」创建共享资源池。共享资源允许使用有限 GPU 资源创建多台开发机。
例如: 如果租户拥有 NVIDIA A100 80G 显存 * 8 的包年包月算力资源,一般来说最多启动 1 台 8 卡开发机。如果将该包年包月算力资源移入共享资源池,则支持创建多台 8 卡开发机(暂时最多 16 台)。
您可以前往智算云平台的资源池页面查看租户当前的共享资源池,以及共享资源池中的资源规格。
TIP
- 租户可从默认和专属类别的资源池中移出资源,加入租户自建的共享资源池。
- AIStudio 基于 K8S 和容器技术提供主要功能,仅提供池化的算力资源,而非裸机或虚拟机。
存储资源
无问芯穹为 AIStudio 的开发机提供以下存储选项:
- 免费提供 50 GiB 持久化系统盘(挂载在
/
下),所有开发机均享有该免费容量。 - 共享高性能存储:可挂载至的不同实例中。容器实例间共享,可以多点读写,不受实例释放的影响。
创建开发机
访问智算云平台开发机列表页面,单次可创建一台开发机。
点击 创建开发机。请根据页面提示,完成下方所有步骤中的配置。
Step 0 选择算力来源和规格
先通过 资源类型 指定算力资源来源为 共享资源,请展开下拉列表,展示租户下的所有共享资源池,并选定一个资源池。
NOTE
共享内存 不可修改,具体是指开发机的 /dev/shm
分区大小,当前为「规格」内存的一半。共享内存(shared memory)允许不同进程可以访问同一块内存区域以实现数据共享和交互。
选定资源池后,平台会展示出当前共享资源池内所有共享资源节点。每个共享资源节点会实时展示开发机数量和剩余额度。请选择有剩余开发机额度的节点启动开发机。
IMPORTANT
- 共享资源节点当前仅支持启动 8 卡「算力规格」的开发机。一个共享资源节点最多可运行 16 台开发机。
- 一旦开发机关机,则会自动释放该共享资源节点上的开发机额度。如果后续该资源节点上 16 个额度被占满,则无法在当前节点上启动开发机,需要使用「改配」功能将开发机迁移到其他节点。
TIP
在大型团队中使用多个共享资源节点时,建议不要随机选择节点,否则在资源整体使用率较高时可能常会遇到无法开机的情况。建议在团队内合理规划和分配资源节点,引导成员选择合适的节点放置开发机。
Step 1 配置开发环境
在「基础配置」区域,需要完成开发机的「镜像」「公钥」「SSH 登录密码」等配置。
镜像:运行开发机使用的容器镜像。平台预置了 Ubuntu 基础镜像和 Pytorch、NGC、CUDA 等镜像,也支持构建自定义镜像。
NOTE
如果您从裸金属服务器迁移到 AIStudio 开发机,您可以先尝试使用 Ubuntu 基础镜像,或含 Pytorch 的 NGC 镜像。
公钥:即 SSH 公钥。如正确填写 SSH 公钥,在 SSH 远程登录到 AIStudio 开发机时,可使用 SSH 公钥进行认证,无需输入密码。如果不使用 SSH 密钥,可先选择留空,并启用 SSH 登录密码。
SSH 登录密码: 启用后,平台自动生成初始密码。在 SSH 远程登录到 AIStudio 开发机时,可使用账号密码认证。后续自助修改密码(仅限开发机创建者修改)。
Docker 容器:首次使用开发机时建议保持关闭。如果需要在开发机内部使用
docker pull
、docker run
等命令构建镜像、启动容器等,可开启该选项。详见 Docker 功能。
Step 2 配置存储
- 系统盘: 开发机
/
目录的存储大小,固定 50GiB,支持持久化保存。 - 共享高性能存储:开发机可挂载租户的共享高性能存储。详见共享高性能存储。
Step 3 填写基本信息
- 名称:1~64 个字符,支持中英文数字以及- _,允许重复,名称不唯一。
- 描述:添加描述或者备注,长度 1~400 个字符,可留空。
完成表单配置后,点击确认创建,开发机进入创建流程。创建成功后,您可以在列表中查看状态。
如果资源不足,创建任务会进入排队队列;资源足够时,进入部署中状态。
查看部署进度
开发机进入部署中状态后,将会执行一系列子操作。仅在所有子状态均完成的情况下,开发机才会成功运行。
如果开发机长时间停留在部署中状态,建议访问开发机列表,在状态栏中点击部署中旁边的 ...
图标,查看详细进度。
如果在任何子状态发生错误,平台会自动重试。如果进度长时间停留在错误状态且无法恢复,建议停止开发机,并重新创建。如果问题持续存在,请联系售后服务。
常见问题
如何变更开发机配置?
如需变更开发机的负载规格(CPU、GPU、内存)、镜像等配置,可直接使用「改配」功能,无需重复创建开发机。开发机改配后将先进入清理中状态,随后开始重新部署。详见变更开发机配置。
如何使用 root 身份登录?
开发机默认使用 root
。
部分旧版实例仍默认使用非 root 普通用户名登录,重启后将自动更新。如暂时无法停止开发机,可使用 sudo -i
免密切换为 root。
NOTE
执行任何文件操作前,请核实当前用户身份,避免文件权限混乱。
如何传输文件到开发机?
如果习惯使用命令行,可使用 scp
或 sftp
传输文件到开发机。
如果需要图形界面,可参考教程 如何使用 FileZilla 管理开发机内的文件。
如何从公网访问开发机内的服务?
开发机内服务往往只监听了内网地址,无法直接从公网访问。如遇到演示、测试等临时性场景,可能需要从公网访问开发机内服务。这时,我们可以利用 SSH 端口转发功能,将云服务器内网端口映射到本地电脑,从而实现访问。
详细操作步骤,可参考教程 如何从公网访问开发机内的服务。