Italiano English
Modifica History Actions

Differenze per "KVM"

Differenze tra le versioni 2 e 8 (in 6 versioni)
Versione 2 del 2011-12-08 18:30:28
Dimensione: 2958
Commento:
Versione 8 del 2011-12-09 16:56:02
Dimensione: 7155
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 3: Linea 3:
{{{
PART swap swap 1G
PART /boot ext3 300M
PART / ext4 200G
PART /data ext3 all
}}}
Sfortunamente la creazione dei volumi lvm sembra fallire. quindi non abbiamo usato questa configurazione
Linea 12: Linea 19:
LV beers guinnes /root/vmguinness ext4 400G LV beers guinnes /root/vmguinness ext3 400G
Linea 14: Linea 21:
LV beers lambic /root/vmlambic 400G     
LV beers peroni /root/vmperoni 400G     
LV beers free /root/vmfree 400G
LV beers lambic /root/vmlambic ext3 400G
LV beers peroni /root/vmperoni ext3 400G
LV beers free /root/vmfree ext3 400G                                                                                                                   
                                                                                                                                                       
Linea 23: Linea 30:
LV beers-swap swfree /root/swfree swap 5G LV beers-swap swfree /root/swfree swap 5G  
Linea 27: Linea 34:
== Interfaccia di rete ==
L'idea è quella di lasciare eth0 così com'è ed aggiungere delle tap. Ogni tap è su un bridge diverso. Ogni bridge è dato in pasto a una macchina kvm.
Questa configurazione è stata copiata da quella "ufficiale" di Hetzner: http://wiki.hetzner.de/index.php/KVM

Essendo la subnet assegnataci 176.9.211.208/29 abbiamo:
{{{
brctl addbr br0
ifconfig br0 176.9.211.209 netmask 255.255.255.248 up
tunctl -b -u root -t qtap0
brctl addif br0 qtap0
ifconfig qtap0 up 0.0.0.0 promisc
}}}
Sembra che ogni interfaccia qtapX sarà assegnata a una diversa macchina virtuale.
In questo caso si dovrà anche generare un diverso mac per ogni macchina.

== Creare la propria macchina ==
Ognuno di noi ha una partizione LVM in /dev/beers/XXXX (corona, guinness, ale etc).
Questo è un esempio per tirare su la macchina "ale" (ip 176.9.211.210).

