Product SiteDocumentation Site

5.3. Virtualizace

Virtualizace ve Fedoře 12 zahrnuje velké změny a nové vlastnosti, které pokračují v podpoře KVM, Xen a mnoha dalších platforem virtuálních strojů.
KVM a QEMU získaly v tomto vydání několik nových vlastností. Vylepšené využití paměti a výkonu hostovaného systému KVM je docíleno přidáním KSM a KVM Huge Page Backed Memory. Významně je vylepšen výkon obrazového formátu qcow2. Byla přidána podpora hotplugu SR-IOV a NIC. A konečně, nyní je používan gPXE namísto etherboot pro PXE spouštění hosta.
Na straně libvirt bylo přidáno API pro správu úložného prostoru (storage) a síťového rozhraní. Libvirt rovněž nyní obsluhuje neprivilegované QEMU procesy.
Nyní je k dispozici nová knihovna (libguestfs) a interaktivní nástroj (guestfish) pro přístup a úpravy diskových obrazů virtuálních strojů.

5.3.1. Kernel SamePage Merging a snížení nároků na pamět hostovaného systému

Kernel SamePage Merging (KSM) umožňuje spojení identických stránek paměti jádrem do jedné stránky sdílené mezi jedním nebo více procesy. Tato vlastnost je umocněna KVM a umožňuje četným, podobným, hostovaným virtuálním strojům získat menší stopu v paměti. Jelikož je pamět sdílená, celkové nároky hostovaných systémů na paměť jsou sníženy.
Pro další informace navštivte wiki stránky http://fedoraproject.org/wiki/Features/KSM a http://lwn.net/Articles/306704/

5.3.2. KVM Huge Page Backed Memory

Umožněte hostovaným systémům KVM používat paměť podporovanou velkými stránkami s cílem snížit nároky na pamět a vylepšit výkon snížením tlaku na cache CPU. Uživatelé hostovaných systémů využívající pamět podpořenou velkými stránkami by měli zaznamenat vylepšený výkon s určitým snížením spotřeby paměti v hostujícím systému. Výkonový přínos závisí na pracovním vytížení. Ačkoliv používání velkých stránek pro pamět hostovaných systémů má i svou nevýhodu - již nemůžete swapovat ani navyšovat jejich pamět.
Pro další podrobnosti navštivte wiki stránky: http://fedoraproject.org/wiki/Features/KVM_Huge_Page_Backed_Memory.

5.3.3. KVM NIC Hotplug

Síťová rozhraní mohou být nyní přidávána do běžíčího hostovaného systému KVM použitím libvirt/virt-manager bez potřeby jeho restartu.
Pro další podrobnosti navštivte wiki stránky: http://fedoraproject.org/wiki/Features/KVM_NIC_Hotplug.

5.3.4. Výkon KVM qcow2

Nativní souborový formát diskového obrazu qemu je qcow2. Qcow2 poskytuje vylepšené funkce nad surovými obrazy, vč.: základních obrazů, snapshotů, komprese a šifrování.
Uživatelé, kteří si přejí chránit data hostovaných strojů před havárijemi hostujícího systému obvykle neumožńují zápis cache na hostujícím systému. Toto vedlo k velmi nízkému výkonu hostovaných systémů v obrazech qcow2.
Výkon I/O operací diskových obrazů qcow2 byl velmi vylepšen. Uživatelé, kteří nepoužívali qcow2 kvůli slabému výkonu mohou zvážit přechod a využít výhod dalších vlastností, které formát poskytuje nad surovými diskovými obrazy.

5.3.5. Stabilní ABI hostovaného systému KVM

Hostované systémy KVM jsou prezentovány emulovanou hardwarovou platformou nebo binárním aplikačním rozhraním, které obsahuje (např. model CPU, APIC, PIT, tabulky ACPI, kontroléry IDE/USB/VGA, NIC, atd.) Při aktualizaci QEMU na novou verzi se mohou některé aspekty této platformy změnit podle toho, jak jsou přidávány nové schopnosti hardwaru. Pro hostované systémy Windows může být toto problém pro potřebu reaktivace instalace při změně ABI hostovaného systému.
Virtuální stroje hostovaných systémů budou nyní prezentovány se stejným ABI v povýšených verzích QEMU.

5.3.6. Knihovna libquestfs pro manipulaci virtuálních strojů

Velmi pozdě přidána do vývojového cyklu Fedory 11, libguestfs je nyní officiální vlastností Fedory 12. libguestfs je knihovna pro přístup a změnu obrazů disků hostovaného systému. Využitím Linuxového jádra a kódu qemu může libguestfs přistoupit ke kterémukoliv typu souborového systému hostovaného systému, ke kterému může přistoupit Linux a QEMU.
Následující nástroje jsou poskytované nebo rozšířené knihovnou libguestfs:
  • Vazby (bindings) pro programovací jazyky OCaml, Perl, Python, Ruby a Java.
  • guestfish - Poskytuje interaktivní shell pro úpravu souborových systémů virtuálních strojů a vykonávání příkazů v kontextu hostovaného systému.
  • virt-df - Zobrazuje volný prostor na souborových systémech virtuálního stroje
  • virt-inspector - zobrazuje verzi OS, jádro, ovladače, body připojení, aplikace, atd. ve virtuálním stroji.
  • virt-cat - "Vystřihne" kterýkoliv soubor z vnitřku virtuálního stroje.

