我有一台运行 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 开关。