Product SiteDocumentation Site

5.3. Virtualisering

Virtualisering i Fedora 12 inkluderar större ändringar, och nya funktioner, som fortsätter att stödja KVM, Xen och många andra plattformar för virtuella maskiner.
KVM och QEMU har fått ett antal nya funktioner i denna utgåva. KVM-gästers minnesanvändning och prestanda har förbättrats med tillägget av KSM och KVM Huge Page Backed Memory. Prestandan hos avbildsformatet qcow2 är väsentligt förbättrat. Stöd för både SR-IOV och NIC hotplug har lagts till. Slutligen används nu gPXE istället för etherboot för PXE-gästuppstart.
På libvirt-sidan har API:er lagts till för lagringshantering och hantering av nätverksgränssnitt. libvirt kör nu också QEMU-processer opriviligerade.
Ett nytt bibliotek (libguestfs) och ett interaktivt verktyg (guestfish) är nu tillgängliga får att komma åt och ändra diskavbilder för virtuella maskiner.

5.3.1. Sammanslagning av lika sidor i kärnan och reduktion av gästers minnesanvändning

Sammanslagning av lika sidor i kärnan (Kernel SamePage Merging) (KSM) gör att identiska minnessidor kan slås samman av kärnan till en enda sida som delas mellan en eller flera processer. KVM utnyttjar denna funktion för att låta flera, liknande , virtuella gästmaskiner att använda ett reducerat minnesfotavtryck. Eftersom minnet delas begränsas den kombinerade minnesanvändningen av gästerna.

5.3.2. KVM-minne uppbackat av stora sidor

Aktivera att KVM-gäster använder minne uppbackat av stora sidor för att reducera minneskonsumtionen och förbättra prestanda genom att reducera CPU-cache-trycket. Användare av KVM-gäster som använder minne uppbackat av stora sidor bör erfara förbättrad prestanda och vissa besparingar i värdens minnesanvändning. Prestandavinsten beror på lasten. Att använda stora sidor för gästminne har dock en nackdel - du kan inte längre växla ut eller blåsa upp gästminnet.

5.3.3. KVM NIC-driftsbyte

Nätverksgränssnitt kan nu läggas till till en körande KVM-gäst med libvirt/virt-manager utan att behöva starta om gästen.

5.3.4. KVM qcow2-prestanda

Det egna formatet på diskavbilder till qemu är qcow2. Qcow2 ger förbättrade funktionern över råa avbilder, inklusive: basavbilder, ögonblicksbilder, komprimering och kryptering.
Användare som vill skydda gästmaskiners data från att värden krashar avaktiverar vanligen skriv-cachning på värden. Tidigare medförde detta väldigt dålig prestanda för gäster i qcow2-avbilder.
I/O-prestandan hos qcow2-diskavbilder har förbättrats kraftigt. Användare som inte använde qcow2 på grund av dålig prestanda kan överväga att byta och dra nytta av de ytterligare funktionerna formatet erbjuder över råa diskavbilder.

5.3.5. KVM Stabilt gäst-ABI

KVM-gäster ser en emulerad hårdvaruplattform eller binärt programgränssnitt som innehåller (t.ex. en CPU-modell, APIC, PIT, ACPI-tabeller, IDE/USB/VGA-styrenheter, NIC:ar etc.). När QEMU uppdateras till en ny version kan några aspekter av denna plattform ändras när nya hårdvaruegenskaper läggs till. Detta är problematiskt för Windows-gäster där en gäst-ABI-andring kan kräva att en installation aktiveras om.
Virtuella gästmaskiner kommer nu se samma ABI över QEMU-uppgraderingar.

5.3.6. Biblioteket libguestfs för hantering av virtuella maskiner

Tillagt mycket sent i Fedora 11:s utvecklingscykel är nu libguestfs en officiell del i Fedora 12. libguestfs är ett bibliotek för att komma åt och ändra gästdiskavbilder. Genom att använda kod från Linuxkärnan och qemu kan libguestfs hantera alla typer av gästfilsystem som Linux och QEMU kan.
Följande verktyg tillhandahålls eller förbättras av libguestfs:
  • Bindningar för programspråken OCaml, Perl, Python, Ruby och Java.
  • guestfish - Ger ett interaktivt skal för att redigera virtuella maskiners filsystem och köra kommandon i gästens miljö.
  • virt-df - Visar fritt utrymme på virtuella maskiners filsystem
  • virt-inspector - Visar OS-version, kärna, drivrutiner, monteringspunkter, program etc. i en virtuell maskin.
  • virt-cat - "Cat":a ut valfri fil inifrån en virtuell maskin.

