在 VirtualBox 中将虚拟磁盘大小增加一倍后,fdisk -l 仍然在客户 CentOS 中显示旧磁盘大小

在 VirtualBox 中将虚拟磁盘大小增加一倍后,fdisk -l 仍然在客户 CentOS 中显示旧磁盘大小

我在 Mac OS X(Snow Leopard)主机上的 VirtualBox 4.1.18 中以客户机身份运行 CentOS 6.1。由于 CentOS 客户机的 50 GB 空间不够用,我决定将其可用磁盘空间增加一倍。在互联网上广泛搜索可行的行动方案后,我决定采取以下措施:

  1. 通过“vboxmanage modifiedhd centos6.1.vdi --resize 102400”将VDI文件大小增加一倍
  2. 在 VirtualBox GUI 中验证磁盘大小现在确实是 100 GB
  3. 下载 Parted Magic ISO 文件并将 VM 启动到 Parted Magic
  4. 在 Parted Magic 中,启动分区编辑器
  5. 在分区编辑器中,查看约 50 GB 的“未分配”空间
  6. 在分区编辑器中,调整 /dev/sda2 的大小(在我的情况下由 LVM 管理)以使用所有未分配的空间,从而有效地将其大小增加 50 GB
  7. 关闭虚拟机
  8. 将 VM 启动到 CentOS 6.1 并使用 lvm 工具来扩大现有卷。

但是,我在第 5 步失败了。分区编辑器显示 /dev/sda 的大小仍然是 50 GB,而不是 100 GB。没有“未分配”空间可以用来增加 /dev/sda2 的大小。这与在 Parted Magic 或 CentOS 中运行的 fdisk -l 的输出一致:

[root@dev ~]# fdisk -l

Disk /dev/sda: 53.7 GB, 53687091200 bytes  
255 heads, 63 sectors/track, 6527 cylinders  
Units = cylinders of 16065 * 512 = 8225280 bytes  
Sector size (logical/physical): 512 bytes / 512 bytes  
I/O size (minimum/optimal): 512 bytes / 512 bytes  
Disk identifier: 0x0006702c

Device Boot Start End Blocks Id System  
/dev/sda1 * 1 32 256000 83 Linux  
Partition 1 does not end on cylinder boundary.  
/dev/sda2 32 6528 52171776 8e Linux LVM

在上述步骤 2 中,我验证了 VirtualBox 的 GUI 确实显示我的虚拟机的虚拟硬盘大小为 100 GB。有人能解释一下为什么fdiskParted Magic 和其他人都看不到这额外的 50 GB 吗?

答案1

好吧,事实证明,modifyhd --resize如果要调整大小的虚拟机使用快照,则无法按预期工作。用户应该知道,在这种情况下,modifyhd --resize将针对最新的快照运行,不是原始 VDI 文件。文档中没有提到这一点,而且我觉得也不是很明显。两天的时间浪费了,

答案2

对于那些想知道如何在 VirtualBox 中合并快照以扩展虚拟磁盘的人来说:

选择您的快照(如果有多个,请从底部最近的快照开始,而不是当前状态),然后单击删除。这会将数据合并到您的当前状态,并使您处于没有快照的当前状态(重复,直到所有快照都合并到当前状态)。

然后,您将看到操作系统中未分配的空间,并能够调整大小,然后拍摄新的快照以恢复使用快照。

相关内容