下面这份是给你们实验室内部存档/交接用的简明文档(可直接贴到 Wiki/Git)。最后附了一段“状态同步提示词”,方便你在别的对话里一贴就续上。
epicepic-control-nodeserver-4070ts-2(CPUs=32,Mem≈128 GB,GPU=RTX 4070 ×1)cpu(默认)gpu-4070(GPU 节点)slurm.conf:
GresTypes=gpuSelectType=select/cons_tresSelectTypeParameters=CR_CoreProctrackType=proctrack/cgroupTaskPlugin=task/affinity,task/cgroupcgroup.conf(现状):启用了 v2,最初 ConstrainCores/RAM/Swap/Devices=yes;后按需要调整(当前内存约束关闭;CPU/GPU 约束按测试调整)。/etc/ood/config/clusters.d/epic.ymlform.yml.erb 从 /etc/ood/config/site.d/partitions.yml 读取分区/资源上限,自动生成 select 选项与 data-*。before.sh.erb:生成随机端口/密码;把 Jupyter 配置与日志写入 $PWD(会话目录);notebook_dir 指向 working_dir(默认 $HOME)。script.sh.erb:前台启动 jupyter lab,base_url=/node/${host}/${port}/;使用 wait_until_port_used 触发 OOD 反代。after.sh.erb:等待端口开放,打印连接信息。partition/cpus/gpus/hours/working_dir/conda_env 等;path_selector 的默认值用 <%= ENV['HOME'] %>。/opt/code-server/code-server-4.104.2-linux-amd64/bin/code-server-base-path /node/${host}/${port};为避免读取用户本地 ~/.config/code-server/config.yaml,使用 XDG_CONFIG_HOME 或 CODE_SERVER_CONFIG 指向会话目录;统一由环境变量 PASSWORD 驱动认证(避免与 HASHED_PASSWORD 混用)。fetch 带 Authorization),或更推荐 代理头认证(见下)。exec bash 的“秒退”问题)。ttyd --port $port --base-path /node/$host/$port --check-origin ... bash-credential user:pass(随机生成 user/pass,打印在卡片上;可做免密按钮)-auth-header X-Forwarded-User,让 OOD PUN 注入登录用户头部实现“无感登录”。/opt 本地安装(不强依赖 Lmod),通过 PATH 注入使用;有需要再引入 Lmod。$HOME 在 NFS 上,建议作业启动时 rsync 到节点本地临时目录再运行,避免 NFS 小文件元数据风暴。