Настройка "Интерфейса паравиртуализации" в Vagrantfile

VirtualBox 5 предоставляет параметр под названием "Интерфейс паравиртуализации", который может повысить производительность для некоторых конкретных гостевых операционных систем.

Есть ли способ установить эту опцию в Vagrantfile?

И вообще: есть ли документация по настройке ускорения через Vagrantfile?

1 ответ

Решение

Нашел это. VBoxManage (инструмент CLI VirtualBox) имеет необязательный аргумент --paravirtprovider, Вы можете добавить это к vb.customize вызов:

Vagrant.configure(2) do |config|
  config.vm.box = "ubuntu/trusty64"
  config.vm.provider "virtualbox" do |vb|
    vb.customize [
      "modifyvm", :id,
      "--memory", "1024",
      "--paravirtprovider", "kvm", # for linux guest
      "--cpus", "2"
    ]
  end
end

Другие настройки процессора также доступны таким образом, vb.customize принимает тот же аргумент, что и VBoxManage, Ссылаться на VboxManage --help чтобы получить список всех вариантов.

В моем Vagrantfile не было раздела vb.customize (возможно, в принятом ответе используется более старый формат (?)). Основываясь на https://www.vagrantup.com/docs/virtualbox/configuration.html и https://www.virtualbox.org/manual/ch08.html (поиск --nictype), у меня сработало следующее. Мне не нужно было явно устанавливать KVM, потому что я был на Linux, и это было по умолчанию.

Vagrant.configure("2") do |config|

    config.vm.box = "ubuntu/bionic64"
    config.vm.hostname = "whatever"

    config.vm.provider "virtualbox" do |vb|
        vb.memory = "512"
        vb.cpus = "2"
        vb.default_nic_type = "virtio"
    end
end

Установив для этого default_nic_type значение virtio, этот тип получил не только первый сетевой адаптер с NAT, но также я определил второй сетевой адаптер (здесь не показан), и он также был создан как virtio (virtio-net в графическом интерфейсе параметров виртуальной коробки).

Другие вопросы по тегам