Jak zwiększyć ilość pamięci RAM i skonfigurować sieć tylko z hostem w Vagrant?

95

Chciałbym zwiększyć ilość pamięci RAM do co najmniej 1 GB i skonfigurować sieć „Tylko host”, aby używała „199.188.44.20”.

To jest moje 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

Jednak kiedy biegam vagrant up, otrzymuję:

Maszyna wirtualna nie pozostała w stanie „uruchomiona” podczas próby uruchomienia. Zwykle jest to spowodowane błędną konfiguracją lub niezgodnością systemu hosta. Otwórz GUI VirtualBox i spróbuj ręcznie uruchomić maszynę wirtualną, aby uzyskać więcej informacji o błędzie

connection refusePodczas próby zalogowania się do maszyny wirtualnej pojawia się błąd.

Dc Redwing
źródło
Zwiększenie pamięci RAM może pomóc, gdy pojawi się komunikat „Zabity”.
wieczorek1990

Odpowiedzi:

64

Możesz modyfikować różne właściwości maszyny wirtualnej, dodając następującą konfigurację ( zobacz dokumentację Vagrant, aby uzyskać więcej informacji ):

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

Możesz uzyskać właściwości, które chcesz zmienić z dokumentów dla opcji wiersza polecenia VirtualBox:

Dokumentacja włóczęgów zawiera sekcję dotyczącą zmiany adresu IP:

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

Możesz także zmienić strukturę konfiguracji w ten sposób, kończąc na końcu bez zagnieżdżania. To jest prostsze.

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
źródło
143

Aby zwiększyć ilość pamięci lub procesora podczas korzystania z Vagrant 2, dodaj to do swojego 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
źródło
14
Dzięki! Należy pamiętać, aby zrobić vagrant halti vagrant upzrestartować maszynę z nowymi ustawieniami. To nie wystarczy vagrant suspend. Może być przydatny dla (* kaszlu *) kogoś, kogo można znać ...
larsr
41
Możesz także to zrobićvagrant reload
Matt Frear
1
Dla celów informacyjnych: docs.vagrantup.com/v2/virtualbox/configuration.html
Adam Michalik
Możesz też napisać w ten sposób config.vm.provider: virtualbox
Thushan
96

Ponieważ Vagrant 1.1 customizeopcja jest specyficzna dla VirtualBox.

Współczesnym sposobem na to jest:

config.vm.provider :virtualbox do |vb|
  vb.customize ["modifyvm", :id, "--memory", "256"]
end
Paul Brit
źródło
1
Możesz również użyć vagrant up --provider=virtualboxper docs.vagrantup.com/v2/providers/basic_usage.html
user456584
2
Mówiąc współczesnie, masz na myśli VAGRANTFILE_API_VERSION = "2", jak opisano w dokumentach Vagrant
AlexT,
7

Żadna z tych odpowiedzi nie zadziałała. Oto, co ostatecznie umieściłem na samej górze mojego pliku Vagrantfile, przed Vagrant::Config.run doblokiem:

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

Zauważyłem, że styl akcesorium skrótu „vb.memory = 1024” nie działa.

esharp
źródło
3

Możesz łatwo zwiększyć pamięć RAM swojej maszyny wirtualnej, modyfikując właściwość pamięci w sekcji config.vm.provider w pliku vagrant.

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

To przydziela około 4 GB pamięci RAM do maszyny wirtualnej. Możesz to zmienić zgodnie ze swoimi wymaganiami. Na przykład poniższe ustawienie przydzieli 2 GB pamięci RAM do maszyny wirtualnej.

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

Spróbuj usunąć config.vm.customize ["modifyvm", :id, "--memory", 1024]w swoim pliku i dodać powyższy kod.

W przypadku konfiguracji sieci spróbuj zmodyfikować config.vm.network :hostonly, "199.188.44.20"plik w pliku naconfig.vm.network "private_network", ip: "199.188.44.20"

kodowanie 93
źródło