我正在构建一个家庭服务器来在 docker (Ubuntu LTS) 中托管一些自托管应用程序。我想将应用程序的所有文件放在用户主文件夹中,以便将它们保存在一个位置并轻松备份。我正在考虑 2 个主文件夹: /home/user/docker – 用于 docker compose 和所有 docker 卷以及 /home/user/data – 用于我的所有文件:
/home/user/
docker/
container1
container2
…
data/
entertainment/
movies
series
music
downloads/
documents/
photos/
personal files/
backups/
laptop_backups/
phone_backups/
我会将 data/ 文件夹分配给 Nextcloud,以便从家庭笔记本电脑和手机进行访问。
我有一个 500GB SSD、1TB HDD + 几个不同的较小尺寸 HDD + 将来可能会添加更多 HDD。也许还多了一个SSD。
我打算将存储划分为LVM:
SSD – 2 个分区:100GB 和 400GB HDD – 1 个分区:1TB
我将创建 3 个卷组:100GB –“系统”,400GB –“SSD”,1TB –“HDD”。
我正在考虑以下设置:
VG 100GB“系统” – LV“系统”用于/
VG“HDD” – LV“慢速数据”用于:
/home/user/data/entertainment /home/user/data/backups /home/user/data/downloads
VG“SSD” – LV“快速数据”用于:
/home/user/data/documents /home/user/user/docker
我的问题是:如何最好地在卷组和逻辑卷之间划分存储?我希望有一个灵活的设置,以便将来可以调整磁盘存储的大小和更改磁盘存储,同时以最佳方式使用 SSD 空间。
答案1
我曾经做过类似的事情,但最终得出的结论是,根据速度和预期用途的某种组合将存储分成卷组会适得其反。它对存储的使用方式引入了人为限制,而且考虑到存储的发展,这种分类法不会持续太久——如果您向 VG 添加大型 SSD,您的“慢数据”很可能最终会变得很快……
我建议对所有系统存储使用单个 VG,对于重要的 LV,控制它们最终存储在哪些 PV 上(如果在创建 LV 时 PV 有足够的备用容量,那么这很容易做到)在其他情况下使用 ) 完成pvmove
。这也意味着,如果您意识到您的选择并不完美,您仍然可以轻松修复它们,再次使用pvmove
(并在必要时调整 LV 大小)。