如何在 Windows 主机上扩展 vagrant box 的存储空间

如何在 Windows 主机上扩展 vagrant box 的存储空间

我正在尝试将 vagrant box 上的存储空间从 18 GB 增加到 50 GB。vagrant box 运行的是 Ubuntu,主机是 Windows 10。这个论坛上有类似的问题,用于扩展在 Mac 或 Ubuntu 主机上运行的 VM,但我无法为 Windows 主机提供此类信息。我按照博客文章,其中涉及 1)使用 clonehd 将机器的 .vmdk 文件转换为 .vmi 文件,2)使用 modifiedhd 调整磁盘大小 3)将其转换回 .vmdk 文件 4)将新磁盘连接到虚拟机。

完成这些步骤后,VM Virtualbox Manager 显示磁盘具有 50 GB 的“虚拟”存储空间和 18 GB 的“实际”存储空间,这个图片显示。运行“df -h”显示完全相同结果与之前一样,我按照步骤扩展了存储空间(“/” 中的 18 GB)。

据我所知,虚拟存储意味着存储空间应该随着数据的增加而扩大。但就我而言,当我尝试向虚拟磁盘添加超过 18 GB 的数据时,它会抛出“空间不足”错误。我还能做些什么来将实际存储设置为 50 GB?我知道这可能涉及扩展 Windows 主机上的分区,但我该怎么做呢?

答案1

从 HOST 和 Vagrant 的角度来看你做得对,但现在你需要调整客户操作系统内的磁盘文件系统的大小,在本例中是 Ubuntu 根/分区。

默认情况下使用 ext4 文件系统,但要检查,请运行命令

$ mount
...
/dev/sda1 on / type ext4 (rw)
...

然后运行命令将 Ext4 文件系统调整为其最大大小(选择匹配的设备,例如 sda1 或其他您拥有的设备):

$ sudo resize2fs /dev/sda1

然后运行命令:

df -h

并查看磁盘可用空间量。

如果你在安装过程中使用了 LVM

检查物理卷的大小和可用空间:

pvs

它将显示类似

  PV         VG      Fmt  Attr   PSize   PFree  
  /dev/sda   vg-root lvm2 a--    7.27t   1.08t

在这种情况下,我们知道 LVM 卷已被使用,第二个数字是可用量。如果 PFree 为零,请检查磁盘布局,可能需要先调整磁盘分区大小:

sudo lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL

如果 PSize 不符合您的预期,第一步您需要将物理卷调整为其最大大小:

pvresize /dev/sda

然后使用命令列出卷:

lvs

您应该从列表中选择根卷的名称,在本例中是/dev/mapper/vagrant--vg-root执行 LV 调整大小命令:

lvresize -rl +100%FREE /dev/mapper/vagrant--vg-root

-r开关应该告诉 LVM 自动调整底层文件系统的大小。

相关内容