Product SiteDocumentation Site

5.3. Virtualisatie

Virtualisatie in Fedora 12 bevat belangrijke veranderingen, en nieuwe kenmerken, die verdergaan met het ondersteunen van KVM, Xen, en vele andere virtuele machine platforms.
KVM en QEMU hebben in deze vrijgave een aantal nieuwe kenmerken gekregen. KVM gast geheugen gebruik en snelheid is verbeterd door de toevoeging van KSM en KVM Huge Page Backed Memory. De snelheid van het qcow2 image formaat is sterk verbeterd. Ondersteuning voor zowel SR-IOV als NIC hotplug is toegevoegd. Tenslotte wordt nu gPXE gebruikt in plaats van etherboot voor gast PXE opstarten.
Aan de libvirt zijde zijn API's toegevoegd voor opslag beheer en netwerk interface beheer. libvrt draait nu ook QEMU processen zonder rechten.
Een nieuwe bibliotheek (libguestfs) en een interactief gereedschap (guestfish) zijn nu beschikbaar voor toegang tot en het veranderen van virtuele machine schijf images.

5.3.1. Kernel Same Page Merging en vermindert gast geheugen gebruik

Kernel SamePage Merging (KSM) staat nu toe dat identieke geheugen pagina's samengevoegd worden door de kernel tot een enkele pagina die gedeeld wordt door een of meer processen. Dit kenmerk staat meerdere, gelijkaardige, gast virtuele machines toe om een verminderd geheugen gebruik te hebben. Omdat geheugen wordt gedeeld, wordt het gecombineerde gebruik van de gasten verminderd.

5.3.2. KVM huge page backed geheugen

Laat KVM gasten grote pagina ondersteund geheugen gebruiken om het geheugen gebruik te verminderen en de snelheid te verhogen door verminderen van CPU cache druk. Gebruikers van KVM gasten die huge page backed geheugen gebruiken moeten een verbeterde snelheid ervaren met wat besparing in host geheugen verbruik. Het snelheid voordeel is afhankelijk van de werkbelasting. Het gebruik grote pagina's voor gast geheugen heeft echter een nadeel - je kunt gast geheugen niet meer swappen of laten toenemen.

5.3.3. KVM NIC hotplug

Netwerk interfaces kunnen nu aan een draaiende KVM gast toegevoegd worden met gebruik van libvirt/virt-manager zonder dat de gast opnieuw opgestart moet worden.
Voor meer details refereer je naar: http://fedoraproject.org/wiki/Features/KVM_NIC_Hotplug.

5.3.4. KVM qcow2 prestaties

Het autochtone schijf bestandsformaat van qemu is qcow2. Qcow2 biedt verbeterde kenmerken vergeleken met ruwe images, waaronder: basis images, snapshots, compressie en versleuteling.
Gebruikers die gast machine data willen beschermen voor host crashes zetten gewoonlijk schrijven naar cash op de host uit. Vroeger leidde dit tot een erg slechte snelheid voor gasten in qcow2 images.
De I/O prestaties van qcow2 schijf images zijn sterk verbeterd. Gebruikers die qcow2 niet gebruikten door de slechte prestaties kunnen overwegen om over te gaan en voordeel krijgen van de extra kenmerken die het formaat biedt vergeleken met ruwe schijf images.

5.3.5. KVM stabiele gast ABI

