Portál AbcLinuxu, 26. dubna 2024 21:46


Dotaz: Nefunguje nested virtualizace ESXi pod KVM - Debian Wheezy

1.6.2016 16:18 majales | skóre: 29 | blog: Majales
Nefunguje nested virtualizace ESXi pod KVM - Debian Wheezy
Přečteno: 640×
Odpovědět | Admin
Zdravím, Snažím se ( hlavně z důvodů testování) rozchodit nested virtualizaci pod KVM/Qemu. Mám Supermicro server s CPU Intel Xeon E3-1230 V2, OS Debian Wheezy s backports kernelem 3.16 a qemu balíček z backports.
uname -rv
3.16.0-0.bpo.4-amd64 #1 SMP Debian 3.16.7-ckt25-2~bpo70+1 (2016-04-12)

kvm --version
QEMU emulator version 2.1.2 (Debian 1:2.1+dfsg-12+deb8u5a~bpo70+1), Copyright (c) 2003-2008 Fabrice Bellard

libvirtd --version
libvirtd (libvirt) 1.2.9
VT-d je povoleno v Biosu, intel_iommu=on v /etc/default/grub.cfg
dmesg | grep -e DMAR -e IOMMU
[    0.000000] ACPI: DMAR 0x00000000CDECEC38 000078 (v01 INTEL  SNB      00000001 INTL 00000001)
[    0.000000] Intel-IOMMU: enabled
[    0.029242] dmar: IOMMU 0: reg_base_addr fed90000 ver 1:0 cap c9008020660262 ecap f010da
[    0.029316] IOAPIC id 2 under DRHD base  0xfed90000 IOMMU 0
[    0.652518] DMAR: No ATSR found
[    0.652531] IOMMU 0 0xfed90000: using Queued invalidation
[    0.652532] IOMMU: Setting RMRR:
[    0.652539] IOMMU: Setting identity map for device 0000:00:1a.0 [0xcdd3c000 - 0xcdd58fff]
[    0.652556] IOMMU: Setting identity map for device 0000:00:1d.0 [0xcdd3c000 - 0xcdd58fff]
[    0.652564] IOMMU: Prepare 0-16MiB unity mapping for LPC
[    0.652569] IOMMU: Setting identity map for device 0000:00:1f.0 [0x0 - 0xffffff]
[    0.721558] AMD IOMMUv2 driver by Joerg Roedel..
[    0.721560] AMD IOMMUv2 functionality not available on this system
EPT flag CPU je taky dostupný.
 egrep -wo '^flags|vmx|ept|vpid|npt|tpr_shadow|flexpriority|vnmi|lm|aes' /proc/cpuinfo --color | sort |uniq -c
      8 aes
      8 ept
      8 flags
      8 flexpriority
      8 lm
      8 tpr_shadow
      8 vmx
      8 vnmi
      8 vpid
konfigurace kvm pro nested je taky povolena:
cat /etc/modprobe.d/kvm-intel.conf
options kvm ignore_msrs=1
options kvm-intel nested=y ept=y
v konfiguraci vm mám
..
     <kvm>
       <hidden state='on'/>
     </kvm>
   </features>
   <cpu mode='host-passthrough'>
   </cpu>
  ..
  ..
  ..
       <source bridge='br0'/>
       <target dev='vnet0'/>
       <model type='e1000'/>
ESXi 6 šlo z média ve virtuálu normálně nainstalovat, ale při instalaci to hlásilo:
"HARDWARE_VIRTUALIZATION WARNING: Hardware Virtualization is not a feature of the CPU, or is not enabled in the BIOS"
K ESXi se pak lze připojit pomocí vSphere klienta ovšem při pokusu spustit 64-bit VM to zahlásí tuto chybu.
Failed to start the virtual machine.
This virtual machine is configured for 64-bit guest operating systems. However, 64-bit operation is not possible.
This host supports Intel VT-x, but the Intel VT-x implementation is incompatible with VMware ESX.
Ve VM je pak upravený /etc/vmware/config takto:
..
vhv.allow = "TRUE"
hv.assumeEnabled="TRUE"
vmx.allowNested = "TRUE"
Takže se ptám, je to vina Qemu? A pokud ano, doporučili byste kompilaci vlastního Qemu, a pokud ano, jakého abych nenarazil na nějaký problém kvůli staršímu kernelu?
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

