我应该为 Linux 服务器创建多少个分区以及哪些分区?

我应该为 Linux 服务器创建多少个分区以及哪些分区?

分区在 Linux 服务器上非常重要,因为它为您提供了很大的灵活性,例如升级到更大的硬盘时。

但是,构建 Linux 系统时我应该创建多少个分区?每个分区应该设置多大?

最后但同样重要的一点是,我应该将哪些分区放在单独的磁盘上(我正在考虑 /home、/var,也许是更快的驱动器等)以及哪些分区可以在同一驱动器上共享?

答案1

规划一个好的分区结构很大程度上取决于您实际上了解将如何使用“服务器”。任何不考虑实际提供的服务的随机建议都不会特别有用。

例如,如果它是一个用于 mysql 的基于 debian 的盒子,您可能需要为 /、/var 和 /var/lib/mysql 设置单独的分区。

它会成为具有大量共享存储的文件服务器吗?您可能需要 /、/home 和 /srv 分区。

对于仅运行 squid 的盒子,您可能需要为 / 设置一个分区,并在快速磁盘上为 squid 假脱机设置一个分区。

在规划分区时,了解以下内容非常有帮助:文件系统层次标准以及您选择的发行版是否/如何偏离标准。

使用逻辑卷管理器可以使您将来更轻松地改变主意并调整分区,而无需重新启动。并且其创建快照的能力可以非常轻松地创建良好的备份。

答案2

我总是创建这些分区,并且从去年开始,始终在 LVM 上:

/       - a few Gig
/usr    - 24 Gig and mostly empty
/var    - 4 Gig works for me, YMMV
/home   - depends on how many users you will have

最重要的一点是/var——如果这是一个单独的分区,那么当它填满时,你的根分区就不会崩溃。虽然我从来没有这样做过,但有些人会把它做成单独的分区,/usr这样他们就可以以只读方式挂载它。

我有时会创建这些分区:

/boot   - even 1 Gig is way more than enough

原因是并不总是可以从 RAID 或 LVM 分区启动。因此,/boot可以是一个简单的 ext3 分区,允许/更高级。

如果我有大量大文件,我有时会为这些大文件创建一个特定的分区,这样文件系统就可以调整为高效存储大文件。有些人,如果他们将从服务器提供 NFS 服务,会为他们的 NFS 共享创建一个单独的分区,甚至为每个 NFS 共享创建一个单独的分区。这取决于您的需求。

为什么是 LVM?正如我在其他地方的答案中提到过但在这里忘记提到的那样,它使以后改变主意并扩展分区变得容易得多。这已经救了我一命了。

这些是一般准则。当然,我希望如果您的服务器有特殊需求,您会考虑到这一点并进行反映这些需求的分区。

答案3

假设您正在构建一台可以使用一段时间的机器,重建起来不方便,并且需要非常灵活,您可能会喜欢类似以下的方案:

  1. 安装至少两个相同大小的物理驱动器;为了举个例子,我假设使用 500GB SATA 驱动器,但该原理也适用于其他大小的驱动器。

  2. 对每个驱动器进行如下分区:

    /dev/sda1   500MB
    /dev/sda2   100GB
    /dev/sda3   the rest
    

    目标是在前面设置一个小的 500MB 分区,在中间设置一个相当大的分区用于存放操作系统和应用程序,并在后面保留大部分驱动器用于存放其他数据。

  3. /dev/md0/dev/sda1和构建 SW RAID 1 集, ;从相应的分区/dev/sdb1构建额外的 SW RAID 1 集/dev/md1和。/dev/md2

  4. 格式化/dev/md0为 ext3;这将是/boot

  5. 格式化/dev/md1/dev/md2LVM 物理卷。

  6. 创建一个 LVM 卷组 ,vg_system其中包含/dev/md1

  7. 为您的各种操作系统分区创建适当的 LVM 卷vg_system;至少,您需要swap/varGB 和/10GB 左右的空间。 笔记:不要分配全部vg_system!当您稍后决定要增加的大小\var,或者要添加 /opt或诸如此类时,您将需要额外的空间。

  8. 创建一个 LVM 卷组 ,vg_data其中包含/dev/md2

  9. 根据需要在内部创建 LVM 卷vg_data;至少您需要一个相当大的卷,并且您可能需要额外的卷,例如邮件假脱机、数据库、Web 根目录或任何其他不属于操作系统的数据。同样,出于与上面列出的原因类似的原因,/home不要分配所有的卷。vg_data

该策略的优点包括:

  • 它可以容忍硬件故障;任何一个驱动器发生故障都不会导致系统故障,如果您购买热插拔控制器,则可以在不停机的情况下进行恢复。

  • 它具有面向未来性和可扩展性;几年后,当您购买 2TB 驱动器时,您可以将其放入机器中,将其放入另一个 SW RAID 集,将其格式化为 LVM 物理卷,将其添加到需要更多空间的卷组(可能是lv_data),然后使用 pvmove它将数据从旧驱动器迁移到新驱动器。此外,主要的操作系统更新可以变得轻松得多;如果您需要重新安装操作系统以进行重大升级(咳咳,Red Hat :( ),您可以在保留主目录(以及邮件假脱机和您放入的所有其他内容vg_data)的同时进行此操作。

这种策略的缺点很少;我认为它有点复杂,而且由于 RAID 1,写入性能会受到影响。但是,我已经根据这些原则构建工作站和独立服务器好几年了,根据我的经验,每次我没有按照这些原则构建机器时,不久我就会后悔。

-史蒂夫

PS 我应该补充一点,如果你有现成的基础设施来快速轻松地配置一台新机器,那么像这样的系统就是大材小用了;如果你需要改变一些东西,只需重建机器,而不是摆弄 RAID 组和 LVM。

答案4

除了 Eddie 提到的分区之外,我通常还会创建两个单独的分区

/tmp - 出于同样的原因,您创建了一个单独的 /var 分区(我之前已经把临时空间全部填满了)。我通常使用 1-2 GB

/usr/local - 这允许您根据需要升级和清理 /usr,而不会删除所有单独安装的软件。这里的大小取决于您安装了多少外部软件。我通常使用大约 10 GB,但最近发现这有点小。

我总是将 /home 放在最后,并用它来填满磁盘的其余空间。

在 /boot 分区上,我从未将其设置为大于 100 Mb,也从未遇到过空间问题(我最终会清理旧内核)。它确实可以非常小。

另外也不要忘记交换分区。

相关内容