我已经在几个地方读到,在服务器的单独分区上挂载是一种很好的做法,以/
减轻/home
不需要/var
的应用程序/操作填满磁盘的风险。
但是,在我创建实例的所有云提供商(AWS、OVH 和 GCP)中,Ubuntu 的默认可用映像通常带有一个/
分区。
上面提到的“良好实践”是否与云无关,还是只是被忽略了?当我登录服务器时,由于根分区显然已挂载,有没有办法缩小它并重新分配空白空间?
我已经在几个地方读到,在服务器的单独分区上挂载是一种很好的做法,以/
减轻/home
不需要/var
的应用程序/操作填满磁盘的风险。
但是,在我创建实例的所有云提供商(AWS、OVH 和 GCP)中,Ubuntu 的默认可用映像通常带有一个/
分区。
上面提到的“良好实践”是否与云无关,还是只是被忽略了?当我登录服务器时,由于根分区显然已挂载,有没有办法缩小它并重新分配空白空间?
我们为每个卷使用一个分区(除了包含引导和交换的第一个卷)。这有很多优点(当然总是取决于应用程序)。
根据我的经验,如果您的应用程序有一个大型数据库 + 许多文件,那么将数据文件系统与根文件系统分开是一个很好的做法。最明显的原因是扩大或缩小数据分区更容易,但更改引导分区要复杂得多。在大多数情况下,您需要卸载分区才能调整其大小。
您无需重新启动/进入维护模式服务器即可调整/修改/添加/删除卷/分区。
另一个原因是优化成本,因此使用这种配置可以以不同的成本获得不同的体积。
关于缩小根分区,我通常做的是选择一个磁盘大小适合我的根文件系统需要的配置。(我使用 Debian,与 Ubuntu 非常相似,我使用 15 GB 的根分区)。我将 /var/log 链接到数据分区,这通常是导致空间问题的原因。这样,根分区的大小几乎保持不变。只需确保运行的应用程序清理 /tmp 文件即可。
您还有许多其他优势:
1)您可以创建/构建一个新服务器(根分区)并将数据从一台服务器移动到另一台服务器。更新操作系统版本的简单方法(风险更低,停机时间更短)
2) 如果您将应用程序与数据分开,您可以拥有另一个应用程序卷并提供额外的灵活性。
3)如果您的 VM 提供商有不同类型的磁盘(不同的速度、不同的价格),您可以为 DB 选择快速卷,为可执行文件(通常运行一次)和很少使用的数据选择较慢的卷。
等)我确信分离卷/文件系统的许多其他原因。这里只是几个。
Linux 中的磁盘分区是一个相当固执的话题。我认为在现代系统上对 /var 和 /home 之类的东西进行分区并不那么重要,因为我们处理的磁盘更大或者机器更临时。
在人们交互使用的任何系统上,将 /home 与操作系统的其余部分分开分区是一个好主意,原因有两个:
大多数云提供商都会根据第二种情况定制他们的默认设置,即机器不会长时间停留的想法。如果您在云平台上运行网站,您通常会希望使用负载平衡器和自动扩展组,其中服务器根据使用情况进行扩展/缩减,当您遇到错误时,您只需将它们吹走并开始一个新的一。
另一部分是云提供商通常允许多个附加卷。如果您希望服务器更永久,建议的做法是在实例上附加一个附加卷,例如 /srv/www、/home 或持久数据所在的任何位置。这样,当您想要升级操作系统时,您可以将您的网站重新附加到新服务器。