Как увеличить объем оперативной памяти и настроить сеть только для хостов в Vagrant?

Я хотел бы увеличить оперативную память до 1 ГБ, и я хотел бы настроить сеть "Только хост" для использования "199.188.44.20".

Это мой 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 при попытке входа в виртуальную машину.

Ответ 1

Вы можете изменить различные свойства виртуальной машины, добавив следующую конфигурацию (см. документы бродяг для получения дополнительной информации):

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

Вы можете получить свойства, которые вы хотите изменить, из документов для параметров командной строки VirtualBox:

бродячая документация содержит раздел о том, как изменить 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

Ответ 2

Чтобы увеличить количество памяти или процессора при использовании Vagrant 2, добавьте это в свой Vagrantfile

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

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

Ответ 3

Так как опция Vagrant 1.1 customize получает VirtualBox-специфический.

Современный способ сделать это:

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

Ответ 4

Я не мог получить ни один из этих ответов для работы. Вот то, что я в конечном итоге поставил на самый верх моего 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", похоже, не работает.

Ответ 5

Вы можете легко увеличить свою RAM-память VM, изменив свойство памяти раздела config.vm.provider в своем бродяжном файле.

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

Это выделяет около 4 ГБ ОЗУ для вашей виртуальной машины. Вы можете изменить это в соответствии с вашим требованием. Например, следующий параметр будет выделять 2 ГБ ОЗУ вашей виртуальной машине.

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"