Ubuntu AI 服务器磁盘规划:从 Windows D 盘划分独立 ext4 AI 数据盘(ComfyUI 最佳实践)
环境
- 主机:AMD Ryzen 7 7700
- GPU:RTX 4070 Ti SUPER 16GB
- 系统:
- Windows 11
- Ubuntu 24.04 LTS
- SSD:Samsung 990 EVO Plus 2TB
- AI:Docker + ComfyUI + Ollama
一、为什么不要把模型放 Ubuntu 系统盘
刚开始安装 Ubuntu 时,我给 Ubuntu 分配了 200GB。
目录类似:
/
├── Docker
├── Conda
├── AI Project
├── ComfyUI
└── Models
刚开始足够。
但是随着模型越来越多:
FLUX Dev FP8 15GB+
Wan2.2 30GB+
Qwen Image 20GB+
SDXL 7GB+
ControlNet 30GB+
LoRA 100GB+
Upscaler 20GB+
很快:
200GB
就不够用了。
为什么不用 NTFS?
很多人会想到:
Windows D:
AI Models
然后 Ubuntu 挂载 NTFS。
虽然可以,但是并不是最佳方案。
原因:
- Docker 权限容易出问题
- Linux 文件权限不完整
- Symbolic Link 支持不好
- inode 不完整
- 性能略差
- 容易因为 Windows Fast Startup 导致只读
官方也更推荐:
Linux
ext4
二、最终磁盘规划
我的 SSD:
Samsung 990 EVO Plus
2TB
最终规划:
EFI 200MB
Windows C 200GB
Recovery 872MB
Windows D 863GB
AI Data 600GB (ext4)
Ubuntu 200GB
其中:
Ubuntu
只负责:
- 系统
- Docker
- Conda
- 项目代码
而:
AI Data
专门负责:
- ComfyUI Models
- Ollama Models
- Dataset
- Cache
- Output
这是最合理的 Linux AI 工作站布局。
三、查看当前分区
首先查看:
lsblk
或者:
lsblk -f
查看磁盘布局。
再查看未分配空间:
sudo parted /dev/nvme0n1 unit GiB print free
我的结果:
Partition 5
Windows D
863GiB
Free Space
600GiB
Partition 6
Ubuntu
200GiB
说明:
600GiB
已经是未分配状态。
无需再回 Windows。
四、创建新的 Linux 分区
进入 parted:
sudo parted /dev/nvme0n1
进入以后:
unit GiB
创建分区:
mkpart ai-data ext4 1063 1663
退出:
quit
刷新分区:
sudo partprobe /dev/nvme0n1
再次查看:
lsblk
会看到:
nvme0n1p7
600G
五、格式化 ext4
确认:
lsblk -f
确定:
nvme0n1p7
就是刚创建的新分区。
格式化:
sudo mkfs.ext4 -L ai-data /dev/nvme0n1p7
完成以后:
lsblk -f
可以看到:
LABEL
ai-data
六、创建挂载目录
建立:
sudo mkdir /data
挂载:
sudo mount /dev/nvme0n1p7 /data
修改权限:
sudo chown -R $USER:$USER /data
验证:
touch /data/test
rm /data/test
说明:
读写正常
七、设置开机自动挂载
查询 UUID:
sudo blkid /dev/nvme0n1p7
例如:
UUID="xxxxxxxx"
备份:
sudo cp /etc/fstab /etc/fstab.bak
编辑:
sudo nano /etc/fstab
加入:
UUID=xxxxxxxx /data ext4 defaults,noatime,nofail 0 2
保存。
测试:
sudo umount /data
sudo mount -a
如果没有任何报错:
说明:
自动挂载成功
查看:
findmnt /data
八、迁移 ComfyUI Models
停止 ComfyUI:
docker stop comfyui
创建目录:
mkdir -p /data/ai/models/comfyui
迁移:
rsync -avh \
~/ai/models/comfyui/ \
/data/ai/models/comfyui/
保留旧目录:
mv ~/ai/models/comfyui \
~/ai/models/comfyui.backup
建立软链接:
ln -s \
/data/ai/models/comfyui \
~/ai/models/comfyui
查看:
readlink -f \
~/ai/models/comfyui
输出:
/data/ai/models/comfyui
说明:
ComfyUI 已经完全使用新的 AI 数据盘。
九、重新启动 ComfyUI
启动:
docker start comfyui
浏览器打开:
http://IP:8188
确认:
- Checkpoint 正常
- LoRA 正常
- VAE 正常
- ControlNet 正常
即可删除:
~/ai/models/comfyui.backup
十、推荐目录结构
/data
└── ai
├── models
│ └── comfyui
│ ├── checkpoints
│ ├── diffusion_models
│ ├── text_encoders
│ ├── vae
│ ├── clip
│ ├── controlnet
│ ├── loras
│ ├── upscale_models
│ └── embeddings
│
├── ollama
│
├── dataset
│
├── output
│
└── cache
以后:
- ComfyUI
- Ollama
- 训练数据
全部放这里。
Ubuntu 系统盘保持干净。
十一、为什么这是最佳方案
相比直接挂载 Windows NTFS:
| 方案 | 推荐程度 | 原因 |
|---|---|---|
| Ubuntu ext4 独立 AI 数据盘 | ⭐⭐⭐⭐⭐ | 权限完整、性能最佳、Docker 兼容性最好 |
| Windows NTFS 挂载 | ⭐⭐⭐ | 可用,但存在权限和休眠等问题 |
| SMB/NAS 共享存储 | ⭐⭐ | 适合归档,不适合作为热点模型目录 |
对于长期使用 ComfyUI、Ollama、PyTorch、Docker 的 AI 工作站,独立 ext4 AI 数据盘 是最稳定、最易维护的方案。
十二、后续规划
目前目录规划:
Ubuntu(200GB)
├── OS
├── Docker
├── Conda
├── Projects
AI Data(600GB)
├── ComfyUI Models
├── Ollama Models
├── Dataset
├── Output
├── Cache
未来如果增加第二块 NVMe SSD,可以直接把 /data 整体迁移到新硬盘,仅需修改 /etc/fstab 中的 UUID,即可完成迁移,项目目录和 Docker 配置无需改动。