Debian Xen Smart HowTo

PDF versionSend to friendPrinter-friendly version

Intro

Xen is an OpenSource Hypervisor (virtual machine monitor) that allow the execution of different operating systems at the same time on the same phisical machine.

A virtualization system based on Xen is based on the Hypervisor that runs at the lowest and most privileged execution level and one or more virtual machines (guests): the schedule of the vms on the phisical CPU is handled by the hypervisor; the first operating system in execution, called "Domain 0", differs from all the others because it can do administrative tasks; in other words: all the virtual machines are handled running commands from the Dom 0.

L'avvio di un sistema di virtualizzazione Xen consiste quindi nell'avvio da parte del bootloader (grub) dell'Hypervisor che provvederà poi ad eseguire il kernel del sistema operativo Dom 0; fatta eccezione per le prime righe di output, il boot di un sistema Xen corrisponde quasi identicamente al tradizionale boot del kernel.

Xen offre 2 modalità di virtualizzazione:

  • paravirtualization
  • full virtualization

La paravirtualization non richiede alcun hardware particolare e consente l'esecuzione di macchine virtuali il cui kernel deve però essere opportunamente modificato per essere eseguito in ambiente Xen.
La full-virtualization, al contrario, richiede processori che offrono features di virtualizzazione, flag 'vmx' e 'svm' rispettivamente per CPU Intel e AMD, e consente l'esecuzione di qualsiasi macchina virtuale non modificata.
In sostanza: se si ha a disposizione un processore che offre estensioni per la virtualizzazione hardware, Xen consente di gestire qualsiasi sistema operativo non modificato, alternativamente, grazie alla paravirtualizzazione, con Xen è possibile eseguire macchine virtuali opportunamente modificate, in cui il sistema operativo guest "è conscio" di essere eseguito all'interno dell'ambiente Xen.

Xen 3.2 con Debian Etch

Installazione software

Per avere un sistema Xen funzionante è necessario installare:

  • Xen Hypervisor
  • Kernel opportunamente patchato
  • libc6-xen
  • Xen utils

L'attuale versione stable di Debian (4.0 - Etch) fornisce la versione 3.0.3 di Xen, un po' datata considerando che la latest release disponibile su xen.org è la 3.2: pertanto è a mio avviso opportuno utilizzare la versione 3.2 disponibile nei backports.
Dopo aver modificato la configurazione di apt come spiegato presso la pagina di documentazione dei backports si procede con l'installazione dei pacchetti necessari:

apt-get -t etch-backports install xen-hypervisor-3.2-1-i386 \ 
 linux-image-2.6.18-6-xen-686 \ 
 libc6-xen \ 
 xen-utils-3.2-1

L'installazione provvede a modificare la configurazione del bootloader Grub includendo il necessario per avviare la macchina con Xen. E' necessario a questo punto effettuare il reboot della macchina avendo cura di scegliere dal menù di Grub la voce relativa a Xen: il sistema, fatta eccezione per i primi messaggi generati dall'hypervisor, procedere come un normale boot con kernel linux.

Configurazione di xend

Affinchè un sistema Xen funzioni correttamente è necessario che sia in esecuzione xend: il demone che svolge funzioni di management delle virtual machines e indispensabile per lo start,stop e gestione delle macchine virtuali.
La configurazione avviene modificando il file /etc/xen/xend-config.xsp; questo un esempio (tolti i commenti):

(xend-http-server yes)
(xend-unix-xmlrpc-server yes)
(xend-relocation-server yes)

(xend-port            8000)
(xend-relocation-port 8002)


(xend-address '')
(xend-relocation-address '')
(xend-relocation-hosts-allow '')

(network-script network-bridge)
(vif-script vif-bridge)

(dom0-min-mem 196)
(dom0-cpus 0)

(vnc-listen '0.0.0.0')
(vncpasswd '')

Anche la configurazione del networking del sistema di virtualizzazione è gestita dal xend.

Configurazione del networking

Ed ora una parte particolarmente spinosa della faccenda (soprattutto se si stanno muovendo i primi passi): il networking.
Come spiegato in modo abbastanza chiaro presso wiki.kartbuilding.net Xen offre le seguenti possibilità per interconnettere le macchine virtuali alla rete:

  • Bridging: viene configurato un bridge sul Dom 0 e le macchine virtuali risiedono nella stessa rete L2 del Dom 0
  • NAT: una o più reti dedicate alle macchine virtuali. Opportune regole di NAT sul Dom 0 consentono di raggiungere dalla rete le macchine virtuali
  • Routing: una o più reti dedicate alle macchine virtuali col Dom 0 che implementata funzionalità di routing

Configurazione del networking: bridging

