Progetto

Generale

Profilo

XenOnLennyHowto » Cronologia » Versione 11

Amministratore Truelite, 24-08-2009 16:57

1 2 Amministratore Truelite
[[TracNav(TOC)]]
2 5 Amministratore Truelite
= Installazione e gestione di Xen su Lenny =
3 1 Amministratore Truelite
4 3 Amministratore Truelite
[http://www.xensource.com Xen] è un sistema di virtualizzazione basato sul
5
concetto di hypervisor, che consente sia di eseguire un sistema operativo
6
modificato per essere eseguito dall'hypervisor con perdite di prestazioni
7
minimali anche su processori che non supportano la virtualizzazione, che di
8
appoggiarsi alle estensioni presenti nei processori moderni per eseguire
9
sistemi non modificati. 
10
11
Nel primo caso occorre che il sistema ospite supporti le modifiche per essere
12
usato da Xen (nel caso di Linux occorre un kernel opportunamente modificato,
13
che su Debian è disponibile nei pacchetti {{{linux-image-2.6.26-2-xen-*}}}),
14
nel secondo appoggiandosi alle estensioni del processore e ad una apposita
15
versione di {{{qemu}}} si può installare un sistema non modificato, quindi una
16
qualunque versione di Linux ed anche Windows.
17
18
Il meccanismo di funzionamento di Xen prevede che l'hypervisor lanci una
19
istanza privilegiata del sistema operativo ospite (una versione di Linux
20 4 Amministratore Truelite
modificata per essere eseguita dall'hypervisor) che viene chiamata '''Dom0''',
21 3 Amministratore Truelite
da questa sarà poi possibile creare ed eseguire le varie macchine virtuali,
22
chiamate '''DomU'''.
23
24
== Installazione di base ==
25
26 4 Amministratore Truelite
Con Lenny il supporto per Xen è presente direttamente nella distribuzione che
27
fornisce i pacchetti necessari, pertanto una volta installato il sistema, si
28
potrà installare Xen ed i kernel con esso compatibili direttamente con il
29
comando:
30 1 Amministratore Truelite
{{{
31
aptitude install xen-linux-system-2.6.26-2-xen-686
32
}}}
33 3 Amministratore Truelite
utilizzando il metapacchetto che installa tutte le parti necessarie,
34 6 Amministratore Truelite
dall'hypervisor ai kernel modificati ai vari programmi di ausilio. Si possono
35
poi installare anche i programmi ausiliari per Debian che consentono una
36
creazione rapida delle macchina virtuali con:
37
{{{
38
aptitude install xen-tools
39
}}}
40
41
Una volta installato il nuovo kernel e l'hypervisor si riavvii la macchina,
42
controllando che la prima voce del {{{menu.lst}}} di Grub avvii
43
l'hypervisor. Una volta installato il tutto si potrà controllare che Xen è
44
attivo con il comando:
45
{{{
46 7 Amministratore Truelite
xenhost:~# xm dmesg
47 6 Amministratore Truelite
...
48
(XEN) System RAM: 1982MB (2030012kB)
49
(XEN) Xen heap: 9MB (10084kB)
50
(XEN) Domain heap initialised: DMA width 32 bits
51
(XEN) PAE enabled, limit: 16 GB
52
(XEN) Processor #0 15:11 APIC version 16
53
(XEN) Processor #1 15:11 APIC version 16
54
(XEN) IOAPIC[0]: apic_id 4, version 17, address 0xfec00000, GSI 0-23
55
(XEN) Enabling APIC mode:  Flat.  Using 1 I/O APICs
56
(XEN) Using scheduler: SMP Credit Scheduler (credit)
57
(XEN) Detected 2304.832 MHz processor.
58
(XEN) AMD SVM: ASIDs enabled. 
59
(XEN) HVM: SVM enabled
60
...
61
}}}
62
che mostra come sia stata riconosciuta la RAM totale, i processori e,
63
nell'ultima riga, come sia disponibile il supporto per HVM (''Hardware Virtual
64
Machine'') cioè la virtualizzazione hardware con il supporto del processore.
65 8 Amministratore Truelite
66
Il passo successivo è configurare Xen per la gestione delle macchine virtuali,
67
questo viene fatto con il file di configurazione principale che è
68
{{{/etc/xen/xend-config.sxp}}}; il primo passo è garantire un accesso diretto
69
alla rete alle macchine virtuali, per questo occorre, rispetto alla
70
configurazione di default, attivare la gestione in modalità ''bridge'', in cui
71
l'interfaccia fisica viene messa in bridge con le interfacce virtuali delle
72
varie macchine '''DomU''', questo deve essere fatto modificando il file in
73
modo che le direttive di gestione della rete siano le seguenti:
74
{{{
75
...
76
(network-script network-bridge)
77
...
78
#(network-script network-dummy)
79
}}}
80
(nel default la prima è commentata e la seconda no), se l'interfaccia che si
81
vuole utilizzare non è {{{eth0}}} occorrerà specificarla esplicitamente con:
82
{{{
83 9 Amministratore Truelite
(network-script 'network-bridge netdev=ethX')
84 8 Amministratore Truelite
}}}
85
86
Nelle precedenti versioni di Xen era necessario limitare la quantità di
87
memoria messa a disposizione del '''Dom0''' con la opzione {{{mem=XXX}}}
88
passata al bootloader, le versioni recenti liberano automaticamente la
89
memoria, ma si può impostare un limite minimo con la direttiva:
90
{{{
91
(dom0-min-mem 128)
92
}}}
93 10 Amministratore Truelite
(il valore è in Mb, ed il default è 196, eccessivo nella gran parte dei casi).
94 9 Amministratore Truelite
95
== La gestione delle macchine virtuali con gli xen-tools ==
96
97
Il pacchetto {{{xen-tools}}} installa una serie di programmi applicativi che
98
consentono di creare in maniera veloce nuove macchine virtuali. Per farlo sono
99
disponibili due approcci, quello basato su immagini poste su file, e quello
100
basato su volumi logici di LVM; noi ci baseremo su questo. Si darà pertanto
101
per scontato che si sia installato LVM ed i relativi programmi ausiliari,
102
qualora questo non sia il caso sarà sufficiente farlo con:
103
{{{
104
aptitude install lvm2
105
}}}
106
107
Sarà poi necessario disporre di adeguato spazio disco da dedicare a LVM; a
108
questo scopo si ricordi che una partizione usata come ''volume fisico'' di LVM
109
deve essere marcata come tale come di tipo {{{8E}}}. Se allora {{{/dev/sda3}}}
110
è una partizione libera si potrà creare il gruppo di volumi (che chiameremo
111
{{{xenvg}}} da cui estrarre lo
112
spazio disco per le macchine virtuali con i comandi:
113
{{{
114
pvcreate /dev/sda3
115
vgcreate xenvg /dev/sda3 
116
}}}
117
ed in seguito aggiungere eventuali altri dischi con:
118
{{{
119
pvcreate /dev/sdb1
120
vgextend xenvg /dev/sdb1
121
}}}
122
(si consulti la documentazione di LVM o il relativo capitolo su
123 10 Amministratore Truelite
[http://labs.truelite.it/http://svn.truelite.it/documenti/corso.pdf Amministrare GNU/Linux] per i dettagli di gestione di LVM).
124 11 Amministratore Truelite
125
La configurazione degli {{{xen-tools}}} viene eseguita con il file
126
{{{/etc/xen-tools/xen-tools.conf}}}, dato che il default è usare dei file
127
occorre anzitutto scommentare e impostare la seguente chiave:
128
{{{
129
lvm = xenvg
130
}}}
131
che indica di usare LVM attingendo lo spazio al volume fisico appena creato;
132
occorrerà poi impostare le dimensioni di default per il disco, la RAM e la
133
swap assegnate a ciascuna macchina virtuale creata; questo si fà con le
134
direttive {{{size}}}, {{{memory}}} e {{{swap}}} presenti e ben commentate
135
nello scheletro di configurazione installato da Debian. 
136
137
Si devono poi impostare gli indirizzi; in questo caso si hanno due scelte,
138
usare la direttiva {{{dhcp = 1}}} che configura la macchina virtuale per l'uso
139
del DHCP, o fornire un IP statico a riga di comando, in tal caso si dovranno
140
comunque impostare le altre proprietà della rete, ed in particolare le
141
direttive:
142
{{{
143
gateway   = 172.16.0.1
144
netmask   = 255.255.0.0
145
broadcast = 172.16.255.255
146
}}}
147
148
Per la creazione delle macchine virtuali esistono diversi metodi, ma fintanto
149
che ci si limita a Debian e Ubuntu è sufficiente usare ''deboostrap'', e
150
questo lo si fa con la direttiva:
151
{{{
152
install-method = debootstrap
153
}}}
154
in questo caso è poi possibile anche indicare la distribuzione di default da
155
usare con:
156
{{{
157
dist = lenny
158
}}}