<?xml version="1.0" encoding="utf-8"?><!DOCTYPE article  PUBLIC '-//OASIS//DTD DocBook XML V4.4//EN'  'http://www.docbook.org/xml/4.4/docbookx.dtd'><article><articleinfo><title>LVM</title><revhistory><revision><revnumber>13</revnumber><date>2009-02-18 23:30:23</date><authorinitials>OrazioPirataDelloSpazio</authorinitials></revision><revision><revnumber>12</revnumber><date>2008-04-21 11:47:56</date><authorinitials>OrazioPirataDelloSpazio</authorinitials></revision><revision><revnumber>11</revnumber><date>2008-04-21 11:47:10</date><authorinitials>OrazioPirataDelloSpazio</authorinitials></revision><revision><revnumber>10</revnumber><date>2008-04-21 11:46:36</date><authorinitials>OrazioPirataDelloSpazio</authorinitials></revision><revision><revnumber>9</revnumber><date>2008-04-21 11:34:07</date><authorinitials>OrazioPirataDelloSpazio</authorinitials></revision><revision><revnumber>8</revnumber><date>2008-04-13 14:54:02</date><authorinitials>OrazioPirataDelloSpazio</authorinitials></revision><revision><revnumber>7</revnumber><date>2008-04-12 13:00:45</date><authorinitials>OrazioPirataDelloSpazio</authorinitials></revision><revision><revnumber>6</revnumber><date>2008-04-12 12:42:28</date><authorinitials>OrazioPirataDelloSpazio</authorinitials></revision><revision><revnumber>5</revnumber><date>2008-04-12 01:03:39</date><authorinitials>OrazioPirataDelloSpazio</authorinitials></revision><revision><revnumber>4</revnumber><date>2008-04-12 01:02:15</date><authorinitials>OrazioPirataDelloSpazio</authorinitials></revision><revision><revnumber>3</revnumber><date>2008-04-12 00:34:53</date><authorinitials>OrazioPirataDelloSpazio</authorinitials></revision><revision><revnumber>2</revnumber><date>2008-04-12 00:29:12</date><authorinitials>OrazioPirataDelloSpazio</authorinitials></revision><revision><revnumber>1</revnumber><date>2008-04-11 22:20:17</date><authorinitials>OrazioPirataDelloSpazio</authorinitials></revision></revhistory></articleinfo><section><title>Come virtualizzare una macchina utilizzando Xen e LVM</title><para>Con LVM dobbiamo creare un &quot;gruppo logico&quot;  dentro cui metteremo i nostri &quot;volumi logici&quot;. Nell'esempio creiamo il gruppo logico birra associato al device fisico /dev/sda3. Dentro questo gruppo, creiamo il volume logico &quot;ale&quot;, un hard disk da 100 Gb. Creiamo anche il volume logico &quot;ale-swap&quot; e formattiamo i due volumi rispettivamente ext3 e swap. </para><screen><![CDATA[pvcreate /dev/sda3
vgcreate birra /dev/sda3
lvcreate -L100000 -nale birra
mkfs.ext3 /dev/vserver/testdevice 
mkswap -L ale-swap /dev/birra/ale-swap]]></screen><para>A questo punto installiamo xen. Nel nostro caso prendiamo la versione a 64bit avendo un processore amd64: </para><screen><![CDATA[apt-get install xen-linux-system-2.6.18-6-xen-amd64]]></screen><para>il pacchetto da solo tira giu' le dipendenze che sono: </para><screen><![CDATA[  iproute libatm1 linux-image-2.6.18-6-xen-amd64
  linux-modules-2.6.18-6-xen-amd64 python-central xen-hypervisor-3.0.3-1-amd64
  xen-linux-system-2.6.18-6-xen-amd64 xen-utils-3.0.3-1 xen-utils-common]]></screen><para>Una volta installato il kernel, modifichiamo la entry nel grub che si sarà create. Dobbiamo forzare la dom0 a prendersi solo un certo quantitativo di ram e non tutta la ram non allocata nel sistema: </para><para>vi /boot/grub/menu.list </para><screen><![CDATA[title           Xen 3.0.3-1-amd64 / Debian GNU/Linux, kernel 2.6.18-6-xen-amd64
root            (hd0,1)
kernel          /boot/xen-3.0.3-1-amd64.gz dom0_mem=512M
module          /boot/vmlinuz-2.6.18-6-xen-amd64 root=/dev/sda2 ro console=tty0
module          /boot/initrd.img-2.6.18-6-xen-amd64
savedefault fallback]]></screen><para>riavviamo la macchina (utilizzare il fallback in grub puo' salvare la vita nel caso non abbiamo accesso fisico alla macchina!). </para><para>Ora dobbiamo creare un file contenente la configurazione della macchina virtuale. Nel nostro caso abbiamo preso /etc/xen/ale.sxp editandolo come segue: </para><screen><![CDATA[kernel = "/boot/vmlinuz-2.6.18-6-xen-amd64"
ramdisk = "/boot/initrd.img-2.6.18-6-xen-amd64"
memory = 1024
name = "ale"
vif = [ 'mac=aa:00:00:7d:f8:77, ip=78.47.48.233' ]
disk = ['phy:birra/ale,sda1,w', 'phy:birra/ale-swap,sda2,w']
root = "/dev/sda1 rw"]]></screen><para>(se non aggiungiamo un mac address, ad ogni riavvio della domU, avremmo un interfaccia di rete ethX con X che aumenta ogni volta!!!) </para><para>a seconda della configurazione della rete, potremmo voler abilitare il routing delle macchine virtuali, editando il file /etc/xen/xend-config.sxp </para><para>e decommentando le righe </para><screen><![CDATA[(network-script network-route)
(vif-script     vif-route)]]></screen><para>e poi riavviare con </para><screen><![CDATA[/etc/init.d/xend restart]]></screen><para>Adesso possiamo lanciare la macchina virtuale con </para><screen><![CDATA[xm create /etc/xen/ale.sxp]]></screen><para>o in alternativa per lanciarla e agganciarsi alla shell </para><screen><![CDATA[xm create -c /etc/xen/ale.sxp]]></screen><para>e vedere se e' partita </para><screen><![CDATA[xm list
}}
]]><![CDATA[
Possiamo entrare nella macchina digitando
{{{
xm console ale]]></screen><para>e uscire con: </para><screen><![CDATA[CTRL-]]]></screen><para>Configurare la rete: </para><para>Partiamo dalla macchina che ha come tabella di routing di default: </para><screen><![CDATA[78.46.66.32/27 via 78.46.66.33 dev eth0 
78.46.66.32/27 dev eth0  proto kernel  scope link  src 78.46.66.42 
default via 78.46.66.33 dev eth0 ]]></screen><para>Su dom0 </para><screen><![CDATA[ ip route add 78.47.48.232/29 dev eth0
 /sbin/ip route add 78.47.28.233/32 dev veth1
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/conf/eth0/proxy_arp]]></screen><para>Per noi non c'e' bisogno -&gt;/sbin/ip link set eth0 up /sbin/ip route add 192.168.0.0/24 dev eth0 #come route add ... /sbin/ip addr add 10.0.0.1/24 dev eth1 #come ifconfig eth1 10.0.0.1 /sbin/ip link set eth1 up echo &quot;1&quot; &gt; /proc/sys/net/ipv4/ip_forward echo &quot;1&quot; &gt; /proc/sys/net/ipv4/conf/eth0/proxy_arp </para><para>Su domU invece: </para><screen><![CDATA[Inutile se quello è il default gw no?? --> /sbin/ip addr add 192.168.0.1/24 dev eth0
OPZ se mettiamo la configurazione in  /etc/network/interfaces   --> /sbin/ip link set eth0 up
/sbin/ip route add default dev eth0]]></screen><para>Per espandere una partizione LVM basta seguire questa guida: </para><para> <ulink url="http://tldp.org/HOWTO/LVM-HOWTO/extendlv.html"/> </para></section></article>