我们将在新服务器上运行 CentOS 7。我们在服务器内部的 raid6 中安装了 6 个 300GB 驱动器。(存储大部分以 40TB raid 盒的形式存储在外部。)如果格式化为单个卷,内部卷大约为 1.3TB。我们的系统管理员认为将操作系统安装在一个 1.3TB 的大分区上是一个非常糟糕的主意。
我是一名生物学家。我们经常安装新软件来运行和测试,其中大部分都放在 /usr/local 中。但是,由于我们有大约 12 名不懂计算机的生物学家使用该系统,因此我们也在 /home 中收集了大量垃圾。我们上一个服务器有一个 200GB 的 / 分区,两年半后它已经占满了 90%。我不希望这种情况再次发生,但我也不想违背专家的建议!
我们如何才能最好地利用可用的 1.3TB 空间,以确保在需要的时间和地点有可用空间,但又不会给系统管理员带来维护噩梦?
答案1
分区的主要(历史)原因是:
到将操作系统与用户和应用程序数据分开。在 RHEL 7 发布之前,没有支持升级路径主要版本升级需要重新安装,然后将实例
/home
和其他(应用程序)数据放在单独的分区(或 LVM 卷)上,这样您就可以轻松保存用户数据和应用程序数据并擦除操作系统分区。当磁盘空间完全用完时,用户无法正常登录,系统会以有趣的方式开始出现故障。多个分区允许您为操作系统分配硬盘保留空间,并将其与允许用户和/或特定应用程序写入(例如
/home /tmp/ /var/tmp/ /var/spool/ /oradata/
等)的区域分开,降低运营风险行为不当的用户和/或应用程序。配额。磁盘配额允许管理员防止单个用户用尽所有可用空间,从而中断系统所有其他用户的服务。每个文件系统都分配单独的磁盘配额,因此单个分区和单个文件系统仅意味着 1 个磁盘配额。多个 (LVM) 分区意味着多个文件系统允许更精细的配额管理。根据您的使用场景,您可能希望例如允许每个用户在其主目录中使用 10 GB,在外部存储阵列上的 /data 目录中使用 2TB,并设置一个大型共享暂存区,任何人都可以在其中转储超出其主目录的数据集,并且策略变为“已满”但当发生这种情况时,也不会中断。
提供专用 I/O 路径。您可能同时拥有 SSD 和旋转磁盘,最好以不同的方式处理它们。在通用服务器中这不是什么大问题,但在数据库设置中相当常见的是将某些主轴(磁盘)分配给不同的用途以防止 IO 争用,例如将单独的磁盘用于事务日志,将单独的磁盘用于实际数据库数据,将单独的磁盘用于临时空间。 。
引导您可能需要一个单独的
/boot
分区。过去,这是为了解决 BIOS 启动时超出 1024 个柱面限制的问题,而现在更常见的是需要支持加密卷、支持某些 RAID 控制器、不支持从 SAN 启动的 HBA 或安装程序不立即支持的文件系统等。调优您可能需要不同的调整选项,甚至完全不同的文件系统。
如果您使用硬分区,您或多或少必须在安装时正确完成它,然后单个大分区并不是最糟糕的,但它确实带有上述一些限制。
通常我建议将主卷分区为单个大型 Linux LVM 物理卷进而创建逻辑卷满足您当前的需求并占用您剩余的磁盘空间,保留未分配状态直至需要。
然后,您可以根据需要扩展这些卷及其文件系统(这是一个可以在实时系统上完成的简单操作),或者创建额外的卷及其文件系统。
缩小 LVM 卷很简单,但通常压缩文件系统的支持不太好并且可能应该避免。
答案2
使用多个分区的概念是,在错误的位置放置一个完整的分区不会导致整个系统无法正常运行。
假设机器上的一个进程很快就填满了日志文件,直到没有可用空间。在单分区机器上,这可能会阻止系统将新数据写入 /tmp。如果有另一个进程想要写入 /tmp,它可能会以错误退出,从而导致意外行为。
如果对用户或进程通常写入的位置(/home、/var、/tmp)使用不同的分区,可以防止这种情况。
我建议你检查一下旧服务器,看看哪些文件夹容易变大。你可以在命令行中使用以下命令执行此操作
du -h -d 1 / 2> /dev/null
您将看到数据积累最多的地方,并相应地设计您的下一个系统。“-d 1”将输出限制为仅一层文件夹深度,使其更具可读性。
答案3
拥有单个大分区的主要问题是文件系统填满后可能就无法再登录了。
因此, root 用户的主文件夹 ( /root
) 位于外部/home
。如果文件系统在某些情况下已满,则即使 root 用户也无法登录,也无法修复系统。
这就是为什么您通常为 创建单独的挂载点/var
,/tmp
并/home
在其他分区之一已满时至少能够以 root 身份登录以修复系统的原因。
答案4
Linux 的大单分区设置存在很少的问题,但是却能带来很大的好处。
更改分区布局有点困难且有风险,通常需要较长的停机时间才能完成。
它唯一的优点是可以防止磁盘已满问题。但是你会发现这些问题很多想象一下这种情况,如果你的一个分区满了,你不能使用其他分区上的空间,即使它们几乎是空的!
一些专业的系统管理员对此有完全不同的看法。他们说,拥有多个分区可以使您的系统更可靠,并且在分区之前您必须知道分区的大小。在我看来,这根本不能说,这对系统的灵活性是一个可怕的缺点,他们真正的动机是他们只是喜欢玩分区图。
有一个简单的系统叫做lvm,它允许即时移动/调整“分区”(术语中为卷)的大小。但在单个本地部门服务器上,恕我直言,通常不需要它。