{{{
mkdir -p /var/lib/libvirt/images/ale/mytemplates/libvirt
cp /etc/vmbuilder/libvirt/* /var/lib/libvirt/images/ale/mytemplates/libvirt/
vi /var/lib/libvirt/images/ale/vmbuilder.partition
}}}
modificarlo tipo:
{{{
root 395000
swap 5000
}}}
Creare un file che viene eseguito al primo avvio della macchina virtuale:
{{{
vi /var/lib/libvirt/images/ale/boot.sh
}}}
scrivendoci dentro:
{{{
# This script will run the first time the virtual machine boots
# It is ran as root.

# Expire the user account
passwd -e administrator

# Install openssh-server
apt-get update
apt-get install -qqy --force-yes openssh-server
}}}


dare questi comandi cambiando opportunamente i parametri:
{{{
vmbuilder kvm ubuntu --suite=oneiric --flavour=virtual --arch=amd64 --mirror=http://de.archive.ubuntu.com/ubuntu -o --libvirt=qemu:///system --ip=176.9.211.210 --gw=176.9.211.209 --part=vmbuilder.partition --templates=mytemplates --user=administrator --name=Administrator --pass=howtoforge --addpkg=vim-nox --addpkg=unattended-upgrades --addpkg=acpid --firstboot=/var/lib/libvirt/images/ale/boot.sh --mem=3000 --hostname=ale --bridge=br0
}}}
con questo comando abbiamo creato un file tipo ''/var/lib/libvirt/images/ale/ubuntu-kvm/tmpXl3TL2.qcow2'' contenente l'immagine della macchina.
A questo punto dobbiamo copiarla sulla nostra partizione LVM che abbiamo creato in precedenza:

{{{
cd /var/lib/libvirt/images/ale/ubuntu-kvm
qemu-img convert tmpXl3TL2.qcow2 -O raw /dev/beers/ale
}}}

a questo punto a possiamo rimuovere il file di immagine:
{{{
rm tmpXl3TL2.qcow2
}}}

editiamo il file xml con le impostazioni della macchina virtuale
{{{
virsh edit ale
}}}

modificandolo per dirgli che la nostra macchina non parte più da un file ma da una partizione LVM:
{{{
[...]
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw'/>
      <source file='/dev/vg0/vm5'/>
      <target dev='hda' bus='ide'/>
      <address type='drive' controller='0' bus='0' unit='0'/>
    </disk>
[...]
}}}
ricarichiamo le impostazioni e facciamo partire la macchina:
{{{
virsh --connect qemu:///system
define /etc/libvirt/qemu/ale.xml
start ale
}}}

Se tutto va bene possiamo ora connetterci alla macchina virtuale come administrator e password "howtoforge".

=== Links

Lanciare in rescue system e lanciare l'utility di hetzner installimages. L'utility ti chiederà di modificare un file di configurazione. La nostra modifica è questa:

PART swap swap 1G                                                                                                                                      
PART /boot ext3 300M                                                                                                                                   
PART / ext4 200G                                                                                                                                       
PART /data ext3 all                                                                                                                                   

Sfortunamente la creazione dei volumi lvm sembra fallire. quindi non abbiamo usato questa configurazione

PART swap swap 1G                                                                                                                                      
PART /boot ext3 300M                                                                                                                                   
PART / ext4 200G                                                                                                                                       
                                                                                                                              
PART lvm beers-swap 30G                                                                                                                                
PART lvm beers all                                                                                                                                     
                                                                                                                                                       
LV beers corona /root/vmcorona ext4 400G                                                                                                               
LV beers guinnes /root/vmguinness ext3 400G                                                                                                            
LV beers ale /root/vmale ext3 400G                                                                                                                     
LV beers lambic /root/vmlambic ext3 400G                                                                                                               
LV beers peroni /root/vmperoni ext3 400G                                                                                                               
LV beers free /root/vmfree ext3 400G                                                                                                                   
                                                                                                                                                       
LV beers-swap swcorona /root/swcorona swap 5G                                                                                                          
LV beers-swap swguinnes /root/swguinnes swap 5G                                                                                                        
LV beers-swap swale /root/swale swap 5G                                                                                                                
LV beers-swap swlambic /root/swlambic swap 5G                                                                                                          
LV beers-swap swperoni /root/swperoni swap 5G                                                                                                          
LV beers-swap swfree /root/swfree swap 5G  

Interfaccia di rete

L'idea è quella di lasciare eth0 così com'è ed aggiungere delle tap. Ogni tap è su un bridge diverso. Ogni bridge è dato in pasto a una macchina kvm. Questa configurazione è stata copiata da quella "ufficiale" di Hetzner: http://wiki.hetzner.de/index.php/KVM

Essendo la subnet assegnataci 176.9.211.208/29 abbiamo:

brctl addbr br0
ifconfig br0 176.9.211.209 netmask 255.255.255.248 up
tunctl -b -u root -t qtap0
brctl addif br0 qtap0
ifconfig qtap0 up 0.0.0.0 promisc

Sembra che ogni interfaccia qtapX sarà assegnata a una diversa macchina virtuale. In questo caso si dovrà anche generare un diverso mac per ogni macchina.

Creare la propria macchina

Ognuno di noi ha una partizione LVM in /dev/beers/XXXX (corona, guinness, ale etc). Questo è un esempio per tirare su la macchina "ale" (ip 176.9.211.210).

mkdir -p /var/lib/libvirt/images/ale/mytemplates/libvirt
cp /etc/vmbuilder/libvirt/* /var/lib/libvirt/images/ale/mytemplates/libvirt/
vi /var/lib/libvirt/images/ale/vmbuilder.partition

modificarlo tipo:

root 395000
swap 5000

Creare un file che viene eseguito al primo avvio della macchina virtuale:

vi /var/lib/libvirt/images/ale/boot.sh

scrivendoci dentro:

# This script will run the first time the virtual machine boots
# It is ran as root.

# Expire the user account
passwd -e administrator

# Install openssh-server
apt-get update
apt-get install -qqy --force-yes openssh-server

dare questi comandi cambiando opportunamente i parametri:

vmbuilder kvm ubuntu --suite=oneiric --flavour=virtual --arch=amd64 --mirror=http://de.archive.ubuntu.com/ubuntu -o --libvirt=qemu:///system --ip=176.9.211.210 --gw=176.9.211.209  --part=vmbuilder.partition --templates=mytemplates --user=administrator --name=Administrator --pass=howtoforge --addpkg=vim-nox --addpkg=unattended-upgrades --addpkg=acpid --firstboot=/var/lib/libvirt/images/ale/boot.sh --mem=3000 --hostname=ale --bridge=br0

con questo comando abbiamo creato un file tipo /var/lib/libvirt/images/ale/ubuntu-kvm/tmpXl3TL2.qcow2 contenente l'immagine della macchina. A questo punto dobbiamo copiarla sulla nostra partizione LVM che abbiamo creato in precedenza:

cd /var/lib/libvirt/images/ale/ubuntu-kvm
qemu-img convert tmpXl3TL2.qcow2 -O raw /dev/beers/ale

a questo punto a possiamo rimuovere il file di immagine:

rm   tmpXl3TL2.qcow2

editiamo il file xml con le impostazioni della macchina virtuale

virsh edit ale

modificandolo per dirgli che la nostra macchina non parte più da un file ma da una partizione LVM:

[...]
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw'/>
      <source file='/dev/vg0/vm5'/>
      <target dev='hda' bus='ide'/>
      <address type='drive' controller='0' bus='0' unit='0'/>
    </disk>
[...]

ricarichiamo le impostazioni e facciamo partire la macchina:

virsh --connect qemu:///system
define /etc/libvirt/qemu/ale.xml
start ale

Se tutto va bene possiamo ora connetterci alla macchina virtuale come administrator e password "howtoforge".

=== Links guida marco

http://wiki.netgroup.uniroma2.it/doku.php?id=virtual_machine_creation_with_kvm_on_ubuntu_server_11.04