XenOnDebianEtch

Xen on Debian Etch

Si presuppone che gia sappiate cosa è Xen, qui seguono solo alcune utili note per i passaggi principali della messa in esercizio di un Server con virtualizzazione Xen per ospitare diversi server virtuali.

Dom0

Installate Debian Etch con il CD Netinst. Usate LVM per gestire le partizioni.

Poi assicuratevi di aver installato i seguenti pacchetti con apt-get:

netgroup-xen:~# dpkg -l |grep xen
ii  libc6-xen                              2.3.6.ds1-13etch2               GNU C Library: Shared libraries [Xen version
ii  linux-image-2.6-xen-686                2.6.18+6etch1                   Linux kernel 2.6 image on i686
ii  linux-image-2.6-xen-vserver-686        2.6.18+6etch1                   Linux kernel 2.6 image on i686
ii  linux-image-2.6.18-5-xen-686           2.6.18.dfsg.1-13                Linux 2.6.18 image on i686
ii  linux-image-2.6.18-5-xen-vserver-686   2.6.18.dfsg.1-13                Linux 2.6.18 image on i686
ii  linux-image-xen-686                    2.6.18+6etch1                   Linux kernel image on i686
ii  linux-image-xen-vserver-686            2.6.18+6etch1                   Linux kernel image on i686
ii  linux-modules-2.6.18-5-xen-686         2.6.18.dfsg.1-13                Linux 2.6.18 modules on i686
ii  linux-modules-2.6.18-5-xen-vserver-686 2.6.18.dfsg.1-13                Linux 2.6.18 modules on i686
ii  xen-hypervisor-3.0.3-1-i386-pae        3.0.3-0-2                       The Xen Hypervisor on i386 with pae
ii  xen-tools                              2.8-2                           Tools to manage debian XEN virtual servers
ii  xen-utils-3.0.3-1                      3.0.3-0-2                       XEN administrative tools
ii  xen-utils-common                       3.0.3-0-2                       XEN administrative tools - common files
netgroup-xen:~#

Nota: questi sono i pacchetti da installare nella Dom0 ! Non confondersi con le DomU.

Nota: Per installare Xen su Lenny si deve utilizzare il pacchetto xen-linux-system-2.6.26-1-xen-686 (amd64 per architetture a 64 bit) ottenuto grazie alle patch di suse per il dom0

Creare una DomU

Creare la partizione lvm

lvcreate -Lsize -nNameOfDomUdisk nameOfVolumeGroup
mke2fs -j /dev/nameOfVolumeGroup/NameOfDomUdisk

Oppure creare File

dd if=/dev/zero of=nomefile_hd_della_mia_DomU count=0 bs=1024k seek=dimensionefileinMB

mke2fs -j nomefile_hd_della_mia_DomU

Debian Etch DomU

Ora avete il disco virtuale, per installare ad esempio una Debian Etch

mount /dev/nameOfVolumeGroup/NameOfDomUdisk /mountpoint
debootstrap --arch i386 etch /mountpoint http://ftp.it.debian.org/debian/dists/
chroot mountpoint/

Nel chroot

apt-get update
apt-get install linux-modules-2.6.18-5-xen-vserver-686 libc6-xen

Configurare la configurazione IP in /etc/network/interfaces

# Used by ifup(8) and ifdown(8). See the interfaces(5) manpage or
# /usr/share/doc/ifupdown/examples for more information.

auto lo
iface lo inet loopback

# The first network card - this entry was created during the Debian
# installation (network, broadcast and gateway are optional)
auto eth0
iface eth0 inet static
        address ip
        netmask mask
        gateway gateway

Cambiare l'hostname:

echo myHostname > /etc/hostname

Cambiare sources.list

deb http://ftp.debian.org/debian etch main
deb-src http://debian.fastweb.it/debian/ etch main
deb http://security.debian.org/ etch/updates main contrib
deb-src http://security.debian.org/ etch/updates main contrib

Ricordarsi di installare openssh perchè di default non ci sta :)

apt-get install openssh-server

Gentoo DomU

(da completare)

mount /dev/nameOfVolumeGroup/NameOfDomUdisk /mountpoint
cd /mountpoint
wget stage3.tar.bz2
cd usr/
wget portage-latest.tar.bz2
mount -t proc /proc /mountpoint/proc
chroot /mountpoint

Fondamentale cambiare le CFLAGS nel make.conf

CFLAGS="-O2 -march=i686 -pipe -mno-tls-direct-seg-refs"

Nel chroot

Ricompilate tutta la macchina con il nuovo make.conf

emerge -evat world

Usate il kernel gia compilato dal sito di Xen per fare il primo boot se avete fretta !

Poi una volta partita la macchina, oppure in un chroot, emergete xen-sources e compilate l'ultimo kernel (attualmente 2.6.34)

Potete far partire la DomU a questo punto, usando un file di configurazione di questo tipo:

kernel = "/boot/vmlinuz-2.6.18-xen"
memory = "1024"
name = "myDomU"
vif = [ "ip=160.80.221.11" ]
['file:/home/zioproto/zioproto-gentoo-amd64/zioproto-amd64-gentoo.img,sda1,w','file:/home/zioproto/zioproto-gentoo-amd64/gentoo.swap,sda2,w']
disk = ['phy:/dev/netgroup-xen/minerva,sda1,w']
root = "/dev/sda1 ro"
extra = 'gentoo=nodevfs TERM=xterm xencons=xvc console=xvc0'

Se avete chiamato il file mydomUconfig.cfg potete lanciare la macchina virtuale con

xm create mydomUconfig.cfg -c

L'opzione -c aggancia una console alla macchina virtuale DomU in modo da vedere quello che succede. Potete sganciarvi dalla console con la sequenza di tasti CRTL+]

Gentoo DomU Kernel troubleshooting

Attenzione: con i kernel più recenti il nome della console è diventato xvc0, quindi per vedere la console della macchina dalla Dom0 dovete prendere is seguenti accorgimenti:

in /etc/inittab

c1:12345:respawn:/sbin/agetty 38400 xvc0 linux

ed in /etc/securetty aggiungere xvc0

l'ultima modifica è del 2011-03-01 11:38:34, fatta da ZioPRoTo