通过虚拟化,使用多个挂载点仍然有意义吗?

通过虚拟化,使用多个挂载点仍然有意义吗?

在 2013 年,在新的 Linux 映像上仍然有多个挂载点是否有意义,或者将所有空间分配给 / 是否更有意义?

我希望避免增加挂载点大小所需的重启。我还希望监控单个挂载点的空间。我宁愿知道整个服务器的驱动器空间使用率是否超过 70%,而不是处理单个挂载点。

答案1

当然它仍然有用。您不希望失控的进程填满日志并导致磁盘满。此外,如果您使用 LVM 之类的东西,您可以在线扩展卷。

对于许多虚拟机,您无论如何都会想要分离 IO。您可能希望将数据库放在不同的主轴上,而实现此目的的唯一方法是为数据库的位置设置单独的挂载点。除了数据库之外,如果您超出了原始设计,它还可以提供更细粒度的灵活性。

所以,简而言之,2013 年仍然有充分的理由这样做。

答案2

现在,我不会使用太多单独的挂载,但可能一些关键的挂载对系统管理会有帮助。

只需 2 或 3 个,尤其是大小不同的一个。这取决于您使用的内容。我会说只需 /(相对稳定)和 /var(变化)。根据操作系统和磁盘几何形状,可能还需要 /boot。/tmp 可能是安装程序设置的 tmpfs 挂载。

您需要担心并计划扩展的通常是不断变化的卷(主要是 /var,但也可能只是 /var/log 和 /var/lib/mysql 等)。因此,如果可能的话,使用 lvm 等使调整大小更容易。

答案3

是的,我仍然在虚拟机和挂载点上使用多个分区来满足监控、安全和维护要求。

我不喜欢单一或有限挂载点的虚拟机(除非它们是一次性机器)。我对待虚拟机的方式与对待物理服务器的方式相同。将分区与一些Linux 文件系统层次标准在逻辑上分离可执行文件、数据分区、临时和日志存储方面仍然有意义。这也简化了系统修复。对于从模板派生的虚拟机和服务器来说尤其如此。

(顺便说一句,我也不喜欢虚拟机上的 LVM……计划更好!!

在我的系统中,我尝试执行以下操作:

  • /通常体型较小,且不会长大。
  • /boot其大小是可预测的,并且增长由内核更新的频率控制。
  • /tmp依赖于应用程序和环境,但可以适当调整大小。单独监控它有助于测量异常行为并保护系统的其余部分。
  • /usr应该是可预测的,包含可执行文件等。
  • /var增长,但数据流失量可以较小。能够单独计量是件好事。
  • 以及一个增长分区。在本例中,它是/data,但如果这是一个数据库系统,它可能是/var/lib/mysql/var/lib/pgsql...请注意,它是一个不同的块设备,/dev/sdb。这只是此虚拟机上的另一个 VMDK,因此可以独立于包含实际操作系统分区的 VMDK 调整其大小。

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2              12G  2.5G  8.8G  23% /
tmpfs                 7.8G     0  7.8G   0% /dev/shm
/dev/sda1             291M  131M  145M  48% /boot
/dev/sda7             2.0G   68M  1.9G   4% /tmp
/dev/sda3             9.9G  3.5G  5.9G  38% /usr
/dev/sda6             6.0G  892M  4.8G  16% /var
/dev/sdb1             360G  271G   90G  76% /data

分离其中一些分区可以更容易地识别趋势和检测异常行为;例如,在/var耗尽的过程中,4GB 核心转储/tmp

普通的 在此处输入图片描述

不正常。如果使用一个大的分区,则突然上升的情况/var不容易检测到。/ 在此处输入图片描述


最近,我不得不申请文件系统挂载参数和属性的组合(nodev、nosuid、noexec、noatime、nobarrier)用于安全强化的 VM 模板。分区是绝对必要的,因为某些分区需要无法全局应用的特定设置。另一个数据点。

答案4

对于文件服务器,我还倾向于将/home卷安装在其自己的分区/磁盘上,并noexec在安装时使用该选项。偏执,但阻止用户从其主文件夹中执行文件。

另外,我倾向于将/boot卷放在所有驱动器的 RAID 1 镜像上,但同样,我遵循的旧做法目前还没有看到任何缺点

相关内容