关于 Linux 服务器文件系统布局的思考

关于 Linux 服务器文件系统布局的思考

我想知道,而且我相信很多人也想知道,对于基于 GNU/Linux 的服务器来说,哪种文件系统布局最好或至少是最优的。我知道没有通用的布局,因为布局会根据最终用户想要实现的目标而有所不同,所以我将问题缩小到非常具体的实现。该服务器的目的是作为中型 SIP 电话服务器。我想到的文件系统布局如下:

硬盘的完整大小为 146 GB

  • 1 GB 主分区挂载为 /boot
  • 16 GB 主分区安装为 /
  • 16 GB 扩展分区作为交换安装(服务器有 8 GB 内存,并且至少不会很快变大)
  • 52 GB 扩展分区挂载为 /var
  • 16 GB 扩展分区挂载为 /var/log
  • 30 GB 扩展分区挂载为 /usr
  • 5 GB 扩展分区挂载为 /tmp
  • 10 GB 扩展分区挂载为 /home

我将交换分区放在中间,因为这样可以提高访问速度,并创建了一个大的 var 分区,因为会有很多可变数据,如数据库文件。我将 /var/log 和 /tmp 移到不同的分区,以确保它们被填满时不会导致整个系统崩溃,并移动了 /usr,以便在需要时能够将其设为只读。我创建了一个小的 /home 分区,因为用户数量会很少,所以不需要很大的存储空间来存放主目录。

我认为,支持和反对这种布局的论点有很多,我很好奇(试图了解比我更有经验或更聪明的人的想法)其他人是怎么想的:考虑到快速访问(这就是我将交换放在中间的原因)、安全性和数据安全,这种碎片化和有序性是否好?有什么想法吗?谢谢!

答案1

两件事情:

  1. /boot 只需要大约 256MB,如果真的想要安全的话,则需要 512MB。您真正需要多少个内核?
  2. 为了[此处插入神]的爱,使用逻辑卷管理器

一般情况下我会使用:

  • 第一个主分区 256MB /boot (ext2)
  • LVM 中的第二个主分区作为物理卷 (PV)
  • 逻辑卷 /
  • 逻辑卷 /home
  • 逻辑卷 /usr (可选)
  • 逻辑卷 /tmp (可选,最好使用 hdd 而不是 ssd)
  • 逻辑卷 /var (可选,最好使用 hdd 而不是 ssd)
  • 逻辑卷交换(2 * RAM && <= 4GB)

大小取决于使用情况,但在卷组 (VG) 中留下一些(大多数)未使用的空间来扩展任何填满的逻辑卷。

答案2

绝对值得创建像您所布置的东西,但我会考虑使用 LVM 并根据需要扩大您的分区。

我个人使用的东西与您拥有的非常相似,但是分区大小尽可能小,因为我在 Nagios 中对所有盒子的磁盘空间进行了监控,所以我提前知道何时需要扩展分区。

哦,/boot 需要 1GB 吗?根据你的发行版,你实际上不需要超过几百兆的空间...

答案3

我大体上同意您将磁盘分割成多个文件系统的方法。我不确定将交换放在中间是否真的对您有用。我会集中精力确保所有分区都足够大以完成预期任务。例如,16GB /var/log 被填满的风险有多大?在标准 Linux 服务器上,应该有足够的空间来存储日志,但专用服务器可能会根据使用情况创建更大的日志文件。

如果您使用的任何软件需要创建大量大型临时文件,您可能需要考虑增加 /tmp 的大小。

我的主要建议是对文件系统大小使用这种方法,但要集中精力进行适当的监控和日志文件轮换,以确保您不会填满那些关键的 /tmp 和 /var/log 文件系统。

答案4

我不会费心为 /usr 分割出一个 30GB 的分区。对于 / 和 /usr 的总和来说,16GB 是一个合理的大小;如果您确实需要空间,请为您的根分区提供 20-30GB。

我对 LVM 没有太多经验,但您建议的用法很有意义。

听起来你应该先进行试用安装,以准确了解基本系统和软件的空间需求。特别是如果你要避免使用 LVM 解决方案。一旦你这样做了,你就会对 / 和 /usr 分区的大小有一个更清晰的认识必须然后,您可以调整分区大小,以最大化您预期需要的区域(/var、/var/log 和 /tmp)的可用空间。

相关内容