VagrantでRAMを増やしてホストオンリーネットワークをセットアップするにはどうすればよいですか?


95

RAMを少なくとも1 GBに増やし、「ホストオンリー」ネットワークを構成して「199.188.44.20」を使用したいと思います。

これは私の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

ただし、実行するvagrant upと次のようになります。

起動しようとしたときに、VMが「実行中」の状態を維持できませんでした。これは通常、設定ミスまたはホストシステムの互換性がないことが原因です。VirtualBox GUIを開き、仮想マシンを手動で起動して、より有益なエラーメッセージを取得してください。

また、connection refuseVMにログインしようとするとエラーが発生します。


RAMを増やすと、「強制終了」メッセージが表示される場合に役立つことがあります。
wieczorek1990 16

回答:


63

次の構成を追加することで、さまざまなVMプロパティを変更できます(詳細については、Vagrantのドキュメントを参照してください)。

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

VirtualBoxコマンドラインオプションのドキュメントから、変更するプロパティを取得できます。

浮浪者のドキュメントは、 IPアドレスを変更する方法についてのセクションがあります。

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

また、このように構成を再構築することもできます。終了は、ネストせずに終了で行います。これはもっと簡単です。

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

143

Vagrant 2の使用時にメモリまたはCPUの数を増やすには、これをVagrantfileに追加します

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

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

14
ありがとう!新しい設定でマシンを再起動することvagrant haltを忘れないでくださいvagrant up。それを行うだけでは十分ではありませんvagrant suspend。(*咳*)誰かが知っているのに役立つかもしれません...
larsr 2014年

41
次のこともできますvagrant reload
Matt Frear、2014年


このように書くこともできますconfig.vm.provider:virtualbox
ソーサン

96

以来Vagrant 1.1 customizeオプションVirtualBoxの固有を得ています。

それを行う最新の方法は次のとおりです。

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

1
docs.vagrantup.com/v2/providers/basic_usage.htmlvagrant up --provider=virtualboxごとに使用することもできます
user456584

2
近代的な方法あなたは意味VAGRANTFILE_API_VERSION = "2"で説明したように、ベイグラントドキュメント
AlexT

7

これらの答えはどれも機能しませんでした。Vagrant::Config.run doブロックの前に、Vagrantfileの最上部に配置したものは次のとおりです。

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

ショートカットアクセサースタイル "vb.memory = 1024"が機能していないようです。


3

vagrantファイルのconfig.vm.providerセクションのmemoryプロパティを変更することで、VMのRAMを簡単に増やすことができます。

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

これにより、約4GBのRAMがVMに割り当てられます。これは、必要に応じて変更できます。たとえば、次の設定ではVMに2GBのRAMが割り当てられます。

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

削除してくださいconfig.vm.customize ["modifyvm", :id, "--memory", 1024]あなたのファイルでは、上記のコードを追加します。

ネットワーク構成についてはconfig.vm.network :hostonly, "199.188.44.20"、ファイルのを変更してみてくださいconfig.vm.network "private_network", ip: "199.188.44.20"

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.