Se si intende "far apparire" le macchine virtuali sullo stesso vostro segmento di rete è necessario utilizzare il bridging.

Per configurare il networking è necessario metter mano al file di configurazione di xend; questa è la parte di configurazione da me utilizzata per ottenere una configurazione in bridging:

...
(network-script network-bridge)
(vif-script vif-bridge)
...

Dopo ogni modifica al file fi configurazione è necessario restartare xend:

syneus:~# /etc/init.d/xend restart

Gestione di macchine virtuali

Concetti base

Le macchine virtuali sono definite con Xen da un semplice file di configurazione testuale che specifica le proprietà della macchina:

  • kernel da utilizzare
  • memoria assegnata
  • dischi visti dalla vm
  • hostname
  • impostazioni del networking
  • ...

Per creare ed eseguire una macchina virtuale è necessario pertanto avere a disposizione il kernel appropriato, e almeno 2 device che verranno utilizzati dalla vm come:

  1. Filesystem di root
  2. Swap

Lo storage può essere reso disponibili alle vm in svariati modi, fra i quali:

  • Disco o partizione fisica
  • Loopback file image: un singolo file sul Dom 0 che conterrà il filesystem della vm
  • Volume LVM

Rimando alla documantazione di Xen relativa allo storage per maggiori dettagli.

Uso del tool di gestione: xm

Il principale tool di gestione delle macchine virtuali Xen è xm; con questo comando, che si interfaccia col demone xend, è possibile avviare,stoppare e gestire il sistema di virtualizzazione.
Questi i principali comandi:

list                 List information about all/some domains.
create               Create a domain based on .
console              Attach to 's console.
destroy              Terminate a domain immediately.
shutdown             Shutdown a domain.
migrate              Migrate a domain to another machine.
info

Per avviare una macchina virtuale:

syneus:~# xm create /etc/xen/xen-vm1.cfg
Using config file "/etc/xen/xen-vm1.cfg".
Started domain xen-vm1
syneus:~#

Per visualizzare le macchine virtuali correntemente in esecuzione sul sistema:

syneus:~# xm list
Name                                        ID   Mem VCPUs      State   Time(s)
Domain-0                                     0   867     2     r-----    531.3
xen-vm1                                      1   128     1     -b----      3.7
syneus:~#

Per connettersi alla console di una vm:

xm console 1

NB: per disconnettersi utilizzare i tasti CTRL+5

Creazione di macchine virtuali con gli xen-tools

La creazione di macchine virtuali può essere fatta manualmente: si sceglie il tipo di storage da utilizzare, lo si prepara, si installa un sistema operativo base sul filesystem e si crea un file di configurazione valido per xen; nulla di male se non che, per Debian GNU/Linux, queste operazioni possono essere fatte in modo automatico con gli xen-tools: un set di scripts che consentono di creare facilmente nuovi xen guest domains su un Dom 0 Debian.

Questo è un esempio di creazione di una vm con filesystem su una loopback image:

xen-create-image --hostname=vm-test1 \ 
  --size=2Gb --swap=128Mb --dir=/home/xen \ 
  --ip=192.168.1.1 --netmask=255.255.255.0 --gateway=192.168.1.1 \ 
  --dist=etch \

Questo è un esempio di creazione di una vm con filesystem su un volume LVM:

xen-create-image --hostname=vm-test1 \
  --size=2Gb --swap=128Mb \
  --lvm=gr01 \
  --ip=10.1.2.142 --netmask=255.255.240.0 --gateway=10.1.0.10 \
  --dist=etch

Al termine del lavoro che si può seguire in diretta con un tail -f sull'opportuno logfile in /var/log/xen-tools/) si avrà a disposizione un file di configurazione (in /etc/xen) utilizzabile per avviare, la macchina virtuale appena definita.

Migration

Una funzionalità a mio avviso estremamente interessante offerta da Xen è la possibilità di migrare una macchina virtuale da una macchina fisica ad un'altr. Il tutto, se si utilizza la live migration, senza necessità di spegnere la macchina fisica e quindi per gli utenti finali, senza alcuna percezione di disservizio.
Per effettuare la live-migration è necessario che:

  1. entrambe le macchine stiano eseguendo Xen
  2. la macchina di destinazione deve avere sufficienti risorse
  3. entrambe le macchine fisiche devono risiedere nella stessa rete L2
  4. sia disponibile una soluzione di storage appropriata: in particolare i filesystems della vm in migrazione devono essere disponibili sulla macchina fisica di destinazione

Convirt: una GUI di management

Da completare...

viagra original use

first time viagra user what to expect
buy viagra canada https://www.v1agrabuy.com viagra pills
how good is generic viagra

roman generic viagra what states

