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
- (invece di tty1)
ed in /etc/securetty aggiungere xvc0