如何让分区动态扩展?

如何让分区动态扩展?

我有一台运行 Ubuntu 服务器 16.04.3 的虚拟机(在 Hyper-V 主机上)。它设置为具有动态扩展虚拟硬盘 (VHDX)。

我在尝试“用制表符完成”名称时遇到磁盘空间问题:

-bash: cannot create temp file for here-document: No space left on device

我询问了df -h一下,服务员的回复如下:

Filesystem                 Size  Used Avail Use% Mounted on
udev                       221M     0  221M   0% /dev
tmpfs                       48M  1.8M   47M   4% /run
/dev/mapper/zapp--vg-root  2.0G  2.0G     0 100% /
tmpfs                      240M     0  240M   0% /dev/shm
tmpfs                      5.0M     0  5.0M   0% /run/lock
tmpfs                      240M     0  240M   0% /sys/fs/cgroup
/dev/sda1                  472M   70M  379M  16% /boot
tmpfs                       48M     0   48M   0% /run/user/1000

显然,那个 2.0G 分区已满。但是,虚拟磁盘尚未达到允许的大小(最大 3.0GB,实际 2.69GB)。

我们尝试将磁盘限制扩大到 5GB,但服务器似乎没有注意到并使用可用空间 - 即使重新启动后也是如此。

是否可以允许这些分区在需要时扩展,直到达到磁盘大小上限?或者这里应该怎么做?

答案1

首先,您需要运行parted并使用其resizepart命令来扩展分区以使用整个磁盘,然后运行pvresize以告知 LVM 有关新空间的信息,然后运行lvresize以扩大逻辑卷,最后resize2fs在逻辑卷上扩大文件系统以使用新空间。这可以在不重新启动的情况下完成。

答案2

如果机器看到扩展的空间,并且您正在使用 LVM(似乎是这种情况),那么您可以使用 lvresize 命令调整分区大小以填充新空间。这不会自动发生。

您将需要熟悉 lvresize 的手册页,特别是 --resizefs 和 --size 开关。

相关内容