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

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

Варианты следующие

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

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

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

Верно ли это?

Решение

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

    • Minimal: Объявляет о наличии виртуализированной среды. Дополнительно сообщает гостевой операционной системе о частоте TSC и APIC. Этот провайдер обязателен для запуска любых Mac OS X гостей..
    • KVM: Представляет интерфейс гипервизора Linux KVM, который распознается ядрами Linux, начиная с версии 2.6.25. Реализация VirtualBox'а в настоящее время поддерживает паравиртуализированные часы и SMP spinlocks. Этот провайдер рекомендуется для гостей Linux..
    • Hyper-V: Представляет интерфейс гипервизора Microsoft Hyper-V, который распознается Windows 7 и более новыми операционными системами. Реализация VirtualBox'в настоящее время поддерживает паравиртуализированные часы, отчет о частоте APIC, отладку гостя, отчет о крахе гостя и расслабленные проверки таймера. Этот провайдер рекомендуется для гостей Windows..

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

    • None: Указание none явно отключает раскрытие любого интерфейса паравиртуализации.
    • По умолчанию: Опция default, при запуске ВМ будет выбирать соответствующий интерфейс в зависимости от типа гостевой ОС. Эта опция выбирается по умолчанию при создании новых ВМ.
  • Legacy: Опция legacy выбирается для ВМ, которые были созданы с более старыми версиями VirtualBox, и будет выбирать интерфейс паравиртуализации при запуске ВМ с VirtualBox 5.0 и новее.

Комментарии (4)

Давайте уточним, потому что у меня было 4.3 мигрированных VM, и они "старые", также меня интересовало, какие настройки использовать, если я копирую VM из Linux в Windows или наоборот:

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

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

Эти опции подробно описаны в разделе 10.4, "Провайдеры паравиртуализации".

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

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

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

Комментарии (0)

Просто му к центу, основанному на моих собственных тестах.

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

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

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

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

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

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

Помните:

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

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

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

ВЕРСИЯ: гостевая Windows 10 - HOME 64Bits, версия 1809.17763.379.

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

Комментарии (0)