![对 Linux 服务器进行分区的正确方法是什么?](https://linux22.com/image/604996/%E5%AF%B9%20Linux%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%9B%E8%A1%8C%E5%88%86%E5%8C%BA%E7%9A%84%E6%AD%A3%E7%A1%AE%E6%96%B9%E6%B3%95%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F.png)
我刚买了一个 2TB 存储空间的专用服务器。我将在上面安装 Debian,但我正在重新考虑如何对磁盘进行分区。
以前,我有一个具有此配置的同一服务器(由我的提供商自动定义):
/ -> 10 GB
/home -> 1.99 TB
问题是我很快就用到了 90%,/
因为存储在 中的 MySQL/var/
对于只有 10GB 来说实在是太大了。
在 中/home
,我存储了所有网站,如下所示:
/home/domain.tld/subdomain/ # like :
/home/google.com/www/
/home/google.com/calendar/
/home/facebook.com/www/
/home/facebook.com/api/
(注意:是的,我拥有 Google 和 Facebook,为什么?;))
因此拥有大量的存储空间/home
似乎是正确的。
对于新服务器,我想只创建两个分区/
,swap
但在做一些可怕的事情之前,我想知道您会建议我做什么?
谢谢你们的专业知识:)
答案1
我倾向于将 /var 放在它自己的分区中,也将 /srv 放在它自己的分区中。
在生产服务器上,将 /var 放在它自己的分区中是一个好主意,不仅因为您可能需要大量的空间(正如您所发现的),而且因为如果它填满了日志,您也不希望它导致整个服务器陷入停顿。
此外,我倾向于创建一个挂载点 /srv,并在那里挂载一个单独的分区。如果我需要存储服务,我会将它们全部放在 /srv 下(通常这是我处理的 Samba 共享)。
因此,按照我使用 Linux 的方式,我将 /var、/srv 和 /home 作为可能增长很多的区域,并且我对所有这些挂载点使用单独的分区。我还希望将 MySQL 存储位置从 /var 移动到 /srv,这样服务的所有数据都位于一个易于记忆的位置下。此外,对于不只与单个用户相关的网站,我也倾向于从 /var/www 移动到 /srv/www 以保持一致性。
我也认为 LVM 是一件值得学习和使用的好东西。但是,如果你在虚拟环境中使用 Linux,那么问题就不大了,因为调整虚拟磁盘大小并不是什么大问题,因此 LVM 的优势会有所减弱(尽管仍然有优势)。我一直在尝试通过命令 shell 学习 Linux 管理,所以我对学习进行了分层。我暂时放弃了 LVM,并且暂时对旧方法相当熟悉……
..但无论你是否选择使用 LVM,都无法避免了解各个目录的预期用途。了解这些后,你就可以更好地自行决定如何分区。你可以在文件系统层次标准
答案2
没有合适的方法来定义正确的分区模式。这在很大程度上取决于您的服务器的用途,例如,正如您所指出的,MySQL 使用的服务器可能希望为 /var 设置自己的分区。
但是,我建议使用 LVM(逻辑卷管理器)。逻辑卷管理器。它允许抽象物理设备(磁盘),并允许您创建分区模式,就像在传统分区中一样。更有趣的是,它允许您更改正在运行的服务器上逻辑卷(分区)的大小。这样,您就不必费心定义分区模式应该是什么样子,因为无论如何您仍然可以在运行环境中更改它。最后但并非最不重要的是,它允许您拍摄逻辑卷的快照(用作备份)。
总而言之,这个解决方案避免了您遇到的问题,并为您的其他用途(快照、镜像......)提供了更大的灵活性。
答案3
这完全取决于您的使用情况和应用程序的性质。有些人会保留一个单独的/var
分区。无论如何,您会看到使用 oracle 的人会为 oracle 数据使用单独的分区,并且通常还会为 oracle 重做日志使用单独的分区。
您还可以将 /var 视为 lvm 分区。不要将分区设得太大,选择您认为会用完的分区。由于您已经遇到空间危机,因此您知道 mysql 填满空间的速度。分配 /var/ 时请记住这一点。
您也可以创建一个单独的 /var/lib/mysql。
但是,请确保您使用 lvm。它对于系统管理员的工作来说几乎是不可或缺的。