2012-09-06 42 views
80

我想增加RAM至少1 GB,我想配置“主机专用”网络使用“199.188.44.20”。如何增加RAM并在Vagrant中设置主机专用网络?

这是我Vagrantfile

# -*- mode: ruby -*- 
# vi: set ft=ruby : 

Vagrant::Config.run do |config| 

    config.vm.customize ["modifyvm", :id, "--memory", 1024] 

    config.vm.network :hostonly, "199.188.44.20" 

    config.vm.define :web do |web_config| 
     web_config.vm.box = "lucid32" 
     web_config.vm.forward_port 80, 8080 

     web_config.vm.provision :puppet do |puppet| 
      puppet.manifests_path = "manifests" 
      puppet.manifest_file = "lucid32.pp" 
     end 
    end 

    config.vm.define :web2 do |web2_config| 
     web2_config.vm.box = "lucid32" 
     web2_config.vm.forward_port 80, 8081 

     web2_config.vm.provision :puppet do |puppet| 
      puppet.manifests_path = "manifests" 
      puppet.manifest_file = "myweb.pp" 
     end 
    end 
end 

然而,当我运行vagrant up我越来越:

的VM没有停留在 “运行” 状态,而试图启动。这通常是由于配置错误或主机系统不兼容导致的。请打开VirtualBox的GUI和尝试手动启动虚拟机,以获得更多的错误提示信息

而且,我得到一个connection refuse错误,当我尝试登录到虚拟机。

+0

增加RAM当你被“封杀”的消息可能会有所帮助。 – wieczorek1990

回答

56

您可以通过添加下面的配置(see the Vagrant docs for a bit more info)修改各种VM属性:

# Configure VM Ram usage 
    config.vm.customize [ 
         "modifyvm", :id, 
         "--name", "Test_Environment", 
         "--memory", "1024" 
         ] 

你可以得到你想要从VirtualBox的命令行选项的文件更改属性:

vagrant documentation对如何节更改IP地址:

Vagrant::Config.run do |config| 
    config.vm.network :hostonly, "192.168.50.4" 
end 

您也可以重组这样的结构,结局是做不结束嵌套它。 这更简单。

config.vm.define :web do |web_config| 
    web_config.vm.box = "lucid32" 
    web_config.vm.forward_port 80, 8080 
end 
web_config.vm.provision :puppet do |puppet| 
    puppet.manifests_path = "manifests" 
    puppet.manifest_file = "lucid32.pp" 
end 
+3

这适用于Vagrant 1.0.1 – Gourneau

94

由于Vagrant 1.1customize选项越来越VirtualBox的特异性。

现代的方式来做到这一点是:

config.vm.provider :virtualbox do |vb| 
    vb.customize ["modifyvm", :id, "--memory", "256"] 
end 
+1

你也可以使用'vagrant up --provider = virtualbox'按http://docs.vagrantup.com/v2/providers/basic_usage.html – user456584

+2

通过_modern way_你的意思是'VAGRANTFILE_API_VERSION =“ 2“',如[Vagrant文​​档](http://docs.vagrantup.com/v2/vagrantfile/version.html)中所述。 – AlexT

7

我无法得到回答这些问题的工作。这是我最后决定将我的Vagrantfile的最顶端,在Vagrant::Config.run do块之前:

Vagrant.configure("2") do |config| 
    config.vm.provider "virtualbox" do |vb| 
    vb.customize ["modifyvm", :id, "--memory", "1024"] 
    end 
end 

我注意到,快捷存取的风格,“vb.memory = 1024”,似乎没有工作。

101

为了增加使用流浪2当内存或CPU数,通过修改config.vm.provider部分的存储能力在你的流浪汉添加到您的Vagrantfile

Vagrant.configure("2") do |config| 
    # usual vagrant config here 

    config.vm.provider "virtualbox" do |v| 
     v.memory = 1024 
     v.cpus = 2 
    end 
end 
+8

谢谢!必须记住做'vagrant halt'和'vagrant up'以用新设置重启机器。 “流浪汉暂停”是不够的。可以用(*咳嗽*)有人知道... – larsr

+30

你也可以做'流浪者重新加载' –

+1

供参考:https://docs.vagrantup.com/v2/virtualbox/configuration.html –

0

您可以轻松地增加你的虚拟机的内存文件。

config.vm.provider "virtualbox" do |vb| 
vb.memory = "4096" 
end 

这会为您的虚拟机分配大约4GB的RAM。您可以根据您的要求进行更改。例如,以下设置将为您的虚拟机分配2GB的RAM。

config.vm.provider "virtualbox" do |vb| 
vb.memory = "2048" 
end 

尝试在您的文件中删除config.vm.customize ["modifyvm", :id, "--memory", 1024]并添加上面的代码。

对于网络配置,尝试修改在文件中config.vm.network :hostonly, "199.188.44.20"config.vm.network "private_network", ip: "199.188.44.20"

相关问题