KVM (kompilace QEMU)

From DCEwiki
Jump to: navigation, search

Jaderný modul pro práci s KVM, je dnes již běžně součástí distribučního jádra. Podporuje-li procesor fyzického stroje hardwarovou virtualizaci, stačí pouze zavést příslušný modul do spuštěného jádra. Zda-li má procesor podporu hardwarové virtualizace lze zjistit poměrně snadno výpisem z /proc/cpuinfo. Je pouze nutné vědět, že flag udávající podporu hardwarové virtualizace v procesoru je jiný u procesorů fy. Intel než u AMD.

Na procesorech od Intelu je to flag vmx

Poznámka
user@strojA:~$ grep vmx /proc/cpuinfo
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx
lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64
monitor ds_cpl vmx tm2 ssse3 cx16 xtpr pdcm dca lahf_lm dts tpr_shadow

Kdežto u AMD strojů flag svm

Poznámka
user@strojB:~$ grep svm /proc/cpuinfo
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb
rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc extd_apicid
pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a
misalignsse 3dnowprefetch osvw ibs skinit wdt npt lbrv svm_lock nrip_save
Poznámka Zatím co u AMD procesorů mají hardwarovou podporu virtualizace všechny 64 bitové procesory, u Intelu tomu tak není. Starší 64 bitové procesory podporu hardwarové virtualizace nemusí mít dostupnou vůbec, nebo u nich musí být zapnuta před zavedením systému v BIOSu.

Pokud má procesor příslušný flag, může být do jádra zaveden příslušný modul. Na procesorech od Intelu (s flagem vmx) se natahuje modul kvm-intel, kdežto u strojů s procesory od AMD modul kvm-amd

Poznámka
root@strojB:~$ lsmod | grep kvm-amd

root@strojB:~$ modprobe -i kvm-amd
root@strojB:~$ lsmod | grep kvm-amd
kvm_amd                44407  0 
kvm                   219917  1 kvm_amd

Aby však bylo možné KVM virtualizaci používat, musí být k dispozici QEMU.


Instalace QEMU z distribuční repozitory[edit]

Instalace distribuční verze QEMU je v Debianu naprosto triviální

Poznámka
root@strojB:~$ apt-get install qemu
Upozornění Vemte však na vědomí, že tímto jste závislí na zkušenostech maintainera distribučního balíku, který vám podle svých potřeb tuto binárku sestavil. Takže některé funkcionality, o kterých je řeč na následujících stránkách nemusí být k dispozici, i když s nimi jinak QEMU bez problémů pracuje.

Kompilace a instalace vývojové verze QEMU z git repozitory[edit]

Důvody proč si kompilovat vlastní verzi QEMU jsou v podstatě dva:

  1. Distribuční verze může být zastaralá
  2. Distribuční verze nemusí plně podporovat všechny funkcionality, které chcete používat
Poznámka U QEMU je výhodné, že po kompilaci je výsledkem pro každou emulovanou architekturu jeden binární soubor, který sám o sobě žádné další knihovny nemá, takže není žádný problém mít v systému paralelně několik různých verzí QEMU, zkompilovaných s jinou konfigurací.

Oficiální vývojová repository QEMU je verzovaná v gitu a lze ji naklonovat z

git://git.qemu-project.org/qemu.git
Zajímavým projektem je Proxmox Virtual Environment - open source virtualizační platforma, založená na KVM a OpenVZ, postavená na Debianu. Repozitáře proxmoxu integrují řadu užitečných vylepšení, které chybí i v oficiálních vývojových repozitářích těchto aplikací. Pokud máte zájem je vyzkoušet nebo alespoň využít některé patche, tak lze použít i zdrojové kódy z jejich gitu
git://git.proxmox.com/git/pve-qemu-kvm.git