5.3.7. Hantering av nätverksgränssnitt

Vanliga värdnätverkskonfigurationer, som bryggor, bindningar, VLAN och rimliga kombinationer av dem kan nu skapas genom att använda det generella nätverkskonfigurationsbiblioteket, netcf. Förbättringar av API:et till libvirt exponerar denna nya funktionalitet till fjärrhanteringsvärdar med libvirtd

5.3.8. I/O-virtualisering med en enda rot

I/O-virtualisering med en enda rot är en PCI-funktion som tillåter virtuella funktioner (VF) att skapas och dela resurserna hos en fysisk funktion (PF). VF-enheterna tilldelas till virtuella gästmaskiner och dyker upp som fysiska PCI-enheter inuti gästen. Eftersom gäst-OS:et i praktiken driver hårdvaran direkt är I/O-prestandan i nivå med prestandan på direkt på hårdvaran.

5.3.9. gPXE är nu standard för gäster

QEMU-gäster använder nu det modernare och idag underhållna gpxe istället för det utgående verktyget etherboot för att PXE-starta.

5.3.10. Virt-privilegier

Ändringar har introducerats för virtuella QEMU/KVM-maskiner för att förbättra värdsäkerheten i händelse av ett fel i QEMU-binären.
  • Rättigheterna på /dev/kvm har uppdaterats till att tillåta opriviligerade användare att använda KVM-hårdvaruacceleration.
  • QEMU-processer startade från virt-manager på en lokal skrivbordsdatorinstallation kör nu som skrivbordsanvändaren.
  • QEMU-processer startade från den priviligierade libvirtd-demonen kör nu som ett opriviligierat konto, användare "qemu", grupp "qemu".
  • libvirtd kommer ändra ägarskap på diskar tilldelade en virtuell maskin vid uppstart, till användare "qemu", grupp "qemu", utom för endast läsbara/delade diskar.
  • För att återgå till tidigare beteende på Fedora där alla QEMU-instanser kördes som "root" har två konfigurationsparametrar introducerats i /etc/libvirt/qemu.conf. Det rekommenderas inte att ändra på dessa.
För mer information, gå till:

5.3.11. Hantering av virtuell lagring

Fibre Channel N_Port ID-virtualisering eller NPIV gör det möjligt att skapa flera furtuella N_Port:ar på en enda fysisk värdbussadapter. Libvirt-nodenhetens API:er har utökats för att skapa och ta bort virtuella adaptrar med NPIV.
API:erna som tillåter upptäckt av lagring och skapande av pooler har utöktas för att upptäcka och återgenomsöka lagring uppdetlat per SCSI-värd. Administratörer kan nu upptäcka, konfigurera och utrusta lagring för virtuella maskiner utan behovet av flera verktyg.

5.3.12. Andra förbättringar

5.3.12.1. Libvirts teknikkompatibilitetskit
Fedora inkluderar nu libvirts Technology Compatibility Kit (TCK). TCK är en funktionell testsvit som ger detaljerade rapporter om tillgänglig funktionalitet vör varje libvirtdrivrutin och kan användas för att snabbt identifiera misslyckanden eller regressioner i utvecklingen av Fedoras virtualiseringsfunktioner.
5.3.12.2. Förråd för förhandsvisning av virtualiseringsteknik
Förrådet för förhandsvisning av virtualiseringsteknik har skapats för folk som skulle vilja testa de allra senaste paketen relaterade till virtualisering. Detta förråd är i första hand avsett som en hjälp för att testa och tidiga experiment. Det är inte avsett för produktionsanvändning.
5.3.12.3. Kärnstöd för Xen
Paketet kernel i Fedora 12 stödjer uppstart som en gäst-domU, men kommer inte fungera som en dom0 färrän sådant stöd ingår uppströms. Arbete pågår och förhoppningen är stor att sådant stöd kommer ingå i kernel 2.6.33 och Fedora 13.
Den senaste utgåvan av Fedora med stöd för dom0 är Fedora 8.
Uppstart av en Xen domU-gäst i en Fedora 12-värd kräver den KVM-baserade xenner. Xenner kör gästkärnan och en liten Xen-emulator tillsammans som en KVM-gäst.

KVM kräver funktioner för virtualisering i hårdvara i värdsystemet.

System som saknar hårdvaruvirtualisering stödjer inte Xen-gäster för närvarande.