5.3.7. Správa síťových rozhraní

Obecně používané konfigurace sítí hostovaných systémů, jako např. mosty, bondy, VLAN a jejich rozumné kombinace, mohou být nyní vytvářeny použitím obecně účelové knihovny pro konfiguraci sítí netcf. Vylepšení API libvirt odhaluje tuto novou funkcionalitu vzdáleným hostovaným systémům pro správu s libvirtd

5.3.8. Single Root I/O Virtualizaton

Single Root I/O Virtualization je vlastnost PCI, která umožňuje právě vznikajícím virtuálním funkcím (VF) sdílet zdroje fyzické funkce (PF). Zařízení VF jsou přiřazeny virtuálním strojům hostovaných systémů a objevují se jako fyzická zařízení PCI uvnitř hostovaného systému. Jelikož hostovaný OS efektivně řídí hardware přímo, výkon I/O funkcí je na úrovni výkonu nahého železa.

5.3.9. gPXE pro hostované systémy nyní jako výchozí

Hostované systémy QEMU nyní využívají modernější a v současnosti udržovaný gpxe, raději něž zastaralý nástroj etherboot pro PXE spouštění.

5.3.10. Oprávnění Virt

Byly představeny změny pro virtuální stroje QEMU/KVM pro zvýšení bezpečnosti hostujícího systému v případě chyby v knihovně QEMU.
  • Aby se umožnilo neprivilegovaným uživatelům utilizovat hardwarovou akceleraci KVM byla aktualizována oprávnění na /dev/kvm.
  • Procesy QEMU zahájené virt-managerem při instalaci místního desktopu nyní běží s právy uživatele desktopu.
  • Procesy QEMU zahájené privilegovaným démonem libvirtd nyní běží jako neprivilegovaný účet, uživatel 'qemu', skupina 'qemu'.
  • libvirtd změní vlastnictví kterýchkoliv disků přiřazených k virtuálnímu stroji při spuštění, na uživatele 'qemu', skupinu 'qemu', kromě sdílených/pouze pro čtení disků.
  • K návratu k předchozímu chování Fedory spouštějící všechny instance QEMU jako 'root' jsou zavedeny dva konfigurační parametry v /etc/libvirt/qemu.conf. Doporučuje se je neměnit.
Pro další podrobnosti navštivte:

5.3.11. Správa Virt Storage

Fibre Channel N_Port ID Virtualization, nebo-li NPIV, umožňuje vytváření vícenásobných virtuálních N_Portů na jednom fyzickém bus adaptéru hostujícího systému. API libvirt zařízení uzlu bylo rozšířeno, aby vytvařelo a ničilo virtuální adaptéry používáním NPIV.
API umožňující nalézání storage a vytváření poolů byly rozšířeny, aby nalézaly a opakovaně skenovaly storage na základě jednotlivých SCSI hostujícího systému. Správci mohou nyní objevit, konfigurovat a zavést storage pro virtuální stroje bez potřeby několika nástrojů.

5.3.12. Další vylepšení

5.3.12.1. Libvirt Technology Compatibility Kit
Fedora nyní obsahuje Balík nástrojů technologické kompatibility (TCK) pro libvirt. The TCK je funkční testovací balík, který poskytuje podrobné zprávy o funkcionalitě dostupné pro každý ovladač libvirt a může být použit k rychlé identifikaci selhání nebo regrese ve vývoji virtualizačních vlastností Fedory.
5.3.12.2. Repositář předběžných ukázek virtualizační technologie
Repositář předběžné ukázky virtualizace byl vytvořen pro lidi, kteří by rádi testovali ty nejnovější balíčky související s virtualizací. Tento repositář je v prvé řadě určen jako pomoc pro testování a rané experimentování. Není určen pro 'produkční' nasazení.
5.3.12.3. Podpora Xen v jádře
Balíček kernel podporuje ve Fedoře 12 zavádění jako hostovaný systém domU, ale nefunguje jako dom0 dokud není taková podpora poskytnuta v upstream projektu. Práce pokračují a je velká naděje, že podpora bude zahrnuta v jádře 2.6.30 a Fedoře 13.
Nejnovější vydání Fedory s podporou dom0 je Fedora 8.
Zavádění hostovaného systému Xen domU v hostu Fedory 12 vyžaduje xenner založený na KVM. Xenner provozuje jádro hostovaného systému společně s malým emulátorem Xen jako hostovaný systém KVM.

KVM vyžaduje v hostujícím systému vlastnosti hardwarové virtualizace.

Systémy bez hardwarové virtualizace v současnosti nepodporují hostované systémy Xen.