2.6.2016 15:30 romank
Rozbalit Rozbalit vše Re: Nefunguje nested virtualizace ESXi pod KVM - Debian Wheezy
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ahoj,
Hardware Virtualization is not a feature of the CPU, or is not enabled in the BIOS . <== tu by som hladal chybu ;)
Nemas zapnutu virtualizaciu v BIOSe
R
2.6.2016 15:45 majales | skóre: 29 | blog: Majales
Rozbalit Rozbalit vše Re: Nefunguje nested virtualizace ESXi pod KVM - Debian Wheezy
Vždyť píšu, že zapnutá je a dokládám to logy z dmesg. Ptám se spíš, nebo lépe řečeno se ujišťuji, že je to chyba qemu a rád bych věděl, zda jsou nějaká úskalí v kompilaci vlastního qemu pro tak starý kernel.

2.6.2016 17:10 romank
Rozbalit Rozbalit vše Re: Nefunguje nested virtualizace ESXi pod KVM - Debian Wheezy
Hmmm co tak ceknut VT-x (vt-x) a amd-v v /proc/cpuinfo?
Ak tam nie je, tak nemas povolenu virtualizaciu.
k3dAR avatar 2.6.2016 18:32 k3dAR | skóre: 62
Rozbalit Rozbalit vše Re: Nefunguje nested virtualizace ESXi pod KVM - Debian Wheezy
vt-x se zobrazuje jako vmx flag a ten psal ze ma - checkoval to pres egrep spolecne s dalsima flagama, tedy ocividne vi co dela...
a amd-v ktere je v AMD cpu asi na Intel Xeon checkovat nema smysl ;)
porad nemam telo, ale uz mam hlavu... nobody
3.6.2016 12:39 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Nefunguje nested virtualizace ESXi pod KVM - Debian Wheezy
Tak z toho dotazu není úplně jasné, jestli ten egrep byl v hostiteli nebo v hostovi - je možné, že qemu i s tím host-passthrough nějaké flagy zahodí.
Quando omni flunkus moritati
3.6.2016 13:54 majales | skóre: 29 | blog: Majales
Rozbalit Rozbalit vše Re: Nefunguje nested virtualizace ESXi pod KVM - Debian Wheezy
No právě asi zahodí, nebo nesprávně interpretuje.. každopadně novější verze qemu už to mají údajně vyřešené.. teď jen zkompilovat nějakou novější verzi..
3.6.2016 15:36 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Nefunguje nested virtualizace ESXi pod KVM - Debian Wheezy
V jessie-backports je verze 2.5
Quando omni flunkus moritati
3.6.2016 19:42 majales | skóre: 29 | blog: Majales
Rozbalit Rozbalit vše Re: Nefunguje nested virtualizace ESXi pod KVM - Debian Wheezy
To je sice fajn, ale tohle je záložní server pro produkční i testovací mašiny, takže přechod na Debian Jessie ještě neplánuji. Radši bych získal informace od někoho kdo Qemu pod Debianem kompiloval..
3.6.2016 09:18 fish | skóre: 22
Rozbalit Rozbalit vše Re: Nefunguje nested virtualizace ESXi pod KVM - Debian Wheezy
Předpokládám, že přiložený vypis je jen z fyzickýho stroje. Kontroloval jsi ty flagy i v tom virtuálu? Ideálně v něm nabootovat nějaký live CD. Pak budeš aspoň vědět, jestli hledat chybu v KVM, protože na to co říká ESXi bych moc nespoléhal.
3.6.2016 10:28 kapo | skóre: 15 | blog: runtime
Rozbalit Rozbalit vše Re: Nefunguje nested virtualizace ESXi pod KVM - Debian Wheezy
A mas to zapnute i v BIOSu toho QEMU virtualu? Nejenom v BIOSu fyzickeho stroje.
Why make things difficult, when it is possible to make them cryptic... - Aksel Peter Jorgensen
3.6.2016 12:12 majales | skóre: 29 | blog: Majales
Rozbalit Rozbalit vše Re: Nefunguje nested virtualizace ESXi pod KVM - Debian Wheezy
V biosu toho Virtuálu se to zapíná tou konfigurací VM v xml... je tam < cpu mode='host-passthrough'>
3.6.2016 21:21 www
Rozbalit Rozbalit vše Re: Nefunguje nested virtualizace ESXi pod KVM - Debian Wheezy
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zvážil bych prostudování tohoto návodu:https://wiki.debian.org/VMware (ale s VMware nemám žádné zkušenosti).

Jestli funguje virtualizace aspoň pro kvm/qrmu se dá ověřit instalací například Debianu pomocí virt-manager-u.
6.6.2016 09:30 majales | skóre: 29 | blog: Majales
Rozbalit Rozbalit vše Re: Nefunguje nested virtualizace ESXi pod KVM - Debian Wheezy
Díky za odkaz, ale je to zase vedle.. To co potřebuji je funkční ESXI virtualizované pod KVM/Qemu. Tím funkční myslím to aby to ESXi virtualizovalo mašiny které tam deploynu z OVF formátu. Virtulizace mi samosebou normálně funguje, neboť tento stroj je záložní virtulizační server u nás ve firmě.. je tam v provozu cca 10 virtuálních strojů Linux a Windows server.
6.6.2016 09:59 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: Nefunguje nested virtualizace ESXi pod KVM - Debian Wheezy

