Progetto

Generale

Profilo

XenOnSargeHowto » Cronologia » Versione 5

Versione 4 (Amministratore Truelite, 24-02-2006 17:22) → Versione 5/12 (Amministratore Truelite, 24-02-2006 18:53)

 = Come creare un server di virtualizzazione usando Xen su una Debian Sarge = 

 Si considerino i presenti requisiti di base: 

  * una distribuzione linux debian, release Sarge, installata; 
  * una buona quantità di spazio su disco libero su una partizione; 
  * almeno due interfacce di rete (eth0, eth1); 
  * una quantità di memoria ram maggiore o uguale a 512MB. 

 Il primo passo è l'installazione del kernel xen e dei relativi tool che vanno presi da un repository esterno in quanto non presenti in sarge. 
 I seguenti comandi abilitano il repository esterno ed installano i pacchetti necessari. 
 {{{ 
 echo "deb http://packages.debianbase.de/sarge/i386/xen3 ./" >> /etc/apt/sources.list 
 apt-get update 
 apt-get install iproute xen udev hotplug bridge-utils linux-xen0-2.6 
 cd /usr/src 
 dpkg -i kernel-xen0-2.6.12.6-xen_tha1_i386.deb 
 mv /lib/tls /lib/tls.disabled 
 }}} 

 Una volta installati i pacchetti, è necessario rigenerare l'initrd per il vostro sistema con il comando 
 {{{ 
 mkinitrd -o /boot/xen-modules-2.6.12.6-xen 2.6.12.6-xen 
 }}} 

 e successivamente aggiungere a grub le voci necessarie per fare il boot con il kernel xen, nel file {{{ "/boot/grub/menu.lst" }}} 
 {{{ 
 # 
 # Put static boot stanzas before and/or after AUTOMAGIC KERNEL LIST 

 title             Xen 3.0.1 - Linux 2.6.12.6-xen 
                 kernel        /boot/xen-3.0.1.gz 
                 module        /boot/xen-linux-2.6.12.6-xen root=/dev/hda1 ro 
                 module        /boot/xen-modules-2.6.12.6-xen 
 ### BEGIN AUTOMAGIC KERNELS LIST 
 ## lines between the AUTOMAGIC KERNELS LIST markers will be modified 
 ## by the debian update-grub script except for the default options below 

 ## DO NOT UNCOMMENT THEM, Just edit them to your needs 
 }}} 

 Ipotizzando che ''eth0'' sia l'interfaccia di rete in ascolto sulla rete locale con dhcp e che ''eth1'' sia collegata ad uno switch per una rete interna di test, possiamo creare un nuovo bridge da fare usare alle macchine virtuali; di default xen crea un bridge sulla ''eth0'' per le sue interfacce virtuali. 

 Il file {{{ "/etc/network/interfaces" }}} dovrebbe quindi avere questo aspetto. 

 A questo punto è possibile riavviare il sistema nel nuovo domain0 xen. 

 Se il sistema si è avviato senza problemi possiamo creare una nuova istanza di debian sarge che girerà come ospite (guest) sul sistema host. 

 La prima cosa da fare è la creazione di due file da usare rispettivamente come partizione di root da 2GB e come swapfile da 512MB. 
 {{{ 
 mkdir -p /home/vserver/images 
 cd /home/vserver/images 
 dd if=/dev/zero of=sarge-base.img seek=2048000k bs=1 count=1 
 dd if=/dev/zero of=swap.img seek=512000k bs=1 of=1 
 mkfs.ext3 sarge-base.img 
 mkswap swap.img 
 }}} 

 Una volta create e formattate le partizioni, è necessario installare debootstrap con {{{ "apt-get install debootstrap" }}} per poi procedere all'installazione di un sistema base. 

 {{{ 
 modprobe loop 
 mount -o loop sarge-base.img /mnt 
 debootstrap sarge /mnt http://ftp.it.debian.org/debian  
 }}} 

 Il passo successivo è l'installazione dei moduli del kernel xen sul nuovo sistema guest seguito dalla creazione da una serie di alcuni file necessari ed alla modifica operazioni di alcune impostazioni di ottimizzazione del sistema. 
 {{{ 
 cp -a /lib/modules/2.6.12.6-xen /mnt/lib/modules 
 mv /mnt/lib/tls /mnt/lib/tls.disabled 
 chroot /mnt 
 }}}