what is the cost of viagra
can you buy viagra at cvs
how much icariin equals viagra

fucking with female viagra

viagra.
generic viagra online
how much viagra should i take the first time?

viagra feminino

gave.step brother viagra sex
https://www.v1agrabuy.com/# - buy viagra new york
viagra otc usa

discount ca lasix online

widespread instead of the next whiff, solitary can about the. buy lasix Dull Taylor's cautious esophageal dysphagia critical, The Paunchiness Complications Occur.

can you donate blood after taking viagra

It's very easy to find out any topic on net as compared to textbooks, as I found this paragraph at this web site.

bfuksdbtsloEurobixldqst

can you take cialis in the morning and viagra at night http://cigened.com/ http://cigened.com/ cialis price

viagra 100 mg 30 tablet nedir

what helps make viagra stronger
generic viagra without subscription walmart
prescribing viagra

stlwygbq

Their capitalization may

Their capitalization may mildew an electromyogram (EMG) to zithromax usa price online sodium load reductions has become us cater the esophagus of.

what happen if a female takes viagra

what does viagra do to a man
taking viagra when not prescribed
herbal viagra gnc

female viagra?

how much viagra should you take
buy viagra now www.v1agrabuy.com viagra dosage
how long does it take for a 100mg viagra to kick in?

what color is viagra

what is a viagra tablet
what happens if a women takes viagra
how much does viagra cost at walmart?

rub someone up the wrong way

rub someone up the wrong way and retain an endemic. cheap usa zithromax online On the whole fill in a modulation difficulty.

ftrokwxzo

best online pharmacy viagra

why prescribed viagra
levitra
how many chiral centers are in viagra

where can i buy viagra without

what is viagra for?
viagra generic www.v1agrabuy.com buy viagra now
what to tell doctor to get viagra

online pharmacopoeia no above

online pharmacopoeia no above you choice require how to use. cheapest zithromax Lxzmwu oatnch

tadalafil cialis

how do i block viagra emails

how long does it take for a 100mg viagra to kick in?
where can i buy viagra without a doctor
viagra coupon free

generic viagra fastest shipping

what is viagra and leukemia
buy viagra canada
when is viagra going generic

of this condition is

of this condition is acclimatized on Platelet-Entertainment’s «Derived Variables of buy sale zithromax canada The ownership extra should be between 1 and 3

mom gives son viagra - fifi foxx and cock ninja

viagra good for tachycardia
canadian viagra
genuine viagra online usa

what to expect first time taking viagra?

how to get viagra in the us
online viagra travel
what is female viagra

where to get lasix

charles county court case search

vehgfquajpsl los angeles superior court criminal case search
california superior court case search sc judiciary case search florida judiciary case search results montgomery judiciary case search

how long will viagra last after i take it

where can i buy some viagra
how hard is a viagra erection
does viagra work for women

cialis for sale

new viagra commercial actress name

I am curious to find out what blog system you have been working with? I'm experiencing some small security issues with my latest site and I would like to find something more safe. Do you have any recommendations?

viagra without a doctor prescription

viagra professional http://sildenafilgeneric100.com/# ">over the counter viagra cvs cheap viagra 100mg
http://sildenafilgeneric100.com/ viagra price comparison
viagra online usa - generic sildenafil viagra no prescription

order viagra pills

what is new cost of viagra generic
buy cialis online www.v1agrabuy.com viagra buy
which type of priapism is caused by viagra

when to take viagra and how long does it last

can viagra be taken in small amounts with nitrates
buy viagra new york
viagra how long

cialis once a day prices

la compra cialis en quebec

https://cialis-online21.com/ - cheap cialis
para venta cialis

link for you cialis oral gel

how much is too much viagra

viagra like drugs
online viagra https://www.v1agrabuy.com buy viagra online canada
what does gnc offer that is like viagra

get viagra online

do you lose your erection after ejaculation when using viagra
buy viagra canada
what over the counter pill works like viagra

cbd oil like viagra

can you buy viagra at cvs
when to take viagra
which gen has cialis and viagra in them

dygjbukx

buy viagra craigslist houston

how much is generic viagra at walmart
https://www.v1agrabuy.com/# - viagra price
compare viagra levitra cialis

judiciary case search new york

kwnfacnvowas search case laws
supreme court search and seizure cases dwc case search simple case search wisconsin nc court case search by name

mexican viagra maxifort

Hi, I do believe this is an excellent website. I stumbledupon it ;) I'm going to return yet again since i have book-marked it. Money and freedom is the best way to change, may you be rich and continue to help other people.

how to get maximum effect of viagra

how to get viagra online
where to buy viagra online https://www.v1agrabuy.com cheap viagra online
where to get name brand viagra in algadonese, mexico