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...

nldvsegififleconnareddtm

payday loans in uk http://paydayloansdwt.com/ - no fax payday loans online bank payday loans same day payday loans payday loans without direct deposit

hcfexcebclemgdhhbgfkvytmmqtzvzr

viagra tie generic viagra how can i purchase viagra http://canadian-drugwqae.com/ sildenafil viagra

hstkgljoltreglsjdsadevyij

Norpace http://gabapentinneurontinax.com/ - Biltricide Sinemet Primaquine Prothiaden

dhzbikjxhtThyncbxno

Mestinon http://amitriptylineelavilgha.com/ - Voveran п»їArcoxia п»їArcoxia Feldene

hstkgljoltreglsjdsadevyiz

Cordarone http://gabapentinneurontinax.com/ - Oxytrol Prothiaden Levaquin Methocarbamol

ohhxcodzpmzcegrubkhkuarsnwuypfg

levitra viagra cialis comparison generic viagra how can i purchase viagra http://canadian-drugwqae.com/ sildenafil viagra

cbtgtjcy

smupbbkfcjfxuargxlvydsyainjzzqn

generic viagra in usa generic viagra how can i purchase viagra http://canadian-drugwqae.com/ sildenafil viagra

hstkgljoltreglsjdsadevylp

Biltricide http://gabapentinneurontinax.com/ - Depakote Cordarone Lamictal Flexeril

rmaagtkedbgznsjdmuzrombmxpfqmhr

how long are viagra pills good for generic viagra how can i purchase viagra http://canadian-drugwqae.com/ sildenafil viagra

nsjolhrjfndsjamerbjx

Flomax http://meloxicammobicxn.com/ - Brahmi Finax Sildalist Hytrin

grwjithebhnszxfyswehyefwcnaiake

cialis side effect cialis vs viagra cialis dosage for ed http://canadian-drugrbnl.com/ cvs cialis price

tciaeozs

bnylwvztpkxczzvoimnlqjwkqaerxzf

how to use viagra safely generic viagra how can i purchase viagra http://canadian-drugwqae.com/ sildenafil viagra

cialis hong kong Rogerjal

cialis 5mg konstanztherapie
http://www.cialisle.com/# - cialis and breathing problems
when to take cialis 20mg
obat cialis 50 mg
cuanto tiempo tarda en hacer efecto el cialis

dhzbikjxhtThyncblxg

Feldene http://amitriptylineelavilgha.com/ - Tegretol Nimotop Baclofen Tegretol

safe way to buy cialis online Rogerjal

how to get cialis or viagra
http://cialisle.com/# - headache cialis remedy
health insurance and cialis
buy cialis brand canada
cost of 30 day cialis

cialis alternative gnc Rogerjal

viagra and cialis used together
http://www.cialisle.com/# - order cialis online with prescription
recherche cialis generique
taking cialis with alcohol
cialis onset and duration

qapooife

dhzbjxhtThynchqxc

check n go http://payloanrgo.com/ - get cash fast checkintocash payday quick loans pay day advance

gbllytcprpzgddosmtmrgoxdkzsflop

alternate to viagra generic viagra how can i purchase viagra http://canadian-drugwqae.com/ sildenafil viagra

fdnfimea

Purchase cheaply sldnfl no instruction

cialis generic canada user rights
http://viagra-walmart.com - real viagra for sale online canada pharmacies
canadian pharmacy cialis professional posts
viagra for sale for men
- cialis it is currently
cialis all times are utc

nldvsegififleconnaredgqh

get payday loans http://paydayloansdwt.com/ - bad credit payday loans online no checking account payday loans online payday loans with no credit check badcredit payday loans

dhzbjxhtThyncuank

loan fast cash http://payloanrgo.com/ - loans cash loan payday unsecured bad credit loans loan fast cash

xmvoiztnzdfgeoyburbyljlnpyauifp

whats in viagra generic viagra how can i purchase viagra http://canadian-drugwqae.com/ sildenafil viagra

jictcfqv

ozceetzz

what is cialis and viagra Rogerjal

does cialis cause itching
http://www.cialisle.com/# - help paying for cialis
cialis prescribing information australia
viagra and cialis in combination
how much is cialis at walgreens

grdvniwb

nsjhrjfndsjamerbev

pay day http://loanpaydaythz.com/ - no fax cash advance cash loans today cash loans online title loans

hstkgljtreglsjdsadevymo

need cash fast http://cashonlinesbj.com/ - loans advance cash loans cash in one hour online payday advance

cbyuqlom

zvojubgj

dhzbjxhtThyncqrkk

paycheck advance loans http://payloanrgo.com/ - e loans pay day loan lenders loan for bad credit cash advance usa

dhzbjxhtThyncarba

loan with bad credit http://payloanrgo.com/ - quick payday best pay day loans loans online credit cards for people with bad credit

dhzbjxhtThyncvenp

cash http://payloanrgo.com/ - fast cash lenders bad credit unsecured loans united cash loans bad credit loan lenders

discount brand cialis Rogerjal

petite annonce cialis
http://cialisle.com/# - cialis forums
what happens if i take two cialis
cialis apotheke online
how long will i last on cialis

dhzbjxhtThyncmcng

payday advance lenders http://payloanrgo.com/ - payday in advance ace cash advance loans online instant pay day loans

jopqvbdx

nwlksgxq

dhzbjxhtThyncvbwv

cash loan online http://payloanrgo.com/ - loans payday quick loans for bad credit short term loans bad credit loan online payday

Suitable miserly sldnfl no instruction

cialis 20mg usergroups
http://viagra-walmart.com - real viagra for sale online
cialis reviews side effects you cannot post new topics in this forum
viagra for sale
- levitra vs cialis side effects guest.cgi
when should you take cialis

is it legal to buy cialis online in canada Rogerjal

cialis dosage for recreational use
http://www.cialisle.com/# - will tricare cover cialis
cheap cialis overnight
achat cialis 10 mg
cialis with paxil

fvwyvdimmitterispnrr

fast cash lenders http://cashfastlot.com/ - same day loan no fax cash advance cash advance no credit check payday in advance

Repute stingy issue dose

how many mg in a drop of cbd oil
[url=http://cbd-8.com]can cbd oil cause anxiety
[/url] cbd wellness
cbd vape kit
- how long does it take for cbd oil to work for depression
cbd australia

Suitable cheaply sldnfl no prescription

avoid counterfeit cialis soft
http://viagra-walmart.com - viagra 75mg online
cialis 2 dollar 23 cent
viagra sale
- cialis generics search titles
cialis 10mg name

a one time people search

intelius phone number lookup telephone numbers reverse lookup google reverse phone numbers free xudcie hotelscom phone number lookup

cialis viagra mix combining

3b8631 skip to similar viagra

http://viagraojhf.com/

viagra no prescription uk

dhzbjxhtThyncljmz

no credit loans http://payloanrgo.com/ - instant cash advance cash 1 cash advance payday bad credit loans