Що е то?
За вложена виртуализация говорим, когато по някаква причина се налага да работим с виртуална машина (L2) в друга виртуална машина (L1).

Възможностите за вложена виртуализация зависят основно от хардуера и операционната система на хоста, но и от използваната комбинацията от решения за виртуализация (на първо и второ ниво).
В следващите няколко секции е направен кратък преглед на действията, необходими за активиране на вложената виртуализация под различни решения за виртуализация.
Hyper-V
Нека да разгледаме активиране на вложената виртуализация за виртуална машина с име MyVM.
В PowerShell сесия на хоста (физическата машина) трябва да се изпълнят няколко команди.
За предаване на виртуализационните инструкции към виртуалната машина:
Set-VMProcessor -VMName MyVM -ExposeVirtualizationExtensions $true
За изключване на динамичната памет:
Set-VMMemory -VMName MyVM -DynamicMemoryEnabled $false
За активиране на промяната на MAC адреси:
Set-VMNetworkAdapter -VMName MyVM -MACAddressSpoofing On
Последните две стъпки могат да се изпълнят и през графичния интерфейс на Hyper-V. В настройките на виртуалната машина трябва съответно в Memory секцията да се деактивира Enable Dynamic Memory и в секцията Network Adapter > Advanced Features да се активира Enable MAC address spoofing.
VMware Workstation Pro
За активиране на вложената виртуализация е достатъчно да се влезе в настройките на процесора на избраната виртуална машина и да се включии опцията Virtualize Intel VT-x/EPT or AMD-V/RVI.
VMware ESXi
Вложената виртуализация става достъпна след изпълнение на следните две действия:
-
В настройките на процесора на виртуалната машина трябва да се включи опцията Expose hardware assisted virtualization to the guest OS
-
В допълнение трябва режима Promiscuous mode на виртуалния суич, към който е свързана виртуалната машина, да се смени на Accept
KVM
При KVM вложената вируализация се активира на ниво хост, т.е. става достъпна за всички виртуални машини.
За Intel процесори трябва да се добави options kvm_intel nested=1 във файла /etc/modprobe.d/kvm.conf
За AMD процесори трябва да се добави options kvm_amd nested=1 във файла /etc/modprobe.d/kvm.conf
VirtualBox
Активиране на вложената виртуализация при VirtualBox може да случи както от потребителския интерфейс, така и на команден ред.
В настройките на процесора (System > Processor) на виртуалната машина трябва да се включии опцията Nested VT-x/AMD-V. При някои по-стари версии, опцията се казва Enable Nested VT-x/AMD-V.
Алтернативен вариант е да се изпълни следната команда (за виртуална машина с име MyVM):
VBoxManage modifyvm MyVM --nested-hw-virt on
От версия 6.1.х вложена виртуализация се поддържа както на AMD процесори, така и на Intel процесори (5-то поколение или по-нови). Трябва да се има предвид, че не се поддържат всички хайпървайзори като вложени.