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

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

Вложенная виртуализация (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 на гипервизор

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

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