Před nějakým časem jsem tady napsal blog na téma Virtualizovaný cluster ve virtuálním prostředí. A protože tam se předpokládá "zahnízdění" KVM, je to zpracované i v readme:

Virtuální hostitel vyžaduje pro spouštění virtuálních nodů procesor, s hardwarovou podporou virtualizace a virtualizační prostředí, ve kterém bude spouštěn musí mít také podporu pro "zahnízdění" dalších virtuálů.

Primárně se počítá s virtualizací hostitele v rámci linuxového systému, který má zaveden 'kvm' modul (KVM hypervizor) s aktivovanou podporou pro "zahnízdění" ("nested") virtuálů.

To zda-li je aktivivaná podpora "zahnízdění" lze v linuxovém prostředí zjistit dotazem na kvm modul příslušného typu procesoru:

 root@fyzicky_hostitel:~# modinfo kvm_intel | grep -i nested
 parm:	nested:boolini
 root@fyzicky_hostitel:~# cat /sys/module/kvm_intel/parameters/nested
 N
Pro AMD..
 root@fyzicky_hostitel:~# modinfo kvm_amd | grep -i nested
 parm:	nested:int
 root@fyzicky_hostitel:~# cat /sys/module/kvm_amd/parameters/nested
 1

Poznámka: U procesorů typu AMD je ve výchozím stavu podpora "zahnízdění" aktivována. U procesorů Intel nikoliv!!!

Aktivaci "zahnízdění" lze provést pouze při zavádění modulu. a to buď při startu linuxového systému:
A, předáním parametru 'kvm-intel.nested=1' resp. 'kvm-amd.nested=1' jádru při zavádění systému
B, nebo uvedením následujícího parametru do souboru v /etc/modprobe.d/kvm.conf

	options kvm-intel nested=y 
	options kvm-amd nested=y 
Nebo opětovným zavedením modulu u systému již spuštěného:
 root@fyzicky_hostitel:~# rmmod kvm-intel && modprobe kvm-intel nested=y 
Pozor: Za běhu lze provést zavedení modulu s podporou "zahnízdění" pouze za předpokladu, že modul, který byl zaveden bez podory zahnízdění žádný virtuál nepoužívá!!!
6.6.2016 11:01 majales | skóre: 29 | blog: Majales
Rozbalit Rozbalit vše Re: Nefunguje nested virtualizace ESXi pod KVM - Debian Wheezy
Ahoj, toto aktivované samosebou je.
root@fyzicky_hostitel:~# modinfo kvm_intel | grep -i nested
parm:           nested:bool
root@fyzicky_hostitel:~# cat /sys/module/kvm_intel/parameters/nested
Y
6.6.2016 12:30 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: Nefunguje nested virtualizace ESXi pod KVM - Debian Wheezy
Obávám se, že to asi nepůjde řešit jinak, než kompilací novějšího QEMU. Můžu poskytnout vlastní deb balík QEMU, verze 2.6 z master větvě, kompilované s podporou glusterfs a cephu, ale ten je opřený vůči knihovnám z Jessie a unstable. Wheezy už je fakt stará věc.
6.6.2016 16:15 majales | skóre: 29 | blog: Majales
Rozbalit Rozbalit vše Re: Nefunguje nested virtualizace ESXi pod KVM - Debian Wheezy
S kompilací jsem počítal. Jelikož potřebuji toto novější qemu pouze pro tento případ, zamýšlel jsem kompilovat nebalíčkovou variantu někma do /usr/local/ a použít ji jen pro tento konkrétní virtuální stroj. Pro všechny ostatní VM bych pak použil již nainstalovanou balíčkovou variantu z wheezy-backports.. Máte nějaká dporučení ohledně kompilace qemu?
6.6.2016 16:21 Vantomas | skóre: 32 | Praha
Rozbalit Rozbalit vše Re: Nefunguje nested virtualizace ESXi pod KVM - Debian Wheezy
Já si pro tyto účely přes debootstrap stáhnu novější verzi Debiana do nějakého adresáře, tam si dám chroot, doinstaluji balíčky co mě zajímají a zkouším jak je ctěná libost. Přijde mi to rychlejší než něco kompilovat a nezařádím si systém nástroji na kompilování. A až to nepotřebuji, tak adresář jen vymažu a tím je uklizeno.

A zrovna v případě qemu by to mohlo stačit.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.