= 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}}}