¿Cómo aumento la RAM y configuro una red de solo host en Vagrant?

95

Me gustaría aumentar la RAM a al menos 1 GB y me gustaría configurar la red "Solo host" para usar "199.188.44.20".

Este es mi 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

Sin embargo, cuando corro vagrant upobtengo:

La máquina virtual no pudo permanecer en el estado "en ejecución" mientras intentaba arrancar. Normalmente, esto se debe a una mala configuración o incompatibilidades del sistema host. Abra la GUI de VirtualBox e intente iniciar la máquina virtual manualmente para obtener un mensaje de error más informativo

Y recibo un connection refuseerror cuando intento iniciar sesión en la máquina virtual.

Dc Redwing
fuente
El aumento de RAM puede ayudar cuando recibe el mensaje "Eliminado".
wieczorek1990

Respuestas:

63

Puede modificar varias propiedades de VM agregando la siguiente configuración ( consulte los documentos de Vagrant para obtener un poco más de información ):

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

Puede obtener las propiedades que desea cambiar de los documentos para las opciones de línea de comandos de VirtualBox:

La documentación de vagabundos tiene la sección sobre cómo cambiar la dirección IP:

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

También puede reestructurar la configuración de esta manera, el final se hace con el final sin anidarlo. Esto es más sencillo.

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
fuente
143

Para aumentar la memoria o el recuento de CPU al usar Vagrant 2, agregue esto a su 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
fuente
14
¡Gracias! Hay que recordar hacer vagrant halty vagrant upreiniciar la máquina con la nueva configuración. No es suficiente con hacer vagrant suspend. Podría ser útil para (* tos *) que alguien sepa ...
larsr
41
También puedes hacerlovagrant reload
Matt Frear
1
Para fines de referencia: docs.vagrantup.com/v2/virtualbox/configuration.html
Adam Michalik
También puede escribir de esta manera config.vm.provider: virtualbox
Thushan
96

Dado que la Vagrant 1.1 customizeopción es específica de VirtualBox.

La forma moderna de hacerlo es:

config.vm.provider :virtualbox do |vb|
  vb.customize ["modifyvm", :id, "--memory", "256"]
end
Paul Brit
fuente
1
También puede utilizar vagrant up --provider=virtualboxpor docs.vagrantup.com/v2/providers/basic_usage.html
user456584
2
Por forma moderna te refieres VAGRANTFILE_API_VERSION = "2", como se describe en los documentos de Vagrant
AlexT
7

No pude conseguir que ninguna de estas respuestas funcionara. Esto es lo que terminé poniendo en la parte superior de mi Vagrantfile, antes del Vagrant::Config.run dobloque:

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

Noté que el estilo de acceso directo, "vb.memory = 1024", no parecía funcionar.

esharp
fuente
3

Puede aumentar fácilmente la RAM de su VM modificando la propiedad de memoria de la sección config.vm.provider en su archivo vagabundo.

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

Esto asigna aproximadamente 4 GB de RAM a su máquina virtual. Puede cambiar esto según sus necesidades. Por ejemplo, la siguiente configuración asignaría 2 GB de RAM a su máquina virtual.

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

Intente eliminar el config.vm.customize ["modifyvm", :id, "--memory", 1024]en su archivo y agregue el código anterior.

Para la configuración de red, intente modificar config.vm.network :hostonly, "199.188.44.20"en su archivo paraconfig.vm.network "private_network", ip: "199.188.44.20"

codeness93
fuente