了解 CD 上的 Linux 和 FreeBSD 发行版后,我从小就给每个目录(如、、/usr
等)分配自己的分区,其中一条神圣的规则是,必须防止其完全运行。/var
/opt
/
如今,我经常看到这样的系统,甚至/tmp
或/var
位于根分区上,并且系统出现故障,因为一个应用程序占据了整个可用空间,例如下面/opt
或/tmp
。
那么,为什么许多管理员只使用一个分区,而不是采用更复杂的分区方法。我在过去十年中错过了什么吗?
答案1
简单分区是许多环境中的默认设置。许多云中流行的操作系统映像、安装程序中的默认分区方案简化了查找一个磁盘的自动化。运行良好,磁盘通常可以在线扩展到巨大的大小,cloud-init 将为您扩展文件系统。
直到它变得混乱。偶尔有人会向 Server Fault 报告实例因 / 已满而失败的问题。在完成诸如日志文件清除之类的常见操作后,他们想知道如何减小 / 的大小并防止这种情况再次发生。棘手的是,重新分区实际上不能在线完成,减小文件系统肯定需要卸载并因此启动救援环境,而且无论如何都无法减小 Linux XFS。
我理想的 Linux 存储设置是一个用于启动和操作系统的小磁盘,以及用于应用程序存储的独立磁盘。所有 LVM,并在 VG 上留出一些可用空间以备将来需要。例如,在数据库服务器上,从 /dev/sda1 启动,但 /var/lib/pgsql/ 中的数据存储在 PV /dev/sdb 上的另一个 VG 上。这样的方案允许分别恢复数据和操作系统,以及一些巧妙的技巧,例如创建一个新的 VM 实例但移动相同的数据卷。对于没有太多状态的简单应用程序实例来说可能太复杂了,因此存储要求也很简单。但仍然可能。
答案2
我也注意到了你提到的倾向,但答案会有些主观。
过去,我们使用的是物理机和物理磁盘:很难进行更改,而且需要停机。如今,借助逻辑卷管理器和虚拟机,扩展磁盘变得非常容易:
- 服务器系统中使用的所有文件系统都支持实时扩展。
- RAID 配置对于所连接的系统是透明的 - 安排在存储上。
- 虚拟机具有可以轻松扩展的虚拟磁盘。
- 在连接存储系统的物理服务器上,本质上呈现的是一个虚拟磁盘。
因此,许多管理员选择更简单(或过于简单!)的设置,单分区系统(或两个分区,仅分离数据),并依靠监控工具来通知可用空间不足,这些空间可以轻松扩展。
答案3
其中一个原因可能是,现在您可以轻松升级操作系统版本,而无需重新格式化分区。
我仍然为 /home 创建专用分区,但可能不再有真正的理由了。
答案4
“保持简单”是一个非常常见的设计原则。如今的虚拟机很容易扩展,不像几年前的物理服务器。