Virtualizujeme v GNU/Linux

Obecný úvod do problematiky virtualizace v prostředí GNU/Linux s využitím jaderného hypervizoru KVM.

Všechny zde uvedené postupy a příklady jsou provozovány a odzkoušeny pod distribucí Slackware Linux, ale jsou platné i pro ostatní distribuce. Názvy použitých aplikací se od distribučních balíků mohou mnohdy lišit. Tento návod postupně doplňuji o nové a aktuální informace aby držel krok s aktuálním stavem jádra a QEMU. Text se týká především virtualizace pomocí nástroje QEMU a hypervizoru KVM. Z hlediska pokročilých technologií vysoké dostupnosti virtuálních strojů bude nutné poukázat na nástroje, které souvisí spíš s problematikou Clusterů o kterých bude tento text pouze okrajově. Nejsou zde popsány všechny volby a parametry QEMU, pouze ty nejpoužívanější a potřebné k běžnému provozu. Prozatím zde nebude počítáno s hardwarem jako iSCSI, SAN/NAS,... protože tyto technologie nemám na svém pracovním notebooku k dispozici :). Pokud čas dovolí, chtěl bych zde zveřejnit i pomocné skripty a nějaké konkrétní příklady nasazení od A do Z a ukázat, že existují i jiné řešení než komerční produkty, které nejsou méně kvalitní naopak se mohou komerčním produktům ve většině rovnat a v něčem je i předčít.


Poslední změny:

  2012-01-15 : přidáno : práce se snímky a virtuálním diskem
  2011-12-06 : doplněn postup kompilace SPICE Space
  2011-11-29 : první verze tohoto dokumentu

Osnova


Teoretický základ

Co budeme potřebovat

Sestavení a instalace nástrojů

V případě kdy vaše distrubuce nenabízí všechny požadované nástroje ve svých repozitářích, budete muset sáhnout ke kompilaci ze zdrojových kódů. Ve většině distribucích jsou všechny balíčky nabízeny s vyjímkou nástroje SPICE Space, který nemusí některé distribuce nabízet. V takovém případě nebude pravděpodobně ani QEMU s podporou protokolu SPICE Space a bude nutné oba nástroje sestavit ze zdrojových kódů.

Začínáme

Pro první experimenty s QEMU je nutné splnit předpoklad, že všechny uvedené požadavky na programové vybavení jsou splněny. Z hlediska hardware postačí pro lehké experimentování jakýkoli hardware s CPU podporující virtualizaci a alespoň 2GB RAM a potřebné místo na disku (řekněme 20GB). V reálném nasazení budou požadavky určeny konkrétní situací.

Sítě ve virtuálním prostředí

Nastavení periférií

Pomocí QEMU můžeme detailně nastavit parametry virtuálních zařízení (podobně jako u nastavení sítě). Nejčastěji se při konfiguraci virtuálního stroje nastavují parametry CPU (typ, počet jader, vláken, ...), bloková zařízení (typ média, cache, I/O režim, formát, ...), nastavení sběrnice USB, nastavení displeje. Dále se podíváme na nastavení týkající se pouze x86 architektury.

Správa virtuálních strojů

Nástroj QEMU slouží nejen pro tvorbu virtuálních strojů, ale také k jejich správě. Obsahuje sadů nástrojů pro správu virtuálních disků, tvorbu snapshotů (snímků), migraci virtuálních strojů a jejich monitorování. Ve výchozím stavu se vše děje v konzoli, ale existuje řada grafických nádstaveb pro QEMU, které umožní pohodlnou správu virtuálních strojů s grafického rozhraní.