Wie erhöhe ich den Arbeitsspeicher und richte in Vagrant ein Nur-Host-Netzwerk ein?

95

Ich möchte den Arbeitsspeicher auf mindestens 1 GB erhöhen und das Netzwerk "Nur Host" für die Verwendung von "199.188.44.20" konfigurieren.

Das ist mein 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

Wenn ich jedoch renne, vagrant upbekomme ich:

Die VM konnte beim Startvorgang nicht im Status "Ausführen" bleiben. Dies wird normalerweise durch eine Fehlkonfiguration oder inkompatible Hostsysteme verursacht. Öffnen Sie die VirtualBox-Benutzeroberfläche und versuchen Sie, die virtuelle Maschine manuell zu starten, um eine informativere Fehlermeldung zu erhalten

connection refuseBeim Versuch, mich bei der VM anzumelden , wird eine Fehlermeldung angezeigt.

DC Redwing
quelle
Das Erhöhen des Arbeitsspeichers kann hilfreich sein, wenn die Meldung "Getötet" angezeigt wird.
wieczorek1990

Antworten:

63

Sie können verschiedene VM-Eigenschaften ändern, indem Sie die folgende Konfiguration hinzufügen ( weitere Informationen finden Sie in den Vagrant-Dokumenten ):

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

Sie können die Eigenschaften, die Sie ändern möchten, aus den Dokumenten für die VirtualBox-Befehlszeilenoptionen abrufen:

Die Vagrant-Dokumentation enthält den Abschnitt zum Ändern der IP-Adresse:

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

Sie können die Konfiguration auch so umstrukturieren, dass das Beenden mit end endet, ohne es zu verschachteln. Das ist einfacher.

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

Fügen Sie dies zu Ihrer Vagrant-Datei hinzu, um die Speicher- oder CPU-Anzahl bei Verwendung von Vagrant 2 zu erhöhen

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
quelle
14
Vielen Dank! Man muss bedenken , zu tun , vagrant haltund vagrant updie Maschine mit den neuen Einstellungen neu zu starten. Das reicht nicht aus vagrant suspend. Könnte nützlich sein für (* Husten *) jemanden zu wissen ...
Larsr
41
Sie können auch tunvagrant reload
Matt Frear
1
Zu Referenzzwecken: docs.vagrantup.com/v2/virtualbox/configuration.html
Adam Michalik
Sie können auch auf diese Weise schreiben config.vm.provider: virtualbox
Thushan
96

Da Vagrant 1.1 customizeOption wird VirtualBox-spezifisch.

Die moderne Art, dies zu tun, ist:

config.vm.provider :virtualbox do |vb|
  vb.customize ["modifyvm", :id, "--memory", "256"]
end
Paul Brit
quelle
1
Sie können auch vagrant up --provider=virtualboxper docs.vagrantup.com/v2/providers/basic_usage.html
user456584
2
Mit modern meinen Sie VAGRANTFILE_API_VERSION = "2", wie in den Vagrant-Dokumenten beschrieben
AlexT
7

Ich konnte keine dieser Antworten zum Laufen bringen. Folgendes habe ich vor dem Vagrant::Config.run doBlock ganz oben in meine Vagrant-Datei eingefügt :

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

Ich bemerkte, dass der Shortcut-Accessor-Stil "vb.memory = 1024" nicht zu funktionieren schien.

esharp
quelle
3

Sie können den RAM Ihrer VM einfach erhöhen, indem Sie die Speichereigenschaft des Abschnitts config.vm.provider in Ihrer Vagrant-Datei ändern.

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

Dadurch werden Ihrer VM ca. 4 GB RAM zugewiesen. Sie können dies entsprechend Ihren Anforderungen ändern. Wenn Sie beispielsweise die folgende Einstellung verwenden, werden Ihrer VM 2 GB RAM zugewiesen.

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

Versuchen Sie, das config.vm.customize ["modifyvm", :id, "--memory", 1024]in Ihrer Datei zu entfernen und den obigen Code hinzuzufügen.

Versuchen Sie für die Netzwerkkonfiguration, das config.vm.network :hostonly, "199.188.44.20"in Ihrer Datei auf zu ändernconfig.vm.network "private_network", ip: "199.188.44.20"

codeness93
quelle