Product SiteDocumentation Site

5.3. Virtualization

Virtualisering i Fedora 11 inkluderar större ändringar, och nya funktioner, som fortsätter att stödja KVM, Xen och många andra plattformar för virtuella maskiner.

5.3.1. Förbättrad VNC-autenticering för hantering av virtuella maskiner

Fedora 11 introducerar möjligheten att använda protokollet SASL för autenticering av VNC-anslutningar till virutella KVM- och QEMU-maskiner. SASL är ett system med insticksmoduler, som tillåter många olika autenticeringsmekaniser att konfigureras utan att ändra programkoden. Användningen av SASL, i kombination med existerande stöd för TLS-kryptering, gör det möjligt för klienter som vinagre, virt-viewer och virt-manager att ansluta säkert till fjärran virtuella maskinekonsoler med Fedoraservrar som värd. I miljöer där Kerberos används möjliggör detta vidare säker engångsinloggning till VNC-servern. Denna nya autenticeringsmöjlighet gör det traditionella VNC-lösenordsschemat som inte är tillräckligt säkert föråldrat.
För ytterligare detaljer, se wikisidan Virtualization VNC Authentication

5.3.2. Förbättrad grafisk konsol för virtuella maskiner

Tidigare konsoler för virtuella gäster i Fedora var begränsade till en skärmupplösning på 800×600, och PS2-muspekaren arbetade i ett relativt koordinatläge. Detta förhindrade gästpekaren från att spåra den lokala klientpekaren ett-till-ett.
Fedora 11 har noggrannare muspekarpositionering och högre skärmupplösningar för virtuella maskiners konsoler. Fedora 11-gäster har som standard en skärupplösning på åtminstone 1024×768, och har en USB-bräde i absolut koordinatläge. Detta ger en muspekare som följer den lokala klientpekaren ett-till-ett.
För ytterligare detaljer se wikisidan Improved Graphical Console for Virtual Guests

5.3.3. KVM PCI-enhetstilldelning

Fedora 11 utökar sina virtualiseringsmöjligheter med stöd för KVM PCI-enhetstilldelning. KVM-användare kan nu ge virtuella maskiner exklusiv åtkomst till fysiska PCI-enheter med Fedoras virtualiseringsverktyg, inklusive programmet Virtual Machine Manager.

Notera

Hårdvarukrav: stöd för Intel VT-d eller AMD IOMMU-hårdvaruplattform krävs för att denna funktion skall vara tillgänlig.
För ytterligare detaljer se wikisidan KVM PCI Device Assignment.

5.3.4. Sammanslagning av KVM och QEMU

QEMU är en processor- och systememulator som gör det möjligt för användare att starta en virtuell maskingäst som har samma arkitektur som värdmaskinen eller en dramatiskt annorlunda arkitektur. KVM ger stöd på kärnnivå för att köra gäster av samma arkitektur som värden.
QEMU drar nytta av KVM för att köra gäster direkt på hårdvaran utan att någon översättning behövs av värden, vilket möjliggör prestanda på en mycket högre nivå.
Fedora 11 inkluderar en sammanslagning av RPM:erna qemu och kvm. Paketet kvm är nu föråldrat av pngqemu-kvm. Sammanslagningen av de två kodbaserna fortgår uppströms, men de paketansvariga för Fedora har valt att slå samman paketen nu för att reducera underhållsarbetet och ge bättre stöd.
För ytterligare detaljer se wikisidan the KVM and QEMU merge

5.3.5. SVirt tvingande åtkomstkontroll

Fedora 11 integrerar SELinux tvingande åtkomstkontroll med virtualisering. Virtuella maskiner kan isoleras från värden och varandra mycket mer effektivt, vilket ger ökad förvissning om att säkerhetsbrister inte kan utnyttjas av ondskefulla gäster.
För ytterligare detaljer se wikisidan SVirt Mandatory Access Control.

5.3.6. Ej uppkopplad hantering av virtuella maskiner

libguestfs är ett nytt 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 av libguestfs:
  • guestfish - Ger ett interaktivt skal för att redigera virtuella maskin-filsystem och köra kommandon i gästens miljö.
  • virt-inspector - Visar OS-version, kärna, drivrutiner, monteringspunkter, program etc. i en virtuell maskin.
  • Bindningar för programspråken OCaml, Perl, Python, Ruby och Java.
