在 OS X 上使用 Vagrant 安装 Ubuntu 13.04(64 位)虚拟机仅提供 4 Gb 磁盘空间

在 OS X 上使用 Vagrant 安装 Ubuntu 13.04(64 位)虚拟机仅提供 4 Gb 磁盘空间

我使用了 Ubuntu 13.04 64 位的 Vagrant 镜像 http://cloud-images.ubuntu.com/vagrant/raring/current/raring-server-cloudimg-amd64-vagrant-disk1.box在我的 MacBook (10.8) 上创建一个新的虚拟机,并可以成功 ssh 到它。问题是,虽然 VirtualBox 显示虚拟机硬盘的大小为 40 Gb(动态),但df-h在虚拟机内执行的命令显示 /dev/sda1 只有 4Gb,这不足以满足我的需求:

/dev/sda1 4.0G 970M 2.8G 26% /

如何确保我的 Vagrant Ubuntu VM 在其 sda1 分区上有足够的空间(例如 20Gb)?

答案1

这些是自动构建的 Vagrant Ubuntu Cloud Images,我们无法控制它们的构建方式。

您可以构建自己的流浪者盒子,或者 1. 调整现有虚拟硬盘的大小 2. 连接其他虚拟硬盘,创建文件系统并挂载它(例如 /ops 并在此目录中安装新内容)。

我个人认为选项 2 更简单。

如果您想采用选项 1,则必须将现有的虚拟硬盘 (VMDK) 转换为 VDI,因为它VBoxManage modifyhd仅适用于原生 VDI 映像。但是,vagrant 基础盒基本上是使用 VMDK 格式导出的 OVF/OVA。

查看 VirtualBox 文档

--resize x 选项(其中 x 是所需的新总空间,以兆字节为单位)允许您更改现有映像的容量;这会调整虚拟磁盘的逻辑大小,而不会对物理大小产生太大影响。[37] 当前,此功能仅适用于 VDI 和 VHD 格式,仅适用于动态分配的变体,并且只能用于扩展(而不是缩小)容量。

增加 Vagrant Base Box 磁盘容量的步骤

  1. 为了能够调整 HDD 大小,您必须先将其转换为 VDI,然后VBoxManage clonehd in.vmdk out.vdi --format VDI重新连接它(使用 GUI 很容易)。
  2. 使用它来调整大小VBoxManage modifyhd box.vdi --resize 15360,将容量增加到 15GB。
  3. 但是这只会改变驱动器容量,之后您必须为客户机扩展文件系统。例如,使用resize2fs -p -F DEVICEext4。

请参阅此处的答案以了解更多详情 =>如何增加 Vagrant VM 上的磁盘大小?

答案2

似乎这个特定的 Vagrant 镜像有问题。我使用了另一个(https://dl.dropboxusercontent.com/u/547671/thinkstack-raring64.box),问题就不会发生。

相关内容