2012-09-06 38 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"

相關問題