Vagrant,如何指定磁盘大小?

时间:2018-04-13 17:48:01

标签: vagrant

我想确保我的开发环境有足够的可用空间来安装工具和其他东西。关于告诉Vagrant我想要的最小磁盘大小,我找不到任何配置选项。这是可能的还是我需要创建自己的盒子?

4 个答案:

答案 0 :(得分:24)

我已经使用了流浪汉插件vagrant-disksize来调整磁盘大小。

有效。它还可以帮助指定初始磁盘大小。

在命令行中运行以下命令:

vagrant plugin install vagrant-disksize

,然后在您的Vagrant文​​件中使用以下内容:

vagrant.configure('2') do |config|
    config.vm.box = 'ubuntu/xenial64'
    config.disksize.size = '50GB'
end

答案 1 :(得分:16)

安装Vagrant插件vagrant-disksize

vagrant plugin install vagrant-disksize

如果要确保用户已安装插件,请在启动vagrant时将其添加到Vagrantfile的开头

# Install vagrant-disksize to allow resizing the vagrant box disk.
unless Vagrant.has_plugin?("vagrant-disksize")
    raise  Vagrant::Errors::VagrantError.new, "vagrant-disksize plugin is missing. Please install it using 'vagrant plugin install vagrant-disksize' and rerun 'vagrant up'"
end

在Vagrantfile中设置所需的磁盘大小

vagrant.configure('2') do |config|
    config.disksize.size = '50GB'
end

更新现有的无家可归者盒子

  1. 执行以上所有操作
  2. 运行和停止无业游民(您应该看到类似“调整大小的磁盘:旧版32768 MB,req 51200 MB,新版51200 MB”)
  3. SSH到无业游民的盒子
  4. 运行 sudo cfdisk / dev / sda
  5. 使用箭头选择您的磁盘可能是sdaX。我的是sda3。
  6. 然后使用箭头键选择调整大小。接受建议的磁盘大小。
  7. 然后选择写入。然后回答。
  8. 您可以选择立即退出。
  9. 运行 sudo resize2fs -p -F / dev / sdaX 您应该看到类似以下内容:“ / dev / sda3上的文件系统安装在/上;需要在线调整大小 old_desc_blocks = 4,new_desc_blocks = 6 / dev / sda3上的文件系统现在长11933952(4k)块。 “
  10. 运行 df 并查看您的磁盘大小已增加。

答案 2 :(得分:3)

这应该使用提供程序完成,即virtualbox配置设置示例

https://www.vagrantup.com/docs/virtualbox/configuration.html

config.vm.provider“virtualbox”do | v |   v.customize [“modifyvm”,:id,“ - pduexecutioncap”,“50”] 端

https://www.virtualbox.org/manual/ch08.html#vboxmanage-list

但在modifyvm部分我没有看到任何与磁盘调整大小有关的内容!!也许你可以尝试附加一个辅助磁盘!!

https://gist.github.com/leifg/4713995

答案 3 :(得分:2)

如果你的 vagrant box 使用了 LVM 并且已经创建,与 Firze 的回答相比,需要额外的步骤:

  • 安装 Vagrant 插件 vagrant-disksize
vagrant plugin install vagrant-disksize
  • 在 Vagrantfile 中设置所需的磁盘大小
vagrant.configure('2') do |config|
    config.disksize.size = '300GB'
end
  • 重新启动 vagrant 框(您应该会看到类似“调整大小的磁盘...”之类的内容)
vagrant hatl
vagrant up
  • SSH 到 vagrant 盒子

  • 使用 vgdisplay 检查旧尺寸:

vgdisplay
  --- Volume group ---
  VG Name               vagrant-vg
  System ID             
  Format                lvm2
  ...
  Alloc PE / Size       16200 / 63.28 GiB
  Free  PE / Size       0 / 0  
  • 假设设备是 /dev/sda,您必须调整扩展和逻辑分区的大小:
parted /dev/sda
p
Number  Start   End     Size    Type      File system  Flags
 1      1049kB  768MB   767MB   primary   ext2         boot
 2      769MB   68.7GB  67.9GB  extended
 5      769MB   68.7GB  67.9GB  logical                lvm

resizepart 2 321GB
resizepart 5 321GB
p
Number  Start   End    Size   Type      File system  Flags
 1      1049kB  768MB  767MB  primary   ext2         boot
 2      769MB   322GB  321GB  extended
 5      769MB   321GB  320GB  logical                lvm
quit
  • 然后,LVM 应该会看到修改:
pvresize /dev/sda5

vgdisplay
  Alloc PE / Size       16200 / 63.28 GiB
  Free  PE / Size       60148 / 234.95 GiB
  • 扩展 LVM 组:
lvextend  -L+234.95 /dev/vagrant-vg/root 
  Size of logical volume vagrant-vg/root changed from 62.32 GiB (15955 extents) to 297.27 GiB (76102 extents).
  Logical volume root successfully resized.

vgdisplay
  Alloc PE / Size       76347 / 298.23 GiB
  Free  PE / Size       1 / 4.00 MiB
  • 最后,调整文件系统的大小:
resize2fs /dev/vagrant-vg/root

df -h
/dev/mapper/vagrant--vg-root  293G   59G  222G  21% /