KVM gasten wordt een geëmuleerd hardware platform of toepassing binaire interface aangeboden (b.v. een CPU model, APIC, PIT, ACPI tabellen, IDE/USB/VGA controllers, NIC's, enz.). Als QEMU wordt vernieuwd naar een nieuwe versie, kunnen sommige aspecten van dit platform veranderen indien nieuwe hardware mogelijkheden toegevoegd worden. Dit is een probleem voor Windows gasten waar een gast ABI verandering kan vereisen dat de installatie opnieuw geactiveerd wordt.
Gast virtuele machines zullen nu dezelfde ABI gepresenteerd krijgen over QEMU vernieuwingen heen.

5.3.6. libguestfs bibliotheek voor manipulatie van virtuele machines

Laat toegevoegd in de Fedora 11 ontwikkeling cyclus, is libguestfs nu een officieel kenmerk van Fedora 12. libguestfs is een bibliotheek voor het verkrijgen van toegang tot en het veranderen van gast schijf images. Met gebruik van de Linux kernel en qemu code, kan libguestfs toegang krijgen tot hetzelfde type gast bestandssysteem als Linux en QEMU.
De volgende gereedschappen worden geleverd of uitgebreid door libguestfs:
  • Verbanden voor OCaml, Perl, Python, Ruby, en Java programmeertalen.
  • guestfish - Biedt een interactieve shell voor het bewerken van virtuele machine bestandssystemen en het uitvoeren van commando's in de context van de gast.
  • virt-df - Laat vrije ruimte zien op virtuele machine bestandssystemen
  • virt-inspector - Laat OS versie, kernel, drivers, aankoppelpunten, toepassingen, enz. zien in een virtuele machine.
  • virt-cat - Toont elk bestand binnen een virtuele machine.

5.3.7. Netwerk interface beheer

Algemeen gebruikte host netwerk configuraties, zoals bruggen, bindingen, VLAN's en zinnige combinaties hiervan kunnen nu gemaakt worden met de netwerk configuratie bibliotheek voor algemene doeleinden, netcf. Verbeteringen aan de libvirt API laten deze nieuwe functionaliteit zien om hosts op afstand te beheren met libvirtd.

5.3.8. Enkele root I/O virtualisatie

Enkele root I/O virtualisatie is een PCI kenmerk dat toestaat dat virtuele functies (VF) gemaakt worden die de hulpbronnen delen van een fysieke functie (PF). De VF apparaten worden toegekend aan gast virtuele machines en verschijnen als fysieke apparaten binnen de gast. Omdat het gast OS de hardware in feite direct aanstuurt, is de I/O snelheid vergelijkbaar met de oorspronkelijke snelheid.

5.3.9. gPXE nu standaard voor gasten

QEMU gasten maken nu gebruik van de nieuwere en op dit moment onderhouden gpxe in plaats van het verouderde etherboot gereedschap voor PXE opstarten.

5.3.10. Virt rechten

Veranderingen zijn geïntroduceerd voor QEMU/KVM virtuele machines om de host beveiliging te verbeteren in het geval van een gebrek in de QEMU bibliotheek.
  • Rechten voor /dev/kvm zijn vernieuwd om gebruikers zonder privileges toe te staan KVM hardware versnelling te gebruiken.
  • QEMU processen geproduceerd door virt-manager op een locale desktop installatie draaien nu als de desktop gebruiker.
  • QENU processen geproduceerd door de libvirtd daemon met rechten draaien nu als een account zonder rechten, gebruiker 'qemu', groep 'qemu'.
  • libvirt zal nu het eigendom van alle schijven toegekend aan een virtuele machine tijdens het opstarten, toekennen aan gebruiker 'qemu', groep 'qemu', behalve voor alleen-lezen/gedeelde schijven.
  • Om terug te gaan naar het vorige Fedora gedrag door alle QEMU instantiaties als 'root' te draaien, zijn twee configuratie parameters ingevoerd in /etc/libvirt/qemu.conf. Het wordt niet aanbevolen om deze te veranderen.
Voor meer details refereer je naar:

5.3.11. Virtueel opslag beheer

Fiber Kanaal N_Poort ID Virtualisatie of NPIV staat het aanmaken toe van meerdere virtuele N_Poorten op een enkele fysieke host bus adapter. De libvirt node apparaat API's zijn uitgebreid om virtuele adapters aan te maken en te vernietigen met gebruik van NPIV.
De API's die opslag ontdekking en pool aanmaken toestaan, zijn uitgebreid om opslag te ontdekken en te rescannen op een per SCSI host basis. Beheerders kunnen nu opslag voor virtuele machines ontdekken, instellen, en aanbieden zonder meerdere gereedschappen nodig te hebben.

5.3.12. Andere verbeteringen

5.3.12.1. Libvirt technologie compatibiliteits kit
Fedora bevat nu de libvirt technologie compatibiliteit kit (TCK). De TCK is een functionele test suite welke gedetailleerde rapporten aanbiedt over de functionaliteit die beschikbaar is voor iedere libvirt driver en kan gebruikt worden om snel fouten of terugval in de ontwikkeling van de virtualisatie kenmerken van Fedora te identificeren.
5.3.12.2. Virtualisatie technologie vooruitzicht repo
De Virtualization Preview repository is gemaakt voor hen die graag de laatste, aan virtualisatie gerelateerde, pakketten willen testen. Deze repo is voornamelijk bedoeld als een hulp bij het testen en het vroegtijdig experimenteren. Het is niet bedoeld voor 'productie' toepassing.
5.3.12.3. Xen kernel ondersteuning
Het kernel pakket in Fedora 12 ondersteunt opstarten als een gast domU, maar zal niet werken als een dom0 totdat zulke ondersteuning upstream wordt geleverd. Het werk hieraan gaat voort en er is veel hoop is dat ondersteuning toegevoegd zal worden in kernel 2.6.33 en Fedora 13.
De meest recente Fedora vrijgave met dom0 ondersteuning is Fedora 8.
Een Xen domU gast opstarten in een Fedora 12 gastheer vereist de op KVM gebaseerde xenner. Xenner draait de gast kernel en een kleine Xen emulator tezamen als KVM gast.

KVM vereist hardware virtualisatie functies in het gastheer systeem.

Systemen zonder hardware virtualisatie ondersteunen Xen gasten op dit moment niet.