Cerca


stampa pdf

La distribuzione Xen Server



Descrizione

La distribuzione XEN permette di creare e gestire diversi server virtuali sullo stesso server fisico. Il sistema base (chiamato Dom0) utilizza una Debian 4.0 64bit che permette quindi di utilizzare i vostri DomU (server virtuali) a 32 o 64 bit.


Creazione di server virtuali

Sono disponibili due diverse possibilità per l'archiviazione del file system dei vostri DomU:

  • Installazione dei DomU in loopback.

    Per installare un file in loopback, ecco un esempio delle operazioni da seguire:
    # dd if=/dev/zero of=/xen/nodo01.img bs=1M count=10240
    # dd if=/dev/zero of=/xen/nodo01-swap.img bs=1M count=512
    # mkfs.ext3 -F /xen/nodo01.img
    # mkswap /xen/nodo01-swap.img
    # mount -o loop /xen/nodo01.img /mnt
    # cd /mnt
    # tar xfj /xen/DomU-64bit-Debian-Etch.tbz # per una DomU 64bit
    # tar xfj /xen/DomU-32bit-Debian-Etch.tbz # per una DomU 32bit

    # chroot /mnt
    # passwd # inserire una password

    Modificare il file seguente:
    /etc/network/interfaces # (aggiungere gli IP failover e il percorso)
    /etc/hostname
    /etc/hosts


    Quindi creare un file di configurazione in /etc/xen/, ad esempio nodo01, a partire dall'esempio fornito in /etc/xen/.
    # exit # uscire da chroot
    # umount /mnt
    # xm create -c nodo01 # oppure altro nome del file scelto

    Sarete quindi collegati direttamente al vostro DomU.

  • Installazione con LVM

    Il Logical Volume Management è un metodo e un software di gestione, collegamento e utilizzo degli spazi di archiviazione sul server. Permette di gestire, proteggere e ottimizzare in modo flessibile gli spazi di archiviazione online dei sistemi operativi di tipo UNIX/Linux.

    E' anche chiamato gestionale di volumi o Volume Manager.

    E' necessario creare un vg (Volume group), nell'esempio che segue sarà chiamato xenvg.

    ATTENZIONE: Nell'esempio seguente creeremo un VG al livello di /home/, cancellando il vecchio contenuto della partizione /home/.
    # pvcreate /dev/sda2
    # vgcreate xenvg /dev/sda2

    Potrete quindi aggiungere lv (volumi logici) a volontà. Ecco un esempio per creare un solo LV da 5GB chiamato nodo01 nel VG chiamato xenvg:
    # lvcreate -L 5G -n nodo01 xenvg
    # mkfs.ext3 /dev/xenvg/nodo01

    Per creare una serie di LV:
    # for i in 'seq 1 9'; do lvcreate -L 5G -n nodo0$i xenvg; lvcreate -L256M -n nodo0$i-swap xenvg; done
    # for i in /dev/xenvg/nodo0'seq 1 9'; do mkfs.ext3 $i; mkswap $i-swap; done

    Installazione di DomU:
    # mount -t ext3 /dev/xenvg/nodo01 /mnt # da verificare anche in /etc/fstab
    # cd /mnt
    # tar xfj /xen/DomU-64Bit-Debian-Etch.tbz # per una DomU 64bit
    # tar xfj /xen/DomU-32Bit-Debian-Etch.tbz # per una DomU 32bit

    # chroot /mnt
    # passwd # inserire una password

    Adattare i file seguenti:
    /etc/network/interfaces # (aggiungere gli IP failover e il percorso)
    /etc/hostname
    /etc/hosts


    Quindi creare un file di configurazione in /etc/xen/, ad esempio nodo01, a partire dall'esempio fornito in /etc/xen/ stesso.
    # exit # uscire da chroot
    # umount /mnt
    # xm create -c node01 # oppure un altro nome di file scelto

    A questo punto sarete direttamente collegati al vostro DomU.



Creazione della rete virtuale

Per motivi di sicurezza, le infrastrutture di rete OVH non permettevano di eseguire configurazioni in bridging, ovvero l'aggiunta di interfacce di rete virtuali direttamente all'interfaccia di rete reale, che è il modo di funzionamento standard di Xen.

Nell'installazione della distribuzione Debian/Xen di OVH, Xen è dunque configurato senza la modalità bridge, ma con la modalità routing. Questo significa che il traffico derivante dai server virtuali non viene direttamente inviato allo switch seguente, ma viene instradato attraverso l'host.

Le operazioni sono necessarie a tre livelli differenti:

  • la rete esterna: instradamento IP failover o rete di IP per le istanze virtuali verso il server. Da gestire attraverso il manager.

  • il server: il kernel linux deve sapere dove inviare i pacchetti ricevuti per gli indirizzi IP supplementari. Questa parte viene gestita tramite Xen dal momento in cui l'IP è impostato nella configurazione del vostro server virtuale.

  • il server virtuale: il kernel del server virtuale deve sapere dove inviare il traffico (risposta: verso il vostro server fisico, che fa da gateway) e come gestirlo. Negli esempi forniti con la distribuzione OVH non è sufficiente adattare il file /etc/network/interfaces:
    auto eth0
    iface eth0 inet static
        address         # adresse DomU
        netmask 255.255.255.255
        post-up /sbin/ip route add IP-principale.Del.Server.254 dev eth0         #gateway du serveur
        post-up /sbin/ip route add default via IP-principale.Del.Server.254

    Per i sistemi di vostra scelta è dunque necessario adattare questo esempio per i file e la sintassi specifiche del vostro sistema.


Compilazione del vostro kernel

La virtualizzazione con Xen è attualmente integrata nei kernel linux. Oggi (linux 2.6.26) è possibile creare un kernel per domU 32bit con la versione Vanilla senza dover applicare patch ai sorgenti, le copie dei file di configurazione sono incluse in /boot/domU_32/.

Per i kernel DomU 64bit questo non è ancora possibile, in questo caso dovrete basarvi sui sorgenti di Xen (Linux 2.6.18) oppure di Fedora (Linux 2.6.21).

Per seguire la progressione dell'integrazione di Xen nei kernel Linux, potete collegarvi alla pagina informativa di Xen.