Как выбрать интерфейс паравиртуализации в VirtualBox?

89

Учитывая хост-систему Windows 8 (Intel Core i5) и хост Linux Fedora, я бы хотел определить оптимальные настройки для паравиртуального интерфейса.

Варианты

  • никто
  • По умолчанию
  • наследие
  • минимальный
  • Hyper-V,
  • KVM

Эта страница предлагает выбрать только на основе гостевой системы:

Самым большим изменением в VirtualBox 5.0 является поддержка паравиртуализации, обеспечивающая более высокую производительность и точность учета времени в поддерживаемых гостевых операционных системах (Hyper-V в Windows и KVM в Linux).

Это правильно?

начинающий
источник

Ответы:

98

В руководстве VirtualBox в разделе, озаглавленном « Поставщики паравиртуализации», очень четко объясняется, когда следует использовать каждый из них (выделение добавлено):

  • Минимальный: объявляет о наличии виртуальной среды. Кроме того, сообщает частоту TSC и APIC гостевой операционной системе. Этот поставщик обязателен для запуска любых гостей Mac OS X.

  • KVM: представляет интерфейс гипервизора Linux KVM, который распознается ядрами Linux начиная с версии 2.6.25. Реализация VirtualBox в настоящее время поддерживает паравиртуализированные часы и спин-блокировки SMP. Этот провайдер рекомендуется для гостей Linux.

  • Hyper-V: представляет интерфейс гипервизора Microsoft Hyper-V, который распознается Windows 7 и более новыми операционными системами. Реализация VirtualBox в настоящее время поддерживает паравиртуализированные часы, отчеты о частоте APIC, гостевую отладку, сообщения о сбоях гостей и ослабленные проверки таймера. Этот провайдер рекомендуется для гостей Windows.

Другие параметры в раскрывающемся списке делают следующее, как описано в vboxmanageдокументации :

  • Нет : указание noneявно отключает показ любого интерфейса паравиртуализации.

  • По умолчанию : опция defaultвыберет соответствующий интерфейс в зависимости от типа гостевой ОС при запуске виртуальной машины. Это опция по умолчанию, выбранная при создании новых виртуальных машин.

  • Legacy : эта legacyопция выбрана для виртуальных машин, которые были созданы с более старыми версиями VirtualBox, и выберет интерфейс паравиртуализации при запуске виртуальной машины с VirtualBox 5.0 и новее.

heavyd
источник
6
При тестировании режима KVM на моем госте Ubuntu (с использованием OSX в качестве хоста) было несколько проблем, связанных со временем, включая часы, работающие примерно в два раза медленнее. (Я бы установил время с помощью ntp, и через 10 минут часы задержались бы примерно на 5 минут). На самом деле система работала все медленнее, например, вызов «sleep 5» занял бы больше 5 секунд. В настоящее время я вернулся в режим «Наследие»
JBernardo
@JBernardo Вы тестировали режим по умолчанию ?
Лео Леопольд Герц 준영
@ LéoLéopoldHertz 준영 Разве режим по умолчанию не будет таким же, как KVM, который они уже пробовали?
эндолит
@JBernardo Обычно не следует использовать ntp внутри виртуальной машины, поскольку она синхронизируется с хостом гостевыми утилитами. Это может помешать.
Бахсау
9

Давайте будем более точными, потому что у меня было 4,3 перенесенных виртуальных машин, и они являются «устаревшими», также меня интересовало, какой параметр использовать, если я копирую виртуальную машину из Linux в Windows или наоборот:

--paravirtprovider none | default | legacy | minimal | hyperv | kvm: Этот параметр указывает, какой интерфейс паравиртуализации следует предоставлять гостевой операционной системе.

  • Указание none явно отключает показ любого интерфейса паравиртуализации.
  • Опция default выберет соответствующий интерфейс в зависимости от типа гостевой ОС при запуске виртуальной машины. Это опция по умолчанию, выбранная при создании новых виртуальных машин.
  • Наследие выбрана опция для виртуальных машин , которые были созданными с более старым VirtualBox версией и подберут интерфейс паравиртуализации при запуске ВМ с VirtualBox 5.0 и новее.
  • Минимальный поставщик является обязательным для гостей Mac OS X ,
  • kvm - рекомендуется для гостей Linux
  • и hyperv - рекомендуется для гостей Windows

