DevOps

Hyper-V Enable Nested Virtualization in Linux VM

Hyper-V üzerinde bulunan Ubuntu 22.04 versiyonu yüklü bir sanal makineye Docker desktop kurmak isterken karşılaştığım hatanın çözümünü paylaşıyorum.

Docker Desktop Stopped hatası aldıysanız öncelikli olarak kontrol etmeniz gerekenler;

Windows 10 cihazında virtulization enable durumdamı ?
BIOS’da Intel virtualization technology Enable durumdamı ?

docker-desktop-stopped

Yukarıdaki maddelerin enable olduğundan emin olduktan sonra ve hala docker desktop stopped hatasını alıyorsanız aşağıdaki adımlarla devam edeceğiz.

Ubuntu makinenizda kvm-ok yazdığınızda aşağıdaki gibi bir uyarı geliyorsa
INFO: Your CPU does not support KVM extensions KVM acceleration can NOT be used hyper-v

Bu aslında hyper-v nested dediğimiz yani iç içe sanallaştırmanın ilgili vm’de aktif olmamasından kaynaklanıyor.

Hyper-V üzerinde ilgili hostu off duruma getiriyoruz. 1-Hyper-V üzerinde hangi vm’in nested virt. Aktif edeceksek aşağıdaki komut içinde YourVmName yazan alanda düzenliyoruz. Ve RunAsAdmin olarak çalıştırdığımız powershell ile çalıştırıyoruz.

Set-VMProcessor -VMName YourVmName -ExposeVirtualizationExtensions $true

2-Yaptığımız işlemi aşağıdaki komut ile doğruluyoruz ve çıktı olarak true dönüyor. İşlem başarılı.

(Get-VMProcessor -VMName Ubuntu-22.04.1-1).ExposeVirtualizationExtensions

Get-VMProcessor

3-Hyper-V üzerinde cihazımızı aktif hale getirdikten sonra bağlanarak kvm-ok komutunu tekrar çalıştırıp sonucu görüyoruz. KVM acceleration can be used

kvm-ok

4-Kvm-modülleri etkin ve çalışır durumda. lsmod | grep kvm

kvm-ok

Artık Docker Desktop kurulumuna geçebiliriz.