共绩科技
共绩科技

最佳实践

NAS + RTX 5090 大模型训练实践:挂载配置与训练优化指南

大模型训练中,算力与存储是两个核心维度。RTX 5090 提供 32GB 显存,可支撑 0.6B 级别模型的从头训练或大模型的 LoRA 微调;而 NAS 提供持久化共享存储,解决数据集重复上传、Checkpoint 丢失、多节点数据共享等问题。本文介绍从 NAS 挂载到模型训练的完整工作流。

概述

大模型训练中,算力与存储是两个核心维度。RTX 5090 提供 32GB 显存,可支撑 0.6B 级别模型的从头训练或大模型的 LoRA 微调;而 NAS 提供持久化共享存储,解决数据集重复上传、Checkpoint 丢失、多节点数据共享等问题。本文介绍从 NAS 挂载到模型训练的完整工作流。

一、方案背景

1.1 RTX 5090 算力规格

RTX 5090 配备 32GB 显存,可支撑以下训练场景:

  • 0.6B 级别模型全参数训练
  • 大模型 LoRA 微调
  • Qwen3-4B 到 0.6B 的全参数蒸馏(已有实践案例)

1.2 NAS 存储定位

训练任务中常见的数据侧问题包括:

  • 数据集重复传输:每次新建 Job 需重新上传数据,耗时较长
  • Checkpoint 持久化:训练中断后进度丢失,无法恢复
  • 多节点数据共享:分布式训练要求所有节点访问同一份数据集

NAS 通过持久化存储与共享访问能力,使计算节点专注于训练任务,数据管理由 NAS 统一处理。

二、NAS 网络卷创建与挂载

平台支持容器服务与裸金属两种产品形态,挂载方式存在差异,需根据使用场景选择。

2.1 创建网络卷

操作步骤:

  1. 访问控制台 NAS 管理页面:https://console.suanli.cn/serverless/nas
  2. 点击「创建网络卷」
  3. 配置网络卷名称、存储容量、地域与存储规格

2.1 创建网络卷示意图

  1. 创建完成后,在网络卷列表中查看卷状态

2.1 创建网络卷示意图

  1. 进入详情页面,获取访问账号信息

2.1 创建网络卷示意图

  1. 获取 WebDAV 链接、用户名与密码(裸金属挂载所需)

2.1 创建网络卷示意图

2.2 场景 A:服务部署产品挂载 NAS(推荐)

2.2.1 挂载步骤

步骤 1:新增部署任务,配置 NAS 挂载

在服务部署任务创建页面,启用 NAS 文件存储并选择已创建的网络卷。

2.2.1 挂载步骤示意图

步骤 2:设置挂载目录

指定容器内挂载路径,例如 /data

2.2.1 挂载步骤示意图

步骤 3:选择机房与 GPU 配置

选择对应地域的 5090 GPU 实例。

2.2.1 挂载步骤示意图

挂载完成后,/data 目录下的所有读写操作均持久化到 NAS,并支持同一集群内多个 Pod 共享访问。

2.3 场景 B:Job 批处理产品挂载 NAS(推荐)

2.3.1 挂载步骤

步骤 1:新增 Job 批处理任务,配置 NAS 挂载

在 Job 任务存储配置区域,选择 NAS 文件存储并点击挂载。

2.3.1 挂载步骤示意图

步骤 2:设置挂载目录

指定容器内挂载路径,例如 /data

2.3.1 挂载步骤示意图

步骤 3:选择区域与 GPU 配置

选择按需实例或抢占式实例,以及对应地域的 5090 GPU 型号。

2.3.1 挂载步骤示意图

2.4 场景 C:裸金属短租产品手动挂载 NAS(基于 WebDAV)

裸金属实例需通过 WebDAV 协议手动挂载 NAS。

2.4.1 挂载操作

挂载命令格式:

sudo mount -t davfs -o username=<用户>,password=<> https://t2.suanlene.cn:40017/ /mnt/nas

命令参数说明:

参数 含义 说明
sudo 超级管理员权限执行 挂载文件系统需要 root 权限
mount Linux 挂载命令 将远程存储挂载到本地目录
-t davfs 指定文件系统类型为 davfs 基于 WebDAV 协议的 FUSE 文件系统,通过 HTTPS 访问远程存储
-o username=,password= 挂载认证选项 替换为平台分配的 NAS 访问凭证(见 2.1 节获取的账号信息)
https://t2.suanlene.cn:40017/ 远程 NAS 服务地址 域名与端口来自 WebDAV 链接(见 2.1 节),HTTPS 加密传输
/mnt/nas 本地挂载点目录 挂载成功后访问该目录即访问远程 NAS,目录需提前创建

详细操作步骤:

第一步:安装 davfs2 客户端

sudo apt-get install -y davfs2

第二步:创建本地挂载目录

sudo mkdir -p /mnt/nas

第三步:执行挂载命令

