97 votes

Comment augmenter la mémoire vive et mettre en place un réseau uniquement hôte dans Vagrant ?

Je voudrais augmenter la mémoire vive à au moins 1 Go et je voudrais configurer le réseau "Host-Only" pour utiliser "199.188.44.20".

C'est mon 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

Cependant, lorsque je lance vagrant up J'ai compris :

La VM n'a pas réussi à rester dans l'état "en cours d'exécution" lors de la tentative de démarrage. Cela est normalement dû à une mauvaise configuration ou à des incompatibilités du système hôte. Veuillez ouvrir le GUI de VirtualBox et essayer de démarrer la machine virtuelle manuellement pour obtenir un message d'erreur plus informatif.

Et, je reçois un connection refuse erreur lorsque j'essaie de me connecter à la VM.

0 votes

Augmenter la RAM peut aider lorsque vous obtenez le message "Killed".

148voto

Matt Frear Points 6287

Pour augmenter la mémoire ou le nombre de CPU lorsque vous utilisez Vagrant 2, ajoutez ce qui suit à votre fichier Vagrant

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

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

14 votes

Merci ! Il faut se souvenir de faire vagrant halt et vagrant up pour redémarrer la machine avec les nouveaux paramètres. Il ne suffit pas de faire vagrant suspend . Cela pourrait être utile pour (*toux*) quelqu'un de savoir...

42 votes

Vous pouvez également faire vagrant reload

1 votes

96voto

Paul Chechetin Points 2584

Depuis Vagrant 1.1 customize devient spécifique à VirtualBox.

La façon moderne de procéder est la suivante :

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

1 votes

Vous pouvez également utiliser vagrant up --provider=virtualbox par docs.vagrantup.com/v2/providers/basic_usage.html

2 votes

Par méthode moderne vous voulez dire VAGRANTFILE_API_VERSION = "2" comme décrit dans le Documentation sur Vagrant

66voto

pyfunc Points 31088

Vous pouvez modifier diverses propriétés de la VM en ajoutant la configuration suivante ( Voir la documentation de Vagrant pour plus d'informations. ) :

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

Vous pouvez obtenir les propriétés que vous souhaitez modifier à partir des options de la ligne de commande des documents pour VirtualBox :

Le site documentation sur le vagabondage a la section sur la façon de changer l'adresse IP :

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

Vous pouvez également restructurer la configuration de la manière suivante, en terminant par "end" sans l'imbriquer. C'est plus simple.

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

7voto

esharp Points 580

Je n'ai pu faire fonctionner aucune de ces réponses. Voici ce que j'ai fini par mettre tout en haut de mon fichier Vagrant, avant l'option Vagrant::Config.run do bloc :

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

J'ai remarqué que le style d'accesseur de raccourci, "vb.memory = 1024", ne semble pas fonctionner.

5voto

codeness93 Points 101

Vous pouvez facilement augmenter la RAM de votre VM en modifiant la propriété mémoire de la section config.vm.provider de votre fichier vagrant.

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

Cela alloue environ 4 Go de RAM à votre VM. Vous pouvez modifier ce paramètre en fonction de vos besoins. Par exemple, le paramètre suivant alloue 2 Go de RAM à votre VM.

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

Essayez de retirer le config.vm.customize ["modifyvm", :id, "--memory", 1024] dans votre fichier, et en ajoutant le code ci-dessus.

Pour la configuration du réseau, essayez de modifier le config.vm.network :hostonly, "199.188.44.20" dans votre fichier pour config.vm.network "private_network", ip: "199.188.44.20"

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X