Làm cách nào để tăng RAM và thiết lập mạng chỉ dành cho máy chủ trong Vagrant?


95

Tôi muốn tăng RAM lên ít nhất 1 GB và tôi muốn định cấu hình mạng “Chỉ máy chủ” để sử dụng "199.188.44.20".

Đây là của tôi 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

Tuy nhiên, khi chạy vagrant uptôi nhận được:

Máy ảo không thể ở trạng thái "đang chạy" trong khi cố gắng khởi động. Điều này thường là do cấu hình sai hoặc hệ thống máy chủ không tương thích. Vui lòng mở VirtualBox GUI và cố gắng khởi động máy ảo theo cách thủ công để nhận được thông báo lỗi nhiều thông tin hơn

Và, tôi gặp connection refuselỗi khi cố gắng đăng nhập vào máy ảo.


Tăng RAM có thể hữu ích khi bạn nhận được thông báo "Đã giết".
wieczorek1990

Câu trả lời:


63

Bạn có thể sửa đổi các thuộc tính VM khác nhau bằng cách thêm cấu hình sau ( xem tài liệu Vagrant để biết thêm thông tin ):

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

Bạn có thể lấy các thuộc tính mà bạn muốn thay đổi từ các tài liệu cho tùy chọn dòng lệnh VirtualBox:

Các tài liệu lang thang có phần nói về làm thế nào để thay đổi địa chỉ IP:

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

Ngoài ra, bạn có thể cấu trúc lại cấu hình như thế này, kết thúc là làm bằng kết thúc mà không lồng ghép nó. Điều này đơn giản hơn.

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

Để tăng bộ nhớ hoặc số lượng CPU khi sử dụng Vagrant 2, hãy thêm nó vào Vagrantfile của bạn

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

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

14
Cảm ơn! Người ta phải nhớ làm vagrant haltvagrant upkhởi động lại máy với các cài đặt mới. Nó là không đủ để làm vagrant suspend. Có thể hữu ích cho (* ho *) ai biết ...
larsr

41
Bạn cũng có thể làmvagrant reload
Matt Frear


Bạn cũng có thể viết theo cách này config.vm.provider: virtualbox
Do đó,

96

Vagrant 1.1 customizetùy chọn dành riêng cho VirtualBox.

Cách hiện đại để làm điều đó là:

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

1
Bạn cũng có thể sử dụng vagrant up --provider=virtualboxmỗi docs.vagrantup.com/v2/providers/basic_usage.html
user456584

2
Bằng cách hiện đại bạn có ý nghĩa VAGRANTFILE_API_VERSION = "2", như mô tả trong tài liệu Vagrant
AlexT

7

Tôi không thể nhận được bất kỳ câu trả lời nào trong số này để làm việc. Đây là những gì tôi đã kết thúc ở đầu Vagrantfile của mình, trước Vagrant::Config.run dokhối:

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

Tôi nhận thấy rằng kiểu trình truy cập lối tắt, "vb.memory = 1024", dường như không hoạt động.


3

Bạn có thể dễ dàng tăng RAM máy ảo của mình bằng cách sửa đổi thuộc tính bộ nhớ của phần config.vm.provider trong tệp vagrant của bạn.

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

Điều này phân bổ khoảng 4GB RAM cho máy ảo của bạn. Bạn có thể thay đổi điều này theo yêu cầu của bạn. Ví dụ: cài đặt sau sẽ phân bổ 2GB RAM cho máy ảo của bạn.

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

Hãy thử xóa config.vm.customize ["modifyvm", :id, "--memory", 1024]tệp trong tệp của bạn và thêm mã trên.

Đối với cấu hình mạng, hãy thử sửa đổi config.vm.network :hostonly, "199.188.44.20"tệp trong tệp của bạn thànhconfig.vm.network "private_network", ip: "199.188.44.20"

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.