10/4 Virtualisatie. 10/4.1 Xen



Vergelijkbare documenten
4/5 Installatieservers

5/9 PlateSpin. 5/9.1 PlateSpin Portability Suite

5/5 Red Carpet. 5/5.1 Inleiding

5/8 Patch management

HANDLEIDING >NAT ROUTER MET PFSENSE MEDIATECHNOLOGIE GRAFISCH LYCEUM ROTTERDAM SAMENSTELLER: R.SELLIS

IAAS BACKUPS MAKEN MET IASO

HET BESTURINGSSYSTEEM

Handleiding VirtualBox

TIPS & TRICKS PASSIVE FALLBACK

4/1.4 Service Location Protocol

IAAS - QUICK START GUIDE

Macrium Reflect Free. Mirror Back-up:

10/4.5 Nieuwe virtuele machines aanmaken in Xen HA -cluster

Linux Gevorderden Basis installatie Linux. Elektronica-ICT. Selina Oudermans 2ICT4. Academiejaar

Praktijk opdrachten VMware

Linux Server Installatie

Virtualisatie. en KVM. Oscar Buse 14 februari 2017 NLUG

Operating Systems Linux Blok 7a Partities Erik Seldenthuis

5/7 Imaging in ZENworks 7.0

VirtualBox: hoe werkt het?

PC-Technologie Lab. Verslag: Labo 4. Selina Oudermans 1ICT2

6/7 Opslag onder Linux

Installatiehandleiding

Super GRUB2 Disk Super GRUB2 Disk

Inhoudsopgave: Whisper380-computerhulp

Virtualizatie bij SIN

3 Installatie Vmware Player 3.1

Is het website niet beschikbaar, dan is op de methodewebsite de datasheet te vinden van de twee appliances:

10/5 Integratie met Windows

9/2.11 Virtuele webservers aanmaken in Apache

Handleiding Installatie Windows Server 2008 in een VM-omgeving (VM Workstation 7)

Inhoudsopgave: Whisper380-computerhulp

schoollan Post Installatie Handleiding

Aandachtspunten voor installatie suse in vmware server

2 Installatie Windows Server 2008 R2 Standard

Installeren van het programma:

UBUNTU 8 installatie. 13/10/ ivowebschool.be/ /205bc10d-ef8e-4a 1/14. Onderwerpen

Open Enterprise Server 2 en vsphere Best Practises. Michael Wilmsen

Friesland College Leeuwarden

Standard Parts Installatie Solid Edge ST3

Vergelijking van Xen en OpenVZ. Project aangeboden door: Bart Dresselaers Alexander Vandeneede Davy Dullaert

NSS volumes in een bestaande tree aanspreken vanuit Domain Services for Windows

Inhoudsopgave: Inhoudsopgave:... 2 Waar moet uw pc aan voldoen?... 2 De installatie:... 4 De computer gereed maken voor gebruik:...

Installatiehandleiding TiC Narrow Casting Manager

Arjen Glas Stage: Viaict. Opdracht virtualisatie I44

Voor op afstand os installatie moeten de volgende onderdelen geïnstalleerd zijn op de Windows 2000 server.

Installatiehandleiding. Facto minifmis

vcloud getting started

Unify- SLES Linux update handleiding

Bijlage 8. Testprogramma brandreactiemodulen LBK

Van dvd naar webserver. Marcel Nijenhof 18 Juli

Handleiding SteamOS op VirtualBox

Handleiding Sportlink Club

Inhoud S003. Vak: Windows 7 niv 3/4

INSTALLATIE HANDLEIDING

Acer erecovery Management

Rabo CORPORATE CONNECT. Certificaatvernieuwing

Het installeren van Mac OS X 10.5 Leopard

Micro Computer Service Center. Installatie

MINIMALE SYSTEEMEISEN. Vakware 6

Boot Camp Installatie- en configuratiegids

Samba installeren en configureren

Instructies voor een snelle installatie

Installatie King Task Centre

HANDLEIDING VIEW DESKTOP. Handleiding VIEW Desktop. P. de Gooijer. Datum: Versie: 1.3

Opencockpits FMC V3 Handleiding Prosim737

