The Virtual Machine Monitor Introduzione. Installazione. Utilizzo. Live session
Introduzione: Xen Xen e' un Virtual Machine Monitor. Le peculiarita' di Xen sono che: Le macchine virtuali sono compatibili a livello di binari con l'architettura sottostante. I kernel delle VM sono per una nuova architettura. Il sito di riferimento del progetto e: http://www.cl.cam.ac.uk/Research/SRG/netos/xen/
Introduzione: Un po' di storia Progetto Xenoservers Xen nasce dal progetto Xenoservers dell'universita' di Cambridge, che mira a costruire una struttura per il calcolo ditribuito su scala geografica. Il progetto ha due fasi fondamentali: Sviluppo di Xen. Sviluppo di Xenoserver Open Platform.
Introduzione: terminologia di Xen Hypervisor: Xen Domain 0 (master domain): e' la macchina virtuale principale. Domain U: tutte le altre macchine virtuali.
Introduzione: OS ed architetture supportate. Architetture supportate per l'Hypervisor: x86 x86_64 (in sviluppo) OS supportati da Xen come Domain 0: Linux Netbsd OS supportati da Xen come Domain U: Freebsd (?) Plan9
Installazione: introduzione Avere un sistema Xen funzionante significa avere: Un Hypervisor Xen caricato. Un Kernel per il Domain0 attivo. Una distribuzione standard. Un processo attivo per la gestione dei DomainU.
Installazione dai sorgenti Esistono pacchetti gia' pronti e kernel precompilati per le maggiori distribuzioni. Prerequisiti: iproute2, bridge-utils, libcurl-devel, zlib-dev, phyton-dev, twisted1.3 Installazione da sorgenti: wget .... tar zxvf xen-2.0.7-src.tgz make world make install
Installazione in Gentoo ACCEPT_KEYWORDS=”~x86” emerge =xen- 2.0.7 ACCEPT_KEYWORDS=”~x86” emerge =xen- sources-2.6.11.12
Installazione: 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
Installazione: Grub L'avvio tramite grub di Xen/XenLinux e' leggermente diverso da quello di un sistema standard. Non viene caricato il kernel ma l'hypervisor, mentre il Dominio0 vine passato tramite la funzione module di grub a Xen. (Vedremo nella parte live un esempio)
Domain0
Xend Il daemon xend (che gira in Domain0) gestisce e controlla l'attivita' delle macchine virtuali.
Il tool principale: xm Il comando principale per la gestione delle VM e' xm. con xm list si visualizzano le macchine virtuali in esecuzione. con xm create [file di conf. della macchina virtuale] si fa partire una nuova macchina virtuale. (vedremo il file nella sessione live).
VM config file Il file di configurazione di una macchina virtuale elenca tutte le caratteristiche che servono alla sua esecuzione, tra cui: memoria schede di rete filesystems
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.
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.
Xencons Per interagire con una macchina virtuale caricata si puo' usare l'utility xencons che si collega alla porta aperta da xend per la macchina. Creando una macchina virtuale con l'opzione -c si collega automaticamente la cnsole della VM.
Altri comandi di xm xm ha anche altre funzionalita': xm shutdown xm pause xm unpause xm destroy xm migrate
Live session
Grazie Mariotti Mirko Dipartimento di Fisica – Universita' di Perugia mirko<dot>mariotti<at>fisica<dot>unipg<dot>it