XenOnLennyHowto » Cronologia » Versione 10
Versione 9 (Amministratore Truelite, 24-08-2009 16:30) → Versione 10/16 (Amministratore Truelite, 24-08-2009 16:31)
[[TracNav(TOC)]] = Installazione e gestione di Xen su Lenny = [http://www.xensource.com Xen] è un sistema di virtualizzazione basato sul concetto di hypervisor, che consente sia di eseguire un sistema operativo modificato per essere eseguito dall'hypervisor con perdite di prestazioni minimali anche su processori che non supportano la virtualizzazione, che di appoggiarsi alle estensioni presenti nei processori moderni per eseguire sistemi non modificati. Nel primo caso occorre che il sistema ospite supporti le modifiche per essere usato da Xen (nel caso di Linux occorre un kernel opportunamente modificato, che su Debian è disponibile nei pacchetti {{{linux-image-2.6.26-2-xen-*}}}), nel secondo appoggiandosi alle estensioni del processore e ad una apposita versione di {{{qemu}}} si può installare un sistema non modificato, quindi una qualunque versione di Linux ed anche Windows. Il meccanismo di funzionamento di Xen prevede che l'hypervisor lanci una istanza privilegiata del sistema operativo ospite (una versione di Linux modificata per essere eseguita dall'hypervisor) che viene chiamata '''Dom0''', da questa sarà poi possibile creare ed eseguire le varie macchine virtuali, chiamate '''DomU'''. == Installazione di base == Con Lenny il supporto per Xen è presente direttamente nella distribuzione che fornisce i pacchetti necessari, pertanto una volta installato il sistema, si potrà installare Xen ed i kernel con esso compatibili direttamente con il comando: {{{ aptitude install xen-linux-system-2.6.26-2-xen-686 }}} utilizzando il metapacchetto che installa tutte le parti necessarie, dall'hypervisor ai kernel modificati ai vari programmi di ausilio. Si possono poi installare anche i programmi ausiliari per Debian che consentono una creazione rapida delle macchina virtuali con: {{{ aptitude install xen-tools }}} Una volta installato il nuovo kernel e l'hypervisor si riavvii la macchina, controllando che la prima voce del {{{menu.lst}}} di Grub avvii l'hypervisor. Una volta installato il tutto si potrà controllare che Xen è attivo con il comando: {{{ xenhost:~# xm dmesg ... (XEN) System RAM: 1982MB (2030012kB) (XEN) Xen heap: 9MB (10084kB) (XEN) Domain heap initialised: DMA width 32 bits (XEN) PAE enabled, limit: 16 GB (XEN) Processor #0 15:11 APIC version 16 (XEN) Processor #1 15:11 APIC version 16 (XEN) IOAPIC[0]: apic_id 4, version 17, address 0xfec00000, GSI 0-23 (XEN) Enabling APIC mode: Flat. Using 1 I/O APICs (XEN) Using scheduler: SMP Credit Scheduler (credit) (XEN) Detected 2304.832 MHz processor. (XEN) AMD SVM: ASIDs enabled. (XEN) HVM: SVM enabled ... }}} che mostra come sia stata riconosciuta la RAM totale, i processori e, nell'ultima riga, come sia disponibile il supporto per HVM (''Hardware Virtual Machine'') cioè la virtualizzazione hardware con il supporto del processore. Il passo successivo è configurare Xen per la gestione delle macchine virtuali, questo viene fatto con il file di configurazione principale che è {{{/etc/xen/xend-config.sxp}}}; il primo passo è garantire un accesso diretto alla rete alle macchine virtuali, per questo occorre, rispetto alla configurazione di default, attivare la gestione in modalità ''bridge'', in cui l'interfaccia fisica viene messa in bridge con le interfacce virtuali delle varie macchine '''DomU''', questo deve essere fatto modificando il file in modo che le direttive di gestione della rete siano le seguenti: {{{ ... (network-script network-bridge) ... #(network-script network-dummy) }}} (nel default la prima è commentata e la seconda no), se l'interfaccia che si vuole utilizzare non è {{{eth0}}} occorrerà specificarla esplicitamente con: {{{ (network-script 'network-bridge netdev=ethX') }}} Nelle precedenti versioni di Xen era necessario limitare la quantità di memoria messa a disposizione del '''Dom0''' con la opzione {{{mem=XXX}}} passata al bootloader, le versioni recenti liberano automaticamente la memoria, ma si può impostare un limite minimo con la direttiva: {{{ (dom0-min-mem 128) }}} (il valore è in Mb, ed il default è 196, eccessivo inutile nella gran parte dei casi). == La gestione delle macchine virtuali con gli xen-tools == Il pacchetto {{{xen-tools}}} installa una serie di programmi applicativi che consentono di creare in maniera veloce nuove macchine virtuali. Per farlo sono disponibili due approcci, quello basato su immagini poste su file, e quello basato su volumi logici di LVM; noi ci baseremo su questo. Si darà pertanto per scontato che si sia installato LVM ed i relativi programmi ausiliari, qualora questo non sia il caso sarà sufficiente farlo con: {{{ aptitude install lvm2 }}} Sarà poi necessario disporre di adeguato spazio disco da dedicare a LVM; a questo scopo si ricordi che una partizione usata come ''volume fisico'' di LVM deve essere marcata come tale come di tipo {{{8E}}}. Se allora {{{/dev/sda3}}} è una partizione libera si potrà creare il gruppo di volumi (che chiameremo {{{xenvg}}} da cui estrarre lo spazio disco per le macchine virtuali con i comandi: {{{ pvcreate /dev/sda3 vgcreate xenvg /dev/sda3 }}} ed in seguito aggiungere eventuali altri dischi con: {{{ pvcreate /dev/sdb1 vgextend xenvg /dev/sdb1 }}} (si consulti la documentazione di LVM o il relativo capitolo su [http://labs.truelite.it/http://svn.truelite.it/documenti/corso.pdf Amministrare GNU/Linux] per i dettagli di gestione di LVM).