Vagrant에서 RAM을 늘리고 호스트 전용 네트워킹을 설정하려면 어떻게해야합니까?


95

RAM을 1GB 이상으로 늘리고 "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을 늘리면 "Killed"메시지가 표시 될 때 도움이 될 수 있습니다.
wieczorek1990

답변:


64

다음 구성을 추가하여 다양한 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

41
또한 할 수 있습니다vagrant reload
Matt Frear 2014


이 방법으로도 작성할 수 있습니다. config.vm.provider : virtualbox
Thushan

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.html에vagrant 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 섹션의 메모리 속성을 수정하여 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.