linuxkvm

Virtualizzazione KVM su Debian/64 – tutorial

installazione di base

si parte da un’installazione mimima del server con Debian/64.
I due dischi saranno partizionati così:

/dev/md0 composto da /dev/sda1 e /dev/sdb1, raid1, 500MB
/dev/md1 composto da /dev/sda2 e /dev/sdb2, raid1, resto dei dischi

/dev/md0 verrà utilizzato come “/boot”
/dev/md1 verrà utilizzato come LVM

dentro l’LVM verrà creato il VG “vg0” per l’intera capienza

per partire verranno definiti tre LV per swap, root e home.

la situazione iniziale del server è questa:
i volumi fisici sono:

# vgdisplay 
  --- Volume group ---
  VG Name               vg0
  Format                lvm2
  VG Size               2.73 TiB
  PE Size               4.00 MiB
  Total PE              715268
  Alloc PE / Size       13824 / 54.00 GiB
  Free  PE / Size       701444 / 2.68 TiB

i volumi logici sono (per brevità ometto le parti non necessarie):

# lvdisplay 
  --- Logical volume ---
  LV Name                /dev/vg0/root
  VG Name                vg0
  LV Size                10.00 GiB
   
  --- Logical volume ---
  LV Name                /dev/vg0/swap
  VG Name                vg0
  LV Size                24.00 GiB
   
  --- Logical volume ---
  LV Name                /dev/vg0/home
  VG Name                vg0
  LV Size                20.00 GiB

appena installato il server probabilmente il sistema MD starà riallineando i dischi:

# cat /proc/mdstat 
Personalities : [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md1 : active raid1 sda2[0] sdb2[1]
      2929739071 blocks super 1.2 [2/2] [UU]
      [=>...................]  resync =  9.2% (269886208/2929739071) finish=288.3min speed=153726K/sec
      
md0 : active raid1 sda1[0] sdb1[1]
      524276 blocks super 1.2 [2/2] [UU]

Installiamo alcune utility:

# apt-get install jed mc iptraf tcpdump mtr

per prima cosa installiamo le utility per gli ethernet bridge:

# apt-get install bridge-utils

la definizione delle interfacce originale:

# cat interfaces.orig 
### Hetzner Online AG - installimage
# Loopback device:
auto lo
iface lo inet loopback

# device: eth0
auto  eth0
iface eth0 inet static
  address   5.9.39.34
  broadcast 5.9.39.63
  netmask   255.255.255.224
  gateway   5.9.39.33

# default route to access subnet
up route add -net 5.9.39.32 netmask 255.255.255.224 gw 5.9.39.33 eth0

modifichiamo per utilizzare il bridge:

# cat interfaces
### Hetzner Online AG - installimage
# Loopback device:
auto lo
iface lo inet loopback

# device: eth0
auto br0
iface br0 inet static
  address   5.9.39.34
  broadcast 5.9.39.63
  netmask   255.255.255.224
  gateway   5.9.39.33
  bridge_ports eth0
  bridge_stp on
  bridge_maxwait 0
  bridge_fd 0

# default route to access subnet
up route add -net 5.9.39.32 netmask 255.255.255.224 gw 5.9.39.33 eth0

per ottenere un secondo bridge dove connettere le schede di rete delle VM possiamo:

# brctl addbr br1
# brctl stp br1 on
# brctl show
bridge name	bridge id		STP enabled	interfaces
br0		8000.c8600054bfea	yes		eth0
br1		8000.000000000000	no		
# ifconfig br1 up
# ifconfig br1 172.16.16.1 netmask 255.255.255.0

o, alternativamente, appendere questa sezione al file /etc/network/interfaces:

auto br1
iface br1 inet static
  address 172.16.16.1
  broadcast 172.16.16.255
  netmask 255.255.255.0
  bridge_ports dummy0
  bridge_stp on
  bridge_maxwait 0
  bridge_fd 0

creiamo un LV per i dati degli ISO:

# mkdir /ISO
# lvcreate -L 30G -n ISO vg0
# mkfs.ext4 -m 0 -L ISO /dev/vg0/ISO
# mount /dev/mapper/vg0-ISO /ISO/

e inziamo scaricando una iso di ipfire e una di Debian:

# cd /ISO/
# wget http://cdimage.debian.org/debian-cd/6.0.5/amd64/iso-cd/debian-6.0.5-amd64-netinst.iso
# wget http://downloads.ipfire.org/releases/ipfire-2.x/2.11-core59/ipfire-2.11.i586-full-core59.iso

Iniziamo con la virtualizzazione.
Per prima cosa installiamo i tool necessari:

apt-get install qemu-kvm libvirt-bin virtinst

Creiamo il disco per il firewall:

# lvcreate --size 4G --name vm-ipfire vg0
  Logical volume "vm-ipfire" created

e procediamo con l’installazione del firewall:

# virt-install -d --name=firewall --ram 768 --vnc :0 --disk path=/dev/vg0/vm-ipfire --network=bridge:br0 --network=bridge:br1 --os-type=linux --cdrom /ISO/ipfire-2.11.i586-full-core59.iso

A questo punto l’installazione della VM è iniziata, possiamo connetterci al VNC attraverso un tunnel SSH:

ssh root@host-server -L 5900:127.0.0.1:5900
vnc localhost:0

Ad installazione completata (poche decine di secondi) la VM si riavvierà. Potrete trovarvi nella situazione in cui la VM non viene riavviata. Non è un problema.

Per prima cosa controlliamo quali VM stanno girando:

# virsh list
 Id Name                 State
----------------------------------

La lista è vuota. Proviamo a listare TUTTE le VM:

# virsh list --all
 Id Name                 State
----------------------------------
  - firewall             shut off

Appunto. La VM firewall è spenta. Accendiamola:

# virsh start firewall
Domain firewall started

Ci possiamo quindi riconnettere con VNC e terminare la configurazione.

ok

No comments yet.

Leave a Reply

You must be logged in to post a comment.