Virtualisering med QEMU KVM - Användning

En quickstart guide för att snabbt komma igång med installationen av ett gäst-system. I den följande texten kommer guest.example.com att användas som ett alias för det riktiga DNS-namnet på systemet som ska sättas upp.

Inloggning

Du behöver en SSH-inloggning till en av servrarna med QEMU KVM installerat. Logga sedan in via SSH eller använda KVM-switchen. Väl inloggad, erhåll root-privilegier genom att använda sudo:

    root@host:~# sudo -s

Nu återstår bara några enkla steg. Det första steget är att skapa en LVM-volym som kommer att användas som disk för gäst-systemet, det andra är att sätta upp en control.sh fil som startar gäst-systemet automatiskt.

Skapa LVM-volymen

Använd lvcreate för att skapa volymen. Som volymgrupp ska virtual användas:

    root@host:~# lvcreate -L 100G -n guest.example.com virtual

Byt ut 100G mot en lämlig storlek på disken och ersätt guest.example.com med det fullständiga DNS-namnet.

Det ska nu finnas en device node /dev/mapper/virtual-guest.example.com:

    root@host:~# ls -l /dev/mapper/virtual-guest.example.com

Uppsättning av control.sh

Skapa en katalog för gäst-systemet:

    root@host:~# mkdir -p /var/img/kvm/guest.example.com
    root@host:~# cd /var/img/kvm/guest.example.com

Kopiera valfri mallfil control-xxx.sh från lokala filsystemet under /var/img/tpl:

    root@host:~# cp /var/img/tpl/control-windows.sh /var/img/kvm/guest.example.com/control.sh

Alternativt använd wget för att ladda ner control.sh för linux eller windows med wget:

    root@host:~# wget http://it.bmc.uu.se/andlov/docs/linux/kvm/files/control-windows.sh
    root@host:~# mv -i control-windows.sh control.sh
Ändringar som krävs:

Editera filen control.sh med valfri editor jed (emacs-liknande) eller nano (notepad-liknande).

    root@host:~# nano control.sh

Det som behöver ändras i filen är (om mallen för windows används):

  • name: Sätt till valfritt namn
  • host: Sätt till FQHN från DNS

Det virtuella nätverkskortet behöver få en unik mac-address. Det kan vara bra att välja adresser från samma serie för samtliga gäst-system, t.ex. 52:54:00.XX.YY.ZZ

Valfria ändringar:

Andra saker som kan behöva ändras på är /etc/qemu/qemu-ifup-brN (vilken nätverksbrygga som virtuella nätverkskortet kopplas till), antal CPU:er (-smp N) samt RAM minne (-m NNN).

Boot-media (ISO-filer):

Det finns möjlighet att boota från ISO-filer för installationen. Att köra installationen från en ISO-fil snabbar upp installationen rejält. Lägg dessa under /var/img/iso och ändra på -cdrom i control.sh

Samma katalog kan användas för diskavbildningar som ska vara tillgängliga för gäst-systemet under drift. Är dessa +1GB så är det bäst att skapa en virtuell disk att använda som lagringsutrymme.

Installation

Starta installationen genom att köra control.sh med install som argument:

    root@host:~# /var/img/kvm/guest.example.com/control.sh install

Den virtuella miljön ska nu starta upp och binda till en VNC-server socket. Du kan använda en VNC-klient för att ansluta till den porten för att fortsätta installationen.

VNC-anslutning

Om du inte vet vilken VNC-port som ska användas, gör så här:

      root@host:~# netstat -lnp | grep `cat /var/run/kvm/guest.example.com.pid`
      tcp        0      0 127.0.0.1:5901          0.0.0.0:*               LISTEN      1931/qemu-system-x8      

Vi behöver nu sätta upp en port-forward på lokala datorn till host-system. Det går enkelt att göra med Putty eller från Linux/OSX:

    user@comp $~ ssh -L 5901:localhost:5901 user@host.example.com

Logga in på servern över SSH-anslutningen. Du ska nu ha en tunnel till VNC-servern som du kan använda en VNC-klient för att ansluta till installationsprocessen.

Avslutning

Du behöver inte göra någonting speciellt. Starta om servern som vanligt efter avslutad installation och installera uppdateringar.

Då QEMU KVM använder nätverksbryggor så är det effektivt som om gäst-systemet är direkt-ansluten till nätet som vilken annan server som helst. Tänk därför på att sätta upp eventuella lokala brandväggar som behövs.