Эти параметры подробно описаны в разделе 10.4 « Поставщики паравиртуализации ».

Из руководства, глава 8 .

Поэтому, если вы обновили VirtualBox до версии 5 в Linux, просто выберите kvm или default , запустите VM и проверьте, работает ли он правильно. Если да, просто оставьте новую настройку.

Если вы мигрируете / перемещаете виртуальные машины из Linux в Windows, я рекомендую использовать опцию по умолчанию , которая автоматически выбирает лучший интерфейс виртуализации.

Арунас Бартисиус
источник
0

Просто мю до центов, основываясь на моих собственных тестах.

Я тестировал с гостем Windows 10, работающим на хосте Windows 10 и на хосте Linux (или, по крайней мере, я пробовал).

Не говоря уже о том, что все виртуальные диски, которые я использую, являются неизменяемыми (для обеспечения идентичных тестов).

На хосте Windows 10 гость работает нормально (возможно, немного медленно), но он загружается и отображается рабочий стол ... паравиртуализация "по умолчанию".

Если я пытаюсь использовать ту же виртуальную машину на хосте Linux с паравиртуализацией «по умолчанию», то гостевая система Windows 10 не загружается, она загружается до тех пор, пока точки не перемещаются по кругу, а затем через некоторое время зависает ... нет возможности войти ни в логин, ни в рабочий стол. .. помните, что все диски являются неизменными.

Но как только я установил для паравиртуализации значение «Heredada» (по-испански), он загружается и достигает рабочего стола, но иногда (помните, что все диски являются неизменяемыми), он перезагружается, в то время как в других случаях я могу использовать его (очень, очень медленно). Так что где-то должен быть скачок, грешить неизменными дисками, он не всегда делает то же самое.

Да, кстати, у гостя Windows нет доступа к Интернету, чтобы быть уверенным, что никакое подключение к Интернету не может заставить вещи работать по-другому среди холодных сапог.

Помните:

  • Все диски неизменны
  • Все возвращаются обратно при каждой холодной загрузке
  • Гость Windows не всегда работает
  • При паравиртуализации по умолчанию он даже не загружается на хосте Linux, но хорошо загружается на хосте Windows.
  • При паравиртуализации на "Heredada" он загружается на хосте Linux (но он не всегда стабилен, чтобы позволить вам его использовать)

Я также попытался включить / отключить 2D и 3D (также PAE / NX), потому что я хочу, чтобы один и тот же гость (виртуальные жесткие диски, скопированные с одного хоста на другой) был стабильным на двух разных хостах; также я хочу иметь возможность копировать виртуальные жесткие диски с одного хоста на другой хост после того, как я сделаю какое-либо обновление (перед холодной загрузкой объедините неизменяемый диск с его родителем, чтобы сделать изменения постоянными и не потеряться, иначе говоря, используя CloneVDI); Я не использую снимки, только неизменяемые диски.

Это то, что я видел, я должен делать больше тестов с другими значениями паравиртуализации, на тот случай, если кто-нибудь лучше работает на хосте Linux. Я не использую ни MAC, ни OS / 2, только хост Windows и хост Linux (оба хоста находятся на разном физическом оборудовании).

ВЕРСИЯ: Гостем Windows 10 является HOME 64Bits, версия 1809.17763.379

Надеюсь, что это поможет другим, протестировать и протестировать и повторно протестировать (лучше с неизменяемыми дисками) любую комбинацию значений, пока не найдется одна комбинация, которая работает, кажется, что это единственный способ заставить гостя работать на разных типах хостов (Windows / Linux)! !!

Лаура
источник