GNU/Linux >> Znalost Linux >  >> Linux

Jak povolit vnořenou virtualizaci v KVM v Linuxu

V této příručce uvidíme, jak povolit vnořenou virtualizaci v KVM v Linuxu. Vnořená virtualizace je funkce, která vám umožňuje spouštět virtuální stroj uvnitř jiného virtuálního stroje a přitom stále používat hardwarovou akceleraci z hostitelského systému. Jinými slovy, vnořená virtualizace je mechanismus spouštění hypervizoru uvnitř virtuálního stroje (VM), který sám běží na hypervizoru.

Povolit vnořenou virtualizaci v KVM v Linuxu

Před povolením vnořené funkce VT vypněte všechny spuštěné virtuální počítače.

Dále uvolněte moduly KVM.

Chcete-li uvolnit modul KVM na INTEL systémy, spusťte:

$ sudo modprobe -r kvm_intel

Na AMD systémy:

$ sudo modprobe -r kvm_amd

Znovu načtěte modul KVM s povolenou vnořenou funkcí na CPU INTEL příkazem:

$ sudo modprobe kvm_intel nested=1

Znovu načtěte modul KVM s povolenou vnořenou funkcí na procesorech AMD pomocí příkazu:

$ sudo modprobe kvm_amd nested=1

Trvale povolit vnořenou virtualizaci

Vezměte prosím na vědomí, že funkce vnořené VT je povolena pouze do doby, než restartujete hostitelský systém KVM. Chcete-li trvale povolit vnořenou funkci, upravte /etc/modprobe.d/kvm.conf soubor:

$ sudo vi /etc/modprobe.d/kvm.conf

Pokud soubor neexistuje, stačí jej vytvořit.

Přidejte následující řádek na INTEL hostitelé:

options kvm_intel nested=1

Přidejte následující řádek na AMD hostitelé:

options kvm_amd nested=1

Uložte a zavřete soubor.

Hotovo! Povolili jsme vnořené VT na hostitelském systému KVM.

Ověřte, zda je v hostiteli KVM povolena vnořená virtualizace

Pokud je váš procesor INTEL, zkontrolujte "/sys/module/kvm_intel/parameters/nested" soubor pomocí příkazu "cat":

$ cat /sys/module/kvm_intel/parameters/nested

Zkontrolujte, zda je v Linuxu podporována vnořená virtualizace

Pokud vrátí "Y" nebo "1" , to znamená, že váš systém podporuje vnořenou virtualizaci. Pokud je výstup "N" nebo "0" , váš systém nebude podporovat vnořenou virtualizaci.

Pokud je váš procesor AMD, zkontrolujte obsah "/sys/module/kvm_amd/parameters/nested" soubor.

Alternativně můžete použít následující příkaz, abyste zajistili, že modul jádra "kvm_intel" má povoleno vnořování:

$ modinfo kvm_intel | grep -i nested

Ukázkový výstup:

parm:           nested_early_check:bool
parm:           nested:bool

Na procesoru AMD:

$ modinfo kvm_amd | grep -i nested

Můj hostitel KVM podporuje vnořenou virtualizaci a je již povolena.

Povolit vnořenou virtualizaci na hostujících počítačích KVM

Můžeme povolit vnořenou funkci na virtuálním počítači KVM buď z příkazového řádku nebo pomocí grafických aplikací pro správu KVM, jako je Virt-manager .

Povolte vnořenou funkci v hostech KVM z příkazového řádku

Přihlaste se do virsh konzole:

$ virsh

Upravte virtuální počítač, ve kterém chcete povolit vnořenou funkci:

virsh # edit centos

Chcete-li najít všechny dostupné virtuální počítače, spusťte tento příkaz v konzole virsh:

virsh # list --all

Najděte parametr "cpu mode" a nastavte jeho hodnotu jako "host-model".

<cpu mode='host-model' check='partial'/>

