Esperienze a Perugia Installazioni Dom0 ●Installazioni DomU ●Scientific Linux 3 domU ●Case study: Laboratorio didattico ●Test con Block Device remoti ●Test in corso ● Mirko Mariotti – 22 Marzo 2006 1 Basic tests Installazioni di Dom0 Abbiamo testato Xen con le seguenti distribuzioni come sistema Host: ● Xen 2.0.7 su ● Gentoo 2005.3 (x86) ● Ubuntu 5.10 (Breezy) (x86) ● Xen 3.0.2 su ● Gentoo 2006.0 (x86 e x86_64) ● Slackware 10.2 (x86) Mirko Mariotti – 22 Marzo 2006 2 Basic tests Installazioni di Dom0 Abbiamo testato Xen con varie modalita' di installazione: ● Da sorgenti (Slackware) ● Da ebuild (Gentoo) ● Da pacchetti binari (Ubuntu) Mirko Mariotti – 22 Marzo 2006 3 Installazione dai sorgenti Prerequisiti: iproute2, bridgeutils, zlibdev, phytondev, grub Installazione da sorgenti: ● wget .... ● tar zxvf xen3.0.2src.tgz ● make world ● make install L'installazione e' stata provata su slackware 10.2 su un Pentium3 800Mhz e non ha rivelato particolari problemi. Mirko Mariotti – 22 Marzo 2006 4 Installazione in Gentoo Gentoo contiene gia ebuild pronti per xen sia per i kernel sia per i tool. Questi non sono ancora inseriti tra gli ebuild stabili e quindi vanno installati dal ramo di sviluppo: ACCEPT_KEYWORDS=”~x86” emerge =xen X.Y.Z ACCEPT_KEYWORDS=”~x86” emerge =xen sourcesA.B.C (In modo analogo per amd64) Mirko Mariotti – 22 Marzo 2006 5 Installazione in Gentoo: XenLinux L'installazione di xen crea gli eseguibili necessari, l'hypervisor e un kernel tree con applicate le patch xen, quelo che resta da fare e' compilare il kernel per il domain0: make ARCH=xen menuconfig make ARCH=xen make ARCH=xen modules_install Mirko Mariotti – 22 Marzo 2006 6 Installazione da binari Esistono molte distribuzioni che forniscono pacchetti binari per xen. Noi abbiamo testato xen su ubuntu 5.10 aggiungendo il repository deb http://mirror.clarkson.edu/pub/distributions/xenophilia/xendebs/ubuntu xenstable main e quindi procedendo all'installazione: aptget install xen Mirko Mariotti – 22 Marzo 2006 7 Basic tests Installazioni di DomU Abbiamo testato come DomU vari sistemi operativi ed in varie distribuzioni GNU/Linux. In particolare: ● GNU/Linux: ● Gentoo ● Ttylinux ● Scientific Linux 3 ● Scientific Linux 4 (test in corso) ● NetBSD 2 e 3 ● Plan9 Mirko Mariotti – 22 Marzo 2006 8 Il kernel del domainU Trattandosi i paravirtualizzazione, l'installazione di una macchina virtuale non e' semplice come nel caso di una virtualizzazione reale (ad es. vmware) I kernel per i domainU devono essere ricompilati e e' raro trovare distribuzioni che si installino direttamente su xen. Mirko Mariotti – 22 Marzo 2006 9 Il filesystem di un domainU Per installare una VM ci sono due possibilita': Trovare (o creare) un kernel xenU compatibile con l'installatore e procedere con una installazione standard. ● Fare un dump di una installazione gia' fatta. ● Mirko Mariotti – 22 Marzo 2006 10 Installazione di domU SL3 Per l'installazione di Scientific Linux 3 (ed ora 4) abbiamo scelto di fare un dump di un'installazione minimale gia' fatta e modificarla per renderla utilizzabile con xen nei seguenti punti: kernel ● sostituzione delle modutils (per la serie 2.6) ● Mirko Mariotti – 22 Marzo 2006 11 Installazione di domU SL3 Per realizzare una immagine di macchina virtuale SL3 abbiamo seguito i seguenti passi: Dump via rete di una installazione minimale (usando un cd live) Repos# nc l p 3333 | dd of=sl3.img Live# dd if=/dev/hdaX | nc repos.foo.net 3333 ● Mount in loopback dell'immagine ● Copia dei sorgenti del kernel xen ● Chroot nell'immagine ● Compilazione ed installazione del kernel xenU (In realta' servono solo i moduli) ● Sostituzione di modutils (per i kernel 2.6) ● Mirko Mariotti – 22 Marzo 2006 12 Case study: Laboratorio didattico con Xen Lo scopo principale del setup e' stato quello di mettere a disposizione di ogni studente piu' VM per ogni postazione sulle quali poter lavorare. L'obbiettivo del corso era quello di dare la possibilita' agli studenti di installare e configurare software tipicamente presente in farm di calcolo. Mirko Mariotti – 22 Marzo 2006 13 Case study: Laboratorio didattico con Xen Il laboratorio didattico e' cosi strutturato: ● 8 macchine fisiche con installato Gentoo 2005.3 e Xen 2.0.7 1 server (Gentoo 2005.3) che funge da: ● DHCP ● WEB server ● Server di controllo del laboratorio (tentakel). ● Mirko Mariotti – 22 Marzo 2006 14 Case study: Laboratorio didattico con Xen Mirko Mariotti – 22 Marzo 2006 15 Case study: Laboratorio didattico con Xen Ogni macchina fisica contiene una serie di script che, gestiti dal server di controllo, regolano il comportamento della macchina fisica secondo vari aspetti. Ogni macchina fisica puo' funzionare in tre modalita': ● Normale ● Proiezione ● Esecuzione di virtual machine Mirko Mariotti – 22 Marzo 2006 16 Case study: Laboratorio didattico con Xen Inoltre gli script regolano altri aspetti delle macchine virtuali quali il loro avvio, il check della consistenza dei filesystem nelle immagini e il controllo del loro networking. Mirko Mariotti – 22 Marzo 2006 17 Laboratorio didattico con Xen Mirko Mariotti – 22 Marzo 2006 18 Case study: Laboratorio didattico con Xen La macchina virtuale utilizzata prevalentemente nel laboratorio e' stata quella SL3. Tutte le configurazioni vengono passata alla macchina virtuale n modo dinamico (o dal config file di xen oppure via DHCP). Questa caratteristica rende possibile sostituire ogni volta se ne abbia necessita una VM con una pulita in pochissimo tempo. Mirko Mariotti – 22 Marzo 2006 19 Case study: Laboratorio didattico con Xen Durante il corso sono stati installati in particolare i seguenti software: ● torque (da sorgenti) ● maui (da sorgenti) ● ganglia (da sorgenti) i seguenti elementi INFNGRID: ● CE 2_6_0 ● WN 2_6_0 e un install server INFNGRID 2_6_0 Mirko Mariotti – 22 Marzo 2006 20 Case study: Laboratorio didattico con Xen Risultati l'infrastruttura ha garantito un'ottima stabilita'. Si puo' ipotizzare un sistema di controllo simile a quello attuato per gestire la ridondanza di servizi su VM. Mirko Mariotti – 22 Marzo 2006 21 Advanced tests: Gnbd Ulteriori test che abbiamo condotto riguardano il caricamento delle macchine virtuali direttamente da block device remoti. Abbiamo utilizzato un server gentoo come repository di immagini esportate via GNBD: # gnbd_serv n # gnbd_export e ttylinux d /root/ttylinux c Mirko Mariotti – 22 Marzo 2006 22 Advanced tests: Gnbd Successivamente importandoli nelle macchine reali # gnbd_import i repos.foo.net c Possiamo utilizzarli come filesystem delle VM. Abbiamo testato su questa infrastruttura GNBD le feature di migrazione di domini di Xen. Mirko Mariotti – 22 Marzo 2006 23 Test in corso Attualmente abbiamo spostato tutti i test alla vesione 3 di xen. Abbiamo realizzato una struttura di test composta da due 2xOpteron – Storage FC (disponibile per ancora poco tempo) – Fileserver su cui stiamo attualmente eseguento test sui backend FC e iSCSI per Xen Mirko Mariotti – 22 Marzo 2006 24 All Tests Abbiamo stilato una lista di possibili test aggiuntivi per comprendere le problematiche dell'uso di xen per realizzare sistemi HA con macchine virtuali: Test di compatibilità tra kernel XEN e varie distribuzioni. Test di caricamento di domU via Block Device Remoti (GNDB, iSCSI, FC). Test di caricamento di domU via filesystem remoti (NFS). Test di caricamento di domU via filesystem distibuiti (LUSTRE, GFS, GPFS). Test su uso di partizioni locali, remote o mix delle due. Monitoraggio dello stato delle Macchine Virtuali. Installazione di servizi, sia GRID che nonGRID. Mirko Mariotti – 22 Marzo 2006 25 Grazie Mariotti Mirko Dipartimento di Fisica – Universita' di Perugia mirko<dot>mariotti<at>fisica<dot>unipg<dot>it Mirko Mariotti – 22 Marzo 2006 26