我正在全新安装 CentOS 8 最小版本,它默认建议以下分区:
swap swap 4G
/boot ext3 512M
/ ext4 2014G
/home ext4 all
(这是使用软件 RAID 1 中的一对 4TB NVMe 驱动器)
我理解单独的交换/启动/数据分区的必要性/好处,但是为什么要有两个单独的数据分区呢?
我的直觉是将其重组为
swap swap 4G
/boot ext3 512M
/ ext4 all
但我认为 CentOS 比我更了解,并且单独分区是有充分理由的/home
。
这将是一个 Web 服务器和数据库服务器。传统上,我将 Web 文件存储在 /var/www/sites 中,将数据库存储在 /var/lib/mysql 中。
以我的经验来看,/home(作为一个目录,而不是一个单独的分区)除了 .bashrc、.vimrc 等之外基本上是空的,如果我将文件通过 FTP 传输到服务器,它偶尔会成为一个临时的着陆点。
我做错了吗? 使困惑
谢谢你!
答案1
为什么 home 是一个单独的分区?以防万一发生错误。您说您的数据目录通常是 /var/www 和 /var/lib/mysql。许多其他人使用他们的主目录来存储重要文件、文档、代码。您的用例是生产服务器之一,其中 /home 中的文件并不重要。对于使用 Linux 或 CentOS 作为桌面的用户来说,单独的 /home 文件夹意味着非常重要。
但是单独的 /home 分区如何保证我的安全?当出现问题时,需要重新安装操作系统。安装向导可能会检测到现有的 /home 文件夹,并将该 /home 文件夹映射回操作系统。因此,其他每个分区都将被清除并重新安装,但您的文件将是安全的。
就像 ext4 对于保证文件系统安全很重要一样。/home 分区可以保证文件的安全。
答案2
通常,对于工作站,它会尝试将人为操作与服务器操作分开。人为操作导致工作分区过满的情况并不少见,例如您构建软件时空间不足。在这种情况下,进程至少能够收集日志并保留其重要的临时数据以正常运行。这也是将人为数据与服务器数据分开以简化迁移的一个好处。
对于服务器,您可以将邮件保存在 /home 中,将队列保存在 /var 中。如果您的邮件溢出 /home 分区,您的邮件服务器将只返回临时错误,不会出现任何功能问题,只是没有空间保存邮件,但如果只是 / 分区 - 它甚至无法记录发生的事情,并且很可能会崩溃。当您第二天登录时 - 您会发现软件崩溃了,日志中没有任何内容。登录甚至可能是一个问题,因为 /var 对于 ssh 和 systemd 等其他服务至关重要。
在更保守的环境中,例如 BSD,不仅 /home 是分开的 - /usr /var 和 /tmp 通常放在不同的分区上。
答案3
对我来说,主要原因是大多数不懂如何检查分区表的用户都是家庭/桌面用户,而不是服务器管理员。对于这些人来说,如果操作系统出现灾难性故障,他们只需稍微花点功夫就可以重新安装之前安装的所有内容,从而准确地恢复到故障发生之前的状态。
一旦个人照片、文件等丢失,它们就永远消失了。你也许会犯类似的错误,但它永远不会是你丢失的那个。
单独的主分区可以轻松地重新安装操作系统,而不会丢失不可替代的东西。
答案4
简而言之,如果您由于任何应用程序而耗尽空间/home
,您的机器仍然可以工作并且如果您将它放在不同的分区上,它仍然可以接受 SSH 连接。
当你安装特定服务时也会出现同样的问题,例如:
- MySQL,创建不同的分区,如 /var/db/mysql
- 代理/缓存应用程序,创建不同的分区,如/cache
因此,如果此服务创建的任何数据量超出预期,它将被分区大小阻止,并阻止整个系统停止工作。