Dimensione: 2768
Commento:
|
Dimensione: 3993
Commento:
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 16: | Linea 16: |
appunti Xen su AMD64 | A questo punto installiamo xen. Nel nostro caso prendiamo la versione a 64bit avendo un processore amd64: |
Linea 19: | Linea 20: |
xen-linux-system-2.6.18-6-xen-amd64 | apt-get install xen-linux-system-2.6.18-6-xen-amd64 |
Linea 23: | Linea 24: |
che da solo tira giu': | il pacchetto da solo tira giu' le dipendenze che sono: |
Linea 26: | Linea 27: |
iproute libatm1 linux-image-2.6.18-6-xen-amd64 | iproute libatm1 linux-image-2.6.18-6-xen-amd64 |
Linea 32: | 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 34: | Linea 35: |
ricordarsi di aggiungere | vi /boot/grub/menu.list |
Linea 36: | 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 37: | Linea 45: |
ramdisk = /path/su/dom0/del/ramdisk/xen | }}} |
Linea 39: | Linea 47: |
riavviamo la macchina (utilizzare il fallback in grub puo' salvare la vita nel caso non abbiamo accesso fisico alla macchina!). | |
Linea 40: | Linea 49: |
creare | Ora dobbiamo creare un file contenente la configurazione della macchina virtuale. Nel nostro caso abbiamo preso /etc/xen/ale.sxp editandolo come segue: |
Linea 42: | Linea 52: |
xm create /etc/xen/nome.sxp | {{ 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 44: | Linea 62: |
per vedere se e' partita | (se non aggiungiamo un mac address, ad ogni riavvio della domU, avremmo un interfaccia di rete ethX con X che aumenta ogni volta!!!) |
Linea 46: | Linea 64: |
xm list | a seconda della configurazione della rete, potremmo voler abilitare il routing delle macchine virtuali, editando il file /etc/xen/xend-config.sxp |
Linea 48: | Linea 67: |
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 61: | Linea 71: |
(vif-script vif-route) | (vif-script vif-route) |
Linea 71: | Linea 81: |
in caso di bridging e' utile tirare giu' le bridge-utils E' opportuno anche creare il bridge col comando brctl addbr xenbr0 |
Adesso possiamo lanciare la macchina virtuale con |
Linea 75: | Linea 83: |
e aggiungere nell'.sxp | |
Linea 77: | Linea 85: |
vif = ["mac=aa:00:00:7d:f8:77, bridge=xenbr0"] | xm create /etc/xen/ale.sxp |
Linea 80: | Linea 88: |
(se non aggiungiamo un mac address, ad ogni riavvio della domU, avremmo un interfaccia di rete ethX con X che aumenta ogni volta!!!) | 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-] }}} |
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