Progetto

Generale

Profilo

XenOnEtchHowto » Cronologia » Versione 11

Simone Piccardi, 24-12-2010 12:51

1 10 Amministratore Truelite
h1. Installazione del sistema di virtualizzazione Xen e di una immagine di Debian Etch
2
3
4
Occorre anzitutto avere installato una distribuzione Debian Etch, i prerequisiti per l'installazione dei sorgenti, secondo quanto indicato sul sisto di "Xen":http://www.xensource.com sono i seguenti:
5
* 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
* Build tools (gcc v3.2.x or v3.3.x, binutils, GNU make). 
10 1 Amministratore Truelite
* Development installation of zlib (e.g., zlib-dev). 
11
* Development installation of Python v2.2 or later (e.g., python-dev).
12 11 Simone Piccardi
13
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: 
14
15 10 Amministratore Truelite
<pre>
16 1 Amministratore Truelite
apt-get update
17
apt-get dist-upgrade
18
apt-get install bridge-utils
19 10 Amministratore Truelite
</pre>
20 1 Amministratore Truelite
fatto questo si dovranno installare i pacchetti specifici per poter utilizzare Xen:
21 10 Amministratore Truelite
<pre>
22 1 Amministratore Truelite
apt-get install xen-utils-3.0-unstable-1          \
23
                xen-hypervisor-3.0.3-1-i386       \
24 6 Amministratore Truelite
                xen-ioemu-3.0-unstable            \
25 1 Amministratore Truelite
                xen-docs-3.0-unstable             \
26
                linux-image-2.6.18-2-xen-686      \
27
                linux-modules-2.6.18-2-xen-686    \
28
                libc6-xen                         \
29
                xen-tools                         \
30
                sysfsutils                        \
31
                file                              \
32
</pre>
33
34 11 Simone Piccardi
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.
35
36
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: 
37
38 1 Amministratore Truelite
<pre>
39 10 Amministratore Truelite
(network-script network-bridge)
40
(vif-script vif-bridge)
41 6 Amministratore Truelite
</pre>
42 1 Amministratore Truelite
43 11 Simone Piccardi
mentre si devono commentare tutte le restanti impostazioni relative a @vif-script@ and @network-script@.
44 6 Amministratore Truelite
45 10 Amministratore Truelite
h2. Creazione delle macchine virtuali
46 1 Amministratore Truelite
47
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. 
48
49 11 Simone Piccardi
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).
50 10 Amministratore Truelite
51 11 Simone Piccardi
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: 
52
53 10 Amministratore Truelite
<pre>
54
mkdir /home/xen
55
</pre>
56 11 Simone Piccardi
57
poi occorrerà modificare il file @/etc/xen-tools/xen-tools.conf@ perché sia compatibile con la nostra installazione nel seguente modo: 
58
59 10 Amministratore Truelite
<pre>
60 1 Amministratore Truelite
dir=/home/xen 
61
#opzione per usare debootstrap per creare l'immagine
62
debootstrap = 1
63
size = 4Gb
64 6 Amministratore Truelite
memory = 128 Mb
65 1 Amministratore Truelite
swap = 128Mb
66
fs = ext3 è 
67
dist = etch
68
image = sparse
69
#imposta gateway e netmask secondo le tue impostazioni di rete
70
gateway = 192.168.1.1 
71
netmask = 255.255.255.0
72
dhcp = 1
73
passwd = 1
74
#Kernel e ramdisk da usare con i server virtuali
75
#controlla che esistano realmente altrimenti creali
76
kernel = /boot/vmlinuz-2.6.17-2-xen-686
77
initrd = /boot/initrd.img-2.6.17-2-xen-686
78
mirror = http://ftp.us.debian.org/debian/
79 10 Amministratore Truelite
</pre>
80 1 Amministratore Truelite
81
Per creare una immagine si potrà utilizzare il seguente comando:
82 11 Simone Piccardi
83 4 Amministratore Truelite
<pre>
84 1 Amministratore Truelite
xen-create-image --hostname=nomeImmagine --passwd
85 10 Amministratore Truelite
</pre>
86 11 Simone Piccardi
87 10 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:
88 11 Simone Piccardi
89 10 Amministratore Truelite
<pre>
90
xm create /etc/xen/nomeImmagine.cfg -c
91 5 Amministratore Truelite
</pre>
92
93 11 Simone Piccardi
dove l'opzione @-c@ serve ad agganciare una console al sistema che è stato fatto avviare.
94 10 Amministratore Truelite
95 9 Amministratore Truelite
h2. Amministrazione dei sistemi virtuali
96 10 Amministratore Truelite
97
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_.
98
99 11 Simone Piccardi
E' una buona regola dopo avere creato la macchina creare uno standard file debian @/etc/hosts@ usato per convertire i nomi degli elaboratori in numeri IP e viceversa (nel quale inserire il nome della macchina).