Xen su debian lenny 64 bit, no frills guide parte 2

Ci eravamo lasciati con il riavvio di Dom0 nel nuovo ambiente di hypervisor, con tutti i controlli e gli accorgimenti del caso.

E’ arrivato il momento di creare la prima virtual machine (DomU) linux paravirtualizzata.

Per farlo ci serviremo dello strumento xen-tools, un set di scripts che automatizzeranno tutte le fasi di installazione per fare in modo di trovarci in brevissimo tempo a mettere le mani sul nuovo sistema operativo.

Per creare macchine virtuali possiamo usare dei dischi virtuali in formato immagine o usare LVM. Io tratterò unicamente la seconda opzione.

Se vi ricordate lo schema di partizioni usato nel precedente articolo, avevamo definito unicamente le partizioni di /boot e di / . Il resto del disco era rimasto non partizionato. Cominciamo quindi ad usare quello che resta del nostro volume come LVM per ospitare macchine virtuali nel nostro sistema.

Setup LVM

Una volta loggati in Dom0 usiamo lo strumento di partizione cfdisk lanciandolo con i seguenti parametri :

[sourcecode language=”bash”]
cfdisk /dev/sda
cfdisk (util-linux-ng 2.13.1.1)

Unità disco: sdb
Dimensioni: 104857600 byte, 104 MB
Testine: 255 Settori per traccia: 63 Cilindri: 12

Nome Flag Tipo part. Tipo FS [Etichetta] Dim. (MB)
——————————————————————————
Pri/Log Spazio disponibile 98,71

[/sourcecode]

Nell’esempio questo piccolo volume da 100Mb lo useremo per intero con LVM. Scegliamo [nuova]->[primaria]->[dimensione](tutto il disco)->[tipo]->[8e]; infine scegliamo [scrivi]
A questo punto dobbiamo inizializzare il volume fisico appena creato per l’uso con LVM.

[sourcecode language=”bash”]
pvcreate /dev/sda1
Physical volume "/dev/sdb1" successfully created[/sourcecode]

Controlliamo se la creazione del volume è andata a buon fine

[sourcecode language=”bash”]pvdisplay
"/dev/sdb1" is a new physical volume of "94,10 MB"
— NEW Physical volume —
PV Name /dev/sda1
VG Name
PV Size 94,10 MB
Allocatable NO
PE Size (KByte) 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID WcO34w-ip6Y-g08q-lcfN-AMrp-HWDK-inzGa1
[/sourcecode]

Ora creiamo il volume group al quale uniremo il nostro volume fisico

[sourcecode language=”bash”]
vgcreate VMS /dev/sda1
Volume group "VMS" successfully created
vgdisplay
— Volume group —
VG Name VMS
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size 92,00 MB
PE Size 4,00 MB
Total PE 23
Alloc PE / Size 0 / 0
Free PE / Size 23 / 92,00 MB
VG UUID VOUD0l-P7A2-WofC-xCx7-3cyt-obtE-54l0p3
[/sourcecode]

Bene, abbiamo creato il nostro Volume Group, all’interno del quale, tramite gli xen-tools, creare dei volumi logici per ospitare le macchine virtuali.

Xen-tools

Tramite un semplice file di configurazione  xen-tools.conf in /etc/xen-tools/ possiamo definire i parametri per la creazione automagica delle nostre DomU paravirtualizzate.
Ecco un esempio del file xentools.conf
[sourcecode language=”bash”]
lvm = VMS
install-method = debootstrap
size = 4Gb # Disk image size.
memory = 128Mb # Memory size
swap = 128Mb # Swap size
# noswap = 1 # Don’t use swap at all for the new system.
fs = ext3 # use the EXT3 filesystem for the disk image.
dist = lenny # Default distribution to install.
#image = sparse # Specify sparse vs. full disk images.
dhcp = 1
passwd = 1
serial_device = hvc0
kernel = /boot/vmlinuz-`uname -r`
initrd = /boot/initrd.img-`uname -r`
mirror = http://ftp.it.debian.org/debian/
ext3_options = noatime,nodiratime,errors=remount-ro
ext2_options = noatime,nodiratime,errors=remount-ro
xfs_options = defaults
reiser_options = defaults
role = udev
[/sourcecode]
Possiamo lasciarlo tranquillamente come quello sopra esposto per avere una virtual machine di base, se avremo bisogno di assegnare più ram o un secondo disco potremo agire in un secondo tempo.
Tutto quello che ci rimane da fare quindi a questo punto è invocare lo script xen-create-image
[sourcecode language=”bash”]
xen-create-image –hostname=testmeout
General Information
——————–
Hostname : testmeout
Distribution : lenny
Partitions : swap 128Mb (swap)
/ 4Gb (ext3)
Image type : full
Memory size : 128Mb
Kernel path : /boot/vmlinuz-2.6.26-1-xen-amd64
Initrd path : /boot/initrd.img-2.6.26-1-xen-amd64

Networking Information
———————-
IP Address : DHCP [MAC: 00:16:3E:4E:A7:44]

Creating swap on /dev/VMS/testmeout-swap
Done

Creating ext3 filesystem on /dev/VMS/testmeout-disk
Done
Installation method: debootstrap
Done

Running hooks
No role scripts were specified. Skipping

Creating Xen configuration file
Done
Setting up root password
Enter new UNIX password:*****
Retype new UNIX password:*****
passwd: password updated successfully
All done

Logfile produced at:
/var/log/xen-tools/testmeout.log
[/sourcecode]
La nostra nuova virtual machine è pronta. Apportiamo giusto due modifiche al file di configurazione e al primo boot del file /etc/sysctl.conf in DomU e siamo pronti per cominciare.
Avviamo la nuova macchina virtuale con
[sourcecode language=”bash”]
xm create testmeout.cfg -c
[/sourcecode]
Alla fine della sequenza di boot logghiamoci come root e immettiamo la password che abbiamo creato quando xen-create-image ce l’ha chiesta.
Editiamo il file /etc/sysctl.conf della macchina virtuale e spegniamo l’host
[sourcecode language=”bash”]
nano -w /etc/sysctl.conf
aggiungere questa linea alla fine del file di configurazione
xen.independent_wallclock=1
e spegniamo l’host
halt
[/sourcecode]
Ora da Dom0 rimettiamo mano al file di configurazione /etc/xen/testmeout.cfg
[sourcecode language=”bash”]
nano -w /etc/xen/testmeout.cfg
aggiungere questa linea alla fine del file di configurazione generato da xen-create-image
extra="clocksource=jiffies"
[/sourcecode]

Ci siamo. Non ci resta che riavviare la nuova DomU con il comando
[sourcecode language=”bash”] xm create testmeout.cfg [/sourcecode] e fare in modo che parta in automatico con il riavvio dell’hypervisor Dom0
[sourcecode language=”bash”]
ln -sf /etc/xen/testmeout.cfg /etc/xen/auto/testmeout.cfg[/sourcecode]

Nel prossimo post vedremo come creare macchine virtuali basate su HVM (full virtualized), quindi tipicamente sistemi operativi Windows.

Credits:
http://wiki.debian.org/Xen
http://www.howtoforge.com/perfect_setup_xen3_debian

Serie di posts Xen no frills guide:
Parte 1
Parte 2
Parte 3

One thought on “Xen su debian lenny 64 bit, no frills guide parte 2

  1. […] Dema blog La vita comincia a 100Mbs , simmetrici (Gaspar Torriero) Salta al contenuto Chi sonoi miei linksPerché Dema.tv « Barcellona, il vulcano e la serenità ritrovata Xen su debian lenny 64 bit, no frills guide parte 2 » […]