XEN: domini e networking
Xen è un software di virtualizzazione che sfrutta la paravirtualizzazione per gestire ed eseguire le macchine virtuali. Usando questo modello, le virtual machine quando devono accedere all’hardware fanno richiesta a una macchina virtuale privilegiata che può regolare e amministrare le risorse. La virtual machine privilegiata, in Xen, si chiama dominio0 (dom0 oppure domain0). Il dominio0 viene eseguito all’avvio del computer così si trova già in esecuzione pronto all’uso, solo adoperando il dom0 possono essere lanciate le altre macchine virtuale che, in Xen, vengono chiamate domU (dominio utente). Insieme al dominio0 viene fatto partire l’hypervisor (l’iper visore).
Imparare ad adoperare XEN
Il modo più semplice per adoperare Xen è convertire una installazione preesistente di Linux in un dominio0 per Xen, dopo aver risolto eventuali problemi, si può procedere alla creazione di domini utente. Scegliere una distribuzione Linux che disponga dei pacchetti xen, kernel-xen e xen-tools. Per questo articolo si è scelto OpenSuse 10.3.
Per architetture i586 compatibili sono disponibili i pacchetti xen-3.1.0, xen-doc, xen-libs, xen-tools, xen-tools-ioemu, kernel-xen-2.6.22.5 e la versione pae.
E’ consigliato installare anche i pacchetti della documentazione.
I pacchetti per Xen sono selezionabili al momento dell’installazione del sistema operativo oppure se il sistema è già stato installato, basta usare un gestore di pacchetti e risolvere le dipendenze.
Dopo aver aggiunto il supporto Xen a OpenSuse, al boot loader verrà aggiunta una nuova voce che se selezionata consente di avviare un kernel ad hoc che carica il memoria l’iper visore e il dominio0.
Quello che si deve presentare è un ambiente molto simile a quello che si presenta quando si fa il boot con il kernel normale.
Usando a console il comando xm da root si possono amministrare tutte le macchine virtuali sul computer compreso il dominio principale. Il xen manager è abilitato se in esecuzione c’è il demone Xend, che viene fatto partire insieme al domino0.
Gestione della rete
All’interno del file /etc/xen/xend-config.sxp ci sono le informazioni di configurazione del demone. Si può notare che Xen si appoggia su una rete con un bridge. Infatti questa è un ottima soluzione perchè Xen non è un software virtualizzatore per desktop ma è indicato per i server; la virtual machine deve essere accessibile dall’esterno.
Le schede di rete delle virtual machine si collegano a un bridge che si trova sul dom0 mediante una connessione point to point. Alle schede vengono assegnati nomi come vif<domid>.<vifid> dove domid è l’identificatore del dominio e vifid il numero dell’interfaccia (esempio: vif2.0 è la prima scheda di rete del dominio 2, vif3.2 è la terza interfaccia del dominio 3).
La configurazione di rete è abbastanza complicata.
La scheda di rete presente sul dominio0 eth0 diventa peth0 (physical eth) la quale viene collegata al bridge xenbr0. Gli indirizzi MAC e IP di eth0 vengono assegnati a veth0 (virtual eth) che viene collegata alla scheda vif0.0. Quest’ultima viene connessa al bridge.
Se un pacchetto dal dominio0 ha necessità di uscire deve passare attraverso veth0 poi vif0.0, raggiungere il bridge xenbr0 e infine uscire usando l’interfaccia peth0.
Tutto questo è dovuto al fatto che ogni scheda di rete presente sui domini utente si collega al bridge.
Creazione di domini utente
Ci sono alcuni modi per creare un dominio utente:
- Usare una installazione di Linux già disponibile e provvedere a applicargli un kernel contente dei moduli per la paravirtualizzazione.
- Installare una distribuzione in una partizione, poi adattare il sistema operativo fornendogli un kernel-xen (http://www.valent-blog.eu/2007/09/13/creazione-di-virtual-machine-per-xen/).
- Scaricare delle immagini già preparate (http://www.suse.de/~garloff/linux/xen/images/).
3 pensieri riguardo “XEN: domini e networking”
I commenti sono chiusi.
Ma è una traduzone o non sei italiano.. perchè spesso ci sono cose strane..
basta leg. il primo rigo:
Xen è un sfrutta la paravirtualizzazione
😀 mi suona strnao lol..
cmq ottimo lavoro.. vediamo se riesco ad imparare xen.. 😀
Credo che sia un problema di copia e incolla dell’articolo. Comunque vedo di risolvere.