Povolte vnořenou funkci v hostech KVM pomocí příkazu virsh

Uložte a zavřete soubor.

Spusťte virtuální počítač:

virsh # start centos8

Ověřte, zda je pro virtuální počítač povolena vnořená funkce:

virsh # dumpxml centos8

Měli byste vidět, že všechny nezbytné zásady funkcí pod direktivou "cpu mode" jsou nyní aktualizovány:

<cpu mode='custom' match='exact' check='full'>
    <model fallback='forbid'>SandyBridge-IBRS</model>
    <vendor>Intel</vendor>
    <feature policy='require' name='vme'/>
    <feature policy='require' name='vmx'/>
    <feature policy='require' name='pcid'/>
    <feature policy='require' name='hypervisor'/>
    <feature policy='require' name='arat'/>
    <feature policy='require' name='tsc_adjust'/>
    <feature policy='require' name='umip'/>
    <feature policy='require' name='md-clear'/>
    <feature policy='require' name='stibp'/>
    <feature policy='require' name='arch-capabilities'/>
    <feature policy='require' name='ssbd'/>
    <feature policy='require' name='xsaveopt'/>
    <feature policy='require' name='ibpb'/>
    <feature policy='require' name='amd-ssbd'/>
    <feature policy='require' name='skip-l1dfl-vmentry'/>
    <feature policy='disable' name='aes'/>
  </cpu>

Funkce vnořené virtualizace byla povolena pro virtuální počítač CentOS 8.

Povolte vnořenou funkci v hostech KVM pomocí Virt-manager

Otevřete aplikaci Virt-manager GUI a dvakrát klikněte na hosta KVM, ve kterém chcete povolit vnořenou funkci VT. Klikněte na tlačítko "Zobrazit podrobnosti o virtuálním hardwaru" a přejděte do sekce "CPU" v levé nabídce.

Vyberte možnost Kopírovat konfiguraci hostitelského CPU zaškrtněte políčko v okně konfigurace CPU a klepněte na tlačítko Použít.

Nakonfigurujte vnořenou virtualizaci ve VIrt-manager

Nyní bude model CPU a konfigurace fyzického hostitele aplikován na virtuální počítač.

Zkontrolujte, zda hosté KVM podporují virtualizaci

Zapněte a přihlaste se k hostujícímu počítači KVM, ve kterém jste povolili vnořenou funkci.

Spusťte následující příkaz v terminálu hosta KVM a ověřte, zda je virtualizace povolena či nikoli:

# egrep --color -i "svm|vmx" /proc/cpuinfo

Ukázkový výstup:

Zkontrolujte, zda hosté KVM podporují technologii virtualizace v systému Linux

Pokud vidíte „vmx“ (technologie Intel-VT) nebo svm (podpora AMD-V) ve výstupu může hostující stroj KVM pracovat jako hypervizor a hostitelské virtuální počítače. Jak můžete vidět na výše uvedeném výstupu, můj virtuální počítač CentOS 8 KVM podporuje virtualizaci.

V následující příručce se dozvíte další způsoby, jak zkontrolovat, zda systém Linux podporuje VT nebo ne.

  • Jak zjistit, zda procesor podporuje technologii virtualizace (VT)

Související čtení:

  • Jak povolit vnořenou virtualizaci ve VirtualBoxu

Linux
  1. Povolit úložiště PowerTools na Rocky Linux 8 – Jak na to?

  2. Jak povolit linuxový odkládací oddíl?

  3. Jak mohu povolit Ping na virtuálním počítači Azure Linux

  1. Jak nakonfigurovat virtualizaci na Redhat Linuxu

  2. Co je předávání IP v Linuxu? Jak povolit přesměrování IP?

  3. Jak nainstalovat virtualizační Linux Server

  1. Jak povolit předávání IP v systému Linux

  2. Jak povolit md5 hash v Linuxu

  3. Jak povolit libass na Linuxu?