我运行一个裸机 Ubuntu 服务器,其中有多个虚拟机在 KVM 环境中运行。我想将一台虚拟机的大小从 50GB 增加到 100GB。
我运行以下命令将 nextcloudph-lv 虚拟机从 50GB 增加到 100GB:
sudo lvextend -L+50G /dev/ubuntu-vg/nextcloudph-lv
VM 大小按预期增加。
然后我尝试使用以下命令扩展 LV 文件系统:
sudo resize2fs /dev/ubuntu-vg/nextcloudph-lv
我收到的输出是:
运行 lsblk 命令会导致:
/dev/mapper 包含:
这看起来是一个相对简单的过程,所以我不确定我哪里出了问题。这是我第一次尝试扩展 LV,但我被卡住了......
提前致谢!
编辑:
按照 A. Darwin 的建议,我运行了命令“df -hT”,它产生了以下输出:
我可以看到带有 ext4 文件系统的主机虚拟机“ubuntu--lv”,但没有引用所有虚拟机所在的“nextcloudph--lv”或 sda3。
我不确定这是否有什么不同,但当我设置虚拟机时,我首先使用“lvcreate -L ##G -n lv###### ubuntu-vg”命令分配空间,然后指向虚拟机构建 VM 时管理该存储池。
编辑 2 从 nextcloudph-lv VM 中运行“df hT”会产生以下输出:
这很奇怪,因为有一个 48GB ext4 驱动器的引用,但它位于“/dev/mapper/ubuntu--vg-ubuntu--lv”。
编辑3
根据 Vojtech Trefny 的要求,附件是命令“lsblk -f”的输出
为了清楚起见,使用的 84% 仅指 ubuntu--lv 虚拟机。 SSD 上还有足够的空间。
答案1
LV 似乎不直接包含文件系统,但可能是 VM 的整个磁盘映像。在这种情况下,您需要在虚拟机内更改分区大小并调整文件系统的大小;或者,您可以停止VM,并使用分区工具将LV视为整个磁盘,调整数据分区的大小,然后设置一个循环设备,其偏移量指向扩大的分区,并调整其中的文件系统的大小。
答案2
再次运行该命令sudo lvextend -L+50G /dev/ubuntu-vg/nextcloudph-lv
,但不要在扩展后尝试调整大小,而是在lvextend
命令中调整大小-r
,使其看起来像sudo lvextend -L+51G -r /dev/ubuntu-vg/nextcloudph-lv
. (也许添加额外的 1G,以便尝试新的扩展)
如果您在 OP 中遇到与上述相同的错误,请确保逻辑卷具有有效的文件系统,如果没有,请将其设置为一个,mkfs.ext4 /dev/ubuntu-vg/nextcloudph-lv
然后再次尝试调整大小。