Inrichting Windows XP Pro werkstation in schoollan

Onverwachte voordelen van Server Virtualisatie

1 Installatie van de server... 2

De polling is er nu dan ook in een service variant en kan dus in plaats van de normale polling gebruikt worden.

Werking van de Office Connector, en het oplossen van fouten.

MS Virtual pc 2007 Handleiding

Linux Mint 10 installeren op een pc of laptop.

Windows server Wesley de Marie. Wesley

uziconnect Installatiehandleiding

Pervasive Server V9 Installatiegids

HOW TO RESTORE A SYSTEM IMAGE IN WINDOWS SERVER 2012

Zeg gewoon JA. Lees verder.

PictoWorks Netwerk infrastructuur

Het installeren van de software.

Acer erecovery Management

Installatie MicroSoft SQL server 2012 Express

Handleiding installatie Rental Dynamics

Kijk eerst in Computer (Mijn Computer) van je werkplek. Welke stationsletters zie je op de PC?

Installatie Handleiding voor: TiC Narrow Casting Certified. System Integrators

Inleiding. Hoofdstuk 1

Vergeten wachtwoord in Windows 10

1. Hardware Installatie Installatie van Quasyscan...6 A. Hoe controleren of je een actieve internetverbinding hebt?...6 B.

Handleiding Mac OS X 10.7 Lion. Deploy Studio

Actian PSQL v12 server installatiegids

Handleiding Opslag Online Client voor Windows. Versie maart 2015

Portal4U 1.4 Installatie

Onderzoeksnetwerk via Linux

Handleiding voor aansluitingen

Kurzweil 3000 op Mac OS X

BELANGRIJK! LEES DEZE OVEREENKOMST ALVORENS DE SOFTWARE TE INSTALLEREN!

Oefening 1: hardware block devices (zoals harde schijven) herkennen

Kwalitan op de Mac. Kwalitan op de Mac pagina 1

Standaard Asta Powerproject Client Versie 13 Installatiedocument v1

Voorbereiden: dingen om rekening mee te houden

Transcriptie:

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

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 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. 10/4.1-2 Novell Netwerkoplossingen, aanvulling 21

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-0- besturingssysteem. 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: domainw- 1, domain-2, et cetera. Novell Netwerkoplossingen, aanvulling 21 10/4.1-3

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

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. 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. 6. 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

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

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

Virtualisatie Gebruik deze interface om virtuele machines te installeren. 2. Verzeker u ervan dat de installatiemedia aanwezig zijn in een installatiesource die op de domain-0- machine 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. 3. 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- 10/4.1-8 Novell Netwerkoplossingen, aanvulling 21

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

Virtualisatie 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. 10/4.1-10 Novell Netwerkoplossingen, aanvulling 21

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

Virtualisatie Voer nu de installatie uit zoals u dat normaal gewend bent. 6. 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-0- machine 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. 10/4.1-12 Novell Netwerkoplossingen, aanvulling 21

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 10- machine 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

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

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

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

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 <id> gebruiken om de machine weer een console te geven. De aanduiding <id> 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

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> <filenaam>: 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 <filenaam>: 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

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

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

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

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: (network-scrip (vif-scrip network-bridge) vif-bridge) 10/4.1-22 Novell Netwerkoplossingen, aanvulling 21

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> <filename> 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 <filename> om de machine weer aan te zetten. Novell Netwerkoplossingen, aanvulling 21 10/4.1-23

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

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

Virtualisatie 10/4.1-26 Novell Netwerkoplossingen, aanvulling 21

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

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

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

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

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

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

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

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

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

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. Open nu de lade van het optische schijfstation, of unmount het ISO-image dat u gebruikt. 10/4.2-10 Novell Netwerkoplossingen, aanvulling 24

Integratie 6. Leg nu de volgende cd in, of maak een mount naar het volgende ISO-image dat u wilt gebruiken. 7. 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

Virtualisatie 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. 8. 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 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. 9. Op dit moment is in de DomU-machine het virtuele device weer beschikbaar. U kunt nu de installatieprocedure vervolgen. Opties 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. 10/4.2-12 Novell Netwerkoplossingen, aanvulling 24

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 <type>:<linux device>, <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