För mer information, gå till:

5.3.7. Andra förbättringar

Fedora innehåller också följande virtualiseringsförbättringar:
5.3.7.1. QEMU uppdaterad till 0.10.0
QEMU är en generell maskinemulator och virtualiserare i öppen källkod.
När den används som en maskinemulator kan QEMU köra OS och program som är gjorda för en maskin (t.ex. ett ARM-kort) på en annan maskin (t.ex. din egen PC). Genom att använda dynamisk översättning åstadkommer den väldigt bra prestanda.
När den används som en virtualiserare når QEMU nästan samma prestanda som hårdvaran genom att köra gästkoden direkt på värd-CPU:n. En värddrivrutin kallad QEMU-acceleratorn (även känd som KQEMU) behövs i detta fall. Virtualiserarläget kräver att både värden och gästmaskinen använder använder x86-kompatibla processorer.
Nya funktioner och förbättringar sedan 0.9.1:
  • TCG-stöd - Kräver inte längre GCC 3.x
  • Stöd i kärnan för acceleration av virtuella maskiner
  • Emulering av användarrymden i BSD
  • Blåtandsemulering och stöd för vidarebefodran i värden
  • Stöd för GDB XML-registerbeskrivningar
  • Emulering av Intel e1000
  • Emulering av HPET
  • Stöd för VirtIO:s paravirtuella enheter
  • Emulering av Marvell 88w8618 / MusicPal
  • Emulering av Nokia N-seriens bräda / OMAP2-processor
  • Stöd för PCI hotplug
  • Migration under drift och nytt format för spara/återställ
  • Stöd för curses-visning
  • Verktyget qemu-nbd för att montera stödda blockformat
  • Stöd för Altivec i PPC-emulering och ny fast programvara (OpenBIOS)
  • Multipla VNC-klienter stöds nu
  • TLS-kryptering stöds nu i VNC
  • Många, många felrättningar och nya funktioner
För ytterligare detaljer se: http://www.nongnu.org/qemu/about.html
5.3.7.2. KVM uppdaterad till 84
KVM (står för Kärnbaserad Virtuell Maskin) är en metod för full virtualisering för Linux på x86-maskinvara.
Genom att använda KVM kan man köra flera virtuella maskiner som kör omodiferade Linux- eller Windowsavbilder. Varje virtuell maskin har privat virtualiserad hårdvara: ett nätverkskort, disk, grafikkort, etc.
Nya funktioner och förbättringar sedan 74 - För ytterligare detaljer se: http://www.linux-kvm.org/page/ChangeLog
5.3.7.3. libvirt uppdaterad till 0.6.1
Paketet libvirt ger ett API och verktyg för att interagera med virtualiseringsmöjligheterna i senare versioner av Linux (och andra OS). Programmet libvirt är gjort för att vara en gemensam nämnare bland alla virtualiseringstekniker med stöd för följande:
  • The Xen hypervisor på Linux- och Solaris-värdar.
  • QEMU-emulatorn
  • KVM Linux hypervisor
  • LXC Linux container system
  • OpenVZ Linux container system
  • Lagring på IDE/SCSI/USB disks, FibreChannel, LVM, iSCSI och NFS
Nya funktioner och förbättringar sedan 0.4.6:
  • nya API:er för att koppla ifrån och åter inkoppla och återställa enheter på noder
  • stöd för sVirt:s tvingande åtkomstkontroll
  • trådsäkerhet i API:et och händelsehantering
  • tillåter QEmu-domäner att överleva omstart av demonen
  • utökade loggningsmöjligheter
  • stöd för kopiering-vid-skrivning på lagringsvolymer
  • stöd alternativ för styrning av lagringscache för QEmu/KVM
  • drivrutinsinfrastruktur och -låsning
  • Testdrivrutinsinfrastruktur
  • parallellism i demonen och tillhörande konfiguration
  • uppstädning av virsh hjälp
  • logrotate av demonloggar
  • fler regressionstester
  • QEmu SDL-grafik
  • en flagga --version tillagd till demonen
  • upprensning av minneskonsumtion
  • QEmu-pid-fil och XML-tillstånd för omstart av demon
  • gnulib-uppdateringar
  • PCI-vidarebefodran för KVM
  • generellt internt tråd-API
  • RHEL-5-specifika Xen-konfigurationsalternativ och -kod
  • spara domänstatus som en sträng i statusfilen
  • låsning tillagt till alla API-ingångspunkter
  • nya referensräknande API:er
  • IP-adress för Xen-bryggor
  • drivrutinsformat för diskfiltyper
  • förbättrad tun/tap-prestanda i QEmu/KVM
  • aktivera floppydiskar för Xen:s fulla virtualisering
  • stöd VNC-lösenordsinställningar för QEmu/KVM
  • rapportering av qemu-drivrutinsversion
