deel 10_4_1-AV21.qxp:deel 10_4-AV21.qxp
12-10-2006
09:30
Pagina 1
Integratie
10/4 Virtualisatie 10/4.1 Xen Een van de nieuwste producten op het gebied van virtualisatie is Xen. Het aardige van Xen is dat het een open source-product is waarmee u op elke Linux-distributie virtuele machines kunt creëren. In deze paragraaf leest u hoe u dat moet doen. XEN-virtualisatie is in principe voor elke Linux-distributie beschikbaar. Dat betekent dat u het gewoon op een Debiansysteem mag gebruiken als u dat wilt. Op sommige distributies wordt het wel heel eenvoudig gemaakt een virtuele omgeving in te richten. Zo’n distributie is bijvoorbeeld SuSE Linux Enterprise Server 10. In deze paragraaf leest u hoe u met SuSE Linux Enterprise Server een Xen-virtuele omgeving inricht. Eerst kijken we echter even op welke wijze Xen nu eigenlijk zijn virtualisatieoplossing aanbiedt.
Full virtualization
10/4.1.1 Virtualisatiemethoden Om gebruik te maken van virtualisatie kunnen verschillende technieken toegepast worden. Een van deze technieken staat bekend als full virtualization. In zo’n omgeving emuleert de virtualisatiesoftware een volledige machine, inclusief alle hardwareresources. Het besturingssysteem communiceert daarbij met de gevirtualiseerde hardware en is zich er niet van bewust dat het gevirtualiseerd is. Omdat er echter gebruikgemaakt wordt van gevirtualiseerde hardware die vervolgens met de echte hardware moet communiceren, is er een relatief zware performanceprijs die betaald moet worden.
Novell Netwerkoplossingen, aanvulling 21
10/4.1-1
deel 10_4_1-AV21.qxp:deel 10_4-AV21.qxp
12-10-2006
09:30
Pagina 2
Virtualisatie
In een traditionele gevirtualiseerde omgeving wordt gebruikgemaakt van full virtualization. Xen kan dat ook, maar dan wel op een iets andere manier. Als een Xenmachine namelijk gebruikmaakt van full virtualization, lukt dat alleen als de CPU virtualisatie ondersteunt. Hierdoor kan een Xen-gevirtualiseerde machine direct communiceren met de CPU zonder dat het eerst een laag van gevirtualiseerde hardware door hoeft, en dat zorgt ervoor dat de prestaties toch nog redelijk blijven. Om dit te kunnen doen moet de processor echter wel ondersteuning bieden voor virtualisatie. Als u nu denkt dat u dan wel een dure server zult moeten aanschaffen om een processor te hebben met ondersteuning voor virtualisatie, dan hebt u het mis. De meeste recente CPU’s kunnen dit gewoon: de optie staat alleen niet standaard aan. Zo wordt bijvoorbeeld elke Dell-laptop die sinds begin 2006 gemaakt wordt, voorzien van een CPU die deze feature aan boord heeft.
Paravirtualisatie
10/4.1-2
Een andere manier om virtualisatie te kunnen bieden is dat er gebruikgemaakt wordt van paravirtualisatie. Hierbij heeft het besturingssysteem in de gevirtualiseerde omgeving een speciale Application Programming Interface (API) nodig om toegang te kunnen krijgen tot de hardware. Het besturingssysteem weet in dit geval dus dat het gevirtualiseerd is en deze speciale API zorgt ervoor dat het direct met de hardware kan communiceren zonder dat een extra virtualisatielaag gebruikt hoeft te worden. Het voordeel hiervan is dat u rechtstreeks kunt communiceren met de echte hardware. Echter: het besturingssysteem moet hier wel mee overweg kunnen. Op het moment dat deze paragraaf geschreven werd, werd deze optie alleen ondersteund door verschillende Linux-distributies en Novell’s NetWare.
Novell Netwerkoplossingen, aanvulling 21
deel 10_4_1-AV21.qxp:deel 10_4-AV21.qxp
12-10-2006
09:30
Pagina 3
Integratie
Het voordeel van werken met paravirtualisatie is dat het niet nodig is alle hardware te virtualiseren. Daarnaast is het mogelijk in een paravirtualisatieomgeving parameters van de virtuele machine te wijzigen zonder dat u opnieuw op hoeft te starten. Zo wijst u bijvoorbeeld probleemloos even 128 MB-werkgeheugen extra toe aan een virtuele machine.
Hypervisor
10/4.1.2 Xen-architectuur De belangrijkste component in een Xen-omgeving is de virtual machine-monitor, ook bekend als de hypervisor. Dit is een laag die tussen de virtuele machine en de hardware in zit. Deze hypervisor wordt in een SLES 10-omgeving geladen door een speciale versie van SLES 10 te booten. Deze versie gebruikt een Xen-kernel en start de zogenaamde domain-0-omgeving. De Xen-hypervisor zelf weet helemaal niets over de hardware in het systeem; hiervoor maakt hij gebruik van de hardware in het domain-0besturingssysteem. U zou domain-0 als het host-besturingssysteem kunnen beschouwen, maar wel met een belangrijk nuanceverschil als u het bijvoorbeeld vergelijkt met VMware: er zit geen virtuele hardware tussen het hostbesturingssysteem en het guest-besturingssysteem, er is alleen maar een hypervisor die ervoor zorgt dat het guestbesturingssysteem direct communiceert met de hardware in domain-0. Binnen domain-0 draait een proces met de naam xend. Dit proces speelt een centrale rol: het maakt namelijk de communicatie met alle andere domeinen mogelijk. Een algemene manier om naar al die andere domeinen te verwijzen is met domain-U. Elk van de andere domeinen (de virtuele machines dus) heeft een eigen domeinnummer: domainw1, domain-2, et cetera.
Novell Netwerkoplossingen, aanvulling 21
10/4.1-3
deel 10_4_1-AV21.qxp:deel 10_4-AV21.qxp
12-10-2006
09:30
Pagina 4
Virtualisatie
10/4.1.3 Installatie van Xen Voordat u nu met de installatie van Xen kunt beginnen, moet u nog even op de volgende zaken letten: • Elke virtuele machine die u laat draaien, heeft echte systeemeisen. Als u dus acht keer een SuSE Linux Enterprise Server wilt laten draaien waarvan elke server minimaal 256 MB nodig heeft, hebt u dus in totaal 2 GB RAM nodig. Daarnaast kan het in zo’n geval geen kwaad om ook maar gelijk twee CPU’s in de machine te stoppen. • Als u een virtuele machine live wilt kunnen migreren naar een andere machine (later leest u hier meer over), dan moet u het domain-U-besturingssysteem op een gedeelde storage installeren. Met andere woorden: voor een serieuze virtuele omgeving hebt u eigenlijk een SAN of een andere vorm van shared storage nodig. • Alle virtuele machines moeten in hetzelfde subnet geïnstalleerd zijn om optimaal gebruik te kunnen maken van de mogelijkheden. • Elke virtuele machine heeft bij voorkeur een eigen diskpartitie. Als u uit deze wensenlijst gekozen hebt wat er voor uw omgeving relevant is, kunt u beginnen met de installatie van domain-0. In SLES 10 volgt u hiervoor de volgende stappen: 1. Start YaST en open Software > Software Management. 2. Uit de drop-down-list bij de Filteroptie kiest u Patterns. Zorg er vervolgens voor dat alle aan Xen gerelateerde packages geselecteerd zijn. 3. Kies nu Accept om alle packages naar de server te kopiëren. 4. Open een consolevenster en controleer met een commando als cat /boot/grub/menu.lst of de Grub boot-
10/4.1-4
Novell Netwerkoplossingen, aanvulling 21
deel 10_4_1-AV21.qxp:deel 10_4-AV21.qxp
12-10-2006
09:30
Pagina 5
Integratie
loader aangepast is om Xen te kunnen starten. Dit commando moet u onder andere de volgende optie laten zien: ######Don’t change this comment - YaST2 identifier: Original name: xen### title XEN root (hd0,1) kernel /boot/xen.gz module /boot/vmlinuz-xen root=/dev/sda2 vga=0x314 resume=/dev/sda1 splash=silent showopts module /boot/initrd-xen
5.
6.
Op SLES 10 is standaard de SuSEFirewall actief. Deze kan niet omgaan met de complexe netwerkinstellingen die gebruikt worden in een Xen-omgeving. Daarom moet u de SuSEFirewall compleet uitzetten met de opdracht ‘rcSuSEFirewall stop’. Als u een firewall nodig hebt, zult u deze handmatig met iptables aan moeten maken. Start nu de server opnieuw op en kies tijdens het opstarten de optie SuSE Linux Enterprise Server 10 (XEN). Dit zorgt ervoor dat de domain-0-omgeving gestart wordt en alle Xen-componenten beschikbaar zijn.
Novell Netwerkoplossingen, aanvulling 21
10/4.1-5
deel 10_4_1-AV21.qxp:deel 10_4-AV21.qxp
12-10-2006
09:30
Pagina 6
Virtualisatie
Tijdens het opstarten kiest u voor de optie SuSE Linux Enterprise Server 10 (XEN) om de domain-0-omgeving beschikbaar te stellen.
7.
Open nadat het systeem opnieuw opgestart is een terminal-venster en typ daarin de opdracht ‘xm list’. Het resultaat van dit commando moet er als volgt uitzien (hieruit blijkt dat de domain-0-omgeving operationeel is):
BTN:~ # xm list Name
ID
Mem(MiB)
VCPUs
State
Time(s)
Domain-0
0
463
1
r——-
441.4
Als het tot zover allemaal goed is gegaan, is de omgeving klaar om de eerste virtuele machine te installeren.
10/4.1-6
Novell Netwerkoplossingen, aanvulling 21
deel 10_4_1-AV21.qxp:deel 10_4-AV21.qxp
12-10-2006
09:30
Pagina 7
Integratie
10/4.1.4 De eerste virtuele machine installeren Nu domain-0 operationeel is, wordt het tijd de eerste virtuele machine te installeren. Er zijn twee manieren waarop u dit kunt doen. U kunt natuurlijk gewoon het installatieprogramma van de virtuele machine gebruiken om deze te installeren, en als alternatief kunt u verwijzen naar een schijfimage of een fysieke schijf waarop de machine al compleet geïnstalleerd is. In onderstaande procedure leest u hoe u SuSE Linux Enterprise Server 10 kunt installeren. Op het moment dat wij deze paragraaf schreven gold Xen nog als een behoorlijk nieuwe technologie en werd niet elk besturingssysteem volledig ondersteund. Voordat u aan de slag gaat en mogelijk behoorlijk gefrustreerd raakt omdat het niet goed gaat, kunt u het beste eerst even kijken op www.novell.com/documentation/ vmserver/index.html. Hier vindt u een lijst met alle besturingssystemen die ondersteund worden. 1.
Start YaST en kies dan System > Virtual Machine Management (Xen). Zo opent u de beheersinterface voor virtuele machines, die u in de volgende figuur ziet.
Novell Netwerkoplossingen, aanvulling 21
10/4.1-7
deel 10_4_1-AV21.qxp:deel 10_4-AV21.qxp
12-10-2006
09:30
Pagina 8
Virtualisatie
Gebruik deze interface om virtuele machines te installeren.
2.
3.
10/4.1-8
Verzeker u ervan dat de installatiemedia aanwezig zijn in een installatiesource die op de domain-0machine geconfigureerd is. Dit betekent dat als u de domain-0-machine vanaf een dvd geïnstalleerd hebt, u er nu voor moet zorgen dat die dvd in de drive aanwezig is, en als u van een server op het netwerk geïnstalleerd hebt, u ervoor moet zorgen dat die server ook bereikbaar is. Let erop dat op het moment dat dit geschreven werd, installatie vanaf cd’s niet goed ondersteund werd: het systeem kan niet overweg met het wisselen van de cd’s. Gebruik dus liever een dvd. Klik nu op add. Dit opent het venster dat u in onderstaande figuur ziet. In dit venster geeft u aan hoe u wilt installeren. Kies Run an OS Installation Program om het installatieprogramma van het besturingssysteem te starten en kies Use a disk image or a phy-
Novell Netwerkoplossingen, aanvulling 21
deel 10_4_1-AV21.qxp:deel 10_4-AV21.qxp
12-10-2006
09:30
Pagina 9
Integratie
sical disk that contains OS boot files als u gebruik wilt maken van een diskimage waarop alle bestanden al geïnstalleerd zijn. In dit voorbeeld gaan we van de eerste optie uit.
Kies Run an OS installation program en klik dan op Next om de installatie te laten beginnen.
4.
U ziet nu het Virtual Machine (Installation Settings)venster. In dit venster kunt u de eigenschappen van de virtuele machine aanpassen. Doe hier de aanpassingen die nodig zijn en klik dan op Next om door te gaan en de installatie te starten. U kunt hier een keuze maken uit de volgende opties: • AutoYaST: gebruik deze optie als een AutoYaST configuratiebestand beschikbaar is. • Virtualization Mode: geef hier aan van welke wijze van virtualisatie u gebruik wilt maken. Hardware-
Novell Netwerkoplossingen, aanvulling 21
10/4.1-9
deel 10_4_1-AV21.qxp:deel 10_4-AV21.qxp
12-10-2006
09:30
Pagina 10
Virtualisatie
•
•
•
• •
10/4.1-10
virtualisatie kan alleen gekozen worden als de CPU dit ook ondersteunt. VM Properties: specificeer hier de eigenschappen van de virtuele machine. Het belangrijkste dat u hier opgeeft, is de naam van de virtuele machine. Standaard is dit een naam als vm2 (de aanduiding vm, gevolgd door een volgnummer). U mag dit wijzigen in iets met meer betekenis. Hardware: hier geeft u aan welke hardware de virtuele machine gaat gebruiken. Standaard krijgt de machine 256 MB RAM, toegang tot een CPU en de grafische kaart die door domain-0 wordt aangeboden, en wordt er gebruikgemaakt van UTC-tijd. Pas deze naar behoefte aan. Disks: geef hier aan van welke schijven u gebruik wilt maken. Standaard wordt voor de virtuele machine een sparse file aangemaakt. Dit is een leeg bestand dat kan groeien tot een vooraf gedefinieerde grootte van 4 GB. Als alternatief kunt u hier opgeven dat de installatie moet plaatsvinden op een partitie (of LUN) die voor dit doel gereserveerd is. Deze laatste optie is altijd aan te raden. Network: geef hier aan hoeveel virtuele netwerkkaarten u wilt gebruiken. Operating System Installation: gebruik deze optie om aan te geven vanaf welk medium geïnstalleerd moet worden.
Novell Netwerkoplossingen, aanvulling 21
deel 10_4_1-AV21.qxp:deel 10_4-AV21.qxp
12-10-2006
09:30
Pagina 11
Integratie
Voordat u met de installatie begint, geeft u aan hoe u wilt installeren.
5.
Nadat u in het voorgaande scherm op Next gedrukt hebt, wordt de virtuele omgeving klaargezet. Dit kan heel even duren. Zodra dit gebeurd is wordt een terminalvenster geopend waarin u moet aangeven wat de bedoeling is. Nadat u hier ‘linux’ getypt hebt, wordt de grafische installatie gestart waarmee u de SLES 10-bestanden naar de machine kunt kopiëren. Voer nu de installatie uit zoals u dat normaal gewend bent.
Novell Netwerkoplossingen, aanvulling 21
10/4.1-11
deel 10_4_1-AV21.qxp:deel 10_4-AV21.qxp
12-10-2006
09:30
Pagina 12
Virtualisatie
Voer nu de installatie uit zoals u dat normaal gewend bent.
6.
10/4.1-12
Zodra de installatie afgerond is, ziet u een bericht waarin aangegeven wordt dat de instellingen van de virtuele machine nu worden weggeschreven (finalized). Klik hier op Continue. Dat brengt u naar het venster dat u op de volgende pagina ziet: Virtual Machine (Final Settings). In dit venster ziet u vier opties: • VM properties: hier geeft u aan hoe de machine geactiveerd moet worden en wat er moet gebeuren als de power uitgezet wordt, als de domain-0machine herstart wordt of wordt uitgezet. • Hardware: deze optie wordt gebruikt om de hardware-instellingen van de virtuele machine aan te passen. • Network: gebruik deze optie om de netwerkeigenschappen van de machine aan te passen.
Novell Netwerkoplossingen, aanvulling 21
deel 10_4_1-AV21.qxp:deel 10_4-AV21.qxp
12-10-2006
09:30
Pagina 13
Integratie
• Operating System Boot: dit bevat de informatie die nodig is om het systeem te starten. Hier vindt u de informatie die u normaal in het Grub-bootmenu terugvindt.
Nadat u de installatie hebt afgerond, kunt u nog de eigenschappen van de virtuele machine aanpassen.
7.
Nadat u op Next geklikt hebt om de uiteindelijke instellingen naar het systeem weg te schrijven, start de virtuele machine opnieuw op. Zodra dat gebeurd is, kunt u direct beginnen met het gebruik ervan.
10/4.1.5 Beheer van Xen-domains Als alles goed gegaan is, hebt u nu een werkende SLES 10machine draaien in het zogenaamde domain-U. We gaan nu kijken wat ervoor nodig is om deze machine te beheren.
Novell Netwerkoplossingen, aanvulling 21
10/4.1-13
deel 10_4_1-AV21.qxp:deel 10_4-AV21.qxp
12-10-2006
09:30
Pagina 14
Virtualisatie
Er zijn twee manieren om een Xen-omgeving te beheren in SLES 10: met YaST en met de commandoprompt. Om uw werk vanaf de prompt te doen maakt u gebruik van het commando xm. Daarnaast kunnen de configuratiebestanden van de afzonderlijke virtuele machines aangepast worden. Als u gebruikmaakt van YaST, kunt u beide taken vanuit de grafische interface uitvoeren. U leest nu hoe u hiervoor te werk gaat. Om Xen te kunnen beheren moet u op zijn minst iets afweten van de wijze waarop de configuratiebestanden ingezet worden. Elk Xen-domain heeft zijn eigen configuratiebestand. U vindt deze configuratiebestanden in de directory /etc/xen/vm. Hieronder ziet u daar een voorbeeld van. BTN:/etc/xen/vm # cat vm1 disk = [ ‘file:/var/lib/xen/images/vm1/hda,hda,w’, ‘phy:/dev/hdc,hdb,r’ ] memory = 256 vcpus = 1 builder = ‘linux’ name = ‘vm1’ vif = [ ‘mac=00:16:3e:66:65:5b’ ] localtime = 0 on_poweroff = ‘destroy’ on_reboot = ‘restart’ on_crash = ‘restart’ extra = ‘ TERM=xterm’ bootloader = ‘/usr/lib/xen/boot/domUloader.py’ bootentry = ‘hda2:/boot/vmlinuzxen,/boot/initrd-xen’
10/4.1-14
Novell Netwerkoplossingen, aanvulling 21
deel 10_4_1-AV21.qxp:deel 10_4-AV21.qxp
12-10-2006
09:30
Pagina 15
Integratie
Wellicht dat u in dit bestand een aanzienlijk aantal van de instellingen herkent die u gebruikt hebt bij het aanmaken van de virtuele machine. Voor alle volledigheid volgt hieronder een overzicht van de verschillende instellingen. Parameter disk
memory vcpus
builder vif localtime
on_poweroff
on_reboot on_crash
Gebruik Hiermee wordt aangegeven welke schijf gebruikt wordt. In dit voorbeeld wordt gebruikgemaakt van twee schijven. Als eerste is dat het bestand /var/lib/xen/images /vm1/hda. Achter de aanduiding van de naam van het bestand staat dat dit device in Xen bekend zal zijn als hda, en de w tot slot geeft aan dat er op dit device geschreven kan worden. Vervolgens is er het fysieke device /dev/hdc dat als read-only device hdb bekend is in de Xen-omgeving. Dit is de hoeveelheid geheugen die voor de virtuele machine beschikbaar is. Het aantal CPU’s waarover de virtuele machine beschikt; het getal 1 geeft hier aan dat er 1 CPU ter beschikking staat. Dit is het type besturingssysteem dat als domain-0 gebruikt wordt. Het virtuele MAC-adres van de virtuele machine. Gebruik een 0 om aan te geven dat de systeemklok voor UTC geconfigureerd is, en een 1 als de lokale tijd gebruikt wordt op de systeemklok. Dit geeft aan wat er moet gebeuren als de powerknop op de fysieke machine ingedrukt wordt. De optie ‘destroy’ geeft aan dat de machine botweg afgebroken wordt. Hiermee specificeert u wat er moet gebeuren als de virtuele machine opnieuw opgestart wordt. Hiermee geeft u aan wat er gebeurt als de virtuele machine vastloopt.
Novell Netwerkoplossingen, aanvulling 21
10/4.1-15
deel 10_4_1-AV21.qxp:deel 10_4-AV21.qxp
12-10-2006
09:30
Pagina 16
Virtualisatie
Parameter extra
bootloader
bootentry
Gebruik Deze optie wordt gebruikt om opties mee te geven aan de kernel. Vergelijk dit met de regel waarmee u normaal in Grubs menu.lst aangeeft welke opties ingezet moeten worden. Geeft aan welke bootloader gebruikt moet worden. Op dit moment kunt u alleen domUloader.py als bootloader gebruiken. Hiermee geeft u aan welke kernel en initrd u wilt gebruiken. Bovenstaand voorbeeldbestand is aangemaakt door YaST. U kunt echter ook handmatig configuratiebestanden aanmaken. Dit doet u het meest eenvoudig door gebruik te maken van het voorbeeldbestand /etc/xen/examples/example1; dit is een goed gedocumenteerd voorbeeldbestand waarin u alle parameters zelf aan kunt passen. 10/4.1.6 Werken met de xm-tool Het commando xm is het universele commando dat gebruikt kan worden voor het beheer van een Xen-omgeving. Alles wat u met dit commando doet, wordt via het xend process op de domain-0-machine direct toegepast. Het xm-commando werkt met verschillende opties, die feitelijk elk op zich ook weer gebruikt worden als afzonderlijk commando. Zo hebt u in het eerste deel van deze paragraaf de opdracht xm list leren kennen waarmee u een lijst opvraagt van alle virtuele machines die op dat moment actief zijn. We zullen nu aandacht besteden aan andere relevante xm-commando’s. Om te beginnen is er het commando xm create. Gebruik dit commando om een virtuele machine te starten. Let op: u maakt er geen virtuele machine mee aan; dit commando gaat ervan uit dat u een configuratiebestand voor de
10/4.1-16
Novell Netwerkoplossingen, aanvulling 21
deel 10_4_1-AV21.qxp:deel 10_4-AV21.qxp
12-10-2006
09:30
Pagina 17
Integratie
betreffende virtuele machine al handmatig aangemaakt hebt. U kunt bijvoorbeeld de opdracht xm create -x -f /etc/vm/vm1 gebruiken om de virtuele machine te starten waarvan de configuratie opgeslagen is in /etc/xen/vm/vm1. Hierbij geeft de optie -c overigens aan dat de virtuele machine in haar eigen consolevenster moet draaien. Dit is trouwens geen absolute vereiste: er is ook niets op tegen om de virtuele machine headless te laten draaien zonder dat deze een console heeft. Dat doet u immers al met heel veel servers in uw serverrruimte. Mocht u ervoor gekozen hebben een virtuele machine op te starten zonder eigen console, dan kunt u het commando xm console
gebruiken om de machine weer een console te geven. De aanduiding verwijst daarbij naar de domain ID; deze kunt u opvragen met de opdracht xm list. Gebruik dus bijvoorbeeld xm console 1 om virtuele machine 1 weer te geven in een venster. Hebt u er weer genoeg van de virtuele machine in een venster te zien? Gebruik dan vervolgens de toetscombinatie Ctrl-] om deze weer op de achtergrond verder te laten draaien. Het volgende interessante commando is xm pause. Ook dit commando wordt weer gevolgd door een domeinnummer van de virtuele machine: u gebruikt het commando om de machine tijdelijk stop te zetten. Vergelijk het met de suspend-optie in VMware. Wilt u haar daarna weer aanzetten? Gebruik dan xm unpause, ook gevolgd door de domain ID van de machine. Naast deze opdrachten zijn er enkele opdrachten waarmee u de domain-U-machine kunt uitzetten of opnieuw op kunt starten. • xm shutdown <domain-ID>: gebruik dit commando om het domain uit te zetten.
Novell Netwerkoplossingen, aanvulling 21
10/4.1-17
deel 10_4_1-AV21.qxp:deel 10_4-AV21.qxp
12-10-2006
09:30
Pagina 18
Virtualisatie
•
•
•
xm destroy <domain-ID>: hiermee forceert u een shutdown van het domain. Gebruik deze optie als xm shutdown niet werkt. xm save <domain-ID> : gebruik deze optie om de huidige status van het domain te bewaren. Gebruik altijd eerst deze optie voordat u een reboot moet doen van domain-0. xm restore : hiermee herstelt u een domain dat eerder opgeslagen is met xm save.
Een ander uitermate nuttige opdracht is xm mem_set. Hiermee kunt u de hoeveelheid werkgeheugen die is toegewezen aan een virtuele machine aanpassen – en dat zelfs zonder dat de machine zelf opnieuw opgestart hoeft te worden. Om dit commando te gebruiken geeft u aan voor welke domain-ID de instelling van toepassing wordt en hoeveel geheugen u als nieuwe toewijzing wilt gebruiken: bijvoorbeeld xm mem-set 2 512 om 512 MB toe te wijzen aan de machine in domain 2. Op deze manier is het ook mogelijk om de hoeveelheid CPU’s waarover een machine kan beschikken aan te passen; gebruik hiervoor de opdracht xm vcpu_set. Uiteraard kunt u hier alleen iets mee als de machine ondersteuning biedt voor meerdere CPU’s. Tot slot is er de opdracht xm top. Dit is een heel nuttig commando: u kunt er namelijk mee meten hoe het zit met de prestatiebelasting van het systeem. U krijgt onder andere een overzicht van de huidige CPU-belasting, het geheugengebruik en het netwerkverkeer.
10/4.1-18
Novell Netwerkoplossingen, aanvulling 21
deel 10_4_1-AV21.qxp:deel 10_4-AV21.qxp
12-10-2006
09:30
Pagina 19
Integratie
Met xm top krijgt u een overzicht van de huidige status van de virtuele machines.
10/4.1.7 Beheer van Xen met YaST Naast het veelzijdige commando xm kunt u ook gebruikmaken van YaST om het beheer van virtuele machines uit te voeren. Hiervoor maakt u gebruik van de Manage Virtual Machines-interface.
Novell Netwerkoplossingen, aanvulling 21
10/4.1-19
deel 10_4_1-AV21.qxp:deel 10_4-AV21.qxp
12-10-2006
09:30
Pagina 20
Virtualisatie
Vanuit de YaST-interface kunt u een aantal beheerstaken uitvoeren.
Vanuit deze interface wordt een aantal opties aangeboden: • Add: gebruik deze optie om een nieuwe machine toe te voegen. • Refresh: hiermee ververst u de statusweergave van de virtuele machine. • Delete: hiermee verwijdert u een machine die momenteel niet in gebruik is. • Start: gebruik deze optie om een machine te starten die momenteel niet actief is. • View: als de machine momenteel niet op een console wordt weergegeven, gebruikt u deze optie om de machine aan een console te verbinden. • Shutdown: hiermee sluit u een virtuele machine af. • Terminate: de iets bottere manier om een virtuele machine af te sluiten. Gebruik deze optie als de machine niet meer luistert naar shutdown.
10/4.1-20
Novell Netwerkoplossingen, aanvulling 21
deel 10_4_1-AV21.qxp:deel 10_4-AV21.qxp
12-10-2006
09:30
Pagina 21
Integratie
Het zal u opvallen dat de mogelijkheden die op dit moment vanuit YaST geboden worden, relatief beperkt zijn. Als meer flexibiliteit gewenst is, kunt u beter gebruikmaken van de opdracht xm.
Bridging
10/4.1.8 Beheer van Xen-netwerken Een van de lastigste onderdelen om te beheren in een Xenomgeving is netwerkfunctionaliteit. Het probleem is dat Xen behoorlijk wat opties te bieden heeft om de netwerkkaart in de domain-U-machine te verbinden aan de netwerkkaart in de domain-0-machine. Standaard wordt voor dit doel gebruikgemaakt van een techniek die bekendstaat als bridging. Maakt u gebruik van deze optie, dan wordt de virtuele machine feitelijk direct aan hetzelfde netwerk verbonden als de domain-0-machine. Om met elkaar te kunnen communiceren is het van belang dat ze allebei voorkomen in hetzelfde IP-netwerk. Elke netwerkkaart die in een domain-U-machine gebruikt wordt, bestaat op twee plaatsen: als netwerkinterface in domain-U en als virtuele netwerkinterface in domain-0. Deze interfaces zijn aan elkaar verbonden door middel van een point to point-link. Stel dat maar voor als een virtuele kruiskabel. De interfaces in domain-U hebben namen als vif1.0 en vif1.1. Uit deze namen valt af te leiden in welk domein de interface voorkomt en welk interfacenummer de interface heeft binnen dat domein: het eerste getal verwijst naar het domein en het tweede naar het interfacenummer. Standaard worden deze interfaces door middel van bridging verbonden aan het eth0 device in domain-0. Xen-netwerkfunctionaliteit wordt ingesteld met twee scripts. De scripts die gebruikt worden om de bridge in te stellen, zijn network-bridge en vif-bridge. U vindt deze scripts in /etc/xen/scripts en ze worden automatisch
Novell Netwerkoplossingen, aanvulling 21
10/4.1-21
deel 10_4_1-AV21.qxp:deel 10_4-AV21.qxp
12-10-2006
09:30
Pagina 22
Virtualisatie
gestart als het xend-proces gestart wordt. Het networkbridge-script zorgt ervoor dat het xen-br0 device aangemaakt wordt. Dit is de virtuele bridge in de Xen-omgeving. Ook zorgt network-bridge ervoor dat eth0 in domain-0 aan de virtuele bridge verbonden wordt. De tegenhanger van dit script in de domain-U-omgeving is vif-bridge; deze zorgt ervoor dat alle virtuele interfaces aan de bridge verbonden worden. Routing
Als alternatief voor bridging kunt u gebruikmaken van routing. De mogelijkheden hiervoor zijn echter niet zover ontwikkeld als voor bridging; daarom doet u er goed aan terughoudend te zijn met de toepassing van die optie. Mocht u het toch willen, dan moet u ervoor zorgen dat in plaats van de bridging-scripts de routing-scripts geactiveerd worden. De namen van deze scripts zijn networkroute en vif-route en u zet ze aan in het algemene configuratiebestand /etc/xen/xend-config.sxp op de domain-0-machine. In dit bestand vindt u twee regels met een commentaarteken ervoor: #(network-script network-route) #(vif-script
vif-route)
Om deze scripts aan te zetten hoeft u alleen maar het commentaarteken voor de naam van het script te verwijderen. Vervolgens plaatst u juist een commentaarteken voor de twee regels die ervoor zorgen dat bridging geactiveerd wordt:
10/4.1-22
(network-scrip
network-bridge)
(vif-scrip
vif-bridge)
Novell Netwerkoplossingen, aanvulling 21
deel 10_4_1-AV21.qxp:deel 10_4-AV21.qxp
12-10-2006
09:30
Pagina 23
Integratie
10/4.1.9 Migreren van virtuele machines Een van de spectaculairste features van Xen is de mogelijkheid een virtuele machine te migreren naar een andere fysieke server. Uiteraard moet die andere server wel geconfigureerd zijn voor Xen. Het voordeel van zo’n migratie is dat u heel eenvoudig even een virtuele machine over kunt zetten om een fysieke machine down te brengen zonder dat de gebruiker van die machine daar iets van zal merken. Er is echter wel een zeer belangrijke voorwaarde aan verbonden: ook na de migratie moet de gemigreerde machine nog wel bij haar bestanden kunnen komen. Om dit voor elkaar te krijgen zult u ervoor moeten zorgen dat er een of andere manier is die voorziet in gedeelde opslag. U zou bijvoorbeeld een OCFS2-bestandssysteem voor dit doel in kunnen zetten (de configuratie daarvan komt in een latere paragraaf aan de orde). Als de gedeelde opslag bestaat en de Xen-machine die u wilt migreren daar ook op geïnstalleerd is, betekent een migratie van die machine alleen nog maar dat u het actieve deel van het werkgeheugen uit de ene naar de andere fysieke machine moet kopiëren. Hiervoor maakt u gebruik van het xm command.
Procedure
Als u het niet erg vindt dat een machine eventjes down is, kunt u gebruikmaken van xm save en xm restore om de status van de machine down te brengen en daarna op een ander stuk hardware weer up te brengen. Volg hiervoor de volgende procedure: 1. Gebruik xm save <domain-id> om de huidige status van een machine op te slaan in een bestand. Gebruik zo nodig xm list om de domain-id van de betreffende machine te achterhalen. 2. Kopieer nu met cp het bestand dat u met xm save hebt aangemaakt naar een andere host. 3. Gebruik op de andere host xm restore om de machine weer aan te zetten.
Novell Netwerkoplossingen, aanvulling 21
10/4.1-23
deel 10_4_1-AV21.qxp:deel 10_4-AV21.qxp
12-10-2006
09:30
Pagina 24
Virtualisatie
Bovenstaande methode werkt prima, maar vereist wel enige downtijd. Zelfs als u het snel doet, zal dat op zijn minst een paar minuten duren. Als u zich dat niet kunt veroorloven, maakt u gebruik van de migrate-optie. Deze optie, in combinatie met de optie --live , is er speciaal voor ontwikkeld om ervoor te zorgen dat er geen downtijd ervaren wordt. Om bijvoorbeeld de machine met domain-id 2 te kopiëren naar de fysieke machine met IP-adres 192.168.1.30 gebruikt u het volgende commando: xm migrate —live 2 192.168.1.30.
Voor een succesvolle migratie moeten op beide machines die erbij betrokken zijn nog wel de nodige maatregelen genomen worden. Dit doet u in het algemene Xen-configuratiebestand /etc/xen/xend-config.sxp. In dit bestand vindt u een paar regels waarmee bepaald wordt of, en zo ja hoe, migratie (relocation) plaats kan vinden. Vooral de volgende twee regels zijn belangrijk: (xend-relocation-server yes) (xend-relocation-hosts-allow ‘^localhost$’)
De eerste van deze regels geeft aan dat deze host bereid is mee te doen met migratie. Verzeker u ervan dat deze optie aanstaat. Vervolgens bepaalt de tweede regel welke hosts machines mogen migreren naar deze machine. Zoals u kunt zien, kan standaard alleen localhost dat doen en dat is niet echt handig. Om ervoor te zorgen dat iedereen machines mag migreren naar deze machine verandert u de tweede regel in (xend-relocation-hosts-allow ‘ ‘). Mocht u iets meer beveiliging willen implementeren, dan kunt u tussen de quotes een reguliere expressie gebruiken om aan te geven welke machines u toegang wilt geven. Gebruik bijvoorbeeld (xend-relocation-hosts-allow ‘^192.168*’) om
10/4.1-24
Novell Netwerkoplossingen, aanvulling 21
deel 10_4_1-AV21.qxp:deel 10_4-AV21.qxp
12-10-2006
09:30
Pagina 25
Integratie
elke host waarvan het IP-adres met 192.168 begint toestemming te geven virtuele machines naar deze machine te migreren. In deze paragraaf over Xen hebt u geleerd hoe u een Xenvirtuele omgeving inricht. Zeker met een gebruiksvriendelijke tool als YaST is dit niet moeilijk; zelfs vanaf de commandoregel is het nog best te doen. Ook hebt u gelezen hoe u de virtuele omgeving kunt beheren, waarbij de mogelijkheid virtuele machines te migreren wellicht het spectaculairst is.
Novell Netwerkoplossingen, aanvulling 21
10/4.1-25
deel 10_4_1-AV21.qxp:deel 10_4-AV21.qxp
12-10-2006
09:30
Pagina 26
Virtualisatie
10/4.1-26
Novell Netwerkoplossingen, aanvulling 21
deel 10_4_2-AV24.qxp:deel 10_4-AV21.qxp
28-06-2007
11:57
Pagina 1
Integratie
10/4.2 Hardwarebeheer in Xen Xen is op dit moment een van de grootste trends op het gebied van ICT. Virtualisatie met Xen biedt veel voordelen. Niet alleen is het gratis, maar bovendien functioneert een Xen virtuele machine vele malen sneller dan een met VMware gevirtualiseerde machine. In dit artikel besteden we aandacht aan hardwarebeheer van in Xen gevirtualiseerde computers. Deze paragraaf veronderstelt dat u al een geïnstalleerde Xen virtuele machine hebt. We zullen vooral kijken naar het beheer van vitale Xen-resources: de netwerkkaart, het werkgeheugen, de CPU, block-devices en de PCI-bus. We gaan uit van Xen zoals het meegeleverd wordt in SuSE Linux Enterprise Server 10, SP1. Hoewel sommige zaken specifiek zijn voor SuSE (denk vooral aan bestandsnamen en dergelijke) is de informatie ook toepasbaar op de Xensource-software of de Xen-implementatie in Red Hat Enterprise Linux 5.
Full-virtual en paravirtual machines
Houd bij het werken met hardware in een Xen-omgeving altijd in de gaten dat er een verschil is tussen full-virtual machines en paravirtual machines. Het is namelijk afhankelijk van het type virtuele machine dat u gebruikt hoe bepaalde devices beschikbaar zijn. Zo ziet een full-virtual machine bijvoorbeeld gewoon een /dev/sda als harddisk, terwijl een paravirtuele machine gebruikmaakt van een speciaal device met de naam /dev/xvda. Waar relevant wordt in deze paragraaf aangeduid of de informatie betrekking heeft op een full-virtual of een paravirtual machine. 10/4.2.1 Netwerkconfiguratie In een Xen-omgeving heeft de Dom0-machine (het host operating-system, al noemen we dat onder Xen liever niet
Novell Netwerkoplossingen, aanvulling 24
10/4.2-1
deel 10_4_2-AV24.qxp:deel 10_4-AV21.qxp
28-06-2007
11:57
Pagina 2
Virtualisatie
zo) toegang tot de fysieke netwerkkaart. Alle DomUmachines (de virtuele machines zogezegd) benaderen de fysieke netwerkkaart via een bridge. De netwerk-bridge is het enige dat onder SLES 10.1 ook daadwerkelijk beschikbaar is. In toekomstige versies zal ook gerouteerd netwerken en netwerken via een NAT-interface beschikbaar komen. Op dit moment echter werken deze technieken nog niet. Al deze devices (bridge, router of NAT) worden via een speciaal device beschikbaar gesteld. Deze devices worden aangemaakt met een script in de configuratiedirectory /etc/xen/scripts: • network-bridge definieert de werking van de bridge; • network-router definieert de werking van de router; • network-nat definieert de werking van de NAT-interface.
Opstartprocedure
De exacte werking van het netwerk in de Xen virtuele machine wordt duidelijk door een analyse van de opstartprocedure van een server. We vatten deze opstartprocedure kort als volgt samen: 1. De speciale Xen-kernel wordt geladen. 2. De Xen-kernel zorgt ervoor dat de Linux-kernel van het Dom0-domain geladen wordt. 3. De Linux-kernel detecteert alle aanwezige hardware. 4. De DomU-besturingssystemen worden gestart. Elk op zijn beurt zorgt ervoor dat hardware door middel van een paravirtuele of een geëmuleerde driver aangestuurd wordt. In het geval van de netwerkkaart betekent dit dat het Dom0-domain de stuurprogramma’s voor de fysieke netwerkkaart laadt. Op dat moment worden de diverse ethinterfaces geactiveerd. Tijdens het starten van de Dom0 wordt het xend-proces gestart. Dit is het master Xen-proces dat ervoor zorgt dat het Dom0 klaargezet wordt en ook
10/4.2-2
Novell Netwerkoplossingen, aanvulling 24
deel 10_4_2-AV24.qxp:deel 10_4-AV21.qxp
28-06-2007
11:57
Pagina 3
Integratie
alles geprepareerd wordt om de DomU’s met succes te kunnen starten. Om het netwerk te initialiseren wordt nu eerst het algemene configuratiescript xend-config.sxp geladen. Dit is het master-configuratiescript voor Xen en in dit script vindt Xend aanwijzigingen hoe het netwerk aangestuurd moet worden. Gezien de huidige mogelijkheden zal dat gebeuren door het script /etc/xen/scripts/network-bridge te starten. Hiermee wordt de netwerk-bridge geactiveerd. Als dit gebeurd is, wordt vervolgens het script /etc/xen/scripts/vif-bridge gestart. Dit script zorgt ervoor dat virtuele ethernet-devices aangemaakt worden. Dit zijn de vifx.y-scripts; voor elke DomU-machine wordt minstens één zo’n interface aangemaakt. De namen van deze interfaces zien eruit als vif1.0. In deze naam geeft de 1 aan dat het de interface is die gebruikt wordt in domain 1. De 0 geeft aan dat het in domain 1 de eerste interface is; met andere woorden, we hebben het hier over de interface die in domain 1 bekendstaat als eth0. Activeren bridge-script
Tijdens het activeren van het bridge-script gebeurt het volgende: • De eth0-interface die oorspronkelijk gebruikt werd om met de fysieke netwerkkaart te communiceren, wordt omgedoopt tot peth0 (physical eth0). Deze interface wordt alleen gebruikt om de instellingen van de fysieke netwerkkaart aan te passen en bevat bijvoorbeeld geen gegevens over het te gebruiken IP-adres. • De Xen-bridge wordt geladen. Deze zorgt ervoor dat alle virtuele machines onderling met elkaar kunnen communiceren.
Novell Netwerkoplossingen, aanvulling 24
10/4.2-3
deel 10_4_2-AV24.qxp:deel 10_4-AV21.qxp
28-06-2007
11:57
Pagina 4
Virtualisatie
•
•
De Xen-bridge interfacet naar vifx.y devices. Voor elk domain wordt minimaal één zo’n device aangemaakt, inclusief Dom0. In de domains zelf wordt een eth-device aangemaakt voor elke virtuele netwerkkaart. Dit device is via het vif-device aan de Xen-bridge verbonden.
Een zeer belangrijk aspect dat u zich moet realiseren, is dat als de Xen-netwerkomgeving eenmaal up is, het niet langer mogelijk is om in Dom0 op de normale manier het IP-adres aan te passen. De eth0-interface wordt op dat moment namelijk beheerd door het network-bridge script. Om ervoor te zorgen dat u alsnog het IP-adres aan kunt passen moet u eerst het network-bridge script down brengen, dan het IP-adres aanpassen en dan het networkbridge script weer up brengen. Samengevat ziet deze procedure er als volgt uit: 1. Gebruik de opdracht /etc/xen/scripts/networkbridge stop om de netwerk-bridge uit te zetten. 2. Wijzig het IP-adres van de eth0-netwerkkaart. 3. Gebruik de opdracht /etc/xen/scripts/networkbridge start om de netwerk-bridge weer up te brengen. Op dat moment is het gewijzigde IP-adres geactiveerd voor de Xen-omgeving. 10/4.2.2 Werken met meerdere netwerkkaarten Als er meerdere netwerkkaarten in uw computer gemonteerd zijn, hebt u twee mogelijkheden: u gebruikt één bridge of u configureert er gewoon meerdere. In het laatste geval moet u wat extra werk verzetten. Om te beginnen moet u meerdere virtuele netwerkkaarten aanmaken. Standaard worden er vier gemaakt, maar bij het werken met meerdere netwerkkaarten en meerdere domains hebt u aan vier interfaces waarschijnlijk niet genoeg. Om meerdere netwerkkaarten te alloceren moet u de netloop-
10/4.2-4
Novell Netwerkoplossingen, aanvulling 24
deel 10_4_2-AV24.qxp:deel 10_4-AV21.qxp
28-06-2007
11:57
Pagina 5
Integratie
module laden en als optie bij het laden aangeven hoeveel netwerkinterfaces u nodig hebt. Dit regelt u door de volgende regel in /etc/modprobe.conf.local op te nemen, waarbij x vervangen wordt door een getal dat aangeeft hoeveel netwerkinterfaces u wilt aanmaken: options netloop nloopbacks=x
Zodra er op deze manier verschillende virtuele netwerkkaarten ondersteund worden, zorgt u ervoor dat er meerdere bridges gemaakt kunnen worden. Hiervoor maakt u gebruik van het network-multi-bridge script. Dit is een niet-standaard onderdeel dat u kunt downloaden van http://pronetworkconsulting.com/linux/scripts/networkmulti_bridge.html. Met dit script kunt u drie verschillende soorten bridges maken. • Traditionele bridges: dit zijn de bridges zoals in het voorgaande besproken. Ze brengen in Dom0 de fysieke en virtuele netwerkinterfaces met elkaar in contact. • Host bridges: deze worden gebruikt om host-only networking te configureren. De vif-interfaces worden met elkaar in contact gebracht, maar er is geen link naar de fysieke netwerkkaart. Dit betekent dat de DomU-machines alleen met elkaar en Dom0 kunnen communiceren, maar niet met de buitenwereld. • Emtpy bridges: maak hier gebruik van als u de DomUmachines alleen met elkaar wilt laten communiceren, maar niet met de Dom0 of de buitenwereld. Als u meerdere bridges gebruikt, moet in het configuratiebestand van de virtuele machine (zie /etc/xen/vm/) aangeven welke interface aan welke bridge verbonden moet worden. Dit doet u bijvoorbeeld met de volgende regel:
Novell Netwerkoplossingen, aanvulling 24
10/4.2-5
deel 10_4_2-AV24.qxp:deel 10_4-AV21.qxp
28-06-2007
11:57
Pagina 6
Virtualisatie
vif=[ ‘mac=00:16:3E:87:AB:66,bridge=xenbr2’, ]
Onderstaande procedure beschrijft hoe u twee Xen-bridges kunt aanmaken: 1. Zorg ervoor dat u twee fysieke netwerkkaarten ter beschikking hebt. 2. Omdat er geen standaardscript is dat meerdere bridges ondersteunt, moet u het zelf aanmaken. Dit doet u door een nieuw script aan te maken dat bijvoorbeeld de naam /etc/xen/scripts/network-tweebridges heeft. Geef dit script de volgende inhoud: /etc/xen/scripts/network-bridge $1 netdev=eth0 bridge=xenbr0 vifnum=0 /etc/xen/scripts/network-bridge $1 netdev=eth1 bridge=xenbr1 vifnum=1
3.
Schakel de oude netwerk-bridge uit met de volgende opdracht: /etc/xen/scripts/network-bridge stop
4.
Start nu de nieuwe bridge. Let erop dat u in onderstaande opdracht de naam van het script moet gebruiken zoals u dit aangemaakt hebt in stap 2 van deze procedure: /etc/xen/scripts/network-tweebridges start
5.
Open nu het bestand /etc/xen/xend-config.sxp. In dit script wordt namelijk aangegeven welk script gebruikt wordt om de netwerk-bridge te starten. Zoek in dit script de volgende regel: (network-script network-bridge)
10/4.2-6
Novell Netwerkoplossingen, aanvulling 24
deel 10_4_2-AV24.qxp:deel 10_4-AV21.qxp
28-06-2007
11:57
Pagina 7
Integratie
Pas nu deze regel aan zodat hij eruit komt te zien als in het volgende voorbeeld: (network-script network-tweebridges)
Dit zorgt ervoor dat ook de volgende keer dat Xen gestart wordt, de twee bridges beschikbaar zijn. Handmatig testen Bovenstaand voorbeeld geeft aan hoe u permanent een netwerk-bridge maakt – handig als u van tevoren al zeker weet dat het gaat werken. Als u hier echter niet helemaal zeker van bent, kunt u eerst handmatig een test uitvoeren. Dit doet u door op de commandoregel de volgende opdracht te geven: /etc/xen/scripts/network-bridge start netdev=eth1 bridge=xenbr1 vifnum=1. Hierbij staat het u overigens vrij te specificeren welke fysieke ethernetkaart u wilt gebruiken en welke virtuele ethernetkaart u daar in Dom0 aan wilt verbinden. De netwerkkaart zelf kan op twee manieren gebruikt worden: full virtual of paravirtual. Bij gebruik van een paravirtuele netwerkkaart vindt u in de DomU-machine een netwerkkaart van het type xennet. Bij gebruik van een geëmuleerde netwerkkaart in een full virtualization-omgeving is dit een Realtek 8139-, een AMD PCnet32- of een NE2000-netwerkkaart. In beide gevallen kan een maximum van drie netwerkkaarten per domain aangemaakt worden. 10/4.2.3 Driver-support Om te begrijpen hoe u gebruik kunt maken van hardware in een Xen gevirtualiseerde omgeving moet u eerst weten hoe drivers in een virtuele machine aangestuurd worden. Net als bij de netwerkkaart zijn hier om te beginnen front-enddrivers voor. Dit zijn drivers die in DomU geactiveerd zijn
Novell Netwerkoplossingen, aanvulling 24
10/4.2-7
deel 10_4_2-AV24.qxp:deel 10_4-AV21.qxp
28-06-2007
11:57
Pagina 8
Virtualisatie
en ervoor zorgen dat het gevirtualiseerde besturingssysteem een driver heeft waar hij tegenaan kan praten. Daarnaast zijn er back-end-drivers. Dit zijn de drivers die in het driver-domain geactiveerd zijn (typisch is dit Dom0) en een verbinding met de fysieke hardware tot stand brengen. Om de communicatie tussen de front-end-drivers in de DomU’s en de back-end-drivers in Dom0 tot stand te brengen gebruikt Xen de zogenaamde Xen-bus. Deze bus kan vergeleken worden met de PCI-bus en de netwerkbridge, die er beide voor zorgen dat gevirtualiseerde en werkelijke drivers met elkaar kunnen communiceren. In de DomU’s kunnen gevirtualiseerde drivers op twee manieren gebruikt worden. Om te beginnen zijn er paravirtual drivers. Deze kunt u zowel in een paravirtueel als in een full-virtual DomU-besturingssysteem gebruiken. Om deze paravirtuele drivers te laten werken moet u zorgen voor ondersteuning vanuit het besturingssysteem in het DomU-domain. De paravirtuele driver wordt via de Xen-bus aan het gevirtualiseerde besturingssysteem beschikbaar gesteld. In full-virtual domains wordt deze oplossing gebruikt voor block- en LAN-devices; in paravirtuele domains wordt dit type driver gebruikt voor block-, LANen frame buffer-devices. In een full-virtual domain kan naast dit driver-type gebruikgemaakt worden van geëmuleerde drivers. Dit is een weerspiegeling van het werkelijke device dat hardwarematig in uw systeem aanwezig is. Het DomU-besturingssysteem geeft instructies aan de geëmuleerde driver en deze vertaalt alles op zijn beurt naar instructies die door het werkelijke hardwareapparaat begrepen kunnen worden. Hiervoor wordt een prijs betaald: de prestaties van geëmuleerde drivers zijn namelijk aanmerkelijk slechter dan de prestaties van paravirtuele drivers. Dit komt omdat alle communicatie moet verlopen via een back-end-driver in Dom0.
10/4.2-8
Novell Netwerkoplossingen, aanvulling 24
deel 10_4_2-AV24.qxp:deel 10_4-AV21.qxp
28-06-2007
11:57
Pagina 9
Integratie
In een full-virtual machine kan in principe elk device aangesproken worden via een geëmuleerde driver. Vooral bij gebruik van block-devices ziet u een duidelijk verschil: waar een paravirtuele driver zijn eigen block-device in het gevirtualiseerde besturingssysteem beschikbaar stelt (de xvd-devices), maakt het geëmuleerde block-device gebruik van gangbare device-namen, zoals u ze op de hardware-bus ook tegen zult komen. 10/4.2.4 Werken met block-devices Net zoals voor devices in het algemeen geldt, geldt ook voor block-devices dat ze in paravirtuele modus of geëmuleerde modus gebruikt kunnen worden. Als u gebruikmaakt van een paravirtuele driver, kunnen er maximaal zestien block-devices zijn. Hiervoor wordt gebruikgemaakt van een speciaal device-type, de Xen virtual disk (xvd). In een fullvirtual domain kunnen deze devices echter zichtbaar worden als sd-devices. In een full-virtual domain wordt gebruikgemaakt van geëmuleerde drives. Dit zijn er maximaal vier, overeenkomstig de wijze waarop een traditioneel IDE-systeem is opgebouwd. Deze devices worden typisch aan de gebruiker beschikbaar gesteld als normale IDE-devices, dat wil zeggen: /dev/hda, /dev/hdb enzovoort. Om met paravirtuele block-devices te werken wordt in de DomU-machine gebruikgemaakt van de front-end kernelmodule xenblk. Deze module communiceert met de modules blkbk en blktap in de Dom0-machine. De wijze waarop de devices weergegeven worden is afhankelijk van de driver die voor het betreffende device gebruikt wordt. Om een overzicht te krijgen van blockdevices die in een virtuele machine beschikbaar zijn, gebruikt u de volgende opdracht:
Novell Netwerkoplossingen, aanvulling 24
10/4.2-9
deel 10_4_2-AV24.qxp:deel 10_4-AV21.qxp
28-06-2007
11:57
Pagina 10
Virtualisatie
xm block-list domain
In onderstaande listing ziet u bijvoorbeeld welk resultaat deze opdracht geeft voor het domain ‘gorilla’: lor:~ # xm block-list gorilla Vdev
BE handle state evt-ch ring-ref BE-path
51712
0
0
4
7
522
/local/domain/0/backend/vbd/2/51712
Een probleem dat momenteel aan de orde is bij de ondersteuning van block-devices, is dat er geen ondersteuning is voor het verwisselen van drives zoals u dat bijvoorbeeld wilt doen bij het werken met cd-roms. Er is echter een work-around beschikbaar. Deze work-around wordt in de volgende procedure beschreven: 1. Zorg ervoor dat het DomU-besturingssysteem gestart is. 2. Gebruik de opdracht xm list om een overzicht te krijgen van alle beschikbare domains. Hierin ziet u ook onder welke naam het domain waarin u een cd wilt wisselen beschikbaar gesteld wordt. 3. Gebruik nu voor dat domain de opdracht xm blocklist domain, waarbij domain vervangen moet worden door de naam die daadwerkelijk voor het domain gebruikt wordt. De informatie die u nodig hebt, is het device-ID. 4. Geef nu de opdracht xm block-detach <domain> <deviceID>. Deze opdracht ziet er bijvoorbeeld uit als: xm block-detach gorilla xvdb
5.
10/4.2-10
Open nu de lade van het optische schijfstation, of unmount het ISO-image dat u gebruikt.
Novell Netwerkoplossingen, aanvulling 24
deel 10_4_2-AV24.qxp:deel 10_4-AV21.qxp
28-06-2007
11:57
Pagina 11
Integratie
6. 7.
Leg nu de volgende cd in, of maak een mount naar het volgende ISO-image dat u wilt gebruiken. Nu moet u de verbinding met het device weer tot stand brengen. Om dit te doen moet u eerst precies weten hoe het device in de DomU-machine gedefinieerd is. Hiervoor hebt u de informatie in het configuratiebestand voor uw device nodig. U vindt deze configuratiebestanden in /etc/xen/vm. Hieronder ziet u voor de duidelijkheid een voorbeeld van een volledig configuratiebestand:
lor:/etc/xen/vm # cat baviaan ostype=”sles10” name=”baviaan” memory=512 vcpus=1 uuid=”710b2b38-f153-6486-2aa5-dea1aa582a3b” on_crash=”destroy” on_poweroff=”destroy” on_reboot=”restart” localtime=0 builder=”linux” bootloader=”/usr/lib/xen/boot/domUloader.py” bootargs=”—entry=xvda2:/boot/vmlinuz-xenpae,/boot/ initrd-xenpae” extra=”TERM=xterm “ disk=[ ‘file:/var/lib/xen/images/baviaan/disk0,xvda,w’, ’phy:/dev/sr0,xvdb,r’ ] vif=[ ‘mac=00:16:3e:2a:3b:ee’, ] vfb=[“type=vnc,vncunused=1”]
Uit het configuratiebestand hebt u de informatie bij de parameter ‘disk’ nodig. Hier ziet u op welke wijze de schijven op uw systeem verbonden zijn. In dit geval is er een virtuele schijf die in de DomU bekend
Novell Netwerkoplossingen, aanvulling 24
10/4.2-11
deel 10_4_2-AV24.qxp:deel 10_4-AV21.qxp
28-06-2007
11:57
Pagina 12
Virtualisatie
8.
is als xvda, en er is een virtuele schijf die bekend is als xvdb. Deze laatste is gekoppeld aan het fysieke device op Dom0 /dev/sr0. Al deze informatie hebt u nodig om de koppeling weer tot stand te brengen. Gebruik nu de volgende opdracht om weer een koppeling te maken met het virtuele disk-device: xm block-attach 1 phy:/dev/sr0 xvdb r
9.
Opties
10/4.2-12
Let even op de opties die in deze voorbeeldregel gebruikt zijn. Om te beginnen hebben we de opdracht zelf: xm block-attach. Daarachter verwijst de 1 naar de id van de DomU virtuele machine. Gebruik xm list om zekerheid te krijgen over de te gebruiken id. Dan verwijst phy:/dev/sr0 naar het fysieke device dat gebruikt wordt. Vervolgens krijgen we de verwijzing naar het device dat in de DomUmachine gebruikt moet worden, xvdb in dit geval dus. Tot slot geeft de r aan dat het hier een readonly-device betreft. Op dit moment is in de DomU-machine het virtuele device weer beschikbaar. U kunt nu de installatieprocedure vervolgen.
10/4.2.5 Toevoegen van een disk-device Tijdens installatie van een virtuele machine, maar soms ook daarna, is het nodig een of meer nieuwe schijven toe te voegen. Hiervoor staan verschillende opties ter beschikking: • fysieke schijven; • schijfbestanden; • netwerkschijven; • andere typen schijven.
Novell Netwerkoplossingen, aanvulling 24
deel 10_4_2-AV24.qxp:deel 10_4-AV21.qxp
28-06-2007
11:57
Pagina 13
Integratie
De definitie van al deze schijven vindt plaats in het configuratiebestand van de virtuele machine. Doorgaans zult u een grafische interface gebruiken om deze virtuele machine toe te voegen, maar u kunt de benodigde informatie ook gewoon rechtstreeks in het configuratiebestand kloppen. De regels hiervoor zien er doorgaans als volgt uit: disk ‘:, <xen device>, [r|w]’ ...
Een voorbeeld hiervan is disk=[‘phy:/dev/sr0, xvdb, r’]
Op één disk regel kunnen ook meerdere regels toegevoegd worden, bijvoorbeeld: disk=[‘file:/xen/images/vm1/disk0, xvda, w’ ‘phy:/dev/sr0, xvdb, r’]
Als u de best mogelijke prestaties wilt, maakt u gebruik van een fysiek device. Hiervoor kunt u gebruikmaken van een schijfpartitie of een LVM- of EVMS-volume. Het absolute voordeel van deze oplossing zijn de prestaties: niets presteert beter dan een fysieke schijfpartitie. Het nadeel echter is dat deze device-typen niet portable zijn. Dit betekent dat het onmogelijk is om een virtuele schijf te migreren van de ene naar de andere host-machine. Mocht u juist de portabiliteit van devices belangrijk vinden, dan ligt het voor de hand gebruik te maken van een schijfbestand. Dit is een bestand dat u aanmaakt met het commando dd om vervolgens ruimte op schijf voor dit bestand te reserveren. Dit doet u met een opdracht die eruitziet als: dd if=/dev/zero of=/xen/images/vm1/disk1 bs=1m count=4096
Novell Netwerkoplossingen, aanvulling 24
10/4.2-13
deel 10_4_2-AV24.qxp:deel 10_4-AV21.qxp
28-06-2007
11:57
Pagina 14
Virtualisatie
Met deze opdracht maakt u een bestand aan dat uit 4096 blokken van 1 MB elk bestaat. Het resultaat is dus een 4 GB-schijfbestand. Dit bestand voegt u dan met de volgende opdracht toe aan uw Xen-configuratie: disk=[‘file:/xen/images/vm1/disk1, xvdb, w’]
Het werken met dergelijke schijfbestanden biedt als voornaamste voordeel dat u ze heel eenvoudig kunt migreren naar een andere machine. Daarnaast is het eenvoudig een Xen-schijfbestand voor onderhoud te mounten in het bestandssysteem op een willekeurige Linux-machine. De opdracht die hiervoor gebruikt moet worden ziet eruit als: mount -o loop /xen/images/vm1/disk1 /mnt
Tap-devices
Een speciaal type schijfbestand wordt gevormd door de tap-devices. Hiermee maakt u nagenoeg elk devicebestand adresseerbaar vanuit Xen. Er zijn drie soorten tapdevices die de moeite waard zijn: • aio of raw: deze tap-devices worden gebruikt om naar schijfimage-bestanden te verwijzen. Er is geen fundamenteel verschil met het file: type dat gebruikt kan worden om een schijf aan te maken. • vmdk: gebruik dit device-type om een VMware-schijfbestand te gebruiken onder Xen. • qcow: dit type tap-device wordt gebruikt om te verwijzen naar een Qemu-schijfbestand. Om gebruik te maken van een tap-device moet u in de diskdefinitie van het configuratiebestand van de DomUmachine als volgt aangeven welk bestand u wilt gebruiken:
disk=[‘tap::,<xen device>,[r|w]’]
10/4.2-14
Novell Netwerkoplossingen, aanvulling 24
deel 10_4_2-AV24.qxp:deel 10_4-AV21.qxp
28-06-2007
11:57
Pagina 15
Integratie
Zo gebruikt u bijvoorbeeld de volgende regel om een VMware-schijfimage te gebruiken: disk=[‘tap:vmdk:/xen/images/vm1/schijf.vmdk,w’]
Als laatste schijfsoort is het mogelijk te verwijzen naar een device dat via het netwerk direct te adresseren is. Dit kan een NBD-device zijn of een device dat door een iSCSI-target beschikbaar gesteld wordt. Het grote voordeel van dit schijftype is de directe toegang. U hoeft bijvoorbeeld niet eerst een iSCSI-initiator te configureren, maar u kunt direct vanuit Xen – door te verwijzen naar de iqn van de iSCSI-target – verwijzen naar de LUN die via de iSCSI-target beschikbaar gesteld wordt. 10/4.2.6 Videokaarten De ondersteuning voor videokaarten in Xen-domains is de laatste tijd sterk verbeterd. In vroegere versies was er in paravirtuele omgevingen geen standaardondersteuning voor een grafische weergave. Tegenwoordig is die er door middel van de xenfb-module wel. Deze module implementeert in de paravirtuele omgeving een frame-buffer-device. Net als in een normale Linux-omgeving biedt dit device een algemene manier om vrijwel elke grafische kaart aan te sturen. In een full-virtual omgeving wordt gebruikgemaakt van een geëmuleerde Cirus Logic- of een algemene VESAvideokaart. Beide typen kaarten zorgen ervoor dat u in elk geval voldoende mogelijkheden hebt om een grafische server onder Xen te gebruiken. 10/4.2.7 Geheugenbeheer Een geval apart is het beheer van geheugen onder Xen. Normaal is er maar één machine die alle geheugen in uw machine direct aanspreekt. In het geval van Xen zijn er meerdere virtuele machines die gelijktijdig het geheugen
Novell Netwerkoplossingen, aanvulling 24
10/4.2-15
deel 10_4_2-AV24.qxp:deel 10_4-AV21.qxp
28-06-2007
11:57
Pagina 16
Virtualisatie
kunnen aanspreken. De hypervisor moet ervoor zorgen dat er voldoende flexibiliteit is in het alloceren van geheugen – en die flexibiliteit is er ook. Nadat de host-machine up komt, wordt in eerste instantie alle beschikbare geheugen aan de Dom0-machine gegeven. Op het moment dat andere virtuele machines in de lucht komen, wordt gebruikgemaakt van de balloon-driver in Dom0. Deze driver neemt het benodigde geheugen af van Dom0 en stelt het beschikbaar aan andere domains. De balloon-driver heeft in principe geen beperking op de hoeveelheid geheugen die beschikbaar is. U moet er in elk geval voor zorgen dat voor Dom0 een minimale hoeveelheid geheugen beschikbaar blijft. Dit doet u door in /etc/xen/xend-config.sxp de instelling dom-min-mem aan te passen. Op SuSE Linux Enterprise Server 10.1 staat deze standaard ingesteld om altijd 196 MB te reserveren voor de Dom0-machine; in veel gevallen is dat te weinig en doet u er goed aan deze waarde te verhogen. Als de DomU-machines eenmaal up zijn, gebruikt u het xmcommando om de hoeveelheid geheugen die aan een machine toegewezen is aan te passen. Er zijn twee parameters die hiervoor in aanmerking komen. Om te beginnen is dat xm mem-set <domain-id> <mem>. Daarnaast is er xm mem-max <mem>. Met het eerste commando bepaalt u de standaardhoeveelheid geheugen die een virtuele machine op dat moment in gebruik heeft. De tweede parameter wordt gebruikt om in te stellen hoeveel geheugen een virtuele machine maximaal kan gebruiken. De tweede parameter kan alleen aangepast worden door eerst de virtuele machine te verwijderen en dan weer opnieuw aan te maken.
10/4.2-16
Novell Netwerkoplossingen, aanvulling 24
deel 10_4_2-AV24.qxp:deel 10_4-AV21.qxp
28-06-2007
11:57
Pagina 17
Integratie
In SuSE’s Virt-manager is het eenvoudig om de hoeveelheid geheugen waarover een machine kan beschikken aan te passen.
Er is overigens een bijzonder aspect aan het aanpassen van beschikbaar geheugen: de nieuw toegewezen hoeveelheid geheugen is ook direct binnen de virtuele machine beschikbaar. Hier is dus geen herstart van de virtuele machine voor nodig!
VCPU’s
10/4.2.8 De CPU Uiteraard wordt er niet alleen geheugen, maar worden er ook CPU’s in Xen gevirtualiseerd. U kunt in principe een oneindig aantal virtuele CPU (VCPU’s) aanmaken, ook als hiervoor niet het benodigde aantal fysieke CPU’s aanwezig is. U schiet er echter niets mee op om te veel VCPU’s aan te maken: uiteindelijk is er namelijk toch een fysieke CPU nodig om het werk te kunnen doen. Net als geldt voor de toewijzing van werkgeheugen, is ook de toewijzing van CPU’s dynamisch. Dit betekent dat u aan een draaiend besturingssysteem CPU’s toe kunt voegen.
Novell Netwerkoplossingen, aanvulling 24
10/4.2-17
deel 10_4_2-AV24.qxp:deel 10_4-AV21.qxp
28-06-2007
11:57
Pagina 18
Virtualisatie
Als het betreffende besturingssysteem CPU-hotlpugging ondersteunt, wordt de CPU vervolgens direct herkend. In principe is een VCPU ‘floating’. Dit betekent dat nooit vaststaat op welke fysieke core een virtuele CPU beschikbaar is. Hiermee wordt maximale flexibiliteit bereikt, maar aan de andere kant gaat dit ook enigszins ten koste van de prestaties van uw systeem. Om ervoor te zorgen dat dit prestatieverlies niet aan de orde is, is het ook mogelijk een VCPU vast te leggen (‘pinnen’) op een core van een fysieke CPU. Ook is het mogelijk een fysieke CPU aan een bepaald domain toe te wijzen. Naast de allocatie van CPU’s hebt u te maken met de CPUscheduler. Deze zorgt ervoor dat prioriteit toegewezen wordt aan een gevirtualiseerd besturingssysteem om een bepaalde CPU te gebruiken. Deze definitie van prioriteit vindt plaats door een VCPU een prioriteitswaarde te geven op een fysieke kern. Hoe hoger deze prioriteitswaarde, hoe meer CPU-cycli beschikbaar komen voor de virtuele machine die een bepaalde virtuele CPU gebruiken. Bij het gebruik van CPU-cycli krijgt elke VCPU in principe evenveel CPU-tijd. Op het moment dat een VCPU een bewerking uitvoert, consumeert de VCPU daarmee credits. Het kan zijn dat een bepaalde CPU veel actiever is dan een andere. Deze CPU heeft dan een prioriteit die aangeduid wordt als under: hij heeft in feite zijn krediet verspeeld. Aan de andere kant kan het ook zijn dat een VCPU krediet overheeft. Dit treedt op als de VCPU niet voldoende processorcycli voor zijn rekening neemt. Nu kan het voorkomen dat op een multi-core-machine een VCPU op de ene fysieke CPU al zijn krediet verspeeld heeft, terwijl er op de andere fysieke CPU nog krediet over is. Op dat moment worden nieuwe requests van dezelfde CPU op een andere
10/4.2-18
Novell Netwerkoplossingen, aanvulling 24
deel 10_4_2-AV24.qxp:deel 10_4-AV21.qxp
28-06-2007
11:57
Pagina 19
Integratie
fysieke kern geplaatst. Op deze wijze vindt automatische load-balancing plaats. De mate van prioriteit die een VCPU krijgt, kan beïnvloed worden met het xm-commando. Hierbij worden twee parameters gebruikt. Ten eerste is dat de parameter weight. Dit is een relatief getal waarmee het gewicht van een VCPU bepaald wordt. De standaardinstelling die voor elke VCPU staat ingesteld, is 256. Wilt u de prioriteit van een bepaalde VCPU verdubbelen, dan stelt u deze waarde dus in op 512. Elke waarde tussen 1 en 65535 kan hiervoor gebruikt worden. De tweede waarde is de waarde cap. Met deze instelling wordt bepaald wat de maximale hoeveelheid CPU-cycli is die een domain kan ontvangen. Voor elke virtuele machine staat deze waarde standaard ingesteld op 0; dit betekent dat er geen specifieke setting is voor de betreffende machine. Als u de maximale capaciteit beschikbaar wilt stellen, stelt u deze waarde in op 100. Wilt u dat een virtuele machine de volledige capaciteit van twee CPU’s kan gebruiken, dan stelt u de waarde in op 200. U kunt de huidige instellingen bekijken met de opdracht xm list -l. Hieronder ziet u een overzicht van een deel van de uitvoer van dit commando: (domain (domid 2) (on_crash destroy) (memory 512) (uuid f4e85b0a-b05f-6797-0875-7f89a5724220) (bootloader_args ‘--entry=xvda2:/boot/vmlinuz-xenpae, /boot/initrd-xenpae’) (name gorilla) (maxmem 520) (on_reboot restart) (on_poweroff destroy)
Novell Netwerkoplossingen, aanvulling 24
10/4.2-19
deel 10_4_2-AV24.qxp:deel 10_4-AV21.qxp
28-06-2007
11:57
Pagina 20
Virtualisatie
(vcpus 1) (bootloader /usr/lib/xen/boot/domUloader.py) (shadow_memory 0) (cpu_weight 256) (cpu_cap 0) (features ) (on_xend_start ignore)
Om de werking van virtuele CPU’s in te stellen maakt u ook gebruik van de opdracht xm. Om te beginnen is er de opdracht xm vcpu-list <domain>, waarmee u een overzicht opvraagt van alle CPU’s die aan een domain toegewezen zijn. Het resultaat van deze opdracht ziet eruit als in onderstaande listing: lor:~ # xm vcpu-list gorilla Name
ID
gorilla
2
VCPU 0
CPU State 1
-b-
Time(s) CPU Affinity 21.0 any cpu
Vervolgens is het mogelijk om het aantal VCPU’s dat aan een domain is toegewezen aan te passen. Hiervoor gebruikt u de opdracht xm vcpu-set <domain> , bijvoorbeeld: xm vcpu-set gorilla 2
Houd er overigens wel rekening mee dat niet elk besturingssysteem er tegen kan dat het aantal VCPU’s dynamisch aangepast wordt! U zult dus soms deze opdracht tevergeefs toepassen en geen verandering waarnemen nadat u het aantal VCPU’s aangepast hebt. Ook erg handig is de mogelijkheid om VCPU’s toe te wijzen aan een kern van een fysieke CPU. Hiervoor gebruikt u de opdracht xm vcpu-pin <domain> . Met
10/4.2-20
Novell Netwerkoplossingen, aanvulling 24
deel 10_4_2-AV24.qxp:deel 10_4-AV21.qxp
28-06-2007
11:57
Pagina 21
Integratie
onderstaande opdracht zorgt u er bijvoorbeeld voor dat VCPU-nummer 1 in het domain gorilla toegewezen wordt aan PCPU 0: xm vcpu-pin gorilla 1 0
Tot slot, en dat is wellicht ook gelijk de belangrijkste optie, is er de mogelijkheid om in één commando zowel het gewicht van een domain als de CAP-waarde van dat domain aan te passen. In onderstaand voorbeeld wordt het gewicht van het domain-gorilla verdubbeld. Bovendien wordt bepaald dat dit domain maximaal twee CPU’s volledig mag gebruiken: xm sched-credit -d gorilla -w 512 -c 200
10/4.2.9 Beheer van PCI-devices Als laatste bespreken we in deze paragraaf de allocatie van PCI-devices. Standaard wordt elk PCI-device in uw server toegewezen aan de Dom0. U kunt echter door gebruik te maken van de pciback-kernelmodule ervoor zorgen dat een device niet geclaimd wordt door de Dom0, maar in zijn geheel gereserveerd wordt voor een DomU-machine. Hiermee kunt u de prestaties op de PCI-bus aanzienlijk beïnvloeden. Om dit voor elkaar te krijgen zorgt u er om te beginnen voor dat de pciback-kernelmodule zo vroeg mogelijk in de opstartprocedure geladen worden. Dit doet u door hem in GRUB toe te wijzen aan de initrd. Vervolgens kunt u het betreffende PCI-device ofwel handmatig, ofwel automatisch reserveren. Voordat u dit doet moet u echter de opdracht lspci gebruiken om te kijken welke devices er op de PCI-bus beschikbaar zijn. Hieronder ziet u ter illustratie een deel van de uitvoer van deze opdracht:
Novell Netwerkoplossingen, aanvulling 24
10/4.2-21
deel 10_4_2-AV24.qxp:deel 10_4-AV21.qxp
28-06-2007
11:57
Pagina 22
Virtualisatie
lor:~ # lspci 00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express Memory Controller Hub (rev 03) 00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS/940GML Express Integrated Graphics Controller (rev 03) 00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/940GML Express Integrated Graphics Controller (rev 03) 00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 01)
Het belangrijkste deel in de uitvoer van lspci is het eerste deel; hier wordt namelijk de PCI-id van elk device weergegeven. Zo ziet u in de laatste regel dat het audio-device gebruikmaakt van PCI-id 00:1b.0. Elk PCI-device heeft een korte PCI-id en een lange notatie van de PCI-id. Dezelfde PCI-id 00:1b.0 kan ook geschreven worden als 0000:00:1b.0. Deze PCI-id hebt u nodig om via /etc/modprobe.conf aan de pciback-module te vertellen dat de betreffende PCI-id uitgesloten moet worden van gebruik voor de Dom0. Als we uitgaan van bovenstaande PCI-id, bewerkstelligt u dit door onderstaande regel op te nemen in modprobe.conf (of nog beter, in modprobe.conf.local): options
pciback hide=(0000:00:1b.0)
Nadat u dit gedaan hebt, gebruikt u de opdracht mkinitrd om de initrd opnieuw aan te maken. Zorg er dan overigens wel voor dat de pciback in /etc/sysconfig/kernel genoemd staat in de lijst van kernelmodules die automatisch moeten worden geladen.
10/4.2-22
Novell Netwerkoplossingen, aanvulling 24
deel 10_4_2-AV24.qxp:deel 10_4-AV21.qxp
28-06-2007
11:57
Pagina 23
Integratie
Procedure
Met bovenstaande methode, waarbij gebruikgemaakt wordt van /etc/modprobe.conf.local, zorgt het modprobe-configuratiebestand ervoor dat de PCI-kaart automatisch uitgesloten wordt van gebruik door Dom0 en wordt toegewezen aan alle DomU’s. Als alternatief kunt u er ook na het opstarten handmatig voor zorgen dat een PCI-interface losgekoppeld wordt van de Dom0 en toegewezen wordt aan DomU. Volg hiervoor de volgende procedure: 1. Gebruik de opdracht lspci om een overzicht te krijgen van alle kaarten die op de PCI-bus aanwezig zijn. Het resultaat hiervan kan bijvoorbeeld de PCI-id 00:1b.0 zijn. 2. Zoek nu in het /sys-bestandssysteem welke driver op dit moment aan deze PCI-interface verbonden is. Dit doet u met de opdracht find /sys/bus/pci/drivers -name “00:1b.0”. (Uiteraard moet u hier de PCI-id gebruiken van de PCI-interface die u aan wilt passen.) 3. Koppel nu het PCI-device los van de driver die hij op dit moment gebruikt. Dit doet u met de opdracht echo -n > /sys/bus/pci/drivers//unbind. 4. Vertel nu aan de pciback-module dat hij dit device kan gaan gebruiken. Dit doet u met de opdracht echo -n > /sys/bus/pci/drivers/pciback/new_slot. 5. Verbind tot slot het PCI-device aan de pcibackmodule. Dit doet u met de opdracht echo -n > /sys/bus/pci/drivers/pciback/bind. Nu u weet hoe u een PCI-device los kunt koppelen van een Dom0, is het zaak te bepalen dat het device aan het beoogde DomU toegewezen wordt. De handigste manier om dit te doen, is door een regel op te nemen in het configuratiebestand van de betreffende DomU. Deze regel ziet er als volgt uit: pci=[‘0000:00:1b.0’,]
Novell Netwerkoplossingen, aanvulling 24
10/4.2-23
deel 10_4_2-AV24.qxp:deel 10_4-AV21.qxp
28-06-2007
11:57
Pagina 24
Virtualisatie
Als alternatief is het ook mogelijk om een PCI-device handmatig aan een domain toe te wijzen. Hiervoor gebruikt u uiteraard weer de opdracht xm. In dit geval moet u het PCI-device als argument opgeven bij het aanmaken van de virtuele machine met de opdracht xm create: xm create pci=0000:00:1b.0 /etc/xen/vm/gorilla
Het is belangrijk u te realiseren dat het niet mogelijk is om, nadat de DomU-machine gestart is, alsnog een PCIdevice aan deze DomU toe te wijzen. 10/4.2.10 Tot slot In deze paragraaf hebt u kennisgemaakt met enkele geavanceerde aspecten van het beheer van Xen virtuele machines. U weet nu hoe elk relevant hardware-device in een Xen-omgeving beheerd kan worden. U hebt gezien dat voor de meeste taken de virt-manager niet voldoende is als hulpmiddel: u hebt echt de kracht van het xm-commando nodig om taken met betrekking tot hardwarebeheer uit te voeren.
10/4.2-24
Novell Netwerkoplossingen, aanvulling 24
deel 10_4_3-AV25.qxp:deel 7_6-AV20
04-10-2007
11:05
Pagina 1
Integratie
10/4.3 Virtualiseren van NetWare in OESv2 10/4.3.1 Inleiding Sinds het uitkomen van SuSE Linux Enterprise Server 10 biedt Novell een uitstekende virtualisatieoplossing die gebaseerd is op de open source-versie van Xen. Sinds de komst van support pack 1 voor SLES 10 en support pack 7 is het ook mogelijk om NetWare hiermee te virtualiseren. In deze paragraaf leest u hoe dat werkt. Voordat we beginnen eerst even wat duidelijkheid. Open Enterprise Server (OES) bestond in zijn eerste versie uit twee smaken. In de eerste smaak werd Linux als besturingssysteem gebruikt en waren Novell-services als eDirectory en NSS geïntegreerd in dit besturingssysteem. Daarnaast was er Open Enterprise Server NetWare, dat gelijkstond aan NetWare met support pack 3. We spraken in die tijd van OES Linux en OES NetWare. Met OES versie 2 is er weer een duidelijker verschil tussen Linux, OES en NetWare. Het is een goed idee om onderscheid te maken tussen de volgende componenten. Zorg ervoor dat u het onderscheid tussen deze drie goed doorhebt, want in deze paragraaf wordt er consequent gebruik van gemaakt (houd er overigens rekening mee dat Novell het gewoon heeft over OES en OES NetWare): • SuSE Linux Enterprise Server 10 met support pack 1. Dit is een pure Linux-distributie die gebruikt wordt als basis voor de installatie van de Open Enterprise Server-services. Als u deze services echter niet nodig hebt, is er niets op tegen om SLES10 sp1 zelfstandig te gebruiken. • Open Enterprise Server 2. Dit is een cd met services die op SLES 10 sp1 (SLES 10.1 in het vervolg van dit artikel) geïnstalleerd wordt. Dit betekent dat u eerst
Novell Netwerkoplossingen, aanvulling 25
10/4.3-1
deel 10_4_3-AV25.qxp:deel 7_6-AV20
04-10-2007
11:05
Pagina 2
Virtualisatie
•
SLES 10.1 installeert en daarbovenop de Novell-services. NetWare 6.5 sp7. Ongeveer gelijktijdig met het verschijnen van OESv2 verschijnt NetWare 6.5 sp7. Dit is een verdere ontwikkeling op het NetWare-platform die in feite niets met Open Enterprise Server te maken heeft.
10/4.3.2 De virtualisatieserver opzetten Om NetWare te kunnen virtualiseren begint u met de installatie van de virtualisatieserver. Qua software hebt u daar SLES 10.1 voor nodig; dat bevat de Xen-componenten waarmee u kunt virtualiseren. Daarnaast hebt u NetWare 6.5 sp7 nodig. Deze versie van NetWare is geoptimaliseerd voor virtualisatie. Eerdere versies van NetWare zijn alleen op een heel omslachtige manier te virtualiseren en komen in dit artikel om die reden niet aan de orde. Om SLES 10 zodanig te installeren dat u het kunt virtualiseren, zorgt u ervoor dat tijdens of na de installatie in YaST de Xen-optie meegenomen wordt. Dit kunt u achteraf als volgt vanuit YaST doen: 1. Start YaST2 op uw SLES 10-server en selecteer Software > Software Management. 2. Zorg ervoor dat links boven in beeld achter Filter de optie Patterns geselecteerd is en kies Xen Virtual Machine Host Server. U kunt deze optie ook tijdens de installatie selecteren.
10/4.3-2
Novell Netwerkoplossingen, aanvulling 25
deel 10_4_3-AV25.qxp:deel 7_6-AV20
04-10-2007
11:05
Pagina 3
Integratie
De eerste stap om een virtuele machine aan te kunnen maken is de installatie van de juiste software met YaST.
3.
Nadat de Xen-software geïnstalleerd is, kiest u in YaST de optie Virtualization > Virtual Machine Manager. Dit toont u de Virtual Machine Managertoepassing vanwaaruit u het grootste deel van het beheer van virtuele machines uitvoert.
We laten de software-installatie even voor wat die is. Voordat we doorgaan moeten we het hebben over de server zelf. Zeker als u al een SLES 10.1-server geïnstalleerd hebt, is het van belang te weten dat u niet zomaar elke SLES 10.1-installatie kunt gebruiken als installatieplatform. U moet er namelijk voor zorgen dat de host zelf zo kaal mogelijk is. Op de installatie-host dus géén services, maar puur Xen. Alle services die u wilt gaan installeren, installeert u in een virtuele machine. Hoe kaler de host-machine, hoe beter de uiteindelijke performance zal zijn.
Novell Netwerkoplossingen, aanvulling 25
10/4.3-3
deel 10_4_3-AV25.qxp:deel 7_6-AV20
04-10-2007
11:05
Pagina 4
Virtualisatie
Full of paravirtueel? Als u met Xen aan het werk gaat, zult u merken dat er – afhankelijk van de gebruikte hardware – twee soorten virtualisatie gebruikt kunnen worden. Als uw CPU voorzien is van ondersteuning voor virtualisatie, kunt u gebruikmaken van full virtualisatie. Bij deze vorm van virtualisatie is het gevirtualiseerde besturingssysteem zich zelf niet bewust van het feit dat het gevirtualiseerd is. Dit betekent dat het instructies verstuurt die afgehandeld worden door de CPU. De CPU op zijn beurt zorgt ervoor dat de Xen-hypervisor – het centrale proces dat zorgdraagt voor de virtualisatie – deze instructies interpreteert en uitvoert. Ondanks dat het klinkt alsof hardwarevirtualisatie beter werkt, is dat juist niet het geval. Hardwarevirtualisatie betekent dat er meer werk verzet moet worden. Alle instructies die het gevirtualiseerde besturingssysteem genereert, moeten namelijk omgezet worden naar iets wat de virtualisatielaag begrijpt. Het alternatief voor hardwarevirtualisatie is paravirtualisatie. Hierbij zijn geen speciale eisen nodig voor de hardware (behalve dat deze krachtig genoeg moet zijn), maar moet de software zich bewust zijn van het feit dat hij gevirtualiseerd is. Dit laatste kan een probleem zijn. Vrijwel elke Linux-versie kan gebruikmaken van paravirtualisatie, en sinds NetWare 5.6 sp7 kan NetWare dit ook, maar Windows bijvoorbeeld wordt niet als geparavirtualiseerd OS uitgebracht. U bent in dat laatste geval dus sowieso aangewezen op hardwarevirtualisatie. Om de pijn van full virtualisatie iets te verzachten kunt u wel gebruikmaken van paravirtualisatie op het niveau van de afzonderlijke drivers, zelfs als het besturingssysteem zelf full virtualisatie gebruikt. Zo heeft Novell een pakket drivers uitgebracht voor Red Hat Linux en Windows. Deze drivers zorgen ervoor dat kritische systeemcomponenten
10/4.3-4
Novell Netwerkoplossingen, aanvulling 25
deel 10_4_3-AV25.qxp:deel 7_6-AV20
04-10-2007
11:05
Pagina 5
Integratie
paravirtueel aangestuurd kunnen worden, waardoor de prestaties van deze componenten aanzienlijk verbeteren. Voor NetWare is de keuze tussen full en paravirtualisatie eenvoudig. De NetWare-versies tot en met NetWare 6.5 sp6 zijn alleen op een zeer omslachtige manier te virtualiseren met hardwarevirtualisatie. NetWare 6.5 sp7 laat zich eenvoudig in een paravirtuele omgeving installeren. Voor NetWare wilt u dus paravirtualisatie. Wat er dan uiteindelijk terecht gaat komen van de Novell-belofte dat elke NetWare-versie in een Xen-virtuele omgeving gebruikt kan worden, is nog niet helemaal duidelijk op dit moment. 10/4.3.3 Installatie van gevirtualiseerd NetWare Nu we weten aan welke voorwaarden voldaan moet worden, gaan we NetWare als paravirtuele machine installeren. 1. Zorg ervoor dat de overlay-dvd van NetWare 6.5 sp7 beschikbaar is, of dat het ISO-bestand van deze dvd ergens op uw computer staat. 2. Start de Virtual Machine Manager, bijvoorbeeld door op een commandoregel de opdracht virt-manager & te typen. U ziet nu een venster zoals hieronder.
Virtual Manager biedt u de mogelijkheid virtuele machines te beheren.
Novell Netwerkoplossingen, aanvulling 25
10/4.3-5
deel 10_4_3-AV25.qxp:deel 7_6-AV20
04-10-2007
11:05
Pagina 6
Virtualisatie
3.
Klik in Virtual Machine Manager op New. Hiermee wordt een wizard gestart waarmee u een nieuwe virtuele machine aan kunt maken. Klik in de wizard op Forward en selecteer dan de optie I need to install an operating system. Kies dan uit de lijst beschikbare besturingssystemen de optie Novell Open Enterprise Server 2 (NetWare).
Om NetWare 6.5 sp7 te installeren kiest u Novell Open Enterprise Server 2 (NetWare).
4.
10/4.3-6
Nu ziet u het belangrijkste scherm uit de hele installatie van NetWare 6.5 sp7 als gevirtualiseerd besturingssysteem: het scherm waarin u de eigenschappen van uw gevirtualiseerde server opgeeft. Hieronder bespreken we welke opties hier ter beschikking staan.
Novell Netwerkoplossingen, aanvulling 25
deel 10_4_3-AV25.qxp:deel 7_6-AV20
04-10-2007
11:05
Pagina 7
Integratie
Hier geeft u aan op welke wijze uw gevirtualiseerde besturingssysteem geïnstalleerd moet worden.
• Virtualization Method: hier geeft u aan op welke wijze NetWare gevirtualiseerd moet worden. U hebt hier welgeteld één keuze: alleen paravirtualisatie wordt ondersteund. • Name of Virtual Machine: kies hier een duidelijk herkenbare naam voor uw server. Het is bijvoorbeeld geen slecht idee de naam te gebruiken die u ook als servernaam gaat gebruiken. • Hardware: om NetWare te kunnen virtualiseren hebt u minstens 512 MB RAM nodig; meer is altijd goed. U kunt overigens de hoeveelheid toegewezen RAM later altijd nog op een niet al te ingewikkelde manier uitbreiden. • Graphics: Xen biedt een geparavirtualiseerde driver voor de grafische kaart. Deze driver stelt u in staat om alle grafische schermen in prima kwaliteit te zien. Het zal dus niet vaak nodig zijn om hier iets aan te veranderen.
Novell Netwerkoplossingen, aanvulling 25
10/4.3-7
deel 10_4_3-AV25.qxp:deel 7_6-AV20
04-10-2007
11:05
Pagina 8
Virtualisatie
5.
10/4.3-8
• Disks: hier geeft u aan hoe u de virtuele harde schijf in de virtuele machine beschikbaar wilt stellen. De standaardselectie maakt een schijfbestand aan van 10 GB. Dit bestand wordt in de directory /var/lib/xen/images geplaatst, onder een subdirectory met een naam die gelijk is aan de naam van de virtuele machine. Verderop krijgt u meer details over welke afwegingen van belang zijn bij het aanmaken van het virtuele schijfbestand. • Network Adapters: standaard wordt er één virtuele netwerkkaart aangemaakt. Deze kaart krijgt een MAC-adres dat willekeurig wordt aangemaakt en wordt aangestuurd door middel van een paravirtuele driver. In de meeste gevallen volstaat deze netwerkkaart, maar u kunt hier afhankelijk van uw eigen behoefte veranderingen in aanbrengen. • Operating System Installation: hier geeft u aan hoe u NetWare 6.5 sp7 wilt installeren. Bij de volgende stap van deze procedure leest u meer over de gegevens die u hiervoor kunt gebruiken. Nadat u de optie Operating System Installation geselecteerd hebt, ziet u het venster uit de volgende figuur. Geef hier aan hoe u NetWare wilt gaan installeren. De standaardselectie staat ingesteld op een netwerk-URL. Dit is echter voor NetWare meestal niet van toepassing, omdat u er een installatieserver voor nodig hebt. Kies daarom de optie Virtual Disk om aan te geven vanaf welk schijfstation u wilt installeren. Daarnaast is het mogelijk te verwijzen naar een NetWare-response file, of aanvullende argumenten op te geven. Hebt u een response file, dan kunt u hier verwijzen naar de locatie van dat bestand. Op het moment dat u aan de server.exe tijdens het opstarten
Novell Netwerkoplossingen, aanvulling 25
deel 10_4_3-AV25.qxp:deel 7_6-AV20
04-10-2007
11:05
Pagina 9
Integratie
aanvullende parameters mee wilt geven, specificeert u deze onder Additional Arguments.
Opgeven van de installatieparameters.
6.
Als u in het voorgaande venster aangegeven hebt dat u wilt installeren vanaf een virtuele disk, moet u nu door middel van de knop Add aangeven waar die virtuele schijf dan gevonden kan worden. Dit opent het venster dat u in de volgende afbeelding ziet.
Novell Netwerkoplossingen, aanvulling 25
10/4.3-9
deel 10_4_3-AV25.qxp:deel 7_6-AV20
04-10-2007
11:05
Pagina 10
Virtualisatie
Aangeven vanaf welke virtuele schijf u wilt installeren.
Standaard zoekt het installatieprogramma naar een dvd die zich in de dvd-drive van uw SLES 10-machine bevindt. Als u dus vanaf dvd wilt installeren, hoeft u in deze interface niets te doen. Als u echter vanaf een ISO-bestand wilt installeren, klikt u nu op Open om de locatie van het ISObestand te selecteren. Blader naar de locatie op de harddisk van de host-server waarop het ISO-bestand is opgeslagen, open het en klik vervolgens op OK om verder te gaan. U hebt nu in het venster Operating System Installation alle informatie ingevoerd die nodig is om met de installatie te kunnen beginnen. Klik daarom nu op Apply om terug te keren naar het Summary-venster. We nemen aan dat u ook hier alle benodigde informatie opgegeven hebt; klik daarom ook hier op OK. De installatie van NetWare wordt nu gestart. Voer deze uit zoals u gewend bent NetWare te installeren.
10/4.3-10
Novell Netwerkoplossingen, aanvulling 25
deel 10_4_3-AV25.qxp:deel 7_6-AV20
04-10-2007
11:05
Pagina 11
Integratie
U kunt nu met de installatie van NetWare beginnen.
Opties
Aansturing van de virtuele harde schijf Een van de belangrijkste opties die u tijdens de installatie moet opgeven, is hoe u de harde schijf van uw virtuele server wilt aansturen. De volgende opties zijn beschikbaar: • een partitie op een lokale harddisk of SAN; • een LVM-logisch volume op een lokale harddisk of SAN; • een imagebestand op lokale harddisk of SAN dat in de virtuele machine als schijf gebruikt wordt. Bij de keuze voor uw oplossing zijn er twee zaken van belang. Ten eerste de performance van de harde schijf in de virtuele omgeving. U bent erbij gebaat als er zo weinig mogelijk vertraging optreedt door de virtualisatiemethode die u gebruikt hebt voor uw harde schijf. Het tweede criterium is flexibiliteit. In een virtualisatieomgeving is het erg nuttig om de schijfbestanden beschikbaar te stellen op
Novell Netwerkoplossingen, aanvulling 25
10/4.3-11
deel 10_4_3-AV25.qxp:deel 7_6-AV20
04-10-2007
11:05
Pagina 12
Virtualisatie
een gedeeld medium, zoals een SAN. Dit maakt het namelijk erg eenvoudig om uw virtuele machine te migreren van de ene naar de andere node, of om een high availabilityomgeving te bouwen waarin de machine wordt opgenomen zodat deze automatisch op een andere node gestart wordt als de primaire node uitvalt. Uitgaande van het criterium van performance is het aan te raden een partitie of logisch volume beschikbaar te stellen en die in de virtuele machine als te gebruiken harde schijf aan te wijzen. Dit mag een partitie (of volume) zijn die lokaal is aangemaakt op de installatieserver, maar nog beter is het als u een partitie (of volume) gebruikt die op een SAN staat. Het voordeel hiervan is dat de partitie/het volume in het laatste geval vanaf meerdere nodes bereikt kan worden en dat maakt het weer erg eenvoudig om een omgeving op te zetten waarin live migraties of een high availability-cluster uw machine heel dynamisch in het netwerk verplaatsen. Voor optimale flexibiliteit kunt u er ook voor kiezen om de virtuele harde schijf in een schijfbestand te plaatsen. Dit is een leeg bestand dat het installatieprogramma aanmaakt met de opdracht dd. Het nadeel hiervan is dat het bestandssysteem van het host-besturingssysteem altijd gebruikt moet worden om dit schijfbestand te laten werken. Dit leidt tot performanceverlies en is daarom niet aan te raden. 10/4.3.4 Beheer van de gevirtualiseerde NetWare-machine Als NetWare eenmaal gevirtualiseerd geïnstalleerd is, zult u er zo nu en dan ook beheerstaken op uit moeten voeren. Op zijn minst moet u weten hoe de virtuele machine
10/4.3-12
Novell Netwerkoplossingen, aanvulling 25
deel 10_4_3-AV25.qxp:deel 7_6-AV20
04-10-2007
11:05
Pagina 13
Integratie
gestart en gestopt moet worden. Daarnaast is het ook handig om bijvoorbeeld hardwarebeheer uit te kunnen voeren.
Virtual Machine Manager
Voor het beheer van een virtuele machine in Xen kunt u op twee manieren te werk gaan. De eerste en eenvoudigste manier bestaat eruit om Virtual Machine Manager te gebruiken. Deze grafische toepassing stelt u in staat de meest voorkomende beheerstaken uit te voeren. Daarnaast is het soms handig om direct op het configuratiebestand te werken en door middel van de opdracht xm te bepalen wat de virtuele machine moet doen. Dit laatste is vooral van belang voor het gebruik van geavanceerde functies. We zullen daar geen aandacht aan besteden. Remote werken De Virtual Machine Manager is een uitstekende tool om virtuele machines te beheren, maar u hebt natuurlijk geen zin om steeds in de serverruimte te moeten zitten om iets met de virtuele servers te doen. Dat hoeft ook helemaal niet: Virtual Machine Manager kan ook prima op afstand gestart worden. 1. Zorg ervoor dat op de machine waarop u wilt werken een X-server gestart is. Op een Linux-werkstation is dit standaard al het geval; als u Windows gebruikt, installeer dan de gratis X-server Xming, of een commerciële X-server zoals X-win32. 2. Breng de remote verbinding tot stand. Als u in Windows in Putty een nieuwe sessie initialiseert, geef dan onder Connection > SSH > X11 aan dat u X11 forwarding toe wilt staan en gebruik localhost als X display location. Maak vervolgens contact met de remote machine. Onder Linux gebruikt u ssh -X om een remote verbinding tot stand te brengen waarbij ook grafische sessies overgebracht kunnen worden.
Novell Netwerkoplossingen, aanvulling 25
10/4.3-13
deel 10_4_3-AV25.qxp:deel 7_6-AV20
04-10-2007
11:05
Pagina 14
Virtualisatie
3.
Gebruik nu als root de opdracht virt-manager om Virtual Machine Manager te starten. U zult het uitvoerscherm nu op uw eigen werkplek te zien krijgen.
Vergeet onder Windows niet om Putty te configureren zodat remote sessies toegestaan zijn.
Een Xen-virtuele machine draait in principe headless. Dat betekent dat een machine gestart kan zijn, terwijl u daar niets van ziet. Dit is volkomen normaal: vergelijk het maar met de situatie in de serverruimte waar u ook niet continu naar het beeldscherm van een server zit te kijken. Om de console van een machine over te kunnen nemen klikt u in Virtual Machine Manager op Open. U ziet vervolgens een apart venster met daarin het venster van de virtuele machine die u overneemt. In dit venster ziet u een drietal knoppen waarmee de machine beheerd wordt. Gebruik Run om een machine te starten die op dit moment nog niet
10/4.3-14
Novell Netwerkoplossingen, aanvulling 25
deel 10_4_3-AV25.qxp:deel 7_6-AV20
04-10-2007
11:05
Pagina 15
Integratie
gestart is. Om de machine te laten pauzeren gebruikt u de knop Pause en voor het uitzetten de knop Shutdown. Net als in andere gevirtualiseerde omgevingen wordt de cursor gecaptured als u een scherm in de virtuele machine aanklikt. Er bestaat niet zoiets als een toolspakket dat ervoor zorgt dat u de muiscursor zo weer uit de NetWaremachine kunt bewegen. Om dit te doen gebruikt u de toetsencombinatie Ctrl+Alt. U kunt vervolgens op uw console een andere toepassing starten. De interessantste opties vindt u in Virtual Machine Manager als u een virtuele machine selecteert en vervolgens op Details klikt. U krijgt nu toegang tot een interface die uit twee tabbladen bestaat. Op het tabblad Overview ziet u de gebruiksstatistiek van de CPU en het werkgeheugen op dit moment; op het tabblad Hardware stelt u eigenschappen van de gevirtualiseerde hardware in.
Vanuit Virtual Machine Manager kunt u grafieken opvragen om te kijken hoe de prestaties van uw virtuele machine in de afgelopen periode waren.
Novell Netwerkoplossingen, aanvulling 25
10/4.3-15
deel 10_4_3-AV25.qxp:deel 7_6-AV20
04-10-2007
11:05
Pagina 16
Virtualisatie
Hardwarebeheer Op het tabblad Hardware dat u onder de details van een virtuele machine te zien krijgt, stelt u voor vier verschillende randapparaten de eigenschappen in. Om te beginnen is er de optie Processor. Hier ziet u hoeveel CPU’s uw virtuele machine op dit moment gebruikt. Als de machine uitstaat, kunt u het aantal CPU’s verhogen. Dit kan zelfs tot meer dan het aantal CPU’s dat fysiek in uw server geïnstalleerd is, maar realiseer u dat dat niet echt zin heeft: er is toch ook echt wel een fysieke CPU per virtuele CPU nodig om al het werk te kunnen verzetten.
Als de virtuele machine uitstaat, past u eenvoudig het aantal virtuele CPU’s aan.
Ten tweede hebt u de mogelijkheid om de hoeveelheid werkgeheugen aan te passen. Zolang de waarde bij de current allocation kleiner is dan de maximum allocation voor deze machine, kunt u de hoeveelheid werkgeheugen zowel naar boven als naar beneden toe aanpassen. Het is zonder een herstart echter niet nodig de maximum allocation te wijzigen: dat kan alleen als de server uitstaat. Op zich is
10/4.3-16
Novell Netwerkoplossingen, aanvulling 25
deel 10_4_3-AV25.qxp:deel 7_6-AV20
04-10-2007
11:05
Pagina 17
Integratie
het een bijzondere optie dat de hoeveelheid geheugen die uw server gebruikt direct kan worden aangepast.
In een Xen-virtuele machine past u de hoeveelheid werkgeheugen aan zonder de server opnieuw op te hoeven starten.
Ook de beschikbare harde schijven kunnen eenvoudig aangepast worden terwijl de machine draait. Klik onder Hard Disk op de knop Harddisk om een schijf toe te voegen, of op Cd-rom om een optisch schijfstation toe te voegen. Nadat u op Harddisk geklikt hebt om een harde schijf toe te voegen, geeft u aan of u gebruik wilt maken van een bestaand device, of dat u een nieuwe virtuele schijf aan wilt maken. Een bestaand device kan een partitie, logisch volume of een disk-imagebestand zijn. Als u een nieuw disk-imagebestand wilt aanmaken, klikt u op New om naam en pad van dit bestand op te geven. Vervolgens klikt u op OK om de nieuwe schijf aan te maken. De schijf is dan direct gebruiksklaar.
Novell Netwerkoplossingen, aanvulling 25
10/4.3-17
deel 10_4_3-AV25.qxp:deel 7_6-AV20
04-10-2007
11:05
Pagina 18
Virtualisatie
Ook nieuwe schijven die u toevoegt, zijn direct door het besturingssysteem te gebruiken – zonder herstart.
De Network-optie die u op het tabblad Hardware ziet, is read only. U kunt zien wat de huidige configuratie van netwerkkaarten is, maar het is niet mogelijk om vanuit deze interface nieuwe netwerkkaarten aan te maken. Elders in deze uitgave leest u hoe u hiervoor wél te werk gaat.
Voor netwerkkaarten kunt u de huidige instellingen bekijken.
10/4.3-18
Novell Netwerkoplossingen, aanvulling 25
deel 10_4_3-AV25.qxp:deel 7_6-AV20
04-10-2007
11:05
Pagina 19
Integratie
10/4.3.5 Tot slot In deze paragraaf hebt u gelezen hoe u in SLES 10.1 omgaat met gevirtualiseerd NetWare. U hebt gelezen dat de installatie op basis van NetWare 6.5 sp7 een kleine moeite is. Ook hebt u gezien dat het beheer vanuit Virtual Machine Manager eenvoudig is. Er is meer als het gaat om het beheer van virtuele machines. Zo bieden de configuratiebestanden en het commando xm uitgebreide mogelijkheden om te vertellen wat u met een virtuele machine wilt doen. Het valt echter buiten de scope van deze paragraaf om hier aandacht aan te besteden.
Novell Netwerkoplossingen, aanvulling 25
10/4.3-19
deel 10_4_3-AV25.qxp:deel 7_6-AV20
04-10-2007
11:05
Pagina 20
Virtualisatie
10/4.3-20
Novell Netwerkoplossingen, aanvulling 25