26
1 Mirko Mariotti – 22 Marzo 2006 Esperienze a Perugia Installazioni Dom0 Installazioni DomU Scientific Linux 3 domU Case study: Laboratorio didattico Test con Block Device remoti Test in corso

Xen - Esperienze a Perugia

Embed Size (px)

Citation preview

Page 1: Xen - Esperienze a Perugia

1Mirko Mariotti – 22 Marzo 2006

Esperienze a Perugia

●Installazioni Dom0●Installazioni DomU●Scientific Linux 3 domU●Case study: Laboratorio didattico●Test con Block Device remoti●Test in corso

Page 2: Xen - Esperienze a Perugia

2Mirko Mariotti – 22 Marzo 2006

Basic testsBasic testsInstallazioni di Dom0Installazioni 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)

Page 3: Xen - Esperienze a Perugia

3Mirko Mariotti – 22 Marzo 2006

Basic testsBasic testsInstallazioni di Dom0Installazioni di Dom0

Abbiamo testato Xen con varie modalita' di installazione:

● Da sorgenti (Slackware)● Da ebuild (Gentoo)● Da pacchetti binari (Ubuntu)

Page 4: Xen - Esperienze a Perugia

4Mirko Mariotti – 22 Marzo 2006

Installazione dai sorgentiInstallazione dai sorgentiPrerequisiti:  iproute2,  bridge­utils,  zlib­dev, 

phyton­dev, grub

Installazione da sorgenti:●  wget ....●  tar zxvf xen­3.0.2­src.tgz●  make world●  make install

L'installazione  e'  stata  provata  su  slackware  10.2 su  un  Pentium3  800Mhz  e  non  ha  rivelato particolari problemi.

Page 5: Xen - Esperienze a Perugia

5Mirko Mariotti – 22 Marzo 2006

Installazione in GentooInstallazione in GentooGentoo 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­sources­A.B.C

(In modo analogo per amd64)

Page 6: Xen - Esperienze a Perugia

6Mirko Mariotti – 22 Marzo 2006

Installazione in Gentoo: XenLinuxInstallazione 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 menuconfigmake ARCH=xen make ARCH=xen modules_install

Page 7: Xen - Esperienze a Perugia

7Mirko Mariotti – 22 Marzo 2006

Installazione da binariInstallazione 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/xen­debs/ubuntu xen­stable main

e quindi procedendo all'installazione:apt­get install xen

Page 8: Xen - Esperienze a Perugia

8Mirko Mariotti – 22 Marzo 2006

Basic testsBasic testsInstallazioni di DomUInstallazioni 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

Page 9: Xen - Esperienze a Perugia

9Mirko Mariotti – 22 Marzo 2006

Il kernel del domainUIl 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.

Page 10: Xen - Esperienze a Perugia

10Mirko Mariotti – 22 Marzo 2006

Il filesystem di un domainUIl 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.

Page 11: Xen - Esperienze a Perugia

11Mirko Mariotti – 22 Marzo 2006

Installazione di domU SL3Installazione 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)

Page 12: Xen - Esperienze a Perugia

12Mirko Mariotti – 22 Marzo 2006

Installazione di domU SL3Installazione di domU SL3Per  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)

Page 13: Xen - Esperienze a Perugia

13Mirko Mariotti – 22 Marzo 2006

Case study:Case study:Laboratorio didattico con XenLaboratorio 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.

Page 14: Xen - Esperienze a Perugia

14Mirko Mariotti – 22 Marzo 2006

Case study:Case study:Laboratorio didattico con XenLaboratorio 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).

Page 15: Xen - Esperienze a Perugia

15Mirko Mariotti – 22 Marzo 2006

Case study:Case study:Laboratorio didattico con XenLaboratorio didattico con Xen

Page 16: Xen - Esperienze a Perugia

16Mirko Mariotti – 22 Marzo 2006

Case study:Case study:Laboratorio didattico con XenLaboratorio 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

Page 17: Xen - Esperienze a Perugia

17Mirko Mariotti – 22 Marzo 2006

Case study:Case study:Laboratorio didattico con XenLaboratorio 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.

Page 18: Xen - Esperienze a Perugia

18Mirko Mariotti – 22 Marzo 2006

Laboratorio didattico con XenLaboratorio didattico con Xen

Page 19: Xen - Esperienze a Perugia

19Mirko Mariotti – 22 Marzo 2006

Case study:Case study:Laboratorio didattico con XenLaboratorio 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.

Page 20: Xen - Esperienze a Perugia

20Mirko Mariotti – 22 Marzo 2006

Case study:Case study:Laboratorio didattico con XenLaboratorio 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 INFN­GRID:● CE 2_6_0● WN 2_6_0

e un install server INFN­GRID 2_6_0

Page 21: Xen - Esperienze a Perugia

21Mirko Mariotti – 22 Marzo 2006

Case study:Case study:Laboratorio didattico con XenLaboratorio 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.

Page 22: Xen - Esperienze a Perugia

22Mirko Mariotti – 22 Marzo 2006

Advanced tests:Advanced tests:GnbdGnbd

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

Page 23: Xen - Esperienze a Perugia

23Mirko Mariotti – 22 Marzo 2006

Advanced tests:Advanced tests:GnbdGnbd

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.

Page 24: Xen - Esperienze a Perugia

24Mirko Mariotti – 22 Marzo 2006

Test in corsoTest 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

Page 25: Xen - Esperienze a Perugia

25Mirko Mariotti – 22 Marzo 2006

All TestsAll TestsAbbiamo 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 non­GRID.

Page 26: Xen - Esperienze a Perugia

26Mirko Mariotti – 22 Marzo 2006

GrazieGrazie

Mariotti MirkoDipartimento di Fisica – Universita' di Perugia

mirko<dot>mariotti<at>fisica<dot>unipg<dot>it