Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Virtualizzazione con Gnu/Linux e Xen
1. LINUX DAY 2007
GNU/Linux User Group
Perugia
http://www.perugiagnulug.org
CSOLUTION.IT
2. ~$ whois Claudio Cardinali
✔ Socio ed attivista di ILS, Gnu Linux User Group di
Perugia, A.I.P. Associazione informatici
professionisti, O.P.S.I Osservatorio Privacy e
Sicurezza, Sikurezza.org, no1984.
✔ Svolge attività di consulenza presso diverse
aziende, principalmente in merito a tecnologie
legate ad Internet, al networking ed alla sicurezza
✔ System Admin @ CSOLUTION.IT
✔ partner Network Accordance.it
CSOLUTION.IT Xen alla Debian Way - Claudio Cardinali - claudio@csolution.it
3. Xen alla Debian Way
CSOLUTION.IT Xen alla Debian Way - Claudio Cardinali - claudio@csolution.it
4. Notizia di pochi mesi..
● acquisizione di XenSource per 500mln di
dollari da parte di Citrix
● http://www.theregister.co.uk/2007/08/15/citrix_buys_xensource/
CSOLUTION.IT Xen alla Debian Way - Claudio Cardinali - claudio@csolution.it
6. virtualizzazione
● Per virtualizzazione si intende la creazione di una versione
virtuale di una risorsa normalmente fornita fisicamente.
● Qualunque risorsa hardware o software può essere
virtualizzata: sistemi operativi, memoria, spazio disco,
applicativi, reti.
● Tra gli impieghi della virtualizzazione il più utilizzato è
probabilmente la virtualizzazione di sistemi operativi.
● Via software è necessario un sistema operativo in esecuzione
(host) che esegua un software di virtualizzazione che crei ad
alto livello le varie virtual machine (guest) che girano come
se fossero dei normali programmi e che comunicano con
l'hardware solo indirettamnete, tramite il software di
virtualizzazione che agisce a basso livello.
CSOLUTION.IT Xen alla Debian Way - Claudio Cardinali - claudio@csolution.it
7. Virtualizzazione
La virtualizzazione può essere vista in diversi modi:
● Emulazione: la macchina virtuale simula completamente l'hardware, utilizzando un
sistema operativo reale che poi "gira" per la CPU virtuale;
● Paravirtualizzazione: la macchina virtuale non simula un hardware ma offre speciali
API che richiedono modifiche nel sistema operativo;
CSOLUTION.IT Xen alla Debian Way - Claudio Cardinali - claudio@csolution.it
8. Paravirtualizzazione
● Contrariamente ad altri software di virtualizzazione,
Xen non mira a creare un'emulazione dell'hardware
di un generico computer x86 su cui far girare il
sistema operativo, ma piuttosto di regolare e
controllare l'accesso alle risorse fisiche della
macchina da parte delle varie istanze delle
macchine virtuali; questo approccio prende il nome
di paravirtualizzazione ed è simile a ciò che si
utilizza nel campo dei mainframe e dei
supercomputer....
CSOLUTION.IT Xen alla Debian Way - Claudio Cardinali - claudio@csolution.it
9. Debian minimale
<< netinst >>
CSOLUTION.IT Xen alla Debian Way - Claudio Cardinali - claudio@csolution.it
10. xen-linux-system
● aptget install xenlinuxsystem
2.6.185xen686 xenlinuxsystem
2.6.185xenvserver686
XEN system with Linux 2.6.18 image on i686
This package depends on the binary Linux image and the correct hypervisor.
linuximage2.6.185xen686
xenhypervisor3.0.31i386pae
The hypervisor is the "core" for XEN itself. It gets booted by the boot
loader and controls cpu and memory, sharing them between your
administrative domain (Domain 0) and the virtual guest systems.
CSOLUTION.IT Xen alla Debian Way - Claudio Cardinali - claudio@csolution.it
11. libc6-xen
● aptget install libc6xen
This set of libraries are optimized for the Xen hypervisor,
and will be
selected instead when running under Xen.
CSOLUTION.IT Xen alla Debian Way - Claudio Cardinali - claudio@csolution.it
12. bridge-utils
● aptget install bridgeutils
Utilities for configuring the Linux ethernet bridge
This package contains utilities for configuring the Linux
ethernet bridge in Linux 2.4 or later. The Linux ethernet
bridge can be used for connecting multiple ethernet devices
together. The connecting is fully transparent: hosts connected
to one ethernet device see hosts connected to the other
ethernet devices directly.
CSOLUTION.IT Xen alla Debian Way - Claudio Cardinali - claudio@csolution.it
13. Xen Network (1)
url: http://wiki.xensource.com/xenwiki/XenNetworking
When xend starts up
1. xenbr0 bridge is created
2. physical interface eth0 brought down
3. ip and mac addresses of eth0 moved to virtual interface veth0
4. eth0 renamed peth0
5. veth0 renamed eth0
6. peth0 mac changed, arp turned off
7. peth0 is attached to xenbr0
8. vif0.0 is attached to xenbr0
9. bridge, peth0, eth0 brought up
CSOLUTION.IT Xen alla Debian Way - Claudio Cardinali - claudio@csolution.it
14. Xen Network (2)
url: http://wiki.xensource.com/xenwiki/XenNetworking
When domU starts
1. vif.0 is attached to xenbr0
2. vif.0 brought up
The bridges are domain independent and are used to bridge traffic
between domains and the exterior. The bridges and their interfaces
are visible from dom0 because it is the host that run Xen.
CSOLUTION.IT Xen alla Debian Way - Claudio Cardinali - claudio@csolution.it
15. Xen Network (3)
url: http://wiki.xensource.com/xenwiki/XenNetworking
CSOLUTION.IT Xen alla Debian Way - Claudio Cardinali - claudio@csolution.it
17. xen-tools
● aptget install xentools
xentools is a collection of simple perl scripts which allow you
to easily create new guest Xen domains upon your Debian
GNU/Linux host (now CentOS4)
Once installed and configured you can create a new Xen instance in
a matter of minutes. Each new Xen domain will be complete with
* All networking details setup, with either multiple static IP
addresses or DHCP.
* An installation of OpenSSH.
* An arbitary set of partitions
Your new instance will be completed by having the user accounts
from your guest system copied over, and you may optionally boot
the image as soon as it has been created
CSOLUTION.IT Xen alla Debian Way - Claudio Cardinali - claudio@csolution.it
19. lista pacchetti relativi a xen
dpkg l | grep xen
libc6xen
linuximage2.6.185xen686
linuximage2.6.185xenvserver686
linuxmodules2.6.185xen686
linuxmodules2.6.185xenvserver686
xenhypervisor3.0.31i386pae
xenlinuxsystem2.6.185xen686
xenlinuxsystem2.6.185xenvserver686
xentools
xenutils3.0.31
xenutilscommon
CSOLUTION.IT Xen alla Debian Way - Claudio Cardinali - claudio@csolution.it
20. Welcome to Xen Server
# uname a
Linux xen 2.6.185xen686#
__==|=__.
.=||++=|%Iii|_.
|||+ inoXoovi||. WELCOME TO XENSERVER
|+|= <2X##ZAzui|.
:||+; 3XZ#ZXovi|+|
=|+|= "122nvi||+|
||+|; +|||+|=
:||+||_ +
=|+||=_.
+||||=,
CSOLUTION.IT Xen alla Debian Way - Claudio Cardinali - claudio@csolution.it
21. File di configurazione Xen
/etc/xen/xend-config.sxp
CSOLUTION.IT Xen alla Debian Way - Claudio Cardinali - claudio@csolution.it
22. Network script
(network-script network-bridge)
(vif-script vif-bridge)
è possibile sostituire il network-bridge di default con un
proprio da creare su misura per le proprie esigenze
modificando "/etc/xen/xend-config.sxp":
# (network-script network-bridge)
(network-script my-network-bridge)
(vif-script vif-bridge)
CSOLUTION.IT Xen alla Debian Way - Claudio Cardinali - claudio@csolution.it
26. cat /etc/xen/nomeimmagine.cfg
# Configuration file for the Xen instance, created on
# Thu Aug 2 16:44:50 2007.
#
# Kernel + memory size
kernel = '/boot/vmlinuz2.6.185xenvserver686'
ramdisk = '/boot/initrd.img2.6.185xenvserver686'
memory = '2048'
# Disk device(s).
root = '/dev/sda1 ro'
disk = [ 'file:/mnt/vm/domains/nomeimmagine/disk.img,sda1,w',
'file:/mnt/vm/domains/nomeimmagine/swap.img,sda2,w','phy:/dev/mapper/mpath0,sdb1,w']
# Hostname
name = 'nomeimmagine'
# Networking
#vif = [ 'mac=00:16:3e:7f:20:00,bridge=xenbr1' ] # dmz
vif = [ 'mac=00:16:3e:7f:20:00,bridge=xenbr3' ] # temp lan
# Behaviour
on_poweroff = 'destroy'
on_reboot = 'restart'
on_crash = 'restart'
CSOLUTION.IT Xen alla Debian Way - Claudio Cardinali - claudio@csolution.it
27. Nota: Metodi di installazione
Attualmente sono supportate le seguenti metodologie di installazione
1. debootstrap = Install the system using the deboostrap
command.
2. rpmstrap = Install the system using the rpmstrap command.
3. copy /path = Install by copying the specified directory
recursively.
4. tar file.tar = Install by untarring the given file.
La prima opzione permette di installare Debian/Ubuntu, la seconda
Debian/Ubuntu
Fedora e CentOS, con la terza si può installare un sistema
recuperando il filesystem da una directory preesistente, in
pratica copiando i file ed il quarto consente di recuperare il
filesystem da un archivio tar, che viene estratto ed utilizzato per la
costruzione del sistema. Questo metodo può essere molto utile per
costruire rapidamente sistemi partendo da immagini già salvate.
CSOLUTION.IT Xen alla Debian Way - Claudio Cardinali - claudio@csolution.it
28. Xen performance improve
disabilitare le librerie tls, altrimenti xen
avrà un degrado prestazionale elevato.
● Per disabilitarle:
● #mv /lib/tls /lib/tls.disable
● Per riabilitarle se necessario:
● #mv /lib/tls.disabled /lib/tls
CSOLUTION.IT Xen alla Debian Way - Claudio Cardinali - claudio@csolution.it
30. Il comando "xm"
Il comando "xm" permette di effettuare alcune operazioni sulle
macchine virtuali e di controllarne lo stato.
xm list mostra la lista delle macchine virtuali attive.
xm reboot forza il riavvio di una macchina virtuale.
xm shutdown forza lo shutdown di una macchina virtuale.
xm destroy distrugge istantaneamente una macchina virtuale.
xentop consente di avere l'equivalente del comando top per le
macchine virtuali in esecuzione.
CSOLUTION.IT Xen alla Debian Way - Claudio Cardinali - claudio@csolution.it
31. xen-shell
Xen-shell fornisce una interfaccia Shell “customizzata” per l'utilizzo di Xen,
tramite la quale gli utenti possono connettersi al sistema host (dom0) e
controllare “solamente” la propria macchina virtuale (domU).
CSOLUTION.IT Xen alla Debian Way - Claudio Cardinali - claudio@csolution.it
32. xen-shell
fonte: http://www.xen-tools.org/software/xen-shell/
The Xen shell is a simple console application which allows you to easily allow a
user to control multiple Xen instances, without the overhead of a web-based
control panel.
Using this shell users may:
* Boot/Shutdown their Xen guest.
* Reboot their Xen guest.
* Connect to the serial console of their runing Xen guest.
* Reimage their system to a pristine state, via xen-tools.
* Manipulate their reverse DNS information
* Change their login password.
The shell features command history, command completion, and integrated help.
It is ideal for a hosting company which wishes to offer Xen-based "virtual
machine" to clients. By using the xen-shell clients can maintain their own
instance, without needing to ask for support staff to reboot/shutdown, or
otherwise maintain the runnings system.
Security is improved since the client cannot gain access to the host system, and
can only control their instance, and not those belonging to other clients.
CSOLUTION.IT Xen alla Debian Way - Claudio Cardinali - claudio@csolution.it
33. commandi disponibili tramite
xen-shell:
● boot/reboot/shutdown
● console / serial
● exit / quit
● help
● passwd
● reimage
● status - "running/booted", or "shutdown"
● uptime
● version
CSOLUTION.IT Xen alla Debian Way - Claudio Cardinali - claudio@csolution.it
34. A chi piaccionio le GUI...
CSOLUTION.IT Xen alla Debian Way - Claudio Cardinali - claudio@csolution.it
35. Argo - Xen Control Panel
● Argo è un framework, semplice e scalabile per
la gestione delle istanze multiple di Xen.
● Il sistema di monitoraggio è composta da:
● Un network server (demone porta 20203)
● Un numero di client scritti in php, perl, dialog,
ecc..
CSOLUTION.IT Xen alla Debian Way - Claudio Cardinali - claudio@csolution.it
36. Argo – perl + gtk client
CSOLUTION.IT Xen alla Debian Way - Claudio Cardinali - claudio@csolution.it
37. Argo – php gui
un client scritto in PHP, necessita di un server web
(apache) con modulo php.
CSOLUTION.IT Xen alla Debian Way - Claudio Cardinali - claudio@csolution.it
38. Argo - php gui
CSOLUTION.IT Xen alla Debian Way - Claudio Cardinali - claudio@csolution.it
39. Argo – dialog client
CSOLUTION.IT Xen alla Debian Way - Claudio Cardinali - claudio@csolution.it
40. Argos - controllo distribuito
(fase di sviluppo)
● Argos è un nuovo progetto per la gestione ed il
controllo distribuito di diversi Xen host.
● Permette il controllo delle singole istanza di Xen
che girano su un numero arbitrario di Xen host.
● Su ogni Xen host (nodo) gira un'applicazione
client che comunica con server centrale.
● Attraverso un pannello di controllo viene
contattato il server centrale per la gestione
remota dei singoli Xen guest (dom0)
CSOLUTION.IT Xen alla Debian Way - Claudio Cardinali - claudio@csolution.it
41. Argos
CSOLUTION.IT Xen alla Debian Way - Claudio Cardinali - claudio@csolution.it
42. Enomalism
● The Enomalism Virtualized Management
Dashboard (VMD) is a powerful web-based
virtual server manager. Designed to answer the
complexity of managing globally disperse
virtual server environments. Enomalism helps
to ease the transition to a virtualized
environment by reducing an IT organizations
overall workload. The easy to use dashboard
can help with issues including deployment
planning, load balancing, automatic VM
migration, configuration management, and
capacity diagnosis.
CSOLUTION.IT Xen alla Debian Way - Claudio Cardinali - claudio@csolution.it
43. Enomalism (Beta)
● Enomalism è un nuovo tool “web based”
(user friendly ed integrabile con altri tool
come Nagios), ancora non rilasciato al
pubblico, che consente di avere una
management console grafica per
amministrare Xen e le macchine virtuali
create.
CSOLUTION.IT Xen alla Debian Way - Claudio Cardinali - claudio@csolution.it
45. XenMan
Nuovo tool per la gestione attraverso interfaccia grafica di Xen, scritto
in Python sotto licenza GPL.
Vuole essere, nelle intenzioni degli sviluppatori, un aiuto per chi
amministra Xen ma anche per chi si avvicina da neofita a questa
tecnologia per la virtualizzazione di sistemi operativi.
possibilità di creare con pochi clic un dominio guest
I cambiamenti nella versione 0.4: supporto LVM, miglioramenti
all’interfaccia utente e nella stabilità complessiva, numerosi bugfix.
CSOLUTION.IT Xen alla Debian Way - Claudio Cardinali - claudio@csolution.it
48. XenMan - status, performance,
ecc..
CSOLUTION.IT Xen alla Debian Way - Claudio Cardinali - claudio@csolution.it
49. Buona Virtualizzazione!
Queste slides sono state realizzate da Claudio Cardinali per
il Gnu Linux User Group di Perugia in occasione della
manifestazione Linux day 2007 e sono soggette alla licenza
Creative Commons nella versione Attribution-ShareAlike 2.5;
possono pertanto essere distribuite liberamente ed altrettanto
liberamente modificate, a patto che se ne citi l’autore e la
provenienza.
Grazie !
Claudio Cardinali
claudio@csolution.it
CSOLUTION.IT Xen alla Debian Way - Claudio Cardinali - claudio@csolution.it
50. Ringraziamenti
Grazie per la
partecipazione!
Claudio Cardinali
claudio@csolution.it
CSOLUTION.IT Xen alla Debian Way - Claudio Cardinali - claudio@csolution.it