De Fedora Virtualisatie gids bevat informatie over installatie, configureren, beheren, en fout zoeken van de virtualisatie technologie die gebruikt wordt in Fedora. Merk op: Dit document is nog in ontwikkeling, het kan nog sterk veranderen en wordt hier aangeboden als een vooruitzicht. De inhoud en instructies die zich hierin bevinden moeten niet compleet beschouwd worden, en moeten met voorzichtigheid gebruikt worden.
Voorwoord vii 1. Over dit boek ................................................................................................................ vii 2. Document conventies ..................................................................................................... vii 2.1. Typografische conventies .................................................................................... vii 2.2. Pull-quote conventies ........................................................................................... ix 2.3. Opmerkingen en waarschuwingen ........................................................................ ix 3. We hebben terugkoppeling nodig! .................................................................................... x I. Vereisten en beperkingen
4. De virtualisatie pakketten installeren 13 4.1. KVM installeren tijdens een nieuwe Fedora installatie ........................................... 13 4.2. KVM pakketten installeren op een bestaand Fedora systeem ................................ 15 5. Gevirtualiseerde gast installatie overzicht 5.1. Gevirtualiseerde gast vereisten en overwegingen ................................................. 5.2. Gasten aanmaken met virt-install ........................................................................ 5.3. Gasten aanmaken met virt-manager .................................................................... 5.4. Gasten installeren met PXE ................................................................................
17 17 18 18 30
6. Red Hat Enterprise Linux 5 installeren als een volledig gevirtualiseerde gast
37
7. Windows XP installeren als een volledig gevirtualiseerde gast
47
8. Windows Server 2003 installeren als een volledig gevirtualiseerde gast
67
9. Windows Server 2008 installeren als een volledig gevirtualiseerde gast
71
III. Configuratie 10. Gevirtualiseerde opslag apparaten 10.1. Een gevirtualiseerde floppy disk controller aanmaken .......................................... 10.2. Opslag apparaten toevoegen aan gasten ........................................................... 10.3. Blijvende opslag configureren in Fedora ............................................................. 10.4. Voeg een gevirtualiseerd CD-ROM of DVD station toe aan een gast .....................
83 85 85 86 90 92
11. Netwerk configuratie 93 11.1. Netwerk adres vertaling (NAT) met libvirt ............................................................ 93 11.2. Brug netwerken met libvirt ................................................................................. 94 12. KVM para-gevirtualiseerde drivers 97 12.1. De KVM Windows para-gevirtualiseerde drivers installeren .................................. 97 12.2. Drivers installeren met een gevirtualiseerde floppy ............................................ 109 12.3. KVM para-gevirtualiseerde drivers gebruiken voor bestaande apparaten ............. 109 12.4. KVM para-gevirtualiseerde drivers gebruiken voor een nieuw apparaat ............... 110
iii
Virtualisatie gids
13. PCI doorgave 13.1. Een PCI apparaat toevoegen met virsh ............................................................ 13.2. Een PCI apparaat toevoegen met virt-manager ................................................. 13.3. PCI doorgave met virt-install ...........................................................................
20. KVM live migratie 20.1. Live migratie vereisten .................................................................................... 20.2. Gedeelde opslag voorbeeld: NFS voor een eenvoudige migratie ........................ 20.3. Live KVM migratie met virsh ............................................................................ 20.4. Migreren met virt-manager ..............................................................................
147 147 148 149 150
21. Beheer op afstand van gevirtualiseerde gasten 21.1. Beheer op afstand met SSH ............................................................................ 21.2. Beheer op afstand met TLS en SSL ................................................................ 21.3. Transport modes .............................................................................................
24. Xen naar KVM migratie 173 24.1. Xen naar KVM ................................................................................................ 173 24.2. Oudere versies van KVM naar KVM ................................................................ 173 25. Diverse beheer taken 25.1. Gasten automatisch starten ............................................................................. 25.2. qemu-img gebruiken ....................................................................................... 25.3. Overcommitt met KVM .................................................................................... 25.4. Virtualisatie uitbreidingen verifiëren .................................................................. 25.5. Toegang tot data op een gast schijf image ....................................................... 25.6. Instellen van KVM processor affiniteit ............................................................... 25.7. Een nieuwe unieke MAC adres genereren ........................................................
iv
175 175 175 177 178 179 182 186
25.8. Very Secure ftpd .......................................................................................... 25.9. LUN vasthoudendheid configureren ................................................................. 25.10. SMART schijf monitor uitzetten voor gasten .................................................... 25.11. Een VNC server configureren ........................................................................ V. Virtualisatie opslag onderwerpen 26. Gedeelde opslag gebruiken met virtuele schijf images 26.1. iSCSI gebruiken voor het opslaan van virtuele schijf images .............................. 26.2. NFS gebruiken voor het opslaan van virtuele schijf images ................................ 26.3. GFS2 gebruiken voor het opslaan van virtuele schijf images .............................. 26.4. Opslag pools .................................................................................................. 26.4.1. Opslag apparaten configureren voor pools ............................................. 26.4.2. Afbeelden van gevirtualiseerde gasten op opslag pools .......................... VI. Virtualisatie referentie gids
31. Aangepaste libvirt scripts aanmaken 241 31.1. XML configuratie bestanden gebruiken met virsh .............................................. 241 VII. Fout zoeken 32. Fout zoeken 32.1. Debug en fout zoek gereedschappen ............................................................... 32.2. Log bestanden ................................................................................................ 32.3. Fout zoeken met seriële consoles ................................................................... 32.4. Virtualisatie log bestanden ............................................................................... 32.5. Loop apparaat fouten ...................................................................................... 32.6. Intel VT en AMD-V virtualisatie hardware uitbreidingen aanzetten in de BIOS ...... 32.7. KVM netwerk performance ..............................................................................
243 245 245 246 246 247 247 248 249
v
Virtualisatie gids
A. Extra hulpbronnen 251 A.1. On-line hulpbronnen ................................................................................................. 251 A.2. Geïnstalleerde documentatie ..................................................................................... 251 Verklarende woordenlijst
253
B. Herzieningsgeschiedenis
259
C. Colofon
261
vi
Voorwoord Dit boek is de Fedora Virtualisatie gids. De gids behandelt alle aspecten van het gebruik en beheer van virtualisatie producten die onderdeel zijn van Fedora.
1. Over dit boek Dit boek is verdeeld in 7 onderdelen: • Systeem vereisten • Installatie • Configuratie • Beheer • Referentie • Tips en trucjes • Fout zoeken Sleutel terminologie en concepten gebruikt in dit boek worden behandeld in de verklarende woordenlijst, Verklarende woordenlijst. Dit boek behandelt virtualisatie onderwerpen voor Fedora. De Kernel-gebaseerde virtuele machine hypervisor is onderdeel van Fedora. De KVM hypervisor ondersteunt Volledige virtualisatie.
2. Document conventies Dit handboek hanteert verscheidene conventies om bepaalde woorden of zinsdelen te benadrukken en aandacht te vestigen op specifieke delen van informatie. 1
In PDF en papieren edities gebruikt dit handboek Liberation Fonts set lettertypen. Het Liberation lettertype wordt ook gebruikt in HTML-edities indien dit lettertype op jouw computer geïnstalleerd is. Indien dat niet het geval is, worden alternatieve, gelijkwaardige lettertypen gebruikt. Opmerking: bij Red Hat Enterprise Linux 5 en later wordt de Liberation Font set standaard ingesteld.
2.1. Typografische conventies Vier typografische conventies worden gebruikt om aandacht te vestigen op specifieke woorden en zinsdelen. Deze conventies, en de omstandigheden waaronder zij gebruikt worden, luiden als volgt: Mono-spaced Bold Wordt gebruikt om systeem input, waaronder shell commando's, bestandsnamen en paden aan te geven. Wordt ook gebruikt bij toetsaanduiding of toetsencombinaties. Bijvoorbeeld: Om de inhoud van het bestand mijn_onwijsgoed_verkopende_boek in jouw huidige map te bekijken, voer je het commando cat mijn_onwijsgoed_verkopende_boek in bij de shell-prompt en druk je op Enter om het commando uit te voeren. 1
https://fedorahosted.org/liberation-fonts/
vii
Voorwoord
Bovenstaande bevat een bestandsnaam, een shell-commando en een toetsaanduiding, alle getoond in mono-spaced bold en alle te onderscheiden dankzij hun context. Toetsencombinaties kunnen worden onderscheiden van toetsaanduidingen door het plusteken dat elk deel van een toetsencombinatie aan elkaar verbind. Bijvoorbeeld: Druk op Enter om het commando te laten uitvoeren. Druk op Ctrl+Alt+F1 om naar de eerste virtuele terminal over te schakelen. Druk op Ctrl+Alt+F7 om terug te keren naar jouw X-Windows sessie. De eerste paragraaf benadrukt de bepaalde toets die moet worden ingedrukt. De tweede benadrukt twee toetscombinaties (ieder een reeks van drie toetsen, waarbij de toetsen van elke reeks tegelijk moeten worden ingedrukt). Indien broncode wordt besproken, worden klasse namen, methodes, functies, variabele namen en resultaten die in een paragraaf worden genoemd, weergegeven als hier boven afgedrukt, namelijk in mono-spaced bold. Bijvoorbeeld: Onder bestandsgerelateerde klassen vallen filesystem voor bestandssystemen, file voor bestanden, en dir voor mappen. Elke klasse heeft haar eigen set van rechten. Proportional Bold Wordt gebruikt om woorden of zinsdelen op een systeem aan te duiden, waaronder toepassings namen, dialoogtekst-boxen, gelabelde knoppen, checkbox en radio-knop labels, menu titels en submenu titels. Bijvoorbeeld: Kies Systeem → Voorkeuren → Muis in de hoofdmenu balk om Muisvoorkeuren te openen. In de Knoppen tab, klik je de Linkshandige muis checkbox aan en klik je Sluiten om de primaire muisknop van links naar rechts te wisselen (waardoor de muis beter geschikt is geworden voor linkshandig gebruik). Om een speciaal teken in een gedit bestand op te nemen, kies je Toepassingen → Hulpmiddelen → Tekens en symbolen in de hoofd menubalk. Vervolgens kies je Zoeken → Zoeken… in de Tekens en symbolen menubalk, typ je de naam van het teken in het Zoek veld en klik je Volgende. Het teken dat je zoekt zal worden gemarkeerd in de Tekentabel. Dubbel-klik op dit teken om het in het Te kopiëren tekst veld op te nemen en klik dan de Kopiëren knop. Keer nu terug naar jouw document en kies Bewerken → Plakken in de gedit menubalk. De bovenstaande tekst bevat toepassingsnamen, systeem-brede menu namen en onderdelen, toepassings specifieke menu namen, en knoppen en tekst van een GUI-interface, alle getoond in proportional bold en alle te onderscheiden dankzij hun context. Mono-spaced Bold Italic of Proportional Bold Italic Voor mono-spaced bold of proportional bold geeft cursief gedrukt altijd vervangbare of wisselende teksten aan. Cursief wijst op niet letterlijke tekst of toont tekst die wisselt naar omstandigheden. Bijvoorbeeld: Om verbinding te maken met een andere computer met behulp van ssh, typ je ssh [email protected] bij een shell prompt. Als de machine op afstand
viii
Pull-quote conventies
example.com is en jouw gebruikersnaam op die machine is jan, dan type je ssh [email protected]. Het mount -o remount bestandssysteem commando koppelt het genoemde bestandssysteem opnieuw aan. Om bijvoorbeeld het /home bestandsysteem opnieuw aan te koppelen, gebruik je het mount -o remount /home commando. Om de versie van een huidig geïnstalleerd pakket te zien, gebruik je het rpm q package commando. Dit zal het volgende resultaat opleveren: packageversion-release . Let op de woorden in bold italics in bovenstaande tekst — username, domain.name, file-system, package, version en release. Elk woord is een plaats reservering, hetzij voor tekst die je invult als je een commando typt, hetzij voor tekst die door het systeem wordt getoond. Buiten het standaard gebruik bij het presenteren van een titel van een werk, wordt cursief ingezet om het eerste gebruik van een nieuwe en belangrijke term te benadrukken. Bijvoorbeeld: Publican is een DocBook publicatie systeem.
2.2. Pull-quote conventies Terminal output en broncode lijsten worden worden visueel gescheiden van de omringende tekst. Output gestuurd naar een terminal wordt getoond in mono-spaced roman en als volgt gepresenteerd: books books_tests
Desktop Desktop1
documentation downloads
drafts images
mss notes
photos scripts
stuff svgs
svn
Opsommingen van broncode worden ook getoond in mono-spaced roman maar worden als volgt gepresenteerd en benadrukt: package org.jboss.book.jca.ex1; import javax.naming.InitialContext; public class ExClient { public static void main(String args[]) throws Exception { InitialContext iniCtx = new InitialContext(); Object ref = iniCtx.lookup("EchoBean"); EchoHome home = (EchoHome) ref; Echo echo = home.create(); System.out.println("Created Echo"); System.out.println("Echo.echo('Hello') = " + echo.echo("Hello")); } }
2.3. Opmerkingen en waarschuwingen Tenslotte gebruiken we drie visuele stijlen om aandacht te vestigen op informatie die anders misschien over het hoofd zou worden gezien.
ix
Voorwoord
Opmerking Een opmerking is een tip, handigheidje of een alternatieve benadering voor de taak die uitgevoerd moet worden. Het negeren van een opmerking zou geen ernstige gevolgen moeten hebben, maar het leven kan een stuk makkelijker worden als de opmerking gevolgd wordt.
Belangrijk Important boxes detail things that are easily missed: configuration changes that only apply to the current session, or services that need restarting before an update will apply. Ignoring a box labeled 'Important' won't cause data loss but may cause irritation and frustration.
Waarschuwing Een waarschuwing dient niet genegeerd te worden. Waarschuwingen negeren zal ongetwijfeld leiden tot data verlies.
3. We hebben terugkoppeling nodig! Als je een typografische fout in deze handleiding vindt, of je weet een manier om deze handleiding te verbeteren, zouden wij dat graag van jou horen! Meldt alstublieft fouten in de uitgave Fedora Documentation via Bugzilla: http://bugzilla.redhat.com/bugzilla/. When submitting a bug report, be sure to mention the manual's identifier: virtualization-guide Als je suggesties hebt om de documentatie te verbeteren, probeer dan zo duidelijk mogelijk deze suggesties te omschrijven. Als je fouten hebt ontdekt, vermeldt dan alstublieft het sectienummer en wat omringende tekst, zodat we de fout gemakkelijker kunnen vinden.
x
Deel I. Vereisten en beperkingen Systeem vereisten, ondersteuning restricties en beperkingen voor virtualisatie met Fedora Deze hoofdstukken beschrijven de systeem vereisten, ondersteuning restricties, en beperkingen van virtualisatie in Fedora.
Systeem vereisten Dit hoofdstuk beschrijft de systeem vereisten voor het succesvol uitvoeren van virtualisatie met Fedora. Virtualisatie is beschikbaar voor Fedora. De Kernel-gebaseerde virtuele machine hypervisor is onderdeel van Fedora. Voor informatie over het installeren van de virtualisatie pakketten, refereer je naar Hoofdstuk 4, De virtualisatie pakketten installeren. Minimale systeem vereisten • 6GB vrije schijf ruimte • 2GB RAM Aanbevolen systeem vereisten • 6GB plus de vereiste schijf ruimte aanbevolen door het gast besturingssysteem per gast. Voor de meeste besturingssystemen wordt meer dan 6GB schijf ruimte aanbevolen. • Een processor kern of hyper-thread voor elke gevirtualiseerde CPU en een voor de hypervisor. • 2GB RAM plus extra RAM voor gevirtualiseerde gasten.
KVM overcommit KVM kan overcommit van fysieke hulpbronnen toepassen voor gevirtualiseerde gasten. Overcommit van hulpbronnen betekent dat het totaal van gevirtualiseerde RAM en processor kernen gebruikt door de gasten groter kan zijn dan het fysieke RAM en de fysieke processor kernen op op de host. Voor informatie over het veilig gebruik van overcommit van hulpbronnen met KVM refereer je naar Paragraaf 25.3, “Overcommitt met KVM”.
KVM vereisten De KVM hypervisor vereist: • een Intel processor met de Intel VT en de Intel 64 uitbreidingen, of • een AMD processor met de AMD-V en de AMD64 uitbreidingen. Refereer naar Paragraaf 25.4, “Virtualisatie uitbreidingen verifiëren” om te bepalen of jouw processor de virtualisatie uitbreidingen heeft.
Bestand-gebaseerde gast opslag Bestand-gebaseerde gast images moeten opgeslagen worden in de /var/lib/ libvirt/images/ map. Als je een andere map gebruikt dan moet je de map toevoegen aan de SELinux tactiek. Refereer naar Paragraaf 19.2, “SELinux en virtualisatie” voor details.
4
KVM compatibiliteit De KVM hypervisor vereist een processor met de Intel-VT of AMD-V virtualisatie uitbreidingen. Merk op dat deze lijst niet compleet is. Help ons met deze uit te breiden door een bug in te sturen over alles wat je aan het werken krijgt. Om te verifiëren of jouw processor de virtualisatie uitbreidingen ondersteunt en voor informatie over het aanzetten van de virtualisatie uitbreidingen als ze uitgezet zijn, refereer je naar Paragraaf 25.4, “Virtualisatie uitbreidingen verifiëren”. Het Fedora kvm pakket is beperkt tot 256 processor kernen. Gasten die moeten werken Besturingssysteem BeOS
Werk niveau Werkt
Red Hat Enterprise Linux 3 x86
Geoptimaliseerd met para-gevirtualiseerde drivers
Red Hat Enterprise Linux 4 x86
Geoptimaliseerd met para-gevirtualiseerde drivers
Red Hat Enterprise Linux 4 AMD Geoptimaliseerd met para-gevirtualiseerde drivers 64 en Intel 64 Red Hat Enterprise Linux 5 x86
Geoptimaliseerd met para-gevirtualiseerde drivers
Red Hat Enterprise Linux 5 AMD Geoptimaliseerd met para-gevirtualiseerde drivers 64 en Intel 64 Red Hat Enterprise Linux 6 x86
Geoptimaliseerd met para-gevirtualiseerde drivers
Red Hat Enterprise Linux 6 AMD Geoptimaliseerd met para-gevirtualiseerde drivers 64 en Intel 64 Fedora 12 x86
Geoptimaliseerd met para-gevirtualiseerde drivers
Fedora 12 AMD 64 en Intel 64
Geoptimaliseerd met para-gevirtualiseerde drivers
Windows Server 2003 R2 32-Bit
Geoptimaliseerd met para-gevirtualiseerde drivers
Windows Server 2003 R2 64-Bit
Geoptimaliseerd met para-gevirtualiseerde drivers
Windows Server 2003 Service Pack 2 32-Bit
Geoptimaliseerd met para-gevirtualiseerde drivers
Windows Server 2003 Service Pack 2 64-Bit
Geoptimaliseerd met para-gevirtualiseerde drivers
Windows XP 32-bit
Geoptimaliseerd met para-gevirtualiseerde drivers
Windows Vista 32-bit
Zou moeten werken
Windows Vista 64-bit
Zou moeten werken
Windows Server 2008 32-bit
Geoptimaliseerd met para-gevirtualiseerde drivers
Windows Server 2008 64-Bit
Geoptimaliseerd met para-gevirtualiseerde drivers
Windows 7 32-bit
Geoptimaliseerd met para-gevirtualiseerde drivers
Windows 7 64-bit
Geoptimaliseerd met para-gevirtualiseerde drivers
Open Solaris 10
Werkt
Open Solaris 11
Werkt
5
6
Virtualisatie beperkingen Dit hoofdstuk behandelt de extra beperkingen van de virtualisatie pakketten in Fedora
3.1. Algemene beperkingen voor virtualisatie Andere beperkingen Voor een lijst van alle andere beperkingen en problemen met betrekking tot virtualisatie, raadpleeg je de Fedora 13 Vrijgave informatie. De Fedora 13 Vrijgave informatie behandelt nieuwe kenmerken, bekende problemen en beperkingen die vernieuwd of ontdekt zijn.
Test voor het inzetten Je moet testen met de maximaal verwachte belasting en virtuele netwerk drukte voordat je toepassingen met veel I/O gebruik inzet. Stress testen is belangrijk omdat er prestatie verminderingen voorkomen veroorzaakt door verhoogd I/O gebruik.
3.2. KVM beperkingen De volgende beperkingen gelden voor de KVM hypervisor: Constante TSC bit Systemen zonder een Contant Time Stamp Counter vereisen extra configuratie. Refereer naar Hoofdstuk 17, KVM gast tijd beheer voor details om te bepalen of jij een Constant Time Stamp Counter hebt en voor configuratie stappen om gerelateerde problemen op te lossen. Geheugen overcommit KVM ondersteunt geheugen overcommit en kan het geheugen van een gast opslaan in swap. Een gast zal langzamer draaien als het regelmatig swap aanspreekt. Als KSM wordt gebruikt, wees er dan zeker van dat de swap grootte gelijk is aan de overcommit verhouding. CPU overcommit Het wordt niet aanbevolen om meer dan 10 virtuele CPU's per fysieke processor kern te hebben. Elk aantal overcommit virtuele CPU's boven het aantal fysieke processor kernen kan problemen veroorzaken met bepaalde gevirtualiseerde gasten. Overcommit van CPU's heeft enige risico's en kan leiden tot instabiliteit. Refereer naar Paragraaf 25.3, “Overcommitt met KVM” voor tips en aanbevelingen over overcommit van CPU's. Gevirtualiseerde SCSI apparaten SCSI emulatie is beperkt tot 16 gevirtualiseerde (geëmuleerde) SCSI apparaten. Gevirtualiseerde IDE apparaten KVM is beperkt tot een maximum van vier gevirtualiseerde (geëmuleerde) IDE apparaten per gast. Para-gevirtualiseerde apparaten Para-gevirtualiseerde apparaten, die de virtio drivers gebruiken, zijn PCI apparaten. Op dit moment worden gasten beperkt tot een maximum van 32 PCI apparaten. Sommige PCI apparaten zijn belangrijk voor het draaien van de gast en kunnen niet verwijderd worden. De standaard vereiste apparaten zijn:
7
Hoofdstuk 3. Virtualisatie beperkingen
• de host brug, • de ISA brug en usb brug (De usb en isa bruggen zijn hetzelfde apparaat), • de grafische kaart (met gebruik van de Cirrus of qxl driver), en • het geheugen ballon apparaat. Van de 32 beschikbare PCI apparaten kunnen er 4 niet verwijderd worden. Dit betekent dat er slechts 28 PCI sleuven beschikbaar zijn voor extra apparaten per gast. Elk para-gevirtualiseerd netwerk of blok apparaat gebruikt een sleuf. Elke gast kan 28 extra apparaten gebruiken, opgebouwd uit elke combinatie van para-gevirtualiseerde netwerk, para-gevirtualiseerde schijf apparaten, of andere PCI apparaten die VT-d gebruiken. Migratie beperkingen Live migratie is alleen mogelijk met CPU's van dezelfde fabrikant (dat betekent alleen Intel naar Intel of AMD naar AMD). De No eXecution (NX) bit moet voor beide CPU's aan of uit gezet zijn voor een live migratie. Opslag beperkingen De host mag geen schijf labels gebruiken om bestandssystemen te identificeren in het fstab bestand, het initrd bestand of gebruikt in de kernel commando-regel. Als gebruikers met minder rechten, in het bijzonder gevirtualiseerde gasten, schrijf toegang hebben tot hele partities of LVM volumes dan kan het host systeem in gevaar gebracht worden. Gasten moeten geen schrijf toegang hebben tot hele schijven of blok apparaten (bijvoorbeeld, /dev/sdb). Gevirtualiseerde gasten met toegang tot blok apparaten kunnen in staat zijn om toegang te krijgen tot andere blok apparaten op het systeem of volume labels veranderen wat gebruikt kan worden om het host systeem in gevaar te brengen. Gebruik partities (bijvoorbeeld, / dev/sdb1) of LVM volumes om dit probleem te voorkomen. PCI doorgeef beperkingen PCI doorgeven (PCI apparaten aansluiten bij gasten) moet werken op systemen met de AMD IOMMU of Intel VT-d technologieën.
3.3. Toepassing beperkingen Er zijn eigenschappen van virtualisatie die virtualisatie ongeschikt maken voor bepaalde types van toepassingen. Toepassingen met een hoge I/O belasting vereisten moeten de para-gevirtualiseerde drivers gebruiken voor volledig gevirtualiseerde gasten. Zonder de para-gevirtualiseerde drivers kunnen bepaalde toepassingen onstabiel zijn bij hoge I/O belasting. De volgende toepassingen moeten vermeden worden vanwege hun hoge I/O belasting: • kdump server • netdump server Je moet database toepassingen zorgvuldig evalueren voordat je ze draait op een gevirtualiseerde gast. In het algemeen gebruiken databases netwerk en opslag I/O apparaten intensief. Deze toepassingen zijn niet geschikt voor een volledig gevirtualiseerde omgeving. Overweeg para-
8
Toepassing beperkingen
virtualisatie of para-gevirtualiseerde drivers voor betere I/O prestaties. Refereer naar Hoofdstuk 12, KVM para-gevirtualiseerde drivers voor meer informatie over de para-gevirtualiseerde drivers voor volledig gevirtualiseerde gasten. Andere toepassingen en gereedschappen die hoge I/O behoefte of real-time prestaties vereisen moeten zorgvuldig geëvalueerd worden. Het gebruik van volledige virtualisatie met de paragevirtualiseerde drivers (refereer naar Hoofdstuk 12, KVM para-gevirtualiseerde drivers) of paravirtualisatie resulteren in betere prestaties bij I/O intensieve toepassingen. Toepassingen hebben nog steeds een kleine prestatie vermindering door het draaien in een gevirtualiseerde omgeving. De prestatie voordelen van virtualisatie door het toepassen van nieuwere en snellere hardware moet geëvalueerd worden tegen de potentiële toepassing snelheid problemen die samenhangen met het gebruik van volledig gevirtualiseerde hardware.
9
10
Deel II. Installatie Virtualisatie installatie onderwerpen Deze hoofdstukken beschrijven het instellen van de host en het installeren van gevirtualiseerde gasten in Fedora. Het wordt aanbevolen om deze hoofdstukken zorgvuldig te lezen om een succesvolle installatie van gevirtualiseerde gast besturingssystemen te verzekeren.
De virtualisatie pakketten installeren Voordat je virtualisatie kunt gebruiken, moeten de virtualisatie pakketten geïnstalleerd worden op jouw computer. Virtualisatie pakketten kunnen worden geïnstalleerd tijdens de installatie, of na de installatie met behulp van het yum commando en het Red Hat Network (RHN). De KVM hypervisor gebruikt de standaard Fedora kernel met de kvm kernel module.
4.1. KVM installeren tijdens een nieuwe Fedora installatie Deze paragraaf behandelt het installeren van virtualisatie gereedschappen en het KVM pakket als onderdeel van een nieuwe Fedora installatie.
Hulp nodig bij het installeren? De Fedora 13 Installatie gids (beschikbaar op http://docs.fedoraproject.org) behandelt het installeren van Fedora tot in detail. 1.
Start een interactieve Fedora installatie op van de Fedora installatie CD-ROM, DVD of PXE.
2.
Je moet een geldig installatie nummer opgeven als daarom gevraagd wordt om toegang te krijgen tot de virtualisatie en andere geavanceerde platform pakketten.
3.
Maak de andere stappen af tot de pakket selectie stap.
Selecteer de Virtualisatie pakket groep en de Nu aanpassen knop. 4.
Selecteer de KVM pakket groep. De-selecteer de Virtualisatie pakket groep. Dit selecteert de KVM hypervisor, virt-manager, libvirt en virt-viewer voor installatie.
13
Hoofdstuk 4. De virtualisatie pakketten installeren
5.
Pas de pakketten aan (indien nodig) Pas de Virtualisatie groep aan als je andere virtualisatie pakketten nodig hebt.
Klik op Sluiten knop, gevolgd door Volgende knop om verder te gaan met de installatie.
14
KVM pakketten installeren op een bestaand Fedora systeem
KVM pakketten installeren met Kickstart bestanden Deze paragraaf beschrijft hoe je een Kickstart bestand kunt gebruiken om Fedora te installeren met de KVM hypervisor pakketten. Kickstart bestanden laten grote, automatische installaties toe zonder dat een gebruiker ieder individueel systeem handmatig moet installeren. De stappen in deze paragraaf zullen je helpen een Kickstart bestand te maken en te gebruiken om Fedora te installeren met de virtualisatie pakketten. In de %packages sectie van jouw Kickstart bestand, voeg je de volgende pakket groep toe: %packages @kvm
Meer informatie over Kickstart bestanden kan gevonden worden in de Fedora 13 Installatie gids, beschikbaar op http://docs.fedoraproject.org.
4.2. KVM pakketten installeren op een bestaand Fedora systeem Deze paragraaf beschrijft de stappen voor het installeren van de KVM hypervisor op een werkende Fedora systeem.
De KVM hypervisor installeren met yum Om virtualisatie te gebruiken op Fedora heb je het kvm pakket nodig. Het kvm pakket bevat de KVM kernel module die de KVM hypervisor aanbiedt voor de standaard Linux kernel. Om het kvm pakket te installeren, voer je uit: # yum install kvm
Installeer nu extra virtualisatie beheer pakketten. Aanbevolen virtualisatie pakketten: python-virtinst Levert het virt-install commando voor het aanmaken van virtuele machines. libvirt libvirt is een cross-platform Application Programmers Interface (API) voor interactie tussen hypervisors en host systemen. libvirt beheert systemen en controleert de hypervisor. Het libvirt pakket bevat het virsh commando-regel gereedschap voor het beheren en controleren van gevirtualiseerde gasten en hypervisors vanaf de commando-regel of een speciale virtualisatie shell. libvirt-python Het libvirt-python pakket bevat een module die toestaat dat toepassingen geschreven in de Python programmeertaal de interface gebruiken die geleverd wordt door de libvirt API. virt-manager virt-manager, ook bekend als Virtual Machine Manager, biedt een grafisch gereedschap voor het beheren van virtuele machines. Het gebruikt de libvirt bibliotheek voor de beheer API. Installeer de andere aanbevolen virtualisatie pakketten:
15
Hoofdstuk 4. De virtualisatie pakketten installeren
Gevirtualiseerde gast installatie overzicht Nadat je de virtualisatie pakketten op het host systeem geïnstalleerd hebt, kun je gast besturingssystemen aanmaken. Dit hoofdstuk beschrijft het algemene proces voor het installeren van gast besturingssystemen op virtuele machines. Je kunt gasten aanmaken met gebruik van de New knop in virt-manager of je kunt de commando-regel interface virt-install gebruiken. Beide manieren worden in dit hoofdstuk behandeld. Gedetailleerde installatie instructies zijn beschikbaar voor specifieke versies van Fedora, andere Linux distributies, Solaris en Windows. Refereer naar de relevante procedure voor jouw gast besturingssysteem: • Red Hat Enterprise Linux 5: Hoofdstuk 6, Red Hat Enterprise Linux 5 installeren als een volledig gevirtualiseerde gast • Windows XP: Hoofdstuk 7, Windows XP installeren als een volledig gevirtualiseerde gast • Windows Server 2003: Hoofdstuk 8, Windows Server 2003 installeren als een volledig gevirtualiseerde gast • Windows Server 2008: Hoofdstuk 9, Windows Server 2008 installeren als een volledig gevirtualiseerde gast
5.1. Gevirtualiseerde gast vereisten en overwegingen Verschillende factoren moeten overwogen worden voordat je gevirtualiseerde gasten aanmaakt. Deze factoren zijn: • Performance • Input/output vereisten en input/output types • Opslag • Netwerken en netwerk infrastructuur
Performance Virtualisatie heeft invloed op de performance.
5.2. Gasten aanmaken met virt-install Je kunt het virt-install commando gebruiken om gevirtualiseerde gasten aan te maken op de commando-regel. virt-install wordt, of interactief gebruikt, of als onderdeel van een script om het aanmaken van virtuele machines te automatiseren. Het gebruik van virt-install met Kickstart staat niet-begeleide installatie van virtuele machines toe. Het virt-install gereedschap biedt een aantal opties die doorgegeven kunnen worden op de commando-regel. Om een complete lijst van opties te zien, voer je uit: $ virt-install --help
De virt-install manual pagina beschrijft ook iedere commando optie en belangrijke variabelen. qemu-img is een gerelateerd commando welke voor virt-install gebruikt kan worden om opslag opties in te stellen. An important option is the --vnc option which opens a graphical window for the guest's installation. Dit voorbeeld maakt een Red Hat Enterprise Linux 3 gast, met de naam rhel3support, vanaf een CD-ROM, met een virtueel netwerk en een 5 GB bestand-gebaseerd blok apparaat image. Dit voorbeeld gebruikt de KVM hypervisor. # virt-install --accelerate --hvm --connect qemu:///system \ --network network:default \ --name rhel3support --ram=756\ --file=/var/lib/libvirt/images/rhel3support.img \ --file-size=6 --vnc --cdrom=/dev/sr0
Voorbeeld 5.1. virt-install met KVM gebruiken om een Red Hat Enterprise Linux 3 gast aan te maken
Voorbeeld 5.2. virt-install gebruiken om een Fedora 11 gast aan te maken
5.3. Gasten aanmaken met virt-manager virt-manager, ook bekend als Virtual Machine Manager, is een grafisch gereedschap voor het aanmaken en beheren van gevirtualiseerde gasten. Procedure 5.1. Het aanmaken van een gevirtualiseerde gast met virt-manager 1. Open virt-manager Start virt-manager. Lanceer de Virtual Machine Manager toepassing in het Applications menu en System Tools submenu. Als alternatief voer je het virt-manager commando uit als root. 2.
18
Optioneel: Open een hypervisor op afstand Open the File -> Add Connection. The dialog box below appears. Select a hypervisor and click the Connect button:
Gasten aanmaken met virt-manager
3.
Maak een nieuwe gast aan Het virt-manager venster laat je een nieuwe virtuele machine aanmaken. Klik op de New knop om een nieuwe gast aan te maken. Dit opent de assistent getoond in de schermafdruk.
Nieuwe gast assistent Het Create a new virtual machine venster biedt een samenvatting van de informatie die je moet opgeven om een virtuele machine aan te maken:
Gasten aanmaken met virt-manager
Bekijk de informatie voor jouw installatie en klik op de Forward knop. 5.
Geeft de virtuele machine een naam The following characters are allowed in guest names: '_', '.' and '-' characters.
Virtualisatie methode kiezen Het Choosing a virtualization method venster verschijnt. Volledige virtualisatie vereist een processor met de AMD 64 en de AMD-V uitbreidingen of een processor met de Intel 64 en Intel VT uitbreidingen. Als de virtualisatie uitbreidingen niet aanwezig zijn, zal KVM niet beschikbaar zijn.
22
Gasten aanmaken met virt-manager
Kies het virtualisatie type en klik op de Forward knop. 7.
Selecteer de installatie methode Het Installation Method venster vraagt om het type installatie dat je geselecteerd hebt. Gasten kunnen geïnstalleerd worden met gebruik van een van de volgende methoden: Locale media installatie Deze methode gebruikt een CD-ROM of DVD of een image van een installatie CD-ROM of DVD (een .iso bestand). Netwerk installatie boom Deze methode gebruikt een gespiegelde Fedora installatie boom om gasten te installeren. De installatie boom moet toegankelijk zijn met een van de volgende netwerk protocollen: HTTP, FTP of NFS.
De netwerk services en bestanden kunnen gehost worden met behulp van net werk services op de host of een andere spiegel. Netwerk opstarten Deze methode gebruikt een Preboot eXecution Environment (PXE) server voor het installeren van de gast. Het instellen van een PXE server wordt behandeld in de Fedora Deployment Guide. Deze methode vereist een gast met een routable IP adres of gedeeld netwerk apparaat. Refereer naar Hoofdstuk 11, Netwerk configuratie voor meer informatie over de vereiste netwerk configuratie voor PXE installatie.
Stel het OS type en OS variant in. Kies de installatie methode en klik op Forward om verder te gaan. 8.
24
Installatie media selectie Dit venster is afhankelijk van wat er geselecteerd is in de vorige stap.
Gasten aanmaken met virt-manager
a.
Installatie met ISO image of fysieke media Als Local install media geselecteerd werd in de vorige stap, zal dit venster met de naam Install Media verschijnen. Selecteer de locatie van een ISO image of selecteer een CD-ROM of DVD in de uitklap lijst.
Klik op de Forward knop om verder te gaan. b.
Netwerk installatie boom installatie Als Network install tree geselecteerd werd in de vorige stap, zal dit venster met de naam Installation Source verschijnen. Netwerk installatie vereist het adres van een spiegel van een Linux installatie boom met gebruik van NFS, FTP of HTTP. Optioneel kan een kickstart bestand opgeven worden voor het automatiseren van de installatie. Kernel parameters kunnen ook opgegeven worden als dat nodig is.
Netwerk opstart (PXE) PXE installatie heeft geen extra stap.
Opslag instellen Het Storage venster wordt weergegeven. Kies een schijf partitie, LUN of maak een bestandgebaseerde image voor de gast opslag. Alle image bestanden moeten zich bevinden in de /var/lib/libvirt/images/ map. Andere map locaties voor op bestand-gebaseerde images zijn verboden door SELinux. Als je SELinux draait in de afdwingende mode, refereer je naar Paragraaf 19.2, “SELinux en virtualisatie” voor meer informatie over het installeren van gasten. Your guest storage image should be larger than the size of the installation, any additional packages and applications, and the size of the guests swap file. The installation process will choose the size of the guest's swap based on size of the RAM allocated to the guest.
26
Gasten aanmaken met virt-manager
Wijs extra ruimte toe als de gast extra ruimte nodig heeft voor toepassingen of andere data. Bijvoorbeeld, web servers vereisen extra ruimte voor log bestanden.
Kies de juiste grootte voor de gast op jouw geselecteerde opslag type en klik op de Forward knop.
Opmerking Het wordt aanbevolen dat je de standaard map gebruikt voor virtuele machine images, /var/lib/libvirt/images/. Als je een andere locatie gebruikt (zoals /images/ in dit voorbeeld) wees er dan zeker van dat het wordt toegevoegd aan jouw SELinux tactiek en dat het opnieuw gelabeld wordt voordat je verder gaat met de installatie (later in dit document zul je informatie vinden over het veranderen van jouw SELinux tactiek).
10. Netwerk instelling Selecteer, of Virtual network, of Shared physical device. De virtuele netwerk optie gebruikt Network Address Translation (NAT) om het standaard netwerk apparaat te delen met de gevirtualiseerde gast. Gebruik de virtuele netwerk optie voor draadloze netwerken. De gedeelde fysiek apparaat optie gebruikt een netwerk verbinding om de gevirtualiseerde gast volledige toegang tot een netwerk apparaat te geven.
Druk op Forward om verder te gaan. 11. Geheugen en CPU toewijzing The Memory and CPU Allocation window displays. Choose appropriate values for the virtualized CPUs and RAM allocation. These values affect the host's and guest's performance. Gasten vereisen voldoende fysiek geheugen (RAM) om efficiënt en effectief te draaien. Kies een geheugen waarde die past bij jouw gast besturingssysteem en toepassing behoeften. De
28
Gasten aanmaken met virt-manager
meeste besturingssystemen vereisen ten minste 512 MB RAM om voldoende snel te werken. Denk eraan dat gasten fysiek RAM gebruiken. Het draaien van te veel gasten of het overlaten van onvoldoende geheugen voor het host systeem resulteert in een significant gebruik van virtueel geheugen. Virtueel geheugen is significant langzamer wat degradatie van de systeem performance en reactiesnelheid veroorzaakt. Wees er zeker van om voldoende geheugen toe te kennen voor alle gasten en de host om effectief te kunnen werken. Wijs voldoende virtuele CPU's toe aan de gevirtualiseerde gast. Als de gast een multi-thread toepassing draait, wijs dan het aantal gevirtualiseerde CPU's toe dat de gast nodig zal hebben om efficiënt te draaien. Wijs niet meer virtuele CPU's toe dan er fysieke processors (of hyperthreads) beschikbaar zijn op het host systeem. Het is mogelijk om virtuele processors overtallig toe te wijzen, dit heeft echter een belangrijke, negatieve invloed op gast en host performance ten gevolge van processor context overhead schakelen.
12. Verifieer en start gast installatie Het Finish Virtual MAchine Creation venster laat een overzicht zien van alle configuratie informatie die je hebt opgegeven. Bekijk de gepresenteerde informatie en gebruik de Back knop om veranderingen te maken als dat nodig is. Als je tevreden bent klik je op de Finish knop om het installatie proces te beginnen.
Een VNC venster opent die het begin van het gast besturingssysteem installatie proces laat zien. Dit beëindigt het algemene proces voor het aanmaken van gasten met virt-manager. Hoofdstuk 5, Gevirtualiseerde gast installatie overzicht bevat stap-voor-stap instructies voor het installeren van een aantal veel voorkomende besturingssystemen.
5.4. Gasten installeren met PXE Deze paragraaf behandelt de stappen die nodig zijn om gasten te installeren met PXE. PXE gast installatie vereist een gedeeld netwerk apparaat, ook bekend als een netwerk brug. De procedure hier
30
Gasten installeren met PXE
beneden behandelt het maken van een brug en de stappen die nodig zijn om de brug te gebruiken voor een PXE installatie. 1.
Een nieuwe brug aanmaken a. Maak een nieuw netwerk script bestand aan in de /etc/sysconfig/network-scripts/ map. Dit voorbeeld maakt een bestand aan met de naam ifcfg-installation welke een brug aanmaakt met de naam installation. # cd /etc/sysconfig/network-scripts/ # vim ifcfg-installation DEVICE=installation TYPE=Bridge BOOTPROTO=dhcp ONBOOT=yes
Waarschuwing The line, TYPE=Bridge, is case-sensitive. It must have uppercase 'B' and lower case 'ridge'. b.
Start de nieuwe brug door de netwerk service opnieuw te starten. Het ifup installation commando kan de individuele brug opstarten, maar het is veiliger om het hele netwerk opnieuw op te starten om te testen of het juist opstart. # service network restart
c.
Er zijn nog geen interfaces toegevoegd aan de nieuwe brug. Gebruik het brctl show commando om details van de netwerk bruggen op het systeem te bekijken. # brctl show bridge name installation virbr0
bridge id 8000.000000000000 8000.000000000000
STP enabled no yes
interfaces
De virbr0 brug is de standaard brug die gebruikt wordt door libvirt voor Network Address Translation (NAT) op het standaard Ethernet apparaat. 2.
Voeg een interface toe aan de nieuwe brug Bewerk het configuratie bestand voor de interface. Voeg de BRIDGE parameter toe aan het configuratie bestand met de naam van de brug die in de vorige stappen aangemaakt werd. # Intel Corporation Gigabit Network Connection DEVICE=eth1 BRIDGE=installation BOOTPROTO=dhcp HWADDR=00:13:20:F7:6E:8E ONBOOT=yes
Na het bewerken van het configuratie bestand, start je het netwerk opnieuw op of je herstart de computer. # service network restart
Controleer of de interface aangebracht is met het brctl show commando: # brctl show bridge name installation virbr0
3.
bridge id 8000.001320f76e8e 8000.000000000000
STP enabled no yes
interfaces eth1
Beveiliging configuratie Configureer iptables om toe te staan dat alle verkeer over de brug doorgestuurd wordt. # iptables -I FORWARD -m physdev --physdev-is-bridged -j ACCEPT # service iptables save # service iptables restart
iptables uitzetten voor bruggen Als alternatief kun je voorkomen dat brug verkeer verwerkt wordt met iptables regels. In /etc/sysctl.conf voeg je de volgende regels toe: net.bridge.bridge-nf-call-ip6tables = 0 net.bridge.bridge-nf-call-iptables = 0 net.bridge.bridge-nf-call-arptables = 0
Laad de kernel parameters geconfigureerd met sysctl opnieuw in. # sysctl -p /etc/sysctl.conf
4.
Herstart libvirt voor de installatie Herstart de libvirt daemon. # service libvirtd reload
De brug is geconfigureerd, je kunt nu beginnen met een installatie.
PXE installatie met virt-install Voor virt-install voeg je de --network=bridge:installation installatie parameter toe waarin installation de naam van jouw brug is. Gebruik voor PXE installaties de --pxe parameter. # virt-install --accelerate --hvm --connect qemu:///system \ --network=bridge:installation --pxe\ --name EL10 --ram=756 \ --vcpus=4 --os-type=linux --os-variant=rhel5 --file=/var/lib/libvirt/images/EL10.img \
Voorbeeld 5.3. PXE installatie met virt-install
32
Gasten installeren met PXE
PXE installatie met virt-manager De stappen hieronder zijn de stappen die verschillen van de standaard virt-manager installatie procedures. 1.
Selecteer PXE Selecteer PXE als de installatie methode.
2.
Selecteer de brug Selecteer Shared physical device en selecteer de brug die in de vorige procedure gemaakt is.
Start de installatie De installatie is klaar om te beginnen.
Gasten installeren met PXE
Een DHCP verzoek wordt verstuurd en als een geldige PXE server wordt gevonden, zullen de gast installatie processen beginnen.
35
36
Red Hat Enterprise Linux 5 installeren als een volledig gevirtualiseerde gast Deze paragraaf behandelt het installeren van een volledig gevirtualiseerde Red Hat Enterprise Linux 5 gast op een Fedora host. Procedure 6.1. Een volledig gevirtualiseerde Red Hat Enterprise Linux 5 gast aanmaken met virtmanager 1. Open virt-manager Start virt-manager. Lanceer de Virtual Machine Manager toepassing in het Applications menu en System Tools submenu. Als alternatief voer je het virt-manager commando uit als root. 2.
Selecteer de hypervisor Selecteer de hypervisor. Merk op dat op dit moment de KVM hypervisor qemu genoemd wordt. Verbindt met een hypervisor als je dat nog niet gedaan hebt. Open het File menu en selecteer de Add Connection... optie. Refereer naar Paragraaf 29.1, “Het Verbinding toevoegen venster”. Zodra een hypervisor verbinding geselecteerd is komt de New knop beschikbaar. Klik op de New knop.
3.
Start de nieuwe virtuele machine assistent Klikken op de New knop start de virtuele machine aanmaken assistent.
37
Hoofdstuk 6. Red Hat Enterprise Linux 5 installeren als een volledig gevirtualiseerde gast
Druk op Forward om verder te gaan. 4.
38
Geeft de virtuele machine een naam Provide a name for your virtualized guest. The following punctuation and whitespace characters are permitted for '_', '.' and '-' characters.
Press Forward to continue. 5.
Kies een virtualisatie methode Kies de virtualisatie methode voor de gevirtualiseerde gast. Merk op dat je alleen kunt kiezen tussen x86_64 (64 bit) en x86 (32 bit).
39
Hoofdstuk 6. Red Hat Enterprise Linux 5 installeren als een volledig gevirtualiseerde gast
Klik op Forward om verder te gaan. 6.
Selecteer de installatie methode Red Hat Enterprise Linux kan geïnstalleerd worden met een van de volgende methoden: • local install media, of een ISO image, of fysieke optische media. • Selecteer Network install tree als je de installatie boom van Red Hat Enterprise Linux ergens gehost hebt op jouw netwerk via HTTP, FTP of NFS. • PXE kan worden gebruikt als je een PXE server geconfigureerd hebt voor het opstarten van Red Hat Enterprise Linux installatie media. Het configureren van een server voor PXE opstarten van een Red Hat Enterprise Linux installatie wordt in deze gids niet behandelt. De meeste installatie stappen zijn echter hetzelfde nadat de media is opgestart. Zet OS Type op Linux en OS Variant op Red Hat Enterprise Linux 5 zoals getoond in de schermafdruk.
40
Klik op Forward om verder te gaan. 7.
Lokaliseer installatie media Selecteer ISO image locatie of CD-ROM of DVD station. Dit voorbeeld gebruikt een ISO image bestand van de Red Hat Enterprise Linux installatie DVD. a.
Klik op de Browse knop.
b.
Zoek de locatie van het ISO bestand op en selecteer de ISO image. Klik op Open om jouw keuze te bevestigen.
c.
Het bestand is geselecteerd en klaar voor het installeren.
41
Hoofdstuk 6. Red Hat Enterprise Linux 5 installeren als een volledig gevirtualiseerde gast
Druk op Forward om verder te gaan.
Image bestanden en SELinux Voor ISO image bestanden en gast opslag images wordt aanbevolen om de / var/lib/libvirt/images/ map te gebruiken. Elke andere locatie vereist extra configuratie voor SELinux, refereer naar Paragraaf 19.2, “SELinux en virtualisatie” voor details. 8.
42
Opslag instelling Ken een fysiek opslag apparaat (Block device) of een bestand-gebaseerde image (File) toe. Bestand-gebaseerde images moeten opgeslagen worden in de /var/lib/libvirt/images/ map. Ken voldoende ruimte toe aan jouw gevirtualiseerde gast en elke toepassing die het vereist.
Klik op Forward om verder te gaan.
Migratie Live en off-line migraties vereisen dat gasten op gedeelde netwerk opslag geïnstalleerd zijn. Voor informatie over het opzetten van gedeelde opslag voor gasten refereer je naar Deel V, “Virtualisatie opslag onderwerpen”. 9.
Netwerk instelling Select Virtual network of Shared physical device. De virtuele netwerk optie gebruikt Network Address Translation (NAT) om het standaard netwerk apparaat te delen met de gevirtualiseerde gast. Gebruik de virtuele netwerk optie voor draadloze netwerken.
43
Hoofdstuk 6. Red Hat Enterprise Linux 5 installeren als een volledig gevirtualiseerde gast
De gedeelde fysiek apparaat optie gebruikt een netwerk verbinding om de gevirtualiseerde gast volledige toegang tot een netwerk apparaat te geven.
Druk op Forward om verder te gaan. 10. Geheugen en CPU toewijzing The Memory and CPU Allocation window displays. Choose appropriate values for the virtualized CPUs and RAM allocation. These values affect the host's and guest's performance. Gevirtualiseerde gasten vereisen voldoende fysiek geheugen (RAM) om efficiënt en effectief te draaien. Kies een geheugen waarde die past bij jouw gast besturingssysteem en toepassing behoeften. Denk eraan dat gasten fysiek RAM gebruiken. Het draaien van te veel gasten of het overlaten van onvoldoende geheugen voor het host systeem resulteert in een significant gebruik van virtueel geheugen en swap. Virtueel geheugen is significant langzamer wat degradatie van de systeem performance en reactiesnelheid veroorzaakt. Wees er zeker van om voldoende geheugen toe te kennen voor alle gasten en de host om effectief te kunnen werken.
44
Wijs voldoende virtuele CPU's toe aan de gevirtualiseerde gast. Als de gast een multi-thread toepassing draait, wijs dan het aantal gevirtualiseerde CPU's toe dat de gast nodig zal hebben om efficiënt te draaien. Wijs niet meer virtuele CPU's toe dan er fysieke processors (of hyperthreads) beschikbaar zijn op het host systeem. Het is mogelijk om virtuele processors overtallig toe te wijzen, dit heeft echter een belangrijke, negatieve invloed op gast en host performance ten gevolge van processor context overhead schakelen.
Druk op Forward om verder te gaan. 11. Verifieer en start gast installatie Verifieer de configuratie.
45
Hoofdstuk 6. Red Hat Enterprise Linux 5 installeren als een volledig gevirtualiseerde gast
Klik op Finish om de gast installatie procedure te starten. 12. Red Hat Enterprise Linux installeren Maak de Red Hat Enterprise Linux installatie af. De installatie volgorde wordt behandeld in de 1 Installation Guide, refereer naar Red Hat Documentation voor de Red Hat Enterprise Linux Installation Guide. Een volledig gevirtualiseerde Red Hat Enterprise Linux 5 gast klaar om te installeren.
46
Windows XP installeren als een volledig gevirtualiseerde gast Windows XP kan geïnstalleerd worden als een volledig gevirtualiseerde gast. Deze paragraaf beschrijft hoe Windows XP te installeren is als een volledig gevirtualiseerde gast op Fedora. Voordat je aan deze procedure begint moet je er zeker van zijn dat je root toegang hebt. 1.
virt-manager starten Open Applications > System Tools > Virtual Machine Manager. Open a connection to a host (click File > Add Connection). Click the New button to create a new virtual machine.
2.
Naam van de gast Vul de System Name in en klik op de Forward knop.
47
Hoofdstuk 7. Windows XP installeren als een volledig gevirtualiseerde gast
3.
Kies een virtualisatie methode Het Choosing a virtualization method venster verschijnt Volledige virtualisatie vereist een processor met de AMD 64 en de AMD-V uitbreidingen of een processor met de Intel 64 en Intel VT uitbreidingen. Als de virtualisatie uitbreidingen niet aanwezig zijn, zal KVM niet beschikbaar zijn.
Druk op Forward om verder te gaan. 4.
Kies een installatie methode Dit scherm laat je de installatie methode en het type besturingssysteem opgeven. Selecteer Windows in de OS Type lijst en Microsoft Windows XP in de OS Variant lijst. PXE installatie wordt niet behandeld in dit hoofdstuk.
48
Image bestanden en SELinux Voor ISO image bestanden en gast opslag images wordt het aanbevolen om de /var/lib/libvirt/images/ map te gebruiken. Elke andere locatie kan extra configuratie voor SELinux nodig hebben, refereer naar Paragraaf 19.2, “SELinux en virtualisatie” voor details. Duw op Forward om verder te gaan. 5.
Kies installatie image Kies de installatie image of CD-ROM. Voor CD-ROM of DVD installatie selecteer je het station waarin de Windows installatie schijf zich bevindt. Als je ISO Image Location kiest vul je het pad naar een Windows installatie .iso image in.
49
Hoofdstuk 7. Windows XP installeren als een volledig gevirtualiseerde gast
Duw op Forward om verder te gaan. 6.
The Storage window displays. Choose a disk partition, LUN or create a file-based image for the guest's storage. Alle image bestanden moeten zich bevinden in de /var/lib/libvirt/images/ map. Andere map locaties voor op bestand-gebaseerde images zijn verboden door SELinux. Als je SELinux draait in de afdwingende mode, refereer je naar Paragraaf 19.2, “SELinux en virtualisatie” voor meer informatie over het installeren van gasten. Wijs extra ruimte toe als de gast extra ruimte nodig heeft voor toepassingen of andere data. Bijvoorbeeld, web servers vereisen extra ruimte voor log bestanden.
50
Kies de juiste grootte voor de gast op jouw geselecteerde opslag type en klik op de Forward knop.
Opmerking Het wordt aanbevolen dat je de standaard map gebruikt voor virtuele machine images, /var/lib/libvirt/images/. Als je een andere locatie gebruikt (zoals /images/ in dit voorbeeld) wees er dan zeker van dat het toegevoegd wordt aan de SELinux tactiek en opnieuw gelabeld wordt voordat je verder gaat met de installatie (later in dit document zul je informatie vinden over het veranderen van jouw SELinux tactiek) 7.
Netwerk instelling Selecteer, of Virtual network, of Shared physical device.
51
Hoofdstuk 7. Windows XP installeren als een volledig gevirtualiseerde gast
De virtuele netwerk optie gebruikt Network Address Translation (NAT) om het standaard netwerk apparaat te delen met de gevirtualiseerde gast. Gebruik de virtuele netwerk optie voor draadloze netwerken. De gedeelde fysiek apparaat optie gebruikt een netwerk verbinding om de gevirtualiseerde gast volledige toegang tot een netwerk apparaat te geven.
Druk op Forward om verder te gaan. 8.
The Memory and CPU Allocation window displays. Choose appropriate values for the virtualized CPUs and RAM allocation. These values affect the host's and guest's performance. Gevirtualiseerde gasten vereisen voldoende fysiek geheugen (RAM) om efficiënt en effectief te draaien. Kies een geheugen waarde die past bij jouw gast besturingssysteem en toepassing behoeften. De meeste besturingssystemen vereisen ten minste 512 MB RAM om snel te kunnen werken. Denk eraan dat gasten fysieke RAM gebruiken. Het draaien van te veel gasten of onvoldoende geheugen overlaten voor het host systeem resulteert in significant gebruik van
52
virtueel geheugen en swap. Virtueel geheugen is veel langzamer wat afnemende systeem prestaties en snelheid veroorzaakt. Wees er zeker van om voldoende geheugen toe te kennen aan alle gasten en de host om effectief te kunnen werken. Wijs voldoende virtuele CPU's toe aan de gevirtualiseerde gast. Als de gast een multi-thread toepassing draait, wijs dan het aantal gevirtualiseerde CPU's toe dat de gast nodig zal hebben om efficiënt te draaien. Wijs niet meer virtuele CPU's toe dan er fysieke processors (of hyperthreads) beschikbaar zijn op het host systeem. Het is mogelijk om virtuele processors overtallig toe te wijzen, dit heeft echter een belangrijke, negatieve invloed op gast en host performance ten gevolge van processor context overhead schakelen.
9.
Voordat de installatie verdergaat zul je het overzicht scherm zien. Klik op Finish om verder te gaan met de gast installatie:
53
Hoofdstuk 7. Windows XP installeren als een volledig gevirtualiseerde gast
10. You must make a hardware selection so open a console window quickly after the installation starts. Click Finish then switch to the virt-manager summary window and select your newly started Windows guest. Double click on the system name and the console window opens. Quickly and repeatedly press F5 to select a new HAL, once you get the dialog box in the Windows install select the 'Generic i486 Platform' tab. Scroll through selections with the Up and Down arrows.
54
11. De installatie vervolgt met de standaard Windows installatie.
55
Hoofdstuk 7. Windows XP installeren als een volledig gevirtualiseerde gast
56
12. Partitioneer de harde schijf als er om gevraagd wordt.
57
Hoofdstuk 7. Windows XP installeren als een volledig gevirtualiseerde gast
13. Nadat de schijf geformatteerd is, begint Windows met het kopiëren van de bestanden naar de harde schijf.
58
14. De bestanden worden gekopieerd naar het opslag apparaat, Windows gaat nu opnieuw opstarten.
59
Hoofdstuk 7. Windows XP installeren als een volledig gevirtualiseerde gast
15. Start jouw Windows gast opnieuw op: # virsh start WindowsGuest
Waarin WindowsGuest de naam van jouw virtuele machine is. 16. Als het console venster opent, zul je de instel fase zien van de Windows installatie.
60
17. Als het lijkt dat jouw installatie vastloopt tijdens de instel fase, start dan de gast opnieuw op met virsh reboot WindowsGuestName. Als je de virtuele machine opnieuw opstart, wordt de Setup is being restarted boodschap getoond:
61
Hoofdstuk 7. Windows XP installeren als een volledig gevirtualiseerde gast
18. Nadat setup is beëindigd, zul je het Windows boot scherm zien:
62
19. Je kunt nu verder gaan met de standaard setup van jouw Windows installatie:
63
Hoofdstuk 7. Windows XP installeren als een volledig gevirtualiseerde gast
20. Het setup proces is klaar.
64
65
66
Windows Server 2003 installeren als een volledig gevirtualiseerde gast Dit hoofdstuk beschrijf de installatie van een volledig gevirtualiseerde Windows Server 2003 gast met het virt-install commando. virt-install kan gebruikt worden in plaats van virt-manager. Dit proces is vergelijkbaar met de Windows XP installatie behandeld in Hoofdstuk 7, Windows XP installeren als een volledig gevirtualiseerde gast. 1.
Het gebruiken van virt-install voor het installeren van Windows Server 2003 als de console voor de Windows gast opent snel het virt-viewer venster. Een voorbeeld van het gebruik van virt-install voor het installeren van een Windows Server 2003 gast: # virt-install --accelerate --hvm --connect qemu:///system \ --name rhel3support \ --network network:default \ --file=/var/lib/libvirt/images/windows2003sp2.img \ --file-size=6 \ --cdrom=/var/lib/libvirt/images/ISOs/WIN/en_windows_server_2003_sp1.iso \ --vnc --ram=1024
Voorbeeld 8.1. KVM virt-install 2.
Zodra de gast opstart in de installatie moet je snel op F5 induwen. Als je F5 niet op het juiste moment induwt moet je de installatie opnieuw opstarten. Het induwen van F5 laat je een andere HAL of Computer Type selecteren. Kies Standard PC als het Computer Type. Het veranderen van het Computer Type wordt vereist voor Windows Server 2003 gevirtualiseerde gasten.
3.
Maak de rest van de installatie af.
67
Hoofdstuk 8. Windows Server 2003 installeren als een volledig gevirtualiseerde gast
68
4.
Windows Server 2003 is nu geïnstalleerd als een volledig gevirtualiseerde gast.
69
70
Windows Server 2008 installeren als een volledig gevirtualiseerde gast Deze paragraaf behandelt het installeren van een volledig gevirtualiseerde Windows Server 2008 gast op Fedora. Procedure 9.1. Windows Server 2008 installeren met virt-manager 1. Open virt-manager Start virt-manager. Lanceer de Virtual Machine Manager toepassing in het Applications menu en System Tools submenu. Als alternatief voer je het virt-manager commando uit als root. 2.
Selecteer de hypervisor Selecteer de hypervisor. Merk op dat op dit moment de KVM hypervisor qemu genoemd wordt. Zodra de optie geselecteerd is, komt de New knop beschikbaar. Klik op de New knop.
3.
Start de nieuwe virtuele machine assistent Klikken op de New knop start de virtuele machine aanmaken assistent.
71
Hoofdstuk 9. Windows Server 2008 installeren als een volledig gevirtualiseerde gast
Druk op Forward om verder te gaan. 4.
72
De naam van de gast The following characters are allowed in guest names: '_', '.' and '-' characters.
Druk op Forward om verder te gaan. 5.
Kies een virtualisatie methode Het Choosing a virtualization method venster verschijnt Volledige virtualisatie vereist een processor met de AMD 64 en de AMD-V uitbreidingen of een processor met de Intel 64 en Intel VT uitbreidingen. Als de virtualisatie uitbreidingen niet aanwezig zijn, zal KVM niet beschikbaar zijn.
73
Hoofdstuk 9. Windows Server 2008 installeren als een volledig gevirtualiseerde gast
Druk op Forward om verder te gaan. 6.
Selecteer de installatie methode Voor alle versies van Windows moet je local install media gebruiken met, of een ISO image, of een fysieke optische media. PXE kan gebruikt worden als je een PXE server hebt die ingesteld is voor Windows netwerk installatie. PXE Windows installatie wordt niet behandeld in deze gids. Zet OS Type op Windows en OS Variant op Microsoft Windows 2008 zoals getoond in de schermafdruk.
74
Klik op Forward om verder te gaan. 7.
Lokaliseer installatie media Selecteer de ISO image locatie of het CD-ROM of DVD station. Dit voorbeeld gebruikt een ISO bestand image van de Windows Server 2008 installatie CD. a.
Klik op de Browse knop.
b.
Zoek naar de locatie van het ISO bestand en selecteer het.
75
Hoofdstuk 9. Windows Server 2008 installeren als een volledig gevirtualiseerde gast
Klik op Open om jouw selectie te bevestigen. c.
76
Het bestand is geselecteerd en klaar voor het installeren.
Klik op Forward om verder te gaan.
Image bestanden en SELinux Voor ISO image bestanden en gast opslag images wordt aanbevolen om de / var/lib/libvirt/images/ map te gebruiken. Elke andere locatie vereist extra configuratie voor SELinux, refereer naar Paragraaf 19.2, “SELinux en virtualisatie” voor details. 8.
Opslag instellen Ken een fysiek opslag apparaat (Block device) of een bestand-gebaseerde image (File) toe. Bestand-gebaseerde images moeten opgeslagen worden in de /var/lib/libvirt/images/ map. Ken voldoende ruimte toe aan jouw gevirtualiseerde gast en elke toepassing die het vereist.
77
Hoofdstuk 9. Windows Server 2008 installeren als een volledig gevirtualiseerde gast
Klik op Forward om verder te gaan. 9.
Netwerk instelling Selecteer, of Virtual network, of Shared physical device. De virtuele netwerk optie gebruikt Network Address Translation (NAT) om het standaard netwerk apparaat te delen met de gevirtualiseerde gast. Gebruik de virtuele netwerk optie voor draadloze netwerken. De gedeelde fysiek apparaat optie gebruikt een netwerk verbinding om de gevirtualiseerde gast volledige toegang tot een netwerk apparaat te geven.
78
Druk op Forward om verder te gaan. 10. Geheugen en CPU toewijzing The Memory and CPU Allocation window displays. Choose appropriate values for the virtualized CPUs and RAM allocation. These values affect the host's and guest's performance. Gevirtualiseerde gasten vereisen voldoende fysiek geheugen (RAM) om efficiënt en effectief te draaien. Kies een geheugen waarde die past bij jouw gast besturingssysteem en toepassing behoeften. Denk eraan dat gasten fysiek RAM gebruiken. Het draaien van te veel gasten of het overlaten van onvoldoende geheugen voor het host systeem resulteert in een significant gebruik van virtueel geheugen en swap. Virtueel geheugen is significant langzamer wat degradatie van de systeem performance en reactiesnelheid veroorzaakt. Wees er zeker van om voldoende geheugen toe te kennen voor alle gasten en de host om effectief te kunnen werken. Wijs voldoende virtuele CPU's toe aan de gevirtualiseerde gast. Als de gast een multi-thread toepassing draait, wijs dan het aantal gevirtualiseerde CPU's toe dat de gast nodig zal hebben om efficiënt te draaien. Wijs niet meer virtuele CPU's toe dan er fysieke processors (of hyper-
79
Hoofdstuk 9. Windows Server 2008 installeren als een volledig gevirtualiseerde gast
threads) beschikbaar zijn op het host systeem. Het is mogelijk om virtuele processors overtallig toe te wijzen, dit heeft echter een belangrijke, negatieve invloed op gast en host performance ten gevolge van processor context overhead schakelen.
Druk op Forward om verder te gaan. 11. Verifieer en start gast installatie Verifieer de configuratie.
80
Klik op Finish om de gast installatie procedure te starten.
81
Hoofdstuk 9. Windows Server 2008 installeren als een volledig gevirtualiseerde gast
12. Windows installeren
Complete the Windows Server 2008 installation sequence. The installation sequence is not 1 covered by this guide, refer to Microsoft's documentation for information on installing Windows.
82
Deel III. Configuratie Virtualisatie configureren in Fedora Deze hoofdstukken behandelen configuratie procedures voor verscheidene geavanceerde virtualisatie taken. Deze taken omvatten het toevoegen van netwerk en opslag apparaten, beveiliging verbeteren, prestaties verbeteren, en het gebruik van de para-gevirtualiseerde drivers in volledig gevirtualiseerde gasten.
Gevirtualiseerde opslag apparaten Dit hoofdstuk behandelt het installeren en configureren van opslag apparaten in gevirtualiseerde gasten. De term blok apparaten refereert naar verschillende vormen van opslag apparaten. Alle procedures in dit hoofdstuk werken met zowel de Xen als de KVM hypervisor.
Geldige schijf doelen De doel variabele in libvirt configuratie bestanden accepteert alleen de volgende apparaat namen: • /dev/xvd[a to z][1 to 15] Voorbeeld: /dev/xvdb13 • /dev/xvd[a to i][a to z][1 to 15] Voorbeeld: /dev/xvdbz13 • /dev/sd[a to p][1 to 15] Voorbeeld: /dev/sda1 • /dev/hd[a to t][1 to 63] Voorbeeld: /dev/hdd3
10.1. Een gevirtualiseerde floppy disk controller aanmaken Floppy disk controllers zijn nodig voor een aantal oudere besturingssystemen, in het bijzonder voor het installeren van drivers. Op dit moment kunnen fysieke floppy disk stations niet benaderd worden vanuit gevirtualiseerde gasten. Echter het aanmaken en benaderen van floppy disk images vanaf gevirtualiseerde floppy stations wordt ondersteund. Deze paragraaf behandelt het aanmaken van een gevirtualiseerd floppy station. Een image bestand van een floppy disk is vereist. Maak floppy disk image bestanden met het dd commando. Vervang /dev/fd0 met de naam van een floppy disk station en geef de schijf een geschikte naam. # dd if=/dev/fd0 of=~/legacydrivers.img
Dit voorbeeld gebruikt een gast aangemaakt met virt-manager en draait een volledig gevirtualiseerde Fedora installatie met een image geplaatst in /var/lib/libvirt/images/ Fedora.img. De Xen hypervisor wordt in het voorbeeld gebruikt. 1.
Maak het XML configuratie bestand voor jouw gast image met gebruik van het virsh commando op een draaiende gast. # virsh dumpxml Fedora > rhel5FV.xml
Dit slaat de configuratie instellingen op als een XML bestand welke bewerkt kan worden om de operaties en apparaten gebruikt door de gast aan te passen. Voor meer informatie over het
85
Hoofdstuk 10. Gevirtualiseerde opslag apparaten
gebruik van de virsh XML configuratie bestanden, refereer je naar Hoofdstuk 31, Aangepaste libvirt scripts aanmaken. 2.
Maak een floppy disk image voor de gast. # dd if=/dev/zero of=/var/lib/libvirt/images/Fedora-floppy.img bs=512 count=2880
3.
Voeg de onderstaande inhoud, met veranderingen waar nodig, toe aan het configuratie XML bestand van jouw gast. Dit voorbeeld is een geëmuleerd floppy station met gebruik van een bestand-gebaseerde image. <source file='/var/lib/libvirt/images/Fedora-floppy.img'/>
4.
Dwing de gast te stoppen. Om de gast netjes af te sluiten, gebruik je het virsh shutdown commando. # virsh destroy Fedora
5.
Start de gast opnieuw op met gebruik van het XML configuratie bestand. # virsh create Fedora.xml
Het floppy station is nu beschikbaar in de gast en opgeslagen als een image bestand op de host.
10.2. Opslag apparaten toevoegen aan gasten Deze paragraaf behandelt het toevoegen van opslag apparaten aan gevirtualiseerde gasten. Extra opslag kan alleen toegevoegd worden nadat gasten aangemaakt zijn. De opslag apparaten en protocollen die kunnen werken zijn: • locale harde schijf partities, • logische volumes, • Fibre Channel of iSCSI direct verbonden met de host. • Bestand containers die zich bevinden in een bestandssysteem op de host. • NFS bestandssystemen direct aangekoppeld door de virtuele machine. • iSCSI opslag direct toegankelijk voor de gast. • Cluster bestandssystemen (GFS).
Bestand-gebaseerde opslag toevoegen aan een gast Bestand-gebaseerde opslag of bestand-gebaseerde containers zijn bestanden op het host bestandssysteem welke optreden als gevirtualiseerde harde schijven voor gevirtualiseerde gasten. Om een bestand-gebaseerde container toe te voegen, voer je de volgende stappen uit:
86
Opslag apparaten toevoegen aan gasten
1.
Maak een leeg container bestand of gebruik een bestaande bestand container (zoals een ISO bestand). a.
Maak een sparse bestand met gebruik van het dd commando. Sparse bestanden worden niet aanbevolen wegens problemen met data integriteit en performance problemen. Sparse bestanden kunnen veel sneller aangemaakt worden en kunnen gebruikt worden voor testen, maar moeten niet gebruikt worden in productie omgevingen. # dd if=/dev/zero of=/var/lib/libvirt/images/FileName.img bs=1M seek=4096 count=0
b.
Niet-sparse, voor-toegekende bestanden worden aanbevolen voor bestand-gebaseerde opslag images. Om een niet-sparse bestand te maken, voer je uit: # dd if=/dev/zero of=/var/lib/libvirt/images/FileName.img bs=1M count=4096
Beide commando's maken een 400 MB bestand aan welke gebruikt kan worden als extra opslag voor een gevirtualiseerde gast. 2.
Schrijf de configuratie weg voor de gast. In dit voorbeeld wordt de gast Guest1 genoemd en het bestand wordt opgeslagen in de persoonlijke map van de gebruiker. # virsh dumpxml Guest1 > ~/Guest1.xml
3.
Open het configuratie bestand (Guest1.xml in dit voorbeeld) met een tekstverwerker. Zoek de elementen op, deze elementen beschrijven opslag apparaten. Het volgende is een voorbeeld schijf element: <source file='/var/lib/libvirt/images/Guest1.img'/>
4.
Voeg de extra opslag toe door het dupliceren of schrijven van een nieuw element. Wees er zeker van dat je een apparaat naam opgeeft voor de virtuele blok apparaat attributen. Het volgende voorbeeld is een configuratie bestand sectie welke een extra bestand-gebaseerde opslag container bevat met de naam FileName.img. <source file='/var/lib/libvirt/images/Guest1.img'/> <source file='/var/lib/libvirt/images/FileName.img'/>
5.
Stat de gast opnieuw op met het vernieuwde configuratie bestand. # virsh create Guest1.xml
87
Hoofdstuk 10. Gevirtualiseerde opslag apparaten
6.
De volgende stappen zijn specifiek voor een Linux gast. Andere besturingssystemen behandelen nieuwe opslag apparaten op andere manieren. Voor andere systemen refereer je naar de documentatie van dat besturingssysteem. De gast gebruikt nu het bestand FileName.img als het apparaat met de naam /dev/hdb. Dit apparaat vereist formattering van de gast. Op de gast partitioneer je het apparaat als een primaire partitie voor het gehele apparaat en dan formatteer je het apparaat. a.
Duw op n voor een nieuwe partitie. # fdisk /dev/hdb Command (m for help):
b.
Duw op p voor een primaire partitie. Command action e extended p primary partition (1-4)
c.
Kies een beschikbaar partitie nummer. In dit voorbeeld wordt de eerste partitie gekozen door een 1 in te typen. Partition number (1-4): 1
d.
Kies de standaard eerste cilinder door op Enter te duwen. First cylinder (1-400, default 1):
e.
Selecteer de grootte van de partitie. In dit voorbeeld wordt de gehele schijf toegekend door op Enter te duwen. Last cylinder or +size or +sizeM or +sizeK (2-400, default 400):
f.
Stel het partitie type in door op t te duwen. Command (m for help): t
g.
Kies de partitie die je in de vorige stappen aangemaakt hebt. In dit voorbeeld is het partitie nummer 1. Partition number (1-4): 1
h.
Type 83 in voor een linux partitie. Hex code (type L to list codes): 83
i.
Schrijf de veranderingen naar schijf en sluit af. Command (m for help): w Command (m for help): q
88
Opslag apparaten toevoegen aan gasten
j.
Formatteer de nieuwe partitie met het ext3 bestandssysteem. # mke2fs -j /dev/hdb
7.
Koppel de schijf aan op de gast. # mount /dev/hdb1 /myfiles
De gast heeft nu een extra gevirtualiseerd bestand-gebaseerd opslag apparaat.
Harde schijven en andere blok apparaten toevoegen aan een gast Systeem beheerders gebruiken extra harde schijven voor het aanbieden van meer opslag ruimte of om systeem data te scheiden van gebruikers data. Deze procedure, Procedure 10.1, “Fysieke blok apparaten toevoegen aan gevirtualiseerde gasten”, beschrijft hoe je een harde schijf op de host toevoegt aan een gevirtualiseerde gast. De procedure werkt voor alle fysieke blok apparaten, zoals CD-ROM, DVD, en floppy disk stations.
Blok apparaat beveiliging De host mag geen schijf labels gebruiken om bestandssystemen te identificeren in het fstab bestand, het initrd bestand of gebruikt in de kernel commando-regel. Als gebruikers met minder rechten, in het bijzonder gevirtualiseerde gasten, schrijf toegang hebben tot gehele partities of LVM volumes dan kan het host systeem in gevaar gebracht worden. Gasten moeten geen schrijf toegang hebben tot hele schijven of blok apparaten (bijvoorbeeld, /dev/sdb). Gevirtualiseerde gasten met toegang tot blok apparaten kunnen in staat zijn om toegang te krijgen tot andere blok apparaten op het systeem of volume labels veranderen wat gebruikt kan worden om het host systeem in gevaar te brengen. Gebruik partities (bijvoorbeeld, /dev/sdb1) of LVM volumes om dit probleem te voorkomen.
Procedure 10.1. Fysieke blok apparaten toevoegen aan gevirtualiseerde gasten 1. Verbindt de harde schijf fysiek met de host. Configureer de host als de schijf standaard niet bereikbaar is. 2.
Configureer de schijf op de host met multipath en vasthoudendheid als dat nodig is.
3.
Gebruik het virsh attach commando. Vervang: myguest met de naam van jouw gast, /dev/ hdb1 met het apparaat dat je toevoegt, en hdc met de locatie voor het apparaat op de gast. hdc moet een ongebruikte apparaat naam zijn. Gebruik de hd* notatie ook voor Windows gasten, de gast zal het apparaat correct herkennen. Voeg de --type hdd parameter toe aan het commando voor CD-ROM of DVD stations. Voeg de --type floppy parameter toe aan het commando voor floppy stations. # virsh attach-disk myguest
89
Hoofdstuk 10. Gevirtualiseerde opslag apparaten
/dev/hdb1 hdc --driver tap --mode readonly
4.
De gast heeft nu een nieuwe harde schijf met de naam /dev/hdb onder Linux of D: drive, of iets dergelijks, onder Windows. Deze schijf kan formattering vereisen.
10.3. Blijvende opslag configureren in Fedora Deze paragraaf is voor systemen met externe opslag of opslag via het netwerk; dat betekent, Fibre Channel of iSCSI gebaseerde opslag apparaten. Het wordt aanbevolen dat deze systemen blijvende apparaat namen ingesteld hebben voor jouw hosts. Dit helpt bij live migratie en biedt ook consistente apparaat namen en opslag voor meerdere gevirtualiseerde systemen. Universele Unieke Identifiers(UUID's) is een standaard methode voor het identificeren van computers en apparaten in verspreide computer omgevingen. Deze paragraaf gebruikt UUID's voor het identificeren van iSCSI of Fibre Channel LUN's. UUID's zijn blijvend na opnieuw opstarten, los koppelen en apparaat omwisselen. De UUID is vergelijkbaar met een label op het apparaat. Systemen die multipath niet draaien, moeten Enkel-pad configuratie gebruiken. Systemen die multipath draaien kunnen Meervoudig-pad configuratie gebruiken.
Enkel-pad configuratie Deze procedure implementeert LUN apparaat vasthoudendheid met gebruik van udev. Gebruik deze procedure alleen voor hosts die multipath niet gebruiken. 1.
Bewerk het /etc/scsi_id.config bestand. •
Voeg de volgende regel toe: options=--whitelisted --replace-whitespace
Dit stelt de standaard opties voor scsi_id in en verzekert dat de teruggegeven UUID's geen spaties bevatten. Het IET iSCSI doel geeft anders spaties terug in UUID's, wat problemen kan veroorzaken. 2.
Om de UUID voor een bepaald apparaat te tonen voer je het scsi_id --whitelisted -replace-whitespace --device=/dev/sd* commando uit. Bijvoorbeeld: # scsi_id --whitelisted --replace-whitespace --device=/dev/sdc 1IET_00010001
De output kan anders zijn dan in het voorbeeld hierboven. De output in dit voorbeeld laat de UUID zien van het apparaat /dev/sdc. 3.
Verifieer of de UUID output van het scsi_id --whitelisted --replace-whitespace -device=/dev/sd* commando correct is en zoals verwacht.
4.
Maak een regel aan om het apparaat een naam te geven. Maak een bestand aan met de naam 20-names.rules in de /etc/udev/rules.d map. Voeg nieuwe regels toe aan dit bestand. Alle regels worden toegevoegd aan hetzelfde bestand met gebruik van hetzelfde formaat. De regels volgen dit formaat:
Vervang UUID en apparaatnaam met de UUID hierboven verkregen, en een naam voor het apparaat. Dit is een voorbeeld voor de regel hierboven: KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM="/sbin/scsi_id --whitelisted --replacewhitespace /dev/$name", RESULT=="1IET_00010001", NAME="rack4row16lun1"
De udev daemon zoekt nu alle apparaten met de naam/dev/sd* af voor de UUID in de regel. Zodra een overeenkomend apparaat is verbonden met het systeem krijgt het apparaat de naam uit de regel toegekend. In het voorbeeld hierboven, zal een apparaat met een UUID 1IET_00010001 verschijnen als /dev/rack4row16lun1. 5.
Kopieer de veranderingen in /etc/scsi_id.config en /etc/udev/rules.d/20names.rules naar alle relevante hosts.
Netwerk opslag apparaten met ingestelde regels hebben nu blijvende namen op alle hosts waar de bestanden vernieuwd waren. Dit betekent dat je kunt migreren tussen hosts met gebruik van de gedeelde opslag en de gasten hebben toegang tot de opslag apparaten in hun configuratie bestanden.
Meervoudig-pad configuratie Het multipath pakket wordt gebruikt voor systemen met meer dan een fysiek pad van de computer naar opslag apparaten. multipath biedt fout tolerantie, fail-over en verbeterde performance voor netwerk opslag apparaten verbonden met Fedora systemen. Het implementeren van LUN vasthoudendheid in een multipath omgeving vereist gedefinieerde alias namen voor jouw multi-pad apparaten. Elk opslag apparaat heeft een UUID dat optreedt als een sleutel voor de alias namen. Identificeer de UUID van een apparaat met gebruik van het scsi_id commando. # scsi_id --whitelisted --replace-whitespace --device=/dev/sdc
De multi-pad apparaten worden aangemaakt in de /dev/mpath map. In het voorbeeld hieronder worden vier apparaten gedefinieerd in /etc/multipath.conf: multipaths { multipath { wwid 3600805f30015987000000000768a0019 alias oramp1 } multipath { wwid 3600805f30015987000000000d643001a alias oramp2 } mulitpath { wwid 3600805f3001598700000000086fc001b alias oramp3 } mulitpath { wwid 3600805f300159870000000000984001c alias oramp4 } }
91
Hoofdstuk 10. Gevirtualiseerde opslag apparaten
Deze configuratie zal vier LUN's aanmaken met de namen /dev/mpath/oramp1, /dev/mpath/ oramp2, /dev/mpath/oramp3 en /dev/mpath/oramp4. Zodra ze opgegeven zijn, wordt de afbeelding van de WWID van de apparaten naar hun namen blijvend na opnieuw opstarten.
10.4. Voeg een gevirtualiseerd CD-ROM of DVD station toe aan een gast Om een ISO bestand aan een gast te koppelen terwijl de gast on-line is, gebruik je virsh met de attach-disk parameter. # virsh attach-disk [domain-id] [source] [target] --driver file --type cdrom --mode readonly
De source en target parameters zijn paden voor de bestanden en apparaten, respectievelijk op de host en de gast. De source parameter kan een pad naar een ISO bestand zijn of het apparaat uit de /dev map.
92
Netwerk configuratie Deze pagina biedt een inleiding voor de algemene netwerk instellingen die gebruikt worden door op libvirt gebaseerde toepassingen. Voor meer informatie raadpleeg je de libvirt netwerk architectuur documentatie. The two common setups are "virtual network" or "shared physical device". The former is identical across all distributions and available out-of-the-box. The latter needs distribution specific manual configuration. Netwerk services op gevirtualiseerde gasten zijn standaard niet toegankelijk vanaf externe hosts. Je moet of Netwerk adres vertaling (NAT) of een netwerk brug aanzetten om externe hosts toe te staan om toegang te krijgen tot netwerk services op gevirtualiseerde gasten.
11.1. Netwerk adres vertaling (NAT) met libvirt Een van de meest algemene methodes voor het delen van netwerk verbindingen is om netwerk adres vertaling (NAT) doorsturen te gebruiken (ook bekend als virtuele netwerken).
Host configuratie Every standard libvirt installation provides NAT based connectivity to virtual machines out of the box. This is the so called 'default virtual network'. Verify that it is available with the virsh net-list --all command. # virsh net-list --all Name State Autostart ----------------------------------------default active yes
Als het ontbreekt, kan het voorbeeld XML configuratie bestand opnieuw geladen worden en geactiveerd: # virsh net-define /usr/share/libvirt/networks/default.xml
Het standaard netwerk wordt gedefinieerd door /usr/share/libvirt/networks/default.xml Markeer het standaard netwerk om automatisch te starten: # virsh net-autostart default Network default marked as autostarted
Start het standaard netwerk: # virsh net-start default Network default started
Zodra het libvirt standaard netwerk draait, zul je een geïsoleerd brug apparaat zien. Aan dit apparaat zijn geen fysieke interfaces toegekend, omdat het NAT en IP doorsturen gebruikt om te verbinden met de buitenwereld. Voeg geen nieuwe interfaces toe. # brctl show bridge name virbr0
bridge id 8000.000000000000
STP enabled yes
interfaces
93
Hoofdstuk 11. Netwerk configuratie
libvirt voegt iptables regels toe welke verkeer toestaan naar en van de gasten verbonden met het virbr0 apparaat in de INPUT, FORWARD, OUTPUT en POSTROUTING ketens. libvirt probeert dan om de ip_forward parameter aan te zetten. Sommige andere toepassingen kunnen ip_forward uitzetten, dus de beste optie is het volgende aan /etc/sysctl.conf toe te voegen. net.ipv4.ip_forward = 1
Gast configuratie Once the host configuration is complete, a guest can be connected to the virtual network based on its name. To connect a guest to the 'default' virtual network, the following XML can be used in the guest: <source network='default'/>
Opmerking Het definiëren van een MAC adres is optioneel. Een MAC adres wordt automatisch aangemaakt als het weggelaten wordt. Het MAC adres handmatig instellen kan in bepaalde situaties nuttig zijn. <source network='default'/> <mac address='00:16:3e:1a:b3:4a'/>
11.2. Brug netwerken met libvirt Netwerk bruggen (ook bekend als fysieke apparaat deling) wordt gebruikt om een fysiek apparaat toe te kennen aan een virtuele machine. Een brug wordt vaak gebruikt voor meer geavanceerde opstellingen en op servers met meerdere netwerk interfaces.
NetworkManager uitzetten NetworkManager ondersteunt geen bruggen. NetworkManager moet uitgezet worden om de oudere netwerk instelling scripts te gebruiken (die zich bevinden in de /etc/sysconfig/networkscripts/ map). # # # #
chkconfig NetworkManager off chkconfig network on service NetworkManager stop service network start
Opmerking Instead of turning off NetworkManager, add "NM_CONTROLLED=no" to the ifcfg-* scripts used in the examples.
94
Brug netwerken met libvirt
Netwerk initscripts aanmaken Maak of bewerk de volgende twee netwerk configuratie bestanden. Deze stap kan herhaald worden (met andere namen) voor extra netwerk bruggen. Ga naar de /etc/sysconfig/network-scripts map: # cd /etc/sysconfig/network-scripts
Open het netwerk script voor het apparaat die je gaat toevoegen aan de brug. In dit voorbeeld, definieert ifcfg-eth0 het fysieke netwerk interface welke ingesteld is als onderdeel van de brug: DEVICE=eth0 # change the hardware address to match the hardware address your NIC uses HWADDR=00:16:76:D6:C9:45 ONBOOT=yes BRIDGE=br0
Tip You can configure the device's Maximum Transfer Unit (MTU) by appending an MTU variable to the end of the configuration file. MTU=9000
Maak een nieuw netwerk script in de /etc/sysconfig/network-scripts map met de naam ifcfg-br0 of iets dergelijks. De br0 is de naam van de brug, dit kan van alles zijn zolang de naam van het bestand overeenkomt met de DEVICE parameter. DEVICE=br0 TYPE=Bridge BOOTPROTO=dhcp ONBOOT=yes DELAY=0
Waarschuwing The line, TYPE=Bridge, is case-sensitive. It must have uppercase 'B' and lower case 'ridge'. Na het instellen, start je het netwerk opnieuw op of je start de computer opnieuw op. # service network restart
Configureer iptables om toe te staan dat alle verkeer doorgestuurd wordt over de brug. # iptables -I FORWARD -m physdev --physdev-is-bridged -j ACCEPT # service iptables save # service iptables restart
95
Hoofdstuk 11. Netwerk configuratie
Zet iptables uit voor bruggen Als alternatief kun je voorkomen dat brug verkeer verwerkt wordt met iptables regels. In /etc/sysctl.conf voeg je de volgende regels toe: net.bridge.bridge-nf-call-ip6tables = 0 net.bridge.bridge-nf-call-iptables = 0 net.bridge.bridge-nf-call-arptables = 0
Laad de kernel parameters geconfigureerd met sysctl opnieuw in. # sysctl -p /etc/sysctl.conf
Start de libvirt daemon opnieuw op. # service libvirtd reload
You should now have a "shared physical device", which guests can be attached and have full LAN access. Verify your new bridge: # brctl show bridge name virbr0 br0
bridge id 8000.000000000000 8000.000e0cb30550
STP enabled yes no
interfaces eth0
Merk op dat de brug geheel onafhankelijk is van de virbr0 brug. Probeer niet om een fysiek apparaat te verbinden met virbr0. De virbr0 brug alleen voor Netwerk adres vertaling (NAT) verbinding.
96
KVM para-gevirtualiseerde drivers Para-gevirtualiseerde drivers zijn beschikbaar voor gevirtualiseerde Windows gasten die draaien op KVM hosts. Deze para-gevirtualiseerde drivers bevinden zich in het virtio pakket. Het virtio pakket ondersteunt blok (opslag) apparaten en netwerk interface controllers. Para-gevirtualiseerde drivers verbeteren de prestaties van volledig gevirtualiseerde gasten. Met de para-gevirtualiseerde drivers neemt gast I/O latentie af en de verwerkingscapaciteit neemt bijna toe tot het bare-metal niveau. Het wordt aanbevolen de para-gevirtualiseerde drivers te gebruiken voor volledig gevirtualiseerde gasten die zware I/O taken en toepassingen draaien. De KVM para-gevirtualiseerde drivers worden automatisch geladen en geïnstalleerd op de volgende: • Elke 2.6.27 of nieuwere kernel. • Nieuwere Ubuntu, CentOS, Red Hat Enterprise Linux. Deze Linux versies detecteren en installeren de drivers zodat extra installatie stappen niet nodig zijn.
Opmerking PCI apparaten worden beperkt door de gevirtualiseerde systeem architectuur. Van de 32 beschikbare PCI apparaten voor een gast zijn 2 niet verwijderbaar. Dit betekent dat er maximaal 30 PCI sleuven beschikbaar zijn voor extra apparaten per gast. Elk PCI apparaat kan maximaal 8 functies hebben; sommige PCI apparaten hebben meerdere functies en gebruiken slechts één sleuf. Para-gevirtualiseerde netwerk, para-gevirtualiseerde schijf apparaten, of andere PCI apparaten met gebruik van VT-d gebruiken alle sleuven of functies. Het exacte aantal apparaten beschikbaar is moeilijk te berekenen wegens het aantal beschikbare apparaten. Elke gast kan maximaal 32 PCI apparaten gebruiken waarbij elk apparaat maximaal 8 functies kan hebben. De volgende Microsoft Windows versies moeten werken met KVM para-gevirtualiseerde drivers: • Windows XP (alleen 32-bit) • Windows Server 2003 (32-bit en 64-bit versies) • Windows Server 2008 (32-bit en 64-bit versies) • Windows 7 (32-bit en 64-bit versies)
12.1. De KVM Windows para-gevirtualiseerde drivers installeren Deze paragraaf behandelt het installatie proces voor KVM Windows para-gevirtualiseerde drivers. De KVM para-gevirtualiseerde drivers kunnen geladen worden tijdens de Windows installatie of geïnstalleerd worden nadat de gast geïnstalleerd is. Je kunt de para-gevirtualiseerde drivers met een van de volgende methodes op jouw gast installeren: • de installatie bestanden hosten op een netwerk dat toegankelijk is voor de gasten,
97
Hoofdstuk 12. KVM para-gevirtualiseerde drivers
• een gevirtualiseerd CD-ROM apparaat van het driver installatie schijf .iso bestand gebruiken, of • een gevirtualiseerd floppy station gebruiken om de drivers te installeren tijdens het opstarten (voor Windows gasten). Deze gids beschrijft de installatie vanaf een para-gevirtualiseerde installer schijf als een gevirtualiseerd CD-ROM station. 1.
Download de drivers Het virtio-win pakket bevat de para-gevirtualiseerde blok en netwerk drivers voor alle Windows gasten die zouden moeten werken. Download het virtio-win pakket met het yum commando. # yum install virtio-win 1
De drivers zijn beschikbaar van Microsoft (windowsservercatalog.com ). Het virtio-win pakket installeert een CD-ROM image, virtio-win.iso, in de /usr/share/ virtio-win/ map. 2.
Installeer de para-gevirtualiseerde drivers Het wordt aanbevolen om de drivers te installeren op de gast voor het aansluiten of veranderen van een apparaat om de para-gevirtualiseerde drivers te gebruiken. Voor blok apparaten die root bestandssystemen opslaan of andere blok apparaten vereist voor het opstarten van de gast, moeten de drivers geïnstalleerd worden voordat het apparaat wordt veranderd. Als de drivers niet geïnstalleerd worden op de gast en de driver is ingesteld voor de virtio driver zal de gast niet opstarten.
Drivers installeren met een gevirtualiseerde CD-ROM Deze procedure behandelt het installeren van de para-gevirtualiseerde drivers met een gevirtualiseerde CD-ROM nadat Windows geïnstalleerd is. Volg Procedure 12.1, “virt-manager gebruiken om een CD-ROM image aan te koppelen voor een Windows gast” om een CD-ROM image toe te voegen met virt-manager en daarna de drivers te installeren. Procedure 12.1. virt-manager gebruiken om een CD-ROM image aan te koppelen voor een Windows gast 1. Open virt-manager en de gevirtualiseerde gast Open virt-manager, selecteer jouw gevirtualiseerde gast in de lijst door dubbel-kliiken op de gast naam. 2.
98
Open de hardware tab. Kilk op de Add Hardware knop in de Hardware tab.
De KVM Windows para-gevirtualiseerde drivers installeren
3.
Selecteer het apparaat type Dit opent een assistent voor het toevoegen van het nieuwe apparaat. Selecteer Storage in het uitklap menu.
99
Hoofdstuk 12. KVM para-gevirtualiseerde drivers
Kilk op de Forward knop om verder te gaan. 4.
Selecteer het ISO bestand Kies de File (disk image) optie en stel de bestand locatie in van het para-gevirtualiseerde drivers .iso bestand. Het locatie bestand heeft de naam /usr/share/virtio-win/virtiowin.iso. Als de drivers zijn opgeslagen op een fysieke CD-ROM, gebruik je de Normal Disk Partition optie. Stel het Device type in naar IDE cdrom en klik op Forward om verder te gaan.
100
De KVM Windows para-gevirtualiseerde drivers installeren
5.
Schijf toegekend De schijf is toegekend en is beschikbaar voor de gast zodra de gast wordt opgestart. Klik op Finish om de assistent af te sluiten of ga terug als je een fout gemaakt hebt.
101
Hoofdstuk 12. KVM para-gevirtualiseerde drivers
6.
Herstarten Herstart of start de gast om het nieuwe apparaat toe te voegen. Gevirtualiseerde IDE apparaten vereisen een herstart voordat ze door gasten herkend worden.
Zodra de CD-ROM met de drivers is aangebracht en de gast gestart is, ga je verder met Procedure 12.2, “Windows installatie”. Procedure 12.2. Windows installatie 1. Open mijn computer Op de Windows gast open je Deze Computer en je selecteer het CD-ROM station.
102
De KVM Windows para-gevirtualiseerde drivers installeren
2.
Selecteer de juiste installatie bestanden There are four files available on the disc. Select the drivers you require for your guest's architecture: • de para-gevirtualiseerde blok apparaat driver (RHEV-Block.msi voor 32-bit gasten of RHEVBlock64.msi voor 64-bit gasten), • de para-gevirtualiseerde netwerk apparaat driver (RHEV-Network.msi voor 32-bit gasten of RHEV-Network64.msi voor 64-bit gasten), • of zowel de blok als de netwerk apparaat drivers. Dubbel-klik op de installatie bestanden om de drivers te installeren.
3.
Installeer de blok apparaat driver a. Start de blok apparaat driver installatie Dubbel-klik op RHEV-Block.msi of RHEV-Block64.msi.
103
Hoofdstuk 12. KVM para-gevirtualiseerde drivers
Druk op Next om verder te gaan. b.
104
Bevestig de uitzondering Windows kan om een beveiliging uitzondering vragen.
De KVM Windows para-gevirtualiseerde drivers installeren
Klik op Yes als het correct is. c.
Voltooien
Klik op Finish om de installatie te voltooien. 4.
Installeer de netwerk apparaat driver a. Start de installatie van de netwerk apparaat driver Dubbel-klik op RHEV-Network.msi of RHEV-Network64.msi.
105
Hoofdstuk 12. KVM para-gevirtualiseerde drivers
Druk op Next om verder te gaan. b.
Performance instelling Dit scherm configureert geavanceerde TCP instellingen voor de netwerk driver. TCP tijdstempels en het TCP venster-schalen kunnen worden aangezet of uitgezet. De standaard waarde, 1, is voor venster-schalen aangezet. 2
TCP venster-schalen wordt behandeld in IETF RFC 1323 . De RFC definieert een methode voor het verhogen van de grootte van het ontvangst-venster naar een afmeting groter dan het standaard maximum van 65535 bytes naar een nieuw maximum van 1 gigabyte (1,073,741,824 bytes). TCP venster-schalen staat netwerken toe om dicht bij de theoretische netwerk bandbreedte limieten te werken. Grotere ontvang vensters werken misschien niet bij bepaalde netwerk hardware of besturingssysteem. 3
TCP tijd-stempels worden ook gedefinieerd in IETF RFC 1323 . TCP tijd-stempels worden gebruikt voor een betere berekening van de Return Travel Time ramingen door het insluiten van tijd informatie ingebouwd in pakketten. TCP tijd-stempels helpen om het systeem aan te passen aan veranderende intensiteit van het verkeer en het voorkomen van vastlopen op drukke netwerken. Waarde 0
106
Actie TCP tijd-stempels en venster-schalen uitzetten
1
TCP venster-schalen aanzetten
2
TCP tijd-stempels uitzetten
De KVM Windows para-gevirtualiseerde drivers installeren
Waarde 3
Actie TCP tijd-stempels en venster-schalen uitzetten
Druk op Next om verder te gaan. c.
Bevestig de uitzondering Windows kan om een beveiliging uitzondering vragen.
107
Hoofdstuk 12. KVM para-gevirtualiseerde drivers
Klik op Yes als het correct is. d.
Voltooien
Klik op Finish om de installatie te voltooien.
108
Drivers installeren met een gevirtualiseerde floppy
5.
Herstarten Start de gast opnieuw op om de driver installatie af te maken.
Verander de apparaat configuratie om de para-gevirtualiseerde drivers te gebruiken (Paragraaf 12.3, “KVM para-gevirtualiseerde drivers gebruiken voor bestaande apparaten”) of installeer een nieuw apparaat welke de para-gevirtualiseerde drivers gebruikt (Paragraaf 12.4, “KVM para-gevirtualiseerde drivers gebruiken voor een nieuw apparaat”).
12.2. Drivers installeren met een gevirtualiseerde floppy Deze procedure behandelt het installeren van de para-gevirtualiseerde drivers tijdens een Windows installatie. •
Tijdens het installeren van de Windows VM voor de eerste keer met gebruik van het eenmaaluitvoeren menu verbindt viostor.vfd als een floppy a.
Windows Server 2003 Als Windows vraagt om op F6 te duwen voor drivers van derden, doe dat dan en volg de instructies op het scherm op.
b.
Windows Server 2008 Als de installer je naar de driver vraagt, klik dan op Load Driver, verwijs de installer naar drive A: en kies de driver die past bij jouw gast besturingssysteem architectuur.
12.3. KVM para-gevirtualiseerde drivers gebruiken voor bestaande apparaten Verander een bestaande harde schijf aangesloten op de gast om de virtio driver te gebruiken in plaats van de gevirtualiseerde IDE driver. Dit voorbeeld bewerkt libvirt configuratie bestanden. Als alternatief kunnen virt-manager, virsh attach-disk of virsh attach-interface een nieuw apparaat toevoegen met gebruik van para-gevirtualiseerde drivers Paragraaf 12.4, “KVM paragevirtualiseerde drivers gebruiken voor een nieuw apparaat”. 1.
Hieronder is een bestand-gebaseerd blok apparaat die de gevirtualiseerde IDE driver gebruikt. Dit is een typische ingang voor een gevirtualiseerde gast die de para-gevirtualiseerde drivers niet gebruikt. <source file='/var/lib/libvirt/images/disk1.img'/>
2.
Verander de regel om het para-gevirtualiseerde apparaat te gebruiken door het veranderen van de bus= ingang naar virtio. <source file='/var/lib/libvirt/images/disk1.img'/>
109
Hoofdstuk 12. KVM para-gevirtualiseerde drivers
12.4. KVM para-gevirtualiseerde drivers gebruiken voor een nieuw apparaat Deze procedure behandelt het maken van nieuwe apparaten met gebruik van de KVM paragevirtualiseerde drivers met virt-manager. Als alternatief kunnen de virsh attach-disk of virsh attach-interface commando's gebruikt worden om apparaten aan te sluiten die de para-gevirtualiseerde drivers gebruiken.
Installeer eerst de drivers Wees er zeker van dat de drivers geïnstalleerd zijn op de Windows gast voordat je verder gaat met het installeren van de nieuwe apparaten. Als de drivers niet beschikbaar zijn zal het apparaat niet herkend worden en niet werken. 1.
Open de gevirtualiseerde gast door dubbel te klikken op de naam van de gast in virt-manager.
2.
Open de Hardware tab.
3.
Klik op de Add Hardware knop.
4.
In de Adding Virtual Hardware tab selecteer je Storage of Network voor het type apparaat. 1. Nieuwe schijf apparaten Selecteer het opslag apparaat of bestand-gebaseerde image. Selecteer Virtio Disk als het Device type en klik op Forward.
110
KVM para-gevirtualiseerde drivers gebruiken voor een nieuw apparaat
2. Nieuwe netwerk apparaten Selecteer Virtual network of Shared physical device. Selecteer virtio als het Device type en klik op Forward.
111
Hoofdstuk 12. KVM para-gevirtualiseerde drivers
5.
112
Klik op Finish om het apparaat op te slaan.
KVM para-gevirtualiseerde drivers gebruiken voor een nieuw apparaat
6.
Start de gast opnieuw op. Het apparaat wordt misschien niet herkend tot de Windows gast opnieuw opstart.
113
114
PCI doorgave Dit hoofdstuk behandelt het gebruik van PCI doorgave met KVM. De KVM hypervisor ondersteunt het toekennen van PCI apparaten op het host systeem aan gevirtualiseerde gasten. PCI doorgeven staat gasten toe om exclusieve toegang tot PCI apparaten te krijgen voor een reeks van taken. PCI doorgeven staat toe dat PCI apparaten verschijnen en zich gedragen alsof ze fysiek aangesloten zijn op het gast besturingssysteem. PCI apparaten worden beperkt door de gevirtualiseerde systeem architectuur. Van de 32 beschikbare PCI apparaten voor een gast zijn 2 niet verwijderbaar. Dit betekent dat er maximaal 30 PCI sleuven beschikbaar zijn voor extra apparaten per gast. Elk PCI apparaat kan maximaal 8 functies hebben; sommige PCI apparaten hebben meerdere functies en gebruiken slechts één sleuf. Paragevirtualiseerde netwerk, para-gevirtualiseerde schijf apparaten, of andere PCI apparaten met gebruik van VT-d gebruiken allen sleuven of functies. Het exacte aantal apparaten beschikbaar is moeilijk te berekenen wegens het aantal beschikbare apparaten. Elke gast kan maximaal 32 PCI apparaten gebruiken waarbij elk apparaat maximaal 8 functies kan hebben. De VT-d of AMD IOMMU uitbreidingen moeten ingeschakeld worden in het BIOS. Procedure 13.1. Een Intel systeem voorbereiden voor PCI doorgave 1. De Intel VT-d uitbreidingen aanzetten De Intel VT-d uitbreidingen bieden hardware ondersteuning voor het rechtstreeks toewijzen van een fysieke apparaten aan een gast. Het belangrijkste voordeel hiervan is het verbeteren van de performance tot de oorspronkelijke waarde voor toegang tot apparaten. De VT-d uitbreidingen zijn vereist voor PCI doorgave met Fedora. De uitbreidingen moeten worden ingeschakeld in het BIOS. Sommige systeem fabrikanten zetten deze uitbreidingen standaard uit. These extensions are often called various terms in BIOS which differ from manufacturer to manufacturer. Consult your system manufacturer's documentation. 2.
Intel VT-d in de kernel activeren Activeer Intel VT-d in de kernel door het toevoegen van de intel_iommu = on parameter aan de kernel regel het /boot/grub/grub.conf bestand. Het volgende voorbeeld is een gewijzigd grub.conf bestand met Intel VT-d geactiveerd. default=0 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu title Fedora Server (2.6.18-190.el5) root (hd0,0) kernel /vmlinuz-2.6.18-190.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet intel_iommu=on initrd /initrd-2.6.18-190.el5.img
3.
Klaar voor gebruik Start het systeem opnieuw op om de veranderingen te activeren. Jouw systeem is nu klaar voor PCI doorgave.
115
Hoofdstuk 13. PCI doorgave
Procedure 13.2. Een AMD systeem voorbereiden voor PCI doorgave • Zet AMD IOMMU uitbreidingen aan De AND IOMMU uitbreidingen zijn vereist voor PCI doorgave met Fedora. De uitbreidingen moeten worden aangezet in het BIOS. Sommige fabrikanten van systemen zetten deze uitbreidingen standaard uit. AMD systemen vereisen alleen dat de IOMMU is aangezet in het BIOS. Het systeem is klaar voor PCI doorgave nadat de IOMMU is aangezet.
13.1. Een PCI apparaat toevoegen met virsh Deze stappen behandelen het toevoegen van een PCI apparaat aan een volledig gevirtualiseerde gast op een KVM hypervisor met hardware-ondersteunde PCI doorgave.
Belangrijk De VT-d of AMD IOMMU uitbreidingen moeten ingeschakeld worden in het BIOS.
Dit voorbeeld gebruikt een USB controller apparaat met de PCI identificatie code, pci_8086_3a6c, en een volledig gevirtualiseerde gast met de naam win2k3. 1.
Identificeer het apparaat Identificeer het PCI apparaat aangewezen voor doorgave naar de gast. Het virsh nodedevlist commando geeft een overzicht van alle apparaten die zijn aangesloten op het systeem. De --tree optie is nuttig voor het identificeren van apparaten aangesloten op het PCI apparaat (bijvoorbeeld, schijf controllers en USB controllers). # virsh nodedev-list --tree
Voor een lijst van alleen PCI apparaten, voer je het volgende commando uit: # virsh nodedev-list | grep pci
Elk PCI apparaat wordt geïdentificeerd door een reeks karakters in het volgende formaat (waarin **** is een viercijferige hexadecimale code is): pci_8086_****
Tip: bepaling van het PCI apparaat Het vergelijken van lspci output met lspci -n (wat naam oplossing uitschakelt) output kan helpen met het bepalen van welke apparaat identificatie code bij welk apparaat hoort. Bewaar het PCI apparaat nummer; je hebt dit nodig bij andere stappen. 2.
116
Informatie over het domein, de bus en de functie zijn beschikbaar in de output van het virsh nodedev-dumpxml commando:
Koppel het apparaat los van het systeem. Aangekoppelde apparaten kunnen niet gebruikt worden en kunnen verschillende fouten veroorzaken als ze verbonden zijn met een gast zonder eerst los gekoppeld te zijn. # virsh nodedev-dettach pci_8086_3a6c Device pci_8086_3a6c dettached
4.
Convert slot and function values to hexadecimal values (from decimal) to get the PCI bus addresses. Append "0x" to the beginning of the output to tell the computer that the value is a hexadecimal number. Bijvoorbeeld, als bus = 0, sleuf = 26 en functie = 7 voer je het volgende uit: $ printf %x 0 0 $ printf %x 26 1a $ printf %x 7 7
De te gebruiken waardes: bus='0x00' slot='0x1a' function='0x7'
5.
Run virsh edit (or virsh attach device) and added a device entry in the <devices> section to attach the PCI device to the guest. Only run this command on offline guests. Fedora does not support hotplugging PCI devices at this time. # virsh edit win2k3 <source>
6.
Zodra het gast systeem is geconfigureerd om het PCI adres te gebruiken, moeten we het host systeem meedelen om te stoppen met het gebruik ervan. De ehci driver wordt voor de USB PCI controller standaard geladen.
Koppel het apparaat los: $ virsh nodedev-dettach pci_8086_3a6c
8.
Verifieer of het nu onder controle is van pci_stub: $ readlink /sys/bus/pci/devices/0000\:00\:1d.7/driver ../../../bus/pci/drivers/pci-stub
9.
Stel een sebool in om beheer van het PCI apparaat vanaf de gast toe te staan: $ setsebool -P virt_manage_sysfs 1
10. Start het gast systeem : # virsh start win2k3
Het PCI apparaat moet nu met succes aangekoppeld worden aan de gast en is toegankelijk voor het gast besturingssysteem.
13.2. Een PCI apparaat toevoegen met virt-manager PCI apparaten kunnen worden toegevoegd aan de gasten met gebruik van het grafische virtmanager gereedschap. De volgende procedure voegt een 2 poort USB controller toe aan een gevirtualiseerde gast. 1.
Identificeer het apparaat Identificeer het PCI apparaat aangewezen voor doorgave naar de gast. Het virsh nodedevlist commando geeft een overzicht van alle apparaten die zijn aangesloten op het systeem. De --tree optie is nuttig voor het identificeren van apparaten aangesloten op het PCI apparaat (bijvoorbeeld, schijf controllers en USB controllers). # virsh nodedev-list --tree
Voor een lijst van alleen PCI apparaten, voer je het volgende commando uit: # virsh nodedev-list | grep pci
Elk PCI apparaat wordt geïdentificeerd door een reeks karakters in het volgende formaat (waarin **** is een viercijferige hexadecimale code is): pci_8086_****
118
Een PCI apparaat toevoegen met virt-manager
Tip: bepaling van het PCI apparaat Het vergelijken van lspci output met lspci -n (wat naam oplossing uitschakelt) output kan helpen met het bepalen van welke apparaat identificatie code bij welk apparaat hoort. Bewaar het PCI apparaat nummer; je hebt dit nodig bij andere stappen. 2.
Koppel het PCI apparaat los: Koppel het apparaat los van het systeem. # virsh nodedev-dettach pci_8086_3a6c Device pci_8086_3a6c dettached
3.
Schakel de gast uit Schakel de gast uit. Het hot-pluggen van PCI apparaten voor gasten is op dit moment experimenteel en kan falen of crashen.
4.
Open de hardware instellingen Open de virtuele machine en selecteer de Hardware tab. Klik op de Add Hardware knop om een nieuw apparaat aan de gast toe te voegen.
119
Hoofdstuk 13. PCI doorgave
5.
120
Voeg het nieuwe apparaat toe Selecteer Physical Host Device in de Hardware type lijst. De Physical Host Device representeert PCI apparaten. Klik op Forward om verder te gaan.
Een PCI apparaat toevoegen met virt-manager
6.
Selecteer een PCI apparaat Selecteer een ongebruikt PCI apparaat. Merk op dat op dit moment het selecteren van PCI apparaten in gebruik op de host fouten veroorzaakt. In dit voorbeeld wordt een PCI naar USB interface apparaat gebruikt.
121
Hoofdstuk 13. PCI doorgave
7.
122
Bevestig het nieuwe apparaat Klik op de Finish knop om de apparaat instelling te bevestigen en het apparaat toe te voegen aan de gast.
PCI doorgave met virt-install
De instelling is voltooid en de gast kan het PCI apparaat nu gebruiken.
13.3. PCI doorgave met virt-install Om PCI doorgave te gebruiken met de virt-install parameter, gebruik je de extra --host-device parameter. 1.
Identificeer het PCI apparaat Identificeer het PCI apparaat aangewezen voor doorgave naar de gast. Het virsh nodedevlist commando geeft een overzicht van alle apparaten die zijn aangesloten op het systeem. De --tree optie is nuttig voor het identificeren van apparaten aangesloten op het PCI apparaat (bijvoorbeeld, schijf controllers en USB controllers). # virsh nodedev-list --tree
Voor een lijst van alleen PCI apparaten, voer je het volgende commando uit: # virsh nodedev-list | grep pci
123
Hoofdstuk 13. PCI doorgave
Elk PCI apparaat wordt geïdentificeerd door een reeks karakters in het volgende formaat (waarin **** is een viercijferige hexadecimale code is): pci_8086_****
Tip: bepaling van het PCI apparaat Het vergelijken van lspci output met lspci -n (wat naam oplossing uitschakelt) output kan helpen met het bepalen van welke apparaat identificatie code bij welk apparaat hoort. 2.
Voeg het apparaat toe Gebruik de PCI identificatie output van het virsh nodedev commando als de waarde voor de --host-device parameter. # virt-install \ -n hostdev-test -r 1024 --vcpus 2 \ --os-variant fedora11 -v --accelerate \ -l http://download.fedoraproject.org/pub/fedora/linux/development/x86_64/os \ -x 'console=ttyS0 vnc' --nonetworks --nographics \ --disk pool=default,size=8 \ --debug --host-device=pci_8086_10bd
3.
124
Voltooi de installatie Voltooi de gast installatie. Het PCI apparaat moet nu aangekoppeld zijn voor de gast.
SR-IOV 14.1. Inleiding De PCI-SIG (PCI Special Interest Group) ontwikkelde de Single Root I/O Virtualisatie (SR-IOV) specificatie. De SR-IOV specificatie is een standaard voor een soort PCI doorgave die een enkel apparaat meerdere gasten deelt. SR-IOV vereist geen betrokkenheid van de hypervisor bij overdracht van data en data beheer door het bieden van een onafhankelijk geheugen ruimte, interrupts, DMA streams voor gevirtualiseerde gasten. SR-IOV kan een Single Root functie (bijvoorbeeld, een enkele Ethernet poort), laten verschijnen als meerdere, aparte fysieke apparaten. Een fysiek apparaat met SR-IOV mogelijkheden kan worden geconfigureerd om in de PCI configuratie ruimte te worden weergegeven als meerdere functies, waarbij elk apparaat heeft een eigen configuratie ruimte heeft compleet met Base Adres registers (BARs). SR-IOV gebruikt twee nieuwe PCI functies: • Fysieke functies (PF's) zijn volledige PCIe apparaten die de SR-IOV functionaliteit bevatten. Fysieke functies worden ontdekt, beheerd en geconfigureerd als normale PCI apparaten. Fysieke functies configureren en beheren SR-IOV functionaliteit door Virtuele functies toe te wijzen. • Virtuele functies (VF's) zijn eenvoudige PCIe functies die alleen I/O verwerken. Elke Virtuele functie wordt afgeleid van een fysieke functie. Het aantal virtuele functies die een apparaat kan hebben wordt beperkt door de hardware van het apparaat. Een enkele Ethernet poort, het fysieke apparaat, kan toegewezen worden aan vele virtuele functies die gedeeld kunnen worden door gevirtualiseerde gasten. The hypervisor can map one or more Virtual Functions to a virtualized guest. The Virtual Function's configuration space is mapped to the configuration space presented to the virtualized guest by the hypervisor. Elke virtuele functie kan kan slechts eenmaal afgebeeld worden omdat virtuele functies echte hardware vereist. Een gevirtualiseerde gast kan meerdere virtuele functies hebben. Een virtuele functie verschijnt als een netwerk kaart op dezelfde manier zoals een normale netwerk kaart zou verschijnen voor een besturingssysteem. De SR-IOV drivers zijn geïmplementeerd in de kernel. De kern implementatie bevindt zich in het PCI subsysteem, maar er moet ook driver ondersteuning zowel de fysieke functie (PF) als de virtuele functie (VF) apparaten zijn. Met een SR-IOV voorbereid apparaat kan men VF's toewijzen van een PF. De VF's worden weer gegeven als PCI apparaten die worden ondersteund op het fysieke PCI apparaat door hulpbronnen (wachtrijen en register sets).
Voordelen van SR-IOV SR-IOV apparaten kunnen een enkele fysieke poort delen met meerdere gevirtualiseerde gasten. Virtuele functies hebben bijna de oorspronkelijke performance en bieden een betere performance dan para-gevirtualiseerde drivers en geëmuleerde toegang. Virtuele functies bieden data bescherming tussen de gevirtualiseerde gasten op dezelfde fysieke server omdat de data wordt beheerd en gecontroleerd door de hardware. Deze eigenschappen staan verhoogde gevirtualiseerde gast dichtheid op toe hosts in een data center.
125
Hoofdstuk 14. SR-IOV
Nadelen van SR-IOV Live migration is presently experimental. As with PCI passthrough, identical device configurations are required for live (and offline) migrations. Without identical device configurations, guest's cannot access the passed-through devices after migrating.
14.2. SR-IOV gebruiken Deze paragraaf behandelt het verbinden van Virtuele functies aan een gast als een extra netwerk apparaat. SR-IOV vereist Intel VT-d ondersteuning. Procedure 14.1. Sluit een SR-IOV netwerk apparaat aan 1. Zet Intel VT-d aan in de BIOS en in de kernel Sla deze stap over als Intel VT-d al is aangezet en werkt. Zet Intel VT-d aan in de BIOS als dat nog niet gedaan is. Refereer naar Procedure 13.1, “Een Intel systeem voorbereiden voor PCI doorgave” voor hulp met het aanzetten van Intel VT-d in de BIOS en de kernel. 2.
Verifieer ondersteuning Verifieer of het PCI apparaat met SR-IOV mogelijkheden ontdekt wordt. Dit voorbeeld laat een Intel 82576 netwerk interface kaart zien welke SR-IOV ondersteunt. Gebruik het lspci commando om te verifiëren of het apparaat ontdekt werd. # lspci 03:00.0 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01) 03:00.1 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01)
Merk op dat de output gewijzigd is om alle andere apparaten weg te laten. 3.
Start de SR-IOV kernel modules Als het apparaat moet werken zal de driver kernel module automatisch geladen worden door de kernel. Optionele parameters kunnen worden doorgegeven aan de module met het modprobe commando. De Intel 82576 netwerk interface kaart gebruikt de igb driver kernel module. # modprobe igb [