Перейти к содержанию

Вложенная виртуализация

Вложенная виртуализация (nested virtualization) — это когда пользователь запускает гипервизор, например, SpaceVM или другой, внутри виртуальной машины, которая
работает на другом гипервизоре, а не на реальном оборудовании. Другими словами, есть гипервизор хоста, размещающий гостевой гипервизор как виртуальную машину, который может размещать свои собственные виртуальные машины.

Это добавляет накладные расходы на вложенную среду, но в некоторых случаях:

  • позволит протестировать или узнать, как управлять гипервизорами перед фактической реализацией, протестировать критичную/сложную процедуру с участием гипервизоров, прежде чем делать это на физическом оборудовании;

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

Требования

Чтобы обеспечить максимально возможную производительность, близкую к собственной, любой гипервизор должен иметь доступ к некоторым (реальным) аппаратным функциям, которые обычно полезны для виртуализации, так называемым "расширениям виртуализации с аппаратной поддержкой" (см. http://en.wikipedia.org/wiki/Hardware-assisted_virtualization).

При вложенной виртуализации гостевой гипервизор также должен иметь доступ к расширениям виртуализации с аппаратной поддержкой, и это означает, что гипервизор хоста должен предоставлять эти расширения своим виртуальным машинам. Как правило, он работает и без этих расширений, но с низкой производительностью, что не подходит для продуктивной среды, а подходит для использования в тестовых вариантах.
Использование этих расширений требуется в случае ядра процессоров Intel 3 или выше.

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

Управление вложенной виртуализацией

Производится в CLI командами system nested [get|enable|disable].

Unknown processor type

Если в выводе команды system nested get появляется Unknown processor type, то рекомендуется посмотреть вывод команды dmidecode -t 4, и с этой информацией обратиться в поддержку. Вложенная виртуализация может быть включена, если во всех процессорах узла в поле Manufacturer есть слова Intel или AMD или Advanced Micro Devices.

Установка гипервизоров на SpaceVM

  • Проверьте, что вложенная виртуализация включена на сервере согласно предыдущему пункту.

  • Создайте ВМ с процессором типа host-model или host-passthrough.

Установка SpaceVM на гипервизор

  • Проверьте, что вложенная виртуализация включена на гипервизоре.

  • Создайте ВМ с процессором с поддержкой проброса инструкций виртуализации процессора.