Bookmark and Share
You are here: Home Documentazione Ricette Installazione e configurazione di un server Xen
Document Actions

Installazione e configurazione di un server Xen
medio

Configurare un server Dell Poweredge 1950 per l'utilizzo di Xen. Ogni MV farà parte della stessa sottorete configurando l'interfaccia di rete come bridge.

L'utilizzo della virtualizzazione è ormai una prassi nella configurazione di server adibiti a servizi di rete (web, posta ecc.). I vantaggi apportati sono: risparmio e ottimizzazione delle risorse, flessibilità e sicurezza. La soluzione scelta per il nostro server è il collaudatissimo Xen.

Il sistema operativo utilizzato sia per la macchina host che per le macchine virtuali guests sarà Debian GNU/Linux 4.0 Etch Amd64.

Queste sono le caratteristiche tecniche del server utilizzato:

  • Modello: Dell Poweredge 1950;
  • Processore: Intel Xeon Quad Core 2.33 GHZ;
  • Ram:8 GB;
  • Storage: Due harddisk 750GB controller sas raid PERC 5/i SAS RAID;
  • Interfaccia di rete: Due schede Broadcom Corporation NetXtreme II BCM5708 Gigabit Ethernet (rev 12);
  • Alimentazione: Doppia Hot Swap;
  • Formato: Rack 1u.

 

 

Parte 1 -  Installazione del sistema

Dopo aver effettuato il boot con il cd del sistema operativo (debian GNU/Linux 4.0 Etch Amd64), abbiamo scelto l'opzione di installazione amd64-expert: questa ci consentirà un maggior controllo sulla configurazione della macchina.

Partizionamento:

Dato che il server è dotato di due dischi da 750GB è quasi scontato che verranno utilizzati in raid 1 (mirror).

Abbiamo scelto di non utilizzare il controller raid integrato poiché, dalla documentazione su internet, non risultavano casi d'uso in ambiente di produzione, scegliendo così di affidarci al raid software Linux che offre una maggiore sicurezza (e velocità di ripristino) in caso di problemi sul controller.

Queste sono le partizioni create

 

disco 1 disco 2 device raid tipo di raid spazio utilizzato file system punto di mount
/dev/sda1 /dev/sdb1 /dev/md0 raid 1 256Mb ext2 /boot della macchina host
/dev/sda2 /dev/sdb2 /dev/md1 raid 1 10GB ext3 / della macchina host
/dev/sda3 /dev/sdb3 /dev/md2 raid 1 2GB swap swap macchina host
/dev/sda4 /dev/sdb4 /dev/md3 raid 1 il restante lvm a disposizione delle macchine guest

Non è stato creato l'utente di root: l'installazione ha provveduto ad aggiungere automaticamente l'utente creato nel gruppo dei sudoers (/etc/sudoers).


Abbiamo installato il sistema base senza nessun pacchetto aggiuntivo.

Finita l'installazione abbiamo fatto un reboot.

Abbiamo controllato la presenza di eventuali aggiornamenti con:

sudo apt-get update

che aggiorna la lista dei pacchetti disponibili, e

sudo apt-get upgrade

che aggiorna i pacchetti.

Una volta installato il sistema ci siamo resi conto che eth0 è la scheda di rete numero 2 (anzichè la 1). Per evitare problemi successivi, abbiamo aggiunto una regola su /etc/udev/rules.d/z25_persistent-net.rules:

# PCI device 0x14e4:0x164c (bnx2)
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:1e:c9:ac:72:24", NAME="eth0"
# PCI device 0x14e4:0x164c (bnx2)
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:1e:c9:ac:72:26", NAME="eth1"


In questo modo sono stati associati i MAC-address ai nomi delle interfacce di rete.

Sembra che questo problema sia dovuto ad un bug sul firmware della scheda di rete, come documentato su http://mywiki.ncsa.uiuc.edu/wiki/Dell_PE1950_NIC_Firmware_Workaround

Parte 2 - Installazione e configurazione di xend e configurazione bridge

A questo punto è possibile procedere all'installazione di Xen.
Come prima cosa controlliamo qual è il kernel Xen disponibile digitando:

sudo apt-cache search xen-linux-system-

Verranno quindi elencati i pacchetti disponibili. A noi interessa, presumendo che l'ultimo kernel sia il 2.6.18-6, xen-linux-system-2.6.18-6-xen-amd64.

Quindi abbiamo digitato:

sudo apt-get install xen-linux-system-2.6.18-6-xen-amd64

che installa il kernel 2.6.18-6-xen-amd64 e bridge utils per la macchina host Dom0.

Con il comando

sudo apt-get install xen-tools

sono stati installati una serie di script che automatizzano gran parte delle operazioni necessarie alla creazione delle macchine virtuali.

Procediamo ora alla configurazione del file /etc/xend-config.sxp
Di norma sono necessari solo queste modifiche:

(network-script network-bridge)

che usa di default xenbr0 come bridge, e

(vif-script vif-bridge)

che è lo script di creazione dell'interfaccia collegata al bridge.

Per far leggere le modifiche è necessario riavviare il demone:

/etc/init.d/xend restart


Di norma con questa configurazione il demone xend provvede a configurare automaticamente la scheda di rete con un bridge.
Nel nostro caso non abbiamo avuto successo e abbiamo dovuto configurare manualmente il bridge su /etc/network/interfaces:

