针对运行 docker/nomad 类型工作负载的 100GB 磁盘虚拟机的分区大小建议

针对运行 docker/nomad 类型工作负载的 100GB 磁盘虚拟机的分区大小建议

我的理解是从安全角度来看,最好将东西放在单独的分区上并使用 lvm 组。在这样做时,您如何决定为诸如 等东西分配大小/var /opt

/ (root)
/home
/tmp
/var
/var/tmp
/var/log
/var/log/audit
/boot
/boot/efi

答案1

从安全角度来看,如何对磁盘进行分区根本不重要。

实际考虑:

  • /boot/需要 GRUB 可读,因此如果您喜欢 GRUB 无法读取的文件系统,则需要为其单独分配一个分区。如果您的磁盘超过一定大小,您还需要一个单独的启动分区,对于 100GB 的磁盘来说,这无关紧要。
  • 将数据与系统分离是有意义的。当根磁盘填满时,您的虚拟机将无法使用,您需要从救援磁盘启动来修复它,从而增加停机时间。
    • 为您的数据创建一个单独的大分区并将其安装在您需要的位置
    • 根分区通常不需要很大
    • /home应该没关系,它不应该被用来存储大量数据。
    • 如果你预计有大量的日志,那么将日志放在/var/log单独的分区/磁盘上可能会很有用

我个人对带有 Docker 工作负载的虚拟机的首选分区(当然这只是我个人的看法)

  • /dev/sda1:1 GB/boot
  • /dev/sda2:X GB 交换(X 取决于 RAM 大小)
  • /dev/sda3:约 10 GB/
  • /dev/sdb1:Y GB /var/lib/docker(Y 取决于容器)
  • (对于非常大的应用程序,需要额外的磁盘(而不是分区))

我不在乎虚拟机是否使用 LVM,这其实并不重要,无论哪种方式,调整磁盘大小都很容易。LVM 增加了一层额外的复杂性,而这在技术上对于虚拟机来说是不必要的。

采用这种相当简单的分区模式的其他原因:

  • 将交换分区放在根分区之前,可以方便以后调整根分区的大小
  • 使用太多分区会使以后调整大小变得更加困难。你永远不知道哪个分区会先填满并需要调整大小。
  • 使用单独的较小磁盘而不是较大磁盘中的多个分区可以更轻松地调整大小
  • 始终使用 GPT 分区。您永远不知道磁盘会增长到多大,不要用旧的 MBR 分区方案限制它。
  • 因为/tmp现在通常会挂载 tmpfs,不需要分区。

答案2

我的建议是:忘记/var/log/audit/var/tmp,通常它们不需要或者使用频率不高(除了需要实施 FIPS 建议并创建这些专用文件系统的情况)
/boot- 1gb
,其余使用 LVM:
/- 4-6GB
/home- 2GB
/tmp- 从 2GB 开始
swap- 依赖大量 RAM 和负载
/var- 从 2GB 开始
/var/log- 从 2GB 开始
/var/lib/docker- 从 2GB 开始

并延伸谦虚地按要求。

如果您考虑需要缩小文件系统的情况,请不要对该文件系统使用 XFS!

答案3

使用合理的最小值,然后根据需要在线调整 lv 和文件系统的大小。使用一个分区,并在其上设置 lvm。

/ 4g
/boot 1g
/home 1g
/var/lib/docker gigabytes
/var/log 2g
/tmp 4g
swap = RAM size

相关内容