Progetto

Generale

Profilo

XenOnLennyHowto » Cronologia » Versione 15

Amministratore Truelite, 28-08-2009 11:43

1 2 Amministratore Truelite
[[TracNav(TOC)]]
2 1 Amministratore Truelite
3 15 Amministratore Truelite
h1. Installazione e gestione di Xen su Lenny
4
5
6
"Xen":http://www.xensource.com è un sistema di virtualizzazione basato sul
7 3 Amministratore Truelite
concetto di hypervisor, che consente sia di eseguire un sistema operativo
8
modificato per essere eseguito dall'hypervisor con perdite di prestazioni
9
minimali anche su processori che non supportano la virtualizzazione, che di
10
appoggiarsi alle estensioni presenti nei processori moderni per eseguire
11
sistemi non modificati. 
12 1 Amministratore Truelite
13
Nel primo caso occorre che il sistema ospite supporti le modifiche per essere
14 3 Amministratore Truelite
usato da Xen (nel caso di Linux occorre un kernel opportunamente modificato,
15 15 Amministratore Truelite
<pre>
16 3 Amministratore Truelite
nel secondo appoggiandosi alle estensioni del processore e ad una apposita
17 15 Amministratore Truelite
<pre>
18 1 Amministratore Truelite
qualunque versione di Linux ed anche Windows.
19 3 Amministratore Truelite
20 1 Amministratore Truelite
Il meccanismo di funzionamento di Xen prevede che l'hypervisor lanci una
21
istanza privilegiata del sistema operativo ospite (una versione di Linux
22 15 Amministratore Truelite
modificata per essere eseguita dall'hypervisor) che viene chiamata *Dom0*,
23 4 Amministratore Truelite
da questa sarà poi possibile creare ed eseguire le varie macchine virtuali,
24 15 Amministratore Truelite
chiamate *DomU*.
25 3 Amministratore Truelite
26 1 Amministratore Truelite
27 15 Amministratore Truelite
h2. Installazione di base
28
29
30 4 Amministratore Truelite
Con Lenny il supporto per Xen è presente direttamente nella distribuzione che
31 1 Amministratore Truelite
fornisce i pacchetti necessari, pertanto una volta installato il sistema, si
32
potrà installare Xen ed i kernel con esso compatibili direttamente con il
33
comando:
34 15 Amministratore Truelite
<pre>
35 1 Amministratore Truelite
aptitude install xen-linux-system-2.6.26-2-xen-686
36 15 Amministratore Truelite
</pre>
37 3 Amministratore Truelite
utilizzando il metapacchetto che installa tutte le parti necessarie,
38 6 Amministratore Truelite
dall'hypervisor ai kernel modificati ai vari programmi di ausilio. Si possono
39
poi installare anche i programmi ausiliari per Debian che consentono una
40
creazione rapida delle macchina virtuali con:
41 15 Amministratore Truelite
<pre>
42 1 Amministratore Truelite
aptitude install xen-tools
43 15 Amministratore Truelite
</pre>
44 6 Amministratore Truelite
45
Una volta installato il nuovo kernel e l'hypervisor si riavvii la macchina,
46 15 Amministratore Truelite
<pre>
47 7 Amministratore Truelite
l'hypervisor. Una volta installato il tutto si potrà controllare che Xen è
48 6 Amministratore Truelite
attivo con il comando:
49 15 Amministratore Truelite
<pre>
50 1 Amministratore Truelite
xenhost:~# xm dmesg
51 6 Amministratore Truelite
...
52
(XEN) System RAM: 1982MB (2030012kB)
53 1 Amministratore Truelite
(XEN) Xen heap: 9MB (10084kB)
54
(XEN) Domain heap initialised: DMA width 32 bits
55
(XEN) PAE enabled, limit: 16 GB
56
(XEN) Processor #0 15:11 APIC version 16
57 15 Amministratore Truelite
(XEN) Processor #488 15:11 APIC version 16
58
(XEN) IOAPICr0: apic_id 4, version 17, address 0xfec00000, GSI 0-23
59 6 Amministratore Truelite
(XEN) Enabling APIC mode:  Flat.  Using 1 I/O APICs
60 1 Amministratore Truelite
(XEN) Using scheduler: SMP Credit Scheduler (credit)
61
(XEN) Detected 2304.832 MHz processor.
62
(XEN) AMD SVM: ASIDs enabled. 
63 6 Amministratore Truelite
(XEN) HVM: SVM enabled
64 1 Amministratore Truelite
...
65 15 Amministratore Truelite
</pre>
66 1 Amministratore Truelite
che mostra come sia stata riconosciuta la RAM totale, i processori e,
67 15 Amministratore Truelite
nell'ultima riga, come sia disponibile il supporto per HVM (_Hardware Virtual
68
Machine_) cioè la virtualizzazione hardware con il supporto del processore.
69 1 Amministratore Truelite
70
Il passo successivo è configurare Xen per la gestione delle macchine virtuali,
71
questo viene fatto con il file di configurazione principale che è
72 15 Amministratore Truelite
<pre>
73 8 Amministratore Truelite
alla rete alle macchine virtuali, per questo occorre, rispetto alla
74 15 Amministratore Truelite
configurazione di default, attivare la gestione in modalità _bridge_, in cui
75 8 Amministratore Truelite
l'interfaccia fisica viene messa in bridge con le interfacce virtuali delle
76 15 Amministratore Truelite
varie macchine *DomU*, questo deve essere fatto modificando il file in
77 1 Amministratore Truelite
modo che le direttive di gestione della rete siano le seguenti:
78 15 Amministratore Truelite
<pre>
79 1 Amministratore Truelite
...
80
(network-script network-bridge)
81
...
82
#(network-script network-dummy)
83 15 Amministratore Truelite
</pre>
84 1 Amministratore Truelite
(nel default la prima è commentata e la seconda no), se l'interfaccia che si
85 15 Amministratore Truelite
<pre>
86
<pre>
87 1 Amministratore Truelite
(network-script 'network-bridge netdev=ethX')
88 15 Amministratore Truelite
</pre>
89 1 Amministratore Truelite
90
Nelle precedenti versioni di Xen era necessario limitare la quantità di
91 15 Amministratore Truelite
<pre>
92 1 Amministratore Truelite
passata al bootloader, le versioni recenti liberano automaticamente la
93
memoria, ma si può impostare un limite minimo con la direttiva:
94 15 Amministratore Truelite
<pre>
95 9 Amministratore Truelite
(dom0-min-mem 128)
96 15 Amministratore Truelite
</pre>
97 9 Amministratore Truelite
(il valore è in Mb, ed il default è 196, eccessivo nella gran parte dei casi).
98
99 1 Amministratore Truelite
100 15 Amministratore Truelite
h2. La gestione delle macchine virtuali con gli xen-tools
101
102
103
<pre>
104 9 Amministratore Truelite
consentono di creare in maniera veloce nuove macchine virtuali. Per farlo sono
105 1 Amministratore Truelite
disponibili due approcci, quello basato su immagini poste su file, e quello
106 9 Amministratore Truelite
basato su volumi logici di LVM; noi ci baseremo su questo. Si darà pertanto
107 1 Amministratore Truelite
per scontato che si sia installato LVM ed i relativi programmi ausiliari,
108
qualora questo non sia il caso sarà sufficiente farlo con:
109 15 Amministratore Truelite
<pre>
110 9 Amministratore Truelite
aptitude install lvm2
111 15 Amministratore Truelite
</pre>
112 1 Amministratore Truelite
113
Sarà poi necessario disporre di adeguato spazio disco da dedicare a LVM; a
114 15 Amministratore Truelite
questo scopo si ricordi che una partizione usata come _volume fisico_ di LVM
115
<pre>
116 9 Amministratore Truelite
è una partizione libera si potrà creare il gruppo di volumi (che chiameremo
117 15 Amministratore Truelite
<pre>
118 9 Amministratore Truelite
spazio disco per le macchine virtuali con i comandi:
119 15 Amministratore Truelite
<pre>
120 9 Amministratore Truelite
pvcreate /dev/sda3
121 1 Amministratore Truelite
vgcreate xenvg /dev/sda3 
122 15 Amministratore Truelite
</pre>
123 9 Amministratore Truelite
ed in seguito aggiungere eventuali altri dischi con:
124 15 Amministratore Truelite
<pre>
125 9 Amministratore Truelite
pvcreate /dev/sdb1
126 10 Amministratore Truelite
vgextend xenvg /dev/sdb1
127 15 Amministratore Truelite
</pre>
128 11 Amministratore Truelite
(si consulti la documentazione di LVM o il relativo capitolo su
129 15 Amministratore Truelite
"Amministrare GNU/Linux":http://labs.truelite.it/http://svn.truelite.it/documenti/corso.pdf per i dettagli di gestione di LVM).
130 12 Amministratore Truelite
131 15 Amministratore Truelite
<pre>
132
<pre>
133 12 Amministratore Truelite
una serie di parametri che controllano le modalità di creazione con una
134 15 Amministratore Truelite
<pre>
135 1 Amministratore Truelite
file per i dischi della macchina virtuale occorrerà anzitutto impostare l'uso
136 11 Amministratore Truelite
di LVM con:
137 15 Amministratore Truelite
<pre>
138 1 Amministratore Truelite
lvm = xenvg
139 15 Amministratore Truelite
</pre>
140 11 Amministratore Truelite
dove si è fatto riferimento al volume fisico appena creato;
141
occorrerà poi impostare le dimensioni di default per il disco, la RAM e la
142 12 Amministratore Truelite
swap assegnate a ciascuna macchina virtuale creata; questo si fà con
143 15 Amministratore Truelite
<pre>
144 1 Amministratore Truelite
presenti commentati nello scheletro di configurazione installato da Debian. 
145
146
Si devono poi impostare gli indirizzi; in questo caso si hanno due scelte,
147 15 Amministratore Truelite
<pre>
148 1 Amministratore Truelite
del DHCP, o fornire un IP statico a riga di comando, in tal caso si dovranno
149
comunque impostare le altre proprietà della rete, ed in particolare i 
150
parametri:
151 15 Amministratore Truelite
<pre>
152 1 Amministratore Truelite
gateway   = 172.16.0.1
153
netmask   = 255.255.0.0
154 12 Amministratore Truelite
broadcast = 172.16.255.255
155 15 Amministratore Truelite
</pre>
156 1 Amministratore Truelite
157
Per la creazione delle macchine virtuali esistono diversi metodi, ma fintanto
158 15 Amministratore Truelite
che ci si limita a Debian e Ubuntu è sufficiente usare _deboostrap_, e
159 1 Amministratore Truelite
questo lo si fa con il parametro:
160 15 Amministratore Truelite
<pre>
161 1 Amministratore Truelite
install-method = debootstrap
162 15 Amministratore Truelite
</pre>
163 12 Amministratore Truelite
in questo caso è poi possibile anche indicare la distribuzione di default da
164
usare con:
165 15 Amministratore Truelite
<pre>
166 12 Amministratore Truelite
dist = lenny
167 15 Amministratore Truelite
</pre>
168 1 Amministratore Truelite
Utilizzando questo metodo si potrà creare una macchina virtuale con il comando
169 15 Amministratore Truelite
<pre>
170 13 Amministratore Truelite
macchina stessa, con un comando come:
171 15 Amministratore Truelite
<pre>
172 13 Amministratore Truelite
xen-create-image --hostname=xentest.mydomain.it --ip=172.16.0.31 --role udev
173 15 Amministratore Truelite
</pre>
174 12 Amministratore Truelite
(dove --role è necessario per installare udev nell'ospite, che altrimenti non
175 13 Amministratore Truelite
sarà in grado di utilizzare una console). 
176 12 Amministratore Truelite
177
Si tenga presente che si potrà modificare uno qualunque dei parametri visti in
178
precedenza passando il valore voluto sulla riga di comando, esprimendo
179
l'assegnazione in forma di opzione estesa (cioè come
180 15 Amministratore Truelite
<pre>
181 12 Amministratore Truelite
182
Una volta lanciato il comando questo stamperà una serie di informazioni
183
progressive sulla installazione, con qualcosa del tipo:
184 15 Amministratore Truelite
<pre>
185 12 Amministratore Truelite
General Information
186
--------------------
187
Hostname       :  xentest.mydomain.it
188
Distribution   :  lenny
189
Partitions     :  swap            128Mb (swap)
190
                  /               4Gb   (ext3)
191
Image type     :  full
192
Memory size    :  128Mb
193
Kernel path    :  /boot/vmlinuz-2.6.26-2-xen-686
194
Initrd path    :  /boot/initrd.img-2.6.26-2-xen-686
195
196
[...]
197
198
Creating Xen configuration file
199
Done
200
All done
201
202
203
Logfile produced at:
204
	 /var/log/xen-tools/xentest.ittig.cnr.it.log
205 15 Amministratore Truelite
</pre>
206 12 Amministratore Truelite
207 15 Amministratore Truelite
<pre>
208
<pre>
209 12 Amministratore Truelite
con:
210 15 Amministratore Truelite
<pre>
211 12 Amministratore Truelite
xm create xentest.ittig.cnr.it.cfg
212 15 Amministratore Truelite
</pre>
213 12 Amministratore Truelite
e verificarne l'avvio con:
214 15 Amministratore Truelite
<pre>
215 12 Amministratore Truelite
xm console xentest.ittig.cnr.it.cfg
216 15 Amministratore Truelite
</pre>
217 12 Amministratore Truelite
218
Si tenga presente però che per un bug degli script di creazione sulla macchina
219 15 Amministratore Truelite
<pre>
220
<pre>
221 1 Amministratore Truelite
modificare lo stesso file a mano. Questo può essere fatto montando il volume
222 15 Amministratore Truelite
<pre>
223
<pre>