VirtualBox - 动态虚拟磁盘不会扩展

VirtualBox - 动态虚拟磁盘不会扩展

我正在 Windows 10 主机上使用 64 位 CentOS 7 虚拟机,并且我有一个动态分配的 VHD,这给我带来了问题。

最初,VHD 的最大大小设置为 16GB,功能上大约可用 14.4。在处理一个项目时,我意识到我需要更多空间,因此我使用 VBoxManage 将最大空间增加到 100GB。然后我使用GParted扩展了sda2分区,使其占用了额外的空间。

因此 VirtualBox 认为 VHD 最大可以达到 100GB,而 sda2 占据了大部分空间。现在VHD的实际大小仍然是14.4GB。但是,当我填满来宾操作系统上的所有空间(通过将长序列写入文件)时,驱动器不会自动扩展。

有几点需要注意:

  1. 第一次尝试填满空间时,填满后重新启动虚拟机时,主机上的 VHD 文件确实增加了约 1GB,但现在不会再扩大了。

  2. 我的来宾操作系统报告的设备与 GParted 报告的分区之间似乎存在差异。 中央操作系统列出 /dev/sda1 和 /dev/mapper/centos-root,这是 /dev/dm-0 的链接,而格帕特列出 /dev/sda1 和 /dev/sda2。这可能是导致问题的原因,还是这是正常现象?如果正常的话,有什么想法可以解释为什么 VirtualBox 不会扩展 VHD 吗?

答案1

好的,我发现问题所在了。我的文件系统使用逻辑卷管理(LVM),我以前从未使用过它,所以我不知道如何正确处理它。使用 LVM 术语,centos 是一个卷组:

森托斯

sda2 是该卷组中的物理卷:

sda2

root 是该卷组中的一个逻辑卷,还有交换:

根

centos VG 和 sda2 PV 已经注册了我分配的额外存储空间,但剩下的就是将额外空间分配给根 LV(21504 是我从 vgdisplay 获得的可用物理扩展 (PE) 的数量):

$ sudo lvextend /dev/centos/root /dev/sda2 -l+21504

然后扩展根文件系统,以便它可以利用这个额外的空间:

$ sudo xfs_growfs /dev/centos/root

此后,来宾操作系统认识到它有额外的空间,并填充该空间,导致主机操作系统上的虚拟硬盘大小相应增长。成功!

来源: http://www.techotopia.com/index.php/Adding_a_New_Disk_to_a_CentOS_6_Volume_Group_and_Logical_Volume

相关内容