-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathServerMaintainRules
More file actions
51 lines (39 loc) · 5.35 KB
/
ServerMaintainRules
File metadata and controls
51 lines (39 loc) · 5.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
***
# 📢 5090 算力节点接管与环境隔离规范 (V1.0)
## 0. 背景与核心原则
鉴于目前 5090 测试服务器(24GB 显存,2TB 存储)频繁出现存储爆满(剩余不足 80GB)、环境依赖冲突及由于抢占导致的显存 OOM 崩溃,严重阻塞了核心 AI 业务与模型的交付效率。
即日起,本节点将进行全局架构重构与权限收归。
**核心原则:** 宿主机绝对纯净、环境全面容器化、基座模型全局共享、算力调度排队互斥。
---
## 1. 账号与权限收归 (Root 权限熔断)
为了防止底层环境被误操作击穿,本周五晚 20:00 将执行权限重置。
* **Root 登录剥夺:** 停止所有人的 `root` 账号密码登录权限。
* **独立账户分配:** 将为每位组员分配独立的普通用户账号,强制采用 SSH Key 认证登录。
* **Sudo 级操作冻结:** 严禁日常使用 `sudo`。任何系统级依赖(apt-get)、显卡驱动或 CUDA 版本的升级,必须在群内提交需求,由管理员统一评估后执行。
## 2. 存储红线与全局模型池 (2TB 硬盘保卫战)
硬盘空间将被实施硬性切割,终结各自分散下载大模型的冗余浪费。
* **强制使用全局共享模型池:** * 宿主机已开辟只读目录 `/data/shared_hf_cache`。
* 任何人运行测试或微调时,必须通过环境变量(如 `export HF_HOME=/data/shared_hf_cache`)将其挂载到自己的工作流中。
* **严禁:** 私自在个人目录下全量拉取 Llama、Qwen 等通用开源基座模型。如需新模型,在群内@管理员统一拉取至公共池。
* **个人目录存储配额 (Quota):** 每位普通用户的宿主机目录将被硬性限制在 **200GB**。触达配额后将无法写入任何文件(会导致你的训练直接中断),请自行养成清理垃圾的习惯。
* **SFT 产物自动清理协议:** 针对模型微调(SFT)产生的海量中间态 Checkpoint,系统将于每周日凌晨 3:00 触发 Cron 任务,强制抹除修改时间超过 7 天的非最终态模型文件。
## 3. 环境隔离与强制 Docker 化
彻底告别“在宿主机直接装包导致全员环境瘫痪”的历史。
* **宿主机“零安装”铁律:** 严禁在宿主机直接执行 `pip install` 或 `conda install`。宿主机仅作为 Docker Daemon 和 NVIDIA 驱动的承载层。
* **统一黄金镜像 (Golden Image):** 组内所有 AI 测试与微调任务,必须基于统一构建的底层镜像(`team-ai-base:v1`,已内置适配 5090 的 CUDA 12.1 与基础工具链)进行派生。
* **去特权化容器管理:** 组员将不再被分配宿主机的 `docker` 用户组权限(防越权)。所有容器的启停、日志查看与镜像拉取,必须通过统一部署的 **Portainer 面板**(或指定的自动化 CI/CD 流水线)进行操作。
## 4. 显存调度与防 OOM 机制
24GB 显存是稀缺的原子资源,必须消除静默抢占。
* **推理测试 API 化:** 针对非微调类的纯 Prompt 测试需求,服务器已后台常驻 vLLM/Ollama API 服务。测试人员**仅允许**通过 API 请求进行交互,严禁私自起容器加载基座模型抢占显存。
* **微调任务排队互斥:** 跑 SFT 任务前,必须执行 `nvidia-smi` 确认显存空闲,并在工作群内报备(格式:`@all 占用 5090 显存跑微调,预计耗时 X 小时`)。禁止任何不报备的静默挤占行为。
## 5. 违规熔断处罚
任何试图绕过 Quota 限制私自下载模型、设法提权修改宿主机环境,或写死循环导致 GPU 死锁的行为,系统监控告警后,将**直接 kill 相关进程并强制销毁对应容器**,不作另行通知。
***
【🚀 强烈推荐】部署该规范时的系统级基建避坑指南
在你正式下发此规范并开始重构服务器时,必须在底层操作上规避以下隐性 Bug,确保你的基建效率最大化:
1. **网络架构的降维优势利用:** 请时刻铭记,这台 5090 节点**没有**你个人 Ubuntu 服务器上那种复杂的网络红线(即所有流量被 iptables 强行重定向至宿主机 mihomo 的 7892 端口)。
因此,在 5090 上为组员构建 Docker 镜像或配置全局模型池的拉取脚本时,**完全不需要**考虑复杂的内外网 DNS 耦合问题,也无需担忧单点故障 (SPOF)。你可以直接让容器走默认的 Bridge 网络。严禁习惯性地在这台机器上画蛇添足去配置 `HTTP_PROXY/HTTPS_PROXY`,否则反而会人为制造网络故障。
2. **利用 Docker Volume 实现优雅的 HF Cache 共享:**
在配置只读共享池时,不要指望组员都能熟练手写 `-v /data/shared_hf_cache:/root/.cache/huggingface:ro`。你需要在 Portainer 中提前建立一个全局的 Docker Volume(指向宿主机公共目录),并将其权限设为只读,强制他们在新开容器时默认挂载该 Volume,从根源上斩断他们误删公共模型的可能性。
3. **引入基于 n8n 的自动化告警:**
既然你精通工作流编排,不要用肉眼去盯 5090 的状态。花 30 分钟写一个简单的 Python 探针监控显存和磁盘 IO,配合你现有的 n8n 自动化工作流,一旦发现有人显存占用异常或磁盘写入飙升,直接触发 Webhook 推送告警到你们的飞书/钉钉群。用自动化机器人的身份去执行“熔断处罚”,这能极大减少你作为管理员的人际内耗。