Como eu aumento a RAM e configuro a rede somente host no Vagrant?

95

Eu gostaria de aumentar a RAM para pelo menos 1 GB e gostaria de configurar a rede “Somente Host” para usar "199.188.44.20".

Este é o meu 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

No entanto, quando corro vagrant up, recebo:

A VM falhou em permanecer no estado de "execução" ao tentar inicializar. Isso normalmente é causado por uma configuração incorreta ou incompatíveis do sistema host. Abra a GUI do VirtualBox e tente inicializar a máquina virtual manualmente para obter uma mensagem de erro mais informativa

E estou recebendo um connection refuseerro quando tento fazer login na VM.

Dc Redwing
fonte
Aumentar a RAM pode ajudar quando você receber a mensagem "Killed".
wieczorek1990

Respostas:

63

Você pode modificar várias propriedades da VM adicionando a seguinte configuração ( consulte os documentos do Vagrant para obter mais informações ):

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

Você pode obter as propriedades que deseja alterar nos documentos das opções de linha de comando do VirtualBox:

A documentação do vagrant contém a seção sobre como alterar o endereço IP:

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

Além disso, você pode reestruturar a configuração assim, finalizar é fazer com final sem aninhá-lo. Isso é mais simples.

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
pyfunc
fonte
143

Para aumentar a memória ou contagem de CPU ao usar o Vagrant 2, adicione isso ao seu Vagrantfile

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

    config.vm.provider "virtualbox" do |v|
        v.memory = 1024
        v.cpus = 2
    end
end
Matt Frear
fonte
14
Obrigado! É preciso lembrar de fazer vagrant halte vagrant upreiniciar a máquina com as novas configurações. Não é suficiente fazer vagrant suspend. Pode ser útil para (* tosse *) alguém conhecer ...
larsr
41
Você também pode fazervagrant reload
Matt Frear
1
Para fins de referência: docs.vagrantup.com/v2/virtualbox/configuration.html
Adam Michalik
Você também pode escrever desta forma config.vm.provider: virtualbox
Assim
96

Uma vez que a Vagrant 1.1 customizeopção está ficando específica para o VirtualBox.

A maneira moderna de fazer isso é:

config.vm.provider :virtualbox do |vb|
  vb.customize ["modifyvm", :id, "--memory", "256"]
end
Paul Brit
fonte
1
Você também pode usar vagrant up --provider=virtualboxpor docs.vagrantup.com/v2/providers/basic_usage.html
user456584
2
Por maneira moderna você quer dizer VAGRANTFILE_API_VERSION = "2", conforme descrito nos documentos
AlexT
7

Não consegui fazer nenhuma dessas respostas funcionar. Aqui está o que acabei colocando no topo do meu Vagrantfile, antes do Vagrant::Config.run dobloco:

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

Percebi que o estilo do acessador de atalho, "vb.memory = 1024", parecia não funcionar.

bem afiado
fonte
3

Você pode facilmente aumentar a RAM de sua VM modificando a propriedade de memória da seção config.vm.provider em seu arquivo vagrant.

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

Isso aloca cerca de 4 GB de RAM para sua VM. Você pode alterar isso de acordo com sua necessidade. Por exemplo, a configuração a seguir alocaria 2 GB de RAM para sua VM.

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

Tente remover o config.vm.customize ["modifyvm", :id, "--memory", 1024]do seu arquivo e adicionar o código acima.

Para a configuração de rede, tente modificar o config.vm.network :hostonly, "199.188.44.20"em seu arquivo paraconfig.vm.network "private_network", ip: "199.188.44.20"

codeness93
fonte