Progetto

Generale

Profilo

XenOnEtchHowto » Cronologia » Versione 7

Amministratore Truelite, 06-12-2006 15:51

1 3 Amministratore Truelite
[[TracNav(TOC)]]
2
= Installazione del sistema di virtualizzazione Xen e di una immagine di Debian Etch =
3 1 Amministratore Truelite
4 4 Amministratore Truelite
Occorre anzitutto avere installato una distribuzione Debian Etch, i prerequisiti per l'installazione dei sorgenti, secondo quanto indicato sul sisto di [http://www.xensource.com Xen] sono i seguenti:
5 2 Amministratore Truelite
 * A working Linux distribution using the GRUB bootloader and running on a P6-class or newer CPU. 
6
 * The iproute2 package. 
7
 * The Linux bridge-utils2.1 (e.g., /sbin/brctl) 
8
 * The Linux hotplug system2.2 (e.g., /sbin/hotplug and related scripts). On newer distributions, this is included alongside the Linux udev system2.3. 
9 1 Amministratore Truelite
 * Build tools (gcc v3.2.x or v3.3.x, binutils, GNU make). 
10 2 Amministratore Truelite
 * Development installation of zlib (e.g., zlib-dev). 
11 1 Amministratore Truelite
 * Development installation of Python v2.2 or later (e.g., python-dev).
12 4 Amministratore Truelite
gran parte di tutto ciò è già disponibile nell'installazione del sistema base, il solo pacchetto che va agggiunto a mano è {{{bridge-utils}}}, questo lo si farà, dopo aver aggiornato l'indice dei pacchetti e tutte le dipendenze, con i comandi:
13 1 Amministratore Truelite
{{{
14
apt-get update
15
apt-get dist-upgrade
16 4 Amministratore Truelite
apt-get install bridge-utils
17 1 Amministratore Truelite
}}}
18 4 Amministratore Truelite
fatto questo si dovranno installare i pacchetti specifici per poter utilizzare Xen:
19 1 Amministratore Truelite
{{{
20 6 Amministratore Truelite
apt-get install xen-utils-3.0-unstable-1          \
21 1 Amministratore Truelite
                xen-hypervisor-3.0.3-1-i386       \
22
                xen-ioemu-3.0-unstable            \
23
                xen-docs-3.0-unstable             \
24 6 Amministratore Truelite
                linux-image-2.6.18-2-xen-686      \
25
                linux-modules-2.6.18-2-xen-686    \
26 1 Amministratore Truelite
                libc6-xen                         \
27 4 Amministratore Truelite
                xen-tools                         \
28 1 Amministratore Truelite
                sysfsutils                        \
29
                file                              \
30
}}}
31 6 Amministratore Truelite
in particolare {{{libc6-xen}}} è fondamentale nelle macchine virtuali Xen con Debian, in quanto il supporto delle GLIBC ordinarie da luogo a problemi sugli indirizzi virtuali.
32 1 Amministratore Truelite
33 4 Amministratore Truelite
Una volta fatto questo si dovrà modificare il file di configurazione di Xen che si trova in {{{/etc/xen/xend-config.sxp}}} per inserire le corrette impostazioni di rete; si devono decommentare le seguenti righe:
34 1 Amministratore Truelite
{{{
35
(network-script network-bridge)
36
(vif-script vif-bridge)
37
}}}
38
mentre si devono commentare tutte le restanti impostazioni relative a '''vif-script''' and '''network-script'''.
39
40 6 Amministratore Truelite
41
== Creazione delle macchine virtuali ==
42
43 7 Amministratore Truelite
In rete si trovano varie immagini di distribuzioni già pronte per l'uso con Xen, che si possono utilizzare direttamente. Si tenga presente però che per ciascuna di esse sarà comunque utilizzato il kernel installato a ''ring 0'' (vale a dire sulla distribuzione ospite). Questo può dare luogo a problemi qualora  poi all'interno della distribuzione si debbano utilizzare delle funzionalità che necessitano di moduli aggiuntivi rispetto a quelli caricati all'avvio dal RAM-disk iniziale. 
44
45
In tal caso infatti la distribuzione eseguita a ''ring 1'' non disporrà dei necessari file sotto {{{/lib/modules}}}, pertanto sarà opportuno copiare la relativa directory (nel caso dei pacchetti citati in questo esempio {{{/lib/modules/2.6.18-2-xen-686}}}) dal sistema ospite sul filesystem radice della macchina virtuale (che si sarà opportunamente montato in loopback a macchina virtuale spenta).
46
47 4 Amministratore Truelite
Per gestire le immagini delle macchine virtuali si utilizzeranno i programmi del pacchetto {{{xen-tools}}}; anzitutto si dovrà creare una directory che ospiterà i files della immagine da creare:
48 1 Amministratore Truelite
{{{
49
mkdir /home/xen
50
}}}
51 4 Amministratore Truelite
poi occorrerà modificare il file {{{/etc/xen-tools/xen-tools.conf}}} perché sia compatibile con la nostra installazione nel seguente modo:
52 1 Amministratore Truelite
{{{
53
dir=/home/xen 
54
#opzione per usare debootstrap per creare l'immagine
55
debootstrap = 1
56
size = 4Gb
57
memory = 128 Mb
58
swap = 128Mb
59 6 Amministratore Truelite
fs = ext3 è 
60 1 Amministratore Truelite
dist = etch
61
image = sparse
62
#imposta gateway e netmask secondo le tue impostazioni di rete
63
gateway = 192.168.1.1 
64
netmask = 255.255.255.0
65
dhcp = 1
66
passwd = 1
67
#Kernel e ramdisk da usare con i server virtuali
68
#controlla che esistano realmente altrimenti creali
69
kernel = /boot/vmlinuz-2.6.17-2-xen-686
70
initrd = /boot/initrd.img-2.6.17-2-xen-686
71
mirror = http://ftp.us.debian.org/debian/
72
}}}
73
74 4 Amministratore Truelite
Per creare una immagine si potrà utilizzare il seguente comando:
75 1 Amministratore Truelite
{{{
76
xen-create-image --hostname=nomeImmagine --passwd
77
}}}
78 4 Amministratore Truelite
e l'utente dovrà inserire una password di root. Dopo che l'installazione è terminata è possibile fare il boot dell'immagine col seguente comando:
79 1 Amministratore Truelite
{{{
80
xm create /etc/xen/nomeImmagine.cfg -c
81
}}}
82
dove l'opzione {{{-c}}} serve ad agganciare una console al sistema che è stato fatto avviare.
83 6 Amministratore Truelite
84 5 Amministratore Truelite
85
== Amministrazione dei sistemi virtuali ==
86
87
Si tenga presente che benché molto simili ad un sistema reale, i sistemi virtualizzati presentano comunque delle differenze rispetto ad un sistema ordinario, in particolare va tenuto presente che il tempo di sistema viene gestito in maniera unica a ''ring 0'', cioè non sarà possibile impostare il tempo o la data nei vari sistemi virtualizzati, ma soltanto nel sistema ospite che appunto viene eseguito a ''ring 0''.