<用户名><密码> 替换为实际 NAS 凭证:

sudo mount -t davfs -o username=your_username,password=your_password https://t2.suanlene.cn:40017/ /mnt/nas

第四步:验证挂载结果

df -h | grep nas

ls -la /mnt/nas

能正常列出文件即表示挂载成功。

2.4.2 高级配置:凭证文件存储(避免明文密码)

将凭证写入 /etc/davfs2/secrets 文件,避免命令历史中暴露密码:

echo "https://t2.suanlene.cn:40017/ your_username your_password" | sudo tee -a /etc/davfs2/secrets
sudo chmod 600 /etc/davfs2/secrets

后续挂载无需再指定认证参数:

sudo mount -t davfs https://t2.suanlene.cn:40017/ /mnt/nas

2.4.3 开机自动挂载(可选)

编辑 /etc/fstab,添加以下行:

https://t2.suanlene.cn:40017/ /mnt/nas davfs rw,noauto,user 0 0

Davfs 注意事项:

  • 默认仅 root 用户可挂载 davfs。如需普通用户挂载,需在 /etc/davfs2/davfs2.conf 中设置 use_locks 0 并调整权限
  • 网络不稳定时,可添加 --no-cache 或调整 --timeout 参数(在 /etc/davfs2/davfs2.conf 中配置)
  • 如遇 mount: /mnt/nas: permission denied,尝试 sudo chmod 777 /mnt/nas 或检查 SELinux 状态

2.4.4 解除挂载(卸载 NAS)

训练任务完成或实例退还前,建议手动执行 NAS 卸载,避免残留挂载点占用资源或导致下次挂载冲突。

基础命令:

sudo umount /mnt/nas

umount(unmount 缩写)是 Linux 卸载文件系统的标准命令,/mnt/nas 为挂载时使用的本地挂载点。

执行示例:

df -h | grep nas

sudo umount /mnt/nas

df -h | grep nas

2.4.5 常见问题 FAQ

问题 1:target is busy

错误信息:

umount: /mnt/nas: target is busy

原因:有进程正在使用 NAS 挂载目录(训练任务读写中、终端当前位于该目录等)。

解决方案:

方案 A:查找并结束占用进程

sudo lsof | grep /mnt/nas

sudo fuser -mv /mnt/nas

sudo kill -9 12345

方案 B:强制卸载(谨慎使用)

sudo umount -l /mnt/nas   # 懒卸载,等待设备不再繁忙时自动完成(推荐)

sudo umount -f /mnt/nas   # 强制卸载,可能造成数据丢失

方案 C:切换目录后再卸载

cd /root   # 切换到非 /mnt/nas 路径下的目录
sudo umount /mnt/nas

问题 2:not mounted

错误信息:

umount: /mnt/nas: not mounted

原因:该目录未挂载任何远程存储,或挂载点已被移除。

解决方案:

mount | grep nas

ls -la /mnt/nas

三、S3 与 NAS 数据互传

4.1 存储分层策略

平台支持 S3 对象存储与 NAS 文件存储之间的数据互传。推荐的存储分层策略如下:

环节 存储位置 原因
原始数据集归档 S3 冷存储,成本低,适合长期保存
训练期热数据 NAS 低延迟、高吞吐,训练任务直接读写
训练中 Checkpoint NAS 持久化保存,任务崩溃不丢失
最终模型与日志归档 S3 训练完成后从 NAS 回传 S3,释放 NAS 空间

操作方式:

  1. 平台 Web 控制台提供一键互传功能
  2. 支持 API 编程方式实现自动化数据流转

4.2 数据流转工作流

阶段 1:训练准备(S3 → NAS)

  • 将 S3 中的原始数据集传输到 NAS 指定目录(如 /llama3_finetune/raw_data/
  • 传输在云端内部完成,无需本地中转
  • 训练容器挂载 NAS 后可直接访问数据

阶段 2:训练运行(NAS 直接读写)

  • 训练脚本中将数据路径指向 NAS 目录
  • 多节点通过内部网络共享读取同一份数据
  • Checkpoint 直接写入 NAS,节点故障后可恢复

阶段 3:训练完成(NAS → S3)

  • 将 NAS 中的 Checkpoint、评估日志等归档到 S3
  • 归档完成后清理 NAS 空间,供后续任务使用

4.3 Web 界面配置互传任务

操作步骤:

  1. 进入网络卷详情页,点击「新建同步任务」

4.3 Web 界面配置互传任务示意图

  1. 填写 S3 连接信息(Endpoint、Access Key、Secret Key、Bucket 名称等)与传输配置

4.3 Web 界面配置互传任务示意图

四、总结

NAS 为 RTX 5090 训练任务提供持久化共享存储能力,是保障训练稳定性与数据管理效率的基础设施。通过合理的存储分层(S3 冷归档 + NAS 热读写)与规范的挂载配置,可有效提升大模型训练的端到端效率。