Install a KVM host on Ubuntu 14.04 Trusty Tahr

Instalacja i konfiguracja hosta KVM z libvirt i Open vSwitch na Ubuntu 14.04 Trusty Tahr. Poniższe kroki najlepiej wykonać zaraz po zainstalowaniu systemu operacyjnego.

1) Instalujemy wymagane pakiety:

root#server:/# apt-get install openvswitch-switch qemu-kvm libvirt-bin

2) Usuwamy domyślny bridge i tworzymy bridge oparte na Open vSwitch:

root#server:/# virsh net-destroy default
root#server:/# ovs-vsctl add-br ovsbr0
root#server:/# ovs-vsctl add-br ovsbr1

W katalogu /etc/libvirt/qemu/network tworzymy 2 pliki konfiguracyjne:

root#server:/# touch ./ovsbr0.xml
root#server:/# touch ./ovsbr1.xml

i wklejamy do nich poniższe konfiguracje, do ovsbr0.xml:

<network>
<name>ovsbr0</name>
<forward mode='bridge'/>
<bridge name='ovsbr0'/>
<virtualport type='openvswitch'/>
</network>

do ovsbr1.xml:

<network>
<name>ovsbr1</name>
<forward mode='bridge'/>
<bridge name='ovsbr1'/>
<virtualport type='openvswitch'/>
</network>

Po zapisaniu plików tworzymy oba bridge w oparciu o powyższą konfigurację:

root#server:/# virsh net-define ovsbr0.xml
root#server:/# virsh net-define ovsbr1.xml

3) Docelowo usuwamy konfigurację poprzedniego bridga i ustawiamy automatyczny start nowo skonfigurowanych mostków:

root#server:/# virsh net-undefine default
root#server:/# virsh net-autostart ovsbr0
root#server:/# virsh net-autostart ovsbr1

4) Ustawiamy konfigurację sieci dla obu mostków w pliku /etc/network/interfaces, poprzez dodanie odpowiednich wpisów identycznie jak w przypadku standardowych interfejsów:

auto ovsbr0
iface ovsbr0 inet static
   address 192.168.10.1
   network 192.168.10.0
   netmask 255.255.255.0
   broadcast 192.168.10.255

auto ovsbr1
iface ovsbr1 inet static
   address 192.168.20.1
   network 192.168.20.0
   netmask 255.255.255.0
   broadcast 192.168.20.255

Możemy też ustawić konfigurację dla ipv6:

iface ovsbr0 inet6 static
address 2001:xxxx:xxxx:1::1 netmask 64

5) Dodajemy fizyczne interfejsy do bridga:

root#server:/# ovs-vsctl add-port ovsbr0 eth0
root#server:/# ovs-vsctl add-port ovsbr1 eth1

6) Uruchamiamy ponownie komputer i sprawdzamy czy oba mostki zostały uruchomione:

root#server:/# virsh net-list
 Name                 State      Autostart     Persistent
----------------------------------------------------------
 ovsbr0               active     yes           yes
 ovsbr1               active     yes           yes

Przydatne polecenia do testowania:

root#server:/# ip addr sh
root#server:/# ovs-vsctl show
root#server:/# virsh --connect qemu:///system

Host KVM jest gotowy i możemy przystąpić do instalowania maszyn wirtualnych.