我使用了 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 磁盘容量的步骤
- 为了能够调整 HDD 大小,您必须先将其转换为 VDI,然后
VBoxManage clonehd in.vmdk out.vdi --format VDI
重新连接它(使用 GUI 很容易)。 - 使用它来调整大小
VBoxManage modifyhd box.vdi --resize 15360
,将容量增加到 15GB。 - 但是这只会改变驱动器容量,之后您必须为客户机扩展文件系统。例如,使用
resize2fs -p -F DEVICE
ext4。
请参阅此处的答案以了解更多详情 =>如何增加 Vagrant VM 上的磁盘大小?
答案2
似乎这个特定的 Vagrant 镜像有问题。我使用了另一个(https://dl.dropboxusercontent.com/u/547671/thinkstack-raring64.box),问题就不会发生。