一、当前设计与挂载约定

这套 28T 网络存储的定位是:集群统一的数据盘,给用户放大数据集、模型和项目文件用。路径统一为 /data,所有 Slurm 节点(控制节点 + 计算节点)上都一致。

后端的实际布局是这样的:

在存储服务器上,本地把这块盘挂成一个目录 /srv/epicdata,在这里做配额、快照等本地管理;对外通过 NFSv4 导出 /srv/epicdata,其他节点都从这个路径挂载。

在客户端(控制节点、所有计算节点)上,用 /etc/fstab 配置从 storage01:/srv/epicdata 挂载到 /data,挂载选项偏向稳定、安全和“不要拖累系统启动”。


二、存储服务器配置(storage01)

存储服务器的职责是:提供 /srv/epicdata 这个 NFS 导出目录。

盘的本地挂载可以按下面的方式做:先在该机上创建文件系统并挂到 /srv/epicdata,例如使用 XFS(方便做 project quota):

mkfs.xfs -m reflink=1,crc=1 /dev/XXX          # 用你的实际设备或 LV 替换
mkdir -p /srv/epicdata
echo '/dev/XXX /srv/epicdata xfs defaults 0 0' >> /etc/fstab
mount -a

然后在 /etc/exports 里导出这个目录,例如:

/srv/epicdata 10.0.0.0/24(rw,sync,sec=sys,vers=4,no_subtree_check,root_squash)

其中网段要换成你实际的集群内网;root_squash 保持开启,避免计算节点上的 root 在 NFS 盘上为所欲为。配置好之后执行:

exportfs -ra
systemctl enable --now nfs-server

这台机器上对这块盘的日常操作(配额、快照等)都围绕 /srv/epicdata 进行。对外统一导出路径是 storage01:/srv/epicdata


三、Slurm 节点挂载方式(控制节点 + 计算节点)

所有要参与作业的节点(包括控制节点)都要挂载 /data。挂载方式用 /etc/fstab 配合 systemd automount,目标是保证:

存储不在线不会拖死开机;

挂载行为对用户透明;