Capitolo 37. Virtualizzazione con Xen

Sommario

37.1. Installazione di Xen
37.2. Installazione del dominio
37.3. Configurazione di un dominio guest di Xen
37.4. Avvio e controllo dei domini Xen
37.5. Ulteriori informazioni

Estratto

Xen consente di eseguire più sistemi Linux in un unico computer. L'hardware per i diversi sistemi viene fornito in modo virtuale. In questo capitolo viene fornita una panoramica delle potenzialità e delle limitazioni di questa tecnologia. Le sezioni relative all'installazione, la configurazione e l'esecuzione di Xen completano questa introduzione.

Nei computer virtuali l'hardware necessario per il funzionamento di un sistema deve essere in genere emulato. L'hardware emulato è tuttavia molto più lento di quello reale. In Xen viene adottato un approccio diverso. L'emulazione viene limitata al minimo indispensabile. A questo scopo, viene utilizzata la paravirtualizzazione. Si tratta di una tecnica che presenta i computer virtuali all'hardware sottostante in modo simile, ma non identico. I sistemi operativi host e guest vengono quindi adattati a livello di kernel mentre lo spazio utente rimane immutato. In Xen la gestione dell'hardware viene eseguita tramite un ipervisore e un guest di controllo, denominato anche domain-0, che forniscono tutti i dispositivi virtuali di rete e del blocco. I dispositivi virtuali di rete e del blocco vengono utilizzati per l'esecuzione dei sistemi guest e la connessione ad altri guest o alla rete locale. Se più computer che eseguono Xen sono configurati in modo da disporre dei dispositivi virtuali di rete e del blocco, è inoltre possibile eseguire la migrazione di un sistema guest da un componente hardware a un altro in fase di esecuzione. Xen è stato originariamente sviluppato per eseguire fino a 100 sistemi guest in un computer. Il numero effettivo, tuttavia, dipende dai requisiti dei sistemi guest in esecuzione, in particolare dal consumo di memoria.

Per limitare l'utilizzo della CPU, l'ipervisore di Xen dispone di tre diversi scheduler. Lo scheduler può inoltre essere modificato mentre il sistema guest è in esecuzione in modo da cambiare la priorità dei sistemi guest eseguiti. A un livello superiore, la migrazione di un guest consente inoltre di modificare le risorse della CPU disponibili.

Il sistema di virtualizzazione Xen comporta anche alcuni limiti relativi all'hardware supportato:

Figura 37.1. Panoramica di Xen

Panoramica di Xen

37.1. Installazione di Xen

La procedura di installazione di Xen prevede la configurazione di un dominio domain-0 e l'installazione dei client Xen. Accertarsi innanzitutto che siano installati i pacchetti necessari, ovvero python, bridge-utils, xen e un pacchetto kernel-xen. Se si utilizzano i pacchetti SUSE, Xen viene aggiunto alla configurazione di GRUB. In caso contrario, aggiungere una voce in boot/grub/menu.lst. Tale voce deve essere analoga alla seguente:

title Xen2
    kernel (hd0,0)/boot/xen.gz dom0_mem=458752
    module (hd0,0)/boot/vmlinuz-xen <parameters>
    module (hd0,0)/boot/initrd-xen

Sostituire (hd0,0) con la partizione che contiene la directory /boot. Vedere anche il Capitolo 29, Boot Loader. Modificare la quantità di dom0_mem affinché corrisponda a quella del sistema utilizzato. Il valore massimo corrisponde alla memoria del sistema utilizzato espressa in kB meno 65536. Sostituire <parameters> con i parametri normalmente utilizzati per l'avvio di un kernel Linux. Riavviare quindi il sistema in modalità Xen. In questo modo vengono avviati l'ipervisore di Xen e un kernel Linux leggermente modificato come Domain-0 che esegue la maggior parte dell'hardware. Ad eccezione degli elementi descritti in precedenza, il funzionamento dovrebbe risultare normale.