...
auto xenbr0
iface xenbr0 inet dhcp
bridge_fd 0
bridge_hello 0
bridge_stp off
bridge_ports eth0

 

 

Parte 3 - Creazione macchine virtuali (domU)

Prima di creare la macchina virtuale è necessario modificare il file /etc/xen-tools/xen-tools.conf
Da questo file verrà presa la configurazione di default della macchina virtuale, in modo da poter facilmente creare delle alte macchine che si differenziano per ip e nome.

I punti principali sono:

  • Configurare l'utilizzo di lvm per creare la macchina con:
 lvm = xen-lvm
  • Selezionare deboostrap come metodo di installazione per le nostre macchine virtuali (vengono utilizzate delle distribuzioni Debian minimali) con:
  debootstrap = 1
  • Scegliere la dimensione dell'hard disk della macchina virtuale:
size   = 10Gb
  • Definire la memoria utilizzabile dalla macchina virtuale:
memory = 512Mb
  • Dimensionare la partizione di swap:
swap   = 512Mb
  • Definire il tipo di filesystem:
fs     = ext3
  • Scegliere la distribuzione da installare (sono disponibili altre distribuzioni: Sid, Sarge, Dapper, Centos4, Fedora-core4)
dist   = etch
  • Configurare la rete:
 gateway   = 10.0.2.1 
 netmask   = 255.255.255.0
 passwd = 1
  • Riportare la versione corretta del kernel:
kernel = /boot/vmlinuz-2.6.18-6-xen-amd64
initrd = /boot/initrd.img-2.6.18-6-xen-amd64
  • Per creare macchine con architettura a 64bit (il server utilizzato supporta le estensioni Intel EM64T), abbiamo specificato:
 arch=amd64
  • Infine abbiamo specificato anche il mirror da cui verrà scaricata la distribuzione minimale Debian:
mirror = http://ftp.it.debian.org/debian/

 

Creiamo la nostra prima macchina:

Il file /etc/xen-tools/xen-tools.conf verrà utilizzato dal comando:

xen-create-image --ip 10.0.0.55 --hostname himiko-xen0

 che provvederà a creare la macchina virtuale così come configurata.

Questo comando creerà anche il file /etc/xen/himiko-xen0.cfg con tutte le caratteristiche della macchina (l'abbiamo chiamata himiko-xen0):

#
# Configuration file for the Xen instance himiko-xen0, created on
# Mon May 12 18:34:54 2008.
#


#
# Kernel + memory size
#
kernel = '/boot/vmlinuz-2.6.18-6-xen-amd64'
ramdisk = '/boot/initrd.img-2.6.18-6-xen-amd64'

memory = '512'


#
# Disk device(s).
#
root = '/dev/sda1 ro'

disk = [ 'phy:xen-lvm/himiko-xen0-disk,sda1,w', 'phy:xen-lvm/himiko-xen0-swap,sda2,w' ]

#
# Hostname
#
name = 'himiko-xen0'


#
# Networking
#
vif = [ 'ip=10.0.0.52' ]

#
# Behaviour
#
on_poweroff = 'destroy'
on_reboot = 'restart'
on_crash = 'restart'

A questo punto la macchina virtuale è stata creata e si possono usare i seguenti comandi:

  • Visualizzare una lista delle macchine Xen attive:
xm list
  • Avviare la macchina virtuale:
xm create himiko-xen0.cfg

(L'opzione -c permette di accedere alla console appena la macchina è attiva)

  • Spegnere la macchina virtuale:
xm shutdown himiko-xen0
  • Accedere alla console sulla macchina himiko-xen0. Si usa Ctrl+J per tornare al sistema host:
xm console himiko-xen0

 

Et voilà !

by Maurizio Lupo last modified 2008-12-03 12:43

ottimo

Posted by sc at 2009-07-02 18:35
ottima guida, mi è stata molto utile.

Guida Utile!

Posted by Michele at 2010-01-07 10:23
Ottima guida!
Ora googlo per capire come si cambia la netmask di una macchina già creato.

Creazione immagini

Posted by Matteo at 2011-06-28 09:10
Ciao! Ho seguito alla lettera la guida, ma non mi vengono create le directory con le immagini utilizzando xen-tools, anche se nei log vedo scritto done.

Qualche idea?
Grazie

Compatibilità con Ubuntu

Posted by Luca Cipriani at 2011-07-05 12:09
Ciao, sei stai usando una nuova versione di Ubuntu il problema potrebbe proprio essere lì. Infatti dalla versione 10.04 di Ubuntu i prodotti xen non sono più ufficialmente supportati. In effetti rispetto a varie prove svolte in passato risulta incompatibile Ubuntu 10.04 con xen. Probabilmente è dovuto al fatto che Canonical sta andando in direzione kvm e Ubuntu Cloud.
 

Supporto

Ottieni un
aiuto veloce e mirato sul forum, gratis!

partecipa al forum

 

Segui le icone

 

Livelli di difficoltà

livello guruSolo per i "guru"!
livello avanzatoPer configuratori e sviluppatori
livello medioPer chi ha già familiarità
livello basePer tutti!

 

I video

video

Il documento è supportato da un video!