Italiano English
Modifica History Actions

Differenze per "LVM"

Differenze tra le versioni 6 e 12 (in 6 versioni)
Versione 6 del 2008-04-12 12:42:28
Dimensione: 1223
Commento:
Versione 12 del 2008-04-21 11:47:56
Dimensione: 3977
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 1: Linea 1:
Appunti: = Come virtualizzare una macchina utilizzando Xen e LVM =
Linea 3: Linea 3:
Creare un volume logico di 1500 Mb che si chiama provalv dentro provavg
Con LVM dobbiamo creare un "gruppo logico" dentro cui metteremo i nostri "volumi logici".
Nell'esempio creiamo il gruppo logico birra associato al device fisico /dev/sda3.
Dentro questo gruppo, creiamo il volume logico "ale", un hard disk da 100 Gb. Creiamo anche il volume logico "ale-swap" e formattiamo i due volumi rispettivamente ext3 e swap.
Linea 6: Linea 10:
vgcreate vserver /dev/sda3
lvcreate -L1500 -nprovalv provavg
vgcreate birra /dev/sda3
lvcreate -L100000 -nale birra
Linea 10: Linea 14:
}}}

A questo punto installiamo xen. Nel nostro caso prendiamo la versione a 64bit avendo un processore amd64:

{{{

apt-get install xen-linux-system-2.6.18-6-xen-amd64
Linea 13: Linea 24:
appunti Xen su AMD64
{{{

xen-linux-system-2.6.18-6-xen-amd64

}}}

che da solo tira giu':
il pacchetto da solo tira giu' le dipendenze che sono:
Linea 23: Linea 27:
iproute libatm1 linux-image-2.6.18-6-xen-amd64   iproute libatm1 linux-image-2.6.18-6-xen-amd64
Linea 29: Linea 33:
editare il file /etc/xen/nome.sxp 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:
Linea 31: Linea 35:
ricordarsi di aggiungere vi /boot/grub/menu.list
Linea 33: Linea 37:
{{{
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
}}}
Linea 34: Linea 46:
ramdisk = /path/su/dom0/del/ramdisk/xen riavviamo la macchina (utilizzare il fallback in grub puo' salvare la vita nel caso non abbiamo accesso fisico alla macchina!).
Linea 36: Linea 48:
Ora dobbiamo creare un file contenente la configurazione della macchina virtuale.
Nel nostro caso abbiamo preso /etc/xen/ale.sxp editandolo come segue:
Linea 37: Linea 51:
creare {{{
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"
}}}
Linea 39: Linea 61:
xm create /etc/xen/nome.sxp (se non aggiungiamo un mac address, ad ogni riavvio della domU, avremmo un interfaccia di rete ethX con X che aumenta ogni volta!!!)
Linea 41: Linea 63:
per vedere se e' partita a seconda della configurazione della rete, potremmo voler abilitare il routing delle macchine virtuali, editando il file
/etc/xen/xend-config.sxp
Linea 43: Linea 66:
xm list


entare

xm console vserver1.mydomain

uscire

CTRL-]

per attivare la rete bisogna editare il file di /etc/xen/xend-tools.sxp (su dom0 ovviamente) de-commentando:
e decommentando le righe
Linea 58: Linea 70:
(vif-script vif-route) (vif-script     vif-route)
Linea 65: Linea 77:
}}}

Adesso possiamo lanciare la macchina virtuale con


{{{
xm create /etc/xen/ale.sxp
}}}

o in alternativa per lanciarla e agganciarsi alla shell

{{{
xm create -c /etc/xen/ale.sxp
}}}

e vedere se e' partita

{{{
xm list
}}

Possiamo entrare nella macchina digitando
{{{
xm console ale
}}}

e uscire con:
{{{
CTRL-]
}}}



Configurare la rete:

Partiamo dalla macchina che ha come tabella di routing di default:

{{{
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
Linea 67: Linea 121:

in caso di bridging e' utile tirare giu' le bridge-utils

Configurare la rete:
Linea 77: Linea 127:
 /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
Linea 79: Linea 132:

Per noi non c'e' bisogno ->/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 "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/conf/eth0/proxy_arp

Su domU invece:

{{{
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
}}}

Come virtualizzare una macchina utilizzando Xen e LVM

Con LVM dobbiamo creare un "gruppo logico" dentro cui metteremo i nostri "volumi logici". Nell'esempio creiamo il gruppo logico birra associato al device fisico /dev/sda3. Dentro questo gruppo, creiamo il volume logico "ale", un hard disk da 100 Gb. Creiamo anche il volume logico "ale-swap" e formattiamo i due volumi rispettivamente ext3 e swap.

pvcreate /dev/sda3
vgcreate birra /dev/sda3
lvcreate -L100000 -nale birra
mkfs.ext3 /dev/vserver/testdevice 
mkswap -L ale-swap /dev/birra/ale-swap

A questo punto installiamo xen. Nel nostro caso prendiamo la versione a 64bit avendo un processore amd64:

apt-get install xen-linux-system-2.6.18-6-xen-amd64

il pacchetto da solo tira giu' le dipendenze che sono:

  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

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:

vi /boot/grub/menu.list

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

riavviamo la macchina (utilizzare il fallback in grub puo' salvare la vita nel caso non abbiamo accesso fisico alla macchina!).

Ora dobbiamo creare un file contenente la configurazione della macchina virtuale. Nel nostro caso abbiamo preso /etc/xen/ale.sxp editandolo come segue:

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"

(se non aggiungiamo un mac address, ad ogni riavvio della domU, avremmo un interfaccia di rete ethX con X che aumenta ogni volta!!!)

a seconda della configurazione della rete, potremmo voler abilitare il routing delle macchine virtuali, editando il file /etc/xen/xend-config.sxp

e decommentando le righe

(network-script network-route)
(vif-script     vif-route)

e poi riavviare con

/etc/init.d/xend restart

Adesso possiamo lanciare la macchina virtuale con

xm create /etc/xen/ale.sxp

o in alternativa per lanciarla e agganciarsi alla shell

xm create -c /etc/xen/ale.sxp

e vedere se e' partita

xm list
}}

Possiamo entrare nella macchina digitando
{{{
xm console ale

e uscire con:

CTRL-]

Configurare la rete:

Partiamo dalla macchina che ha come tabella di routing di default:

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 

Su dom0

 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

Per noi non c'e' bisogno ->/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 "1" > /proc/sys/net/ipv4/ip_forward echo "1" > /proc/sys/net/ipv4/conf/eth0/proxy_arp

Su domU invece:

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