Revision 12 as of 2008-10-12 23:06:46

Clear message

SisällysluetteloBRTableOfContents(3)

KVM - Virtuaalikone Ubuntulle

KVM on virtuaalikone, joka asentuu Linux-ytimen moduulina. KVM on varsin uutta teknologiaa; se on kuitenkin valittu Ubuntun ensisijaiseksi virtuaalikoneeksi, erityisesti Ubuntun pitkän tuen versiossa (Ubuntu LTS 8.04). Muutamia tärkeimpiä ohjeita ja dokumentteja, joita on käytetty tämän ohjeen teossa, ovat seuraavat.

KVM-virtuaalikoneessa on erittäin hyvin tuki läpinäkyvälle isäntäkoneen verkkokortin käytölle. Esimerkiksi tyhmä pääte (Thin Client, PXE) voidaan käynnistää virtuaalipalvelimelta. Tästä on kuvaus ohjeen lopussa. KVM-virtuaalikonetta voidaan hallita sekä komentoriviltä että graafisella edusohjelmalla.

Muutama ruutukaappaus Ubuntu Server Edition JeOS -version käynnistymisestä KVM-virtuaalikoneessa.

http://www.arkki.info/howto/KVM/KVM_01.png

http://www.arkki.info/howto/KVM/KVM_03.png

KVM - Asennus

Tässä asennuksessa isäntäkoneen ja verkon asetukset ovat seuraavat.

Internet

ADSL-modeemi

Reititin 192.168.1.1

Ubuntu 192.168.1.101

Asus Eee/Ubuntu Eee 192.168.1.105

Jeos 192.168.1.110

Hardy LTSP5 192.168.1.120

Pääte, Asus Eee

Ubuntu Minimal Server 192.168.1.130

KVM-ohjelmien asennus tehdään pääkäyttäjänä, mutta virtuaalikoneet voidaan asentaa tavallisena käyttäjänä.

KVM:n käyttö vaatii isäntäkoneelta riittävästi muistia sekä prosessorin, joka tukee virtuaalikoneita. Tässä ohjeessa on käytetty Intel-prosessoria.

dmesg | grep CPU0
[--]
CPU0: Intel(R) Core(TM)2 CPU          6400  @ 2.13GHz stepping 02
CPU1: Intel(R) Core(TM)2 CPU          6400  @ 2.13GHz stepping 02

Prosessorin voi testata seuraavalla tavalla. jos mitään ei tulostu, prosessori ei tue virtuaalikoneita.

egrep '(vmx|svm)' /proc/cpuinfo

Isäntäkoneeseen asennetaan virtuaalikoneiden käyttöä ja hallintaa varten seuraavat ohjelmat.

sudo apt-get install kvm libvirt-bin virt-viewer python-virtinst virt-manager ubuntu-vm-builder

Tämän jälkeen oma käyttäjätunnus lisätään ryhmään "libvirtd".

root@ubuntu:~# sudo adduser asmok libvirtd
Lisätään käyttäjä `asmok' ryhmään `libvirtd' ...
Lisätään käyttäjä asmok ryhmään libvirtd
Valmis.
root@ubuntu:~#

KVM - isäntäkoneen verkkokortin läpinäkyvä siltakäyttö

Poista kokonaan tai ainakin käytöstä dhcpd- ja dhcdbd-palvelut isäntäkoneesta.

Jotta virtuaalikoneeseen ja sen palveluihin saadaan yhteys verkon muista koneista, isäntäkoneen verkkokorttia pitää muokata. Isntäkoneen interfaces-tiedoston asetukset ovat tässä ohjeessa näin.

auto lo
iface lo inet loopback

auto br0
iface br0 inet static
        address 192.168.1.101
        network 192.168.1.0
        netmask 255.255.255.0
        broadcast 192.168.1.255
        gateway 192.168.1.1
        bridge_ports eth0
        bridge_fd 9
        bridge_hello 2
        bridge_maxage 12
        bridge_stp off

Lisäksi tiedostoa /usr/share/ubuntu-vm-builder/templates/libvirt.tmpl muokataan tällaiseksi näiden kahden rivin kohdalta:

<interface type='bridge'>

<source network='br0'/>

<domain type='%VM%'>
  <name>%LIBVIRTNAME%</name>
  <memory>%MEM%</memory>
  <vcpu>1</vcpu>
  <os>
    <type>hvm</type>
    <boot dev='hd'/>
  </os>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <devices>
    <emulator>/usr/bin/%VM%</emulator>
    <interface type='bridge'>
      <mac address='%MAC%'/>
      <source network='br0'/>
    </interface>
    <input type='mouse' bus='ps2'/>
    <graphics type='vnc' port='-1' listen='127.0.0.1'/>
%loop%
    <disk type='file' device='disk'>
      <source file='%DESTINATION%/%img%.qcow2'/>
      <target dev='hd%curdisk%'/>
    </disk>
%/loop%
  </devices>
</domain>

Uudelleenkäynnistä isäntäkone tässä vaiheessa ja tarkista, että verkko toimii automaattisesti uusilla asetuksilla.

KVM - Virtuaalikoneen asennus

Ensimmäisessä esimerkissä asennetaan ISO-levykuvasta "Ubuntu Server Edition Jeos".

virt-install -n jeos -r 512 -f jeos.img -s 12 -c /home/asmok/Bin/ISO/hardy-alternate-i386.iso --network bridge:br0 --accelerate --connect=qemu:///system --vnc --noautoconsole

virt-install - asennusohjelma, jolla luodaan tiedosto, jossa virtuaalikone sijaitsee. katso ohjelman man-sivulta tarkemmin eri vaihtoehdoista.