Jump to content
Sign in to follow this  
Rebel

Debian 5 + Xen 3.4.2 + Linux Kernel 2.6.31

Recommended Posts

In questo breve tutorial descriveremo la procedura per installare l'ultima versione di Xen con un PV_Ops Kernel.

 

Paravirt_ops e' una nuova funzionalità introdotta nel Kernel a partire dalla versione 2.6.23 che fondamentalmente, attraverso l’inserimento di una serie di hook all’interno del codice originario, gli permette di capire autonomamente quando viene eseguito da un Hypervisor in modalità paravirtualizzata, come appunto nel caso di Xen, e quindi di adattarsi di conseguenza. La differenze fondamentale risiede nel fatto che non si rende più necessaria la modifica del Kernel vanilla attraverso delle patch ad hoc ma diversamente ora la paravirtualizzazione e’ supportata nativamente dal Kernel Linux vanilla.

 

Il codice in questione e’ ancora in fase di sviluppo e quindi se ne sconsiglia l’utilizzo in produzione in quanto sia mancano ancora alcune funzionalità, sia potrebbero presentarsi problemi di stabilità e performance del sistema. Lo sviluppo procede comunque molto speditamente con aggiornamenti continui quindi e’ prevedibile che a brevissimo questo nuovo Kernel diverrà lo standard per tutte le installazioni di Xen future.

 

Procediamo quindi ad installare i vari “mattoncini” del nostro ambiente.

 

NOTA: i comandi di seguito indicati, se non compresi appieno ed eseguiti correttamente, possono rendere il sistema instabile, corrotto o irraggiunbile.

Eseguite il tutto a vostro rischio e pericolo, in particolare nel caso le modifiche siano apportate su di un server remoto senza KVM, in quanto potreste ritrovarvi con la macchina non più avviabile.

 

Pacchetti necessari per la compilazione

 

Eseguiamo il login come root ed impartiamo i seguenti comandi:

 

apt-get update

apt-get upgrade

apt-get install iproute bridge-utils gcc make gettext

apt-get install libcurl4-openssl-dev

apt-get install python-dev zlib1g-dev bcc libsdl-dev pciutils-dev

apt-get install git-core

apt-get install kernel-package fakeroot zlibc libssl-dev bin86 bcc libncurses5-dev python-dev python kernel-package fakeroot

Installazione di Xen 3.2.4

 

Navighiamo alla seguente pagina:

 

e scarichiamo l’ultima versione di Xen, al momento la 3.2.4.

 

mkdir /root/xen

cd /root/xen

wget http://bits.xensource.com/oss-xen/release/3.4.2/xen-3.4.2.tar.gz

tar xzvf xen-3.4.2.tar.gz

cd xen-3.4.2

make xen

make install-xen

make tools

make install-tools

Se tutto è andato a buon fine dovremmo ora avere una nuova directory /etc/xen contenente i file di configurazione di Xen e l’hypervisor correttamente compilato all’interno di /boot con il nome di xen-3.4.2.gz

 

Installazione del kernel

 

Procuriamoci il codice sorgente del Kernel e procediamo con la compilazione del Kernel.

Utilizzeremo un tree particolare mantenuto da uno degli sviluppatori di Xen, Jeremy Fitzhardinge.

 

cd /usr/src

git clone git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git

cd xen

git checkout origin/xen/master -b xen/master

Ora dobbiamo procedere con la configurazione del Kernel. Per facilitare il procedimento, mettiamo a disposizione un template del file .config già configurato in modo tale da supportare l’utilizzo del Kernel sia in Dom0 che DomU.

 

wget http://www.flarevm.it/static/ht/config.txt

mv config.txt .config

make oldconfig

make menuconfig

Configuriamo il Kernel in modo tale da supportare l’hardware presente nel nostro server.

Il comando lspci genera informazioni dettagliate sull’hardware installato e può quindi fornire un bell’aiuto per capire quali moduli attivare.

 

Una volta terminata la configurazione procediamo come di seguito:

 

make-kpkg clean

CONCURRENCY_LEVEL=N fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers

Dove N e’ il numero di processi di compilazione in parallelo. Ad esempio se disponete di 2 core potete settarlo a 2.

 

Una volta terminate la compilazione dovreste avere due pacchetti .deb in /usr/src/

 

linux-headers-<versione kernel>.deb

linux-image-<versione kernel>.deb

Procediamo con l’installazione di questi due pacchetti:

 

cd /usr/src

dpkg –i linux-headers-<versione kernel>.deb linux-image-<versione kernel>.deb

Supponendo di utilizzare Grub come boot loader, Debian dovrebbe configurare adeguatamente il file /boot/grub/menu.lst. Accertiamoci però che tutto sia in ordine:

 

nano /boot/grub/menu.lst
Cerchiamo una linea simile alla seguente:

 

title Xen 3.4.2 / Debian GNU/Linux, kernel <versione kernel>

root (hd0,0)

kernel /boot/xen-3.4.2.gz

module /boot/vmlinuz-<versione kernel> root=/dev/sdaX ro console=tty0

module /boot/initrd.img-<versione kernel>

Se e’ presente una riga simile a quella sopra indicata allora tutto dovrebbe essere in ordine e possiamo procedere con il reboot della macchina. Edited by Rebel

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×