如何在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 refuse尝试登录虚拟机时出现错误。


当您收到“杀死”消息时,增加RAM可能会有所帮助。
wieczorek1990 '16

Answers:


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 haltvagrant up要使用新设置重新启动计算机。这样做是不够的vagrant suspend。可能对(*咳嗽*)某人了解有用...
larsr 2014年

41
您也可以这样做vagrant reload
Matt Frear 2014年


VirtualBox的:你可以用这种方式太config.vm.provider写
Thushan


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

您可以通过修改无业游民文件中的config.vm.provider部分的内存属性轻松地增加VM的RAM。

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

这会为您的VM分配大约4GB的RAM。您可以根据需要进行更改。例如,以下设置将为您的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"

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.