Det finns också dussintals uppstädningar, dokumentationsförbättringar, portabilitets- och felrättningar. För ytterligare detaljer se: http://www.libvirt.org/news.html
5.3.7.4. virt-manager uppdaterad till 0.7.0
Paketet virt-manager ger en GUI-implementering av virtinst- och libvirt-funktionalitet.
Nya funktioner och förbättringar sedan 0.6.0:
  • Omgjord guide för "Ny virtuell maskin"
  • Alternativ att ta bort lagringen vid radering av en virtuell maskin.
  • Filbläddrare för lagrings-pooler och -volymer för libvirt, att användas när man lägger till lagring till en ny eller existerande gäst.
  • Tilldelning av fysiska enheter (PCI, USB) till existerande virtuella maskiner.
  • Rapportering disk- och nätverksstatistik för VM
  • Stöd av VM-migrering
  • Stöd för att lägga till ljudenheter till en existerande VM
  • Räkna upp värdenheter kopplade till en existerande VM
  • Tillåt specifikation av enhetsmodell när en nätverksenhet läggs till till en exiterande VM
  • Kombinera den seriella konsolvyn med VM:s detaljfönster
  • Tillåt anslutning till multipla VM:s seriella konsoler
  • Felrättningar och många smärre förbättringar.
För ytterligare detaljer se: http://virt-manager.et.redhat.com/
5.3.7.5. virtinst uppdaterad till 0.400.3
Paketet python-virtinst innehåller verktyg för att installera och hantera multipla format av VM-gästavbilder.
Nya funktioner och förbättringar sedan 0.400.0:
  • Ny flagga --original-xml till virt-clone, som gör att man kan klona en gäst från en XML-fil, istället för att kräva en existerande, definierad gäst.
  • Ny flagga --import till virt-install, som gör att man kan skapa en gäst från en existerande diskavbild, och gå förbi OS-installationsfasen.
  • Ny flagga --host-device till virt-install, för att ansluta en fysisk värds enhet till gästen.
  • Möjligt att ange cache-värde via flaggor --disk till virt-install
  • Ny flagga --nonetworks till virt-install
  • Stöd tillagt för virt-image till vmx-format till virt-convert, vilket ersätter virt-pack
  • Stöd tillagt för diskkontrollsummor till virt-image
  • Förbättrat stöd för URL-installation: Debians Xen paravirt, Ubuntus kärna och boot.iso, Mandrivas kärna och Solaris Xen Paravirt
  • Utökad testsvit
  • Många felrättningar, uppstädningar och förbättringar
För ytterligare detaljer, se: http://virt-manager.org/
5.3.7.6. Xen uppdaterad till 3.3.1
Fedora 11 stödjer uppstart somen domU-gäst, men kommer inte fungera som en dom0-värd förrän sådat stöd ingår i uppströmskärnan. Siktet är inställt för stöd av en pv_ops dom0 i Xen 3.4.
Ändringar sedan 3.3.0:
Xen 3.3.1 är en underhållsutgåva i serien 3.3.
För mer information, gå till:

5.3.8. Kärnstöd för Xen

Paketet kernel i Fedora 11 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.30 och Fedora 12.
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 11-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.

Viktigt

KVM kräver funktioner för virtualisering i hårdvara i gästsystemet. System som saknar hårdvaruvirtualisering stödjer inte Xen-gäster för närvarande.