当我为我的 VM/VPS 提供更多磁盘空间时,如何才能在不重新启动的情况下使其可用于文件系统?

当我为我的 VM/VPS 提供更多磁盘空间时,如何才能在不重新启动的情况下使其可用于文件系统?

在我的大多数 Ubuntu 14 和 16 服务器 VM 中,我都设置了如下分区:

lvm> lvscan
  ACTIVE            '/dev/server01-vg/root' [29.76 GiB] inherit
  ACTIVE            '/dev/server01-vg/swap_1' [2.00 GiB] inherit

当我通过虚拟机管理程序为虚拟机提供更多磁盘空间时,我使用此方法将其提供给虚拟机:关闭系统,使用 partedmagic/gparted 重新启动,并将分区大小调整为最大可用磁盘空间。然后我再次重新启动并发出 lvextend 后跟 resize2fs 命令以将可用磁盘空间添加到我的根分区。

这非常麻烦,如果我在 Windows Server 系统上执行此操作,我只需单击磁盘管理中分区上的“扩展”即可完成并可用,无需重新启动。

有没有更智能的方法来实现这一点?比如可以完成所有这些工作的 bash 脚本或工具?

(我不想添加额外的分区,只想扩大我的根分区并使其全部可用于文件系统。我使用的是 Ubuntu 服务器,而不是桌面,所以我不能使用图形工具)。

答案1

您是否尝试过使用 gparted 从虚拟机内部更改分区大小?您应该能够在运行时扩展根分区(安装在“/”处)。请参阅这里有关在运行时扩展分区的更多信息。

相关内容