Sisällysluettelo

KVM - Virtuaalikone Ubuntulle

KVM on virtuaalikone, joka asennetaan Linux-ytimen moduulina. KVM on varsin uutta teknologiaa; se on kuitenkin valittu Ubuntun ensisijaiseksi virtuaalikoneeksi 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.

Muutama artikkeli KVM-virtuaalikoneesta.

KVM-virtuaalikoneessa on tuki läpinäkyvälle isäntäkoneen verkkokortin käytölle. Esimerkiksi tyhmä pääte (Thin Client, PXE) voidaan käynnistää virtuaalipalvelimelta. KVM-virtuaalikonetta voidaan hallita sekä komentoriviltä että graafisella edusohjelmalla. Tässä ohjeessa käytetyssä isäntäkoneessa on sekä laadukas äänikortti että DVB-C -digitv-kortti. Näitä ei voi käyttää asentamalla Ubuntu Studio tai Mythbuntu virtuaalikoneeksi, virtuaalikone ei käytä isäntäkoneen laitteita suoraan.

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ä.

Tässä ohjeessa on luotu hakemisto /media/vm, johon kaikilla käyttäjillä ovat kaikki oikeudet (chmod 777). Näin tunnuksella "asmok" voidaan luoda virtuaalikoneita kyseiseen hakemiston.

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 python-libvirt

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ä isäntäkoneen dhcpd- ja dhcdbd-palvelut.

Jotta virtuaalikoneeseen ja sen palveluihin saadaan yhteys verkon muista koneista, isäntäkoneen verkkokorttia pitää muokata. Isäntä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 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. Verkkoliitännät ovat tällaiset.

asmok@ubuntu:~$ ifconfig
br0       Link encap:Ethernet  HWaddr 00:19:d1:e1:38:2a  
          inet addr:192.168.1.101  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::219:d1ff:fee1:382a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2295 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1301 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:2629047 (2.5 MB)  TX bytes:187122 (182.7 KB)

eth0      Link encap:Ethernet  HWaddr 00:19:d1:e1:38:2a  
          inet6 addr: fe80::219:d1ff:fee1:382a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2297 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1304 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:2666375 (2.5 MB)  TX bytes:198958 (194.2 KB)
          Base address:0x30c0 Memory:90300000-90320000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:6 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:300 (300.0 B)  TX bytes:300 (300.0 B)

vnet0     Link encap:Ethernet  HWaddr 52:4b:51:9a:d3:5b  
          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
          inet6 addr: fe80::504b:51ff:fe9a:d35b/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:41 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:5482 (5.3 KB)
asmok@ubuntu:~$ 

Isäntäkoneen yksityiskohtia.

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

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

KVM - Virtuaalikoneen asennus

KVM - Ubuntu Server Edition Jeos

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 on asennusohjelma, jolla luodaan tiedosto, jossa virtuaalikone sijaitsee. Katso ohjelman man-sivulta tarkemmin eri vaihtoehdoista.

Kun virtuaalikoneen levykuva on luotu, asennusta jatketaan kunkin Linuxin omalla asennusohjelmalla. Tästä enemmän seuraavassa esimerkissä.

KVM - Ubuntu Server Minimal

Toisessa esimerkissä asennettaan Ubuntu Server -versiosta minimaalinen asennus, ei valita yhtään palvelua asennuksen yhteydessä. Tämä vastaa täysin Jeos -versiota. Jeos onkin jäämässä kokonaan pois.

http://doc.ubuntu.com/ubuntu/serverguide/C/jeos-and-vmbuilder.html

KVM - Ubuntu Server Minimal - Virtual Machine Manager

Käynnistä Virtual machine Manager (virt-manager) ja valitse uusi virtuaalikone.

KVM_05.png

KVM_06.png

Siirry tekemään valintoja siitä, millaisen virtuaalikoneen haluat.

KVM_07.png

KVM_08.png

KVM_09.png

KVM_10.png

KVM_11.png

KVM_12.png

KVM_13.png

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

KVM_15.png

KVM_16.png

KVM - Ubuntu Server Minimal - Linuxin oma asennusohjelma

Tämän jälkeen siirrytään käyttämään Ubuntu Server -version omaa asennusohjelmaa.

KVM_17.png

KVM_18.png

Kun käytetään isäntäkoneen verkkokorttia läpinäkyvästi (br0), niin jokaiselle virtuaalikoneelle voidaan antaa oma IP-osoitteensa samassa verkossa, missä isäntäkonekin on. Tässä esimerkissä siis 192.168.1.130.

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

KVM_20.png

KVM_21.png

KVM_22.png

KVM_23.png

KVM_24.png

KVM_25.png

Tässä esimerkissä luotiin tiedosto, jonka koko 12 Gb. Tätä tiedostoa käytetään virtuaalikoneen kovalevynä.

[http://www.arkki.info/howto/KVM/KVM_26.png

KVM_27.png

KVM_28.png

KVM_29.png

KVM_30.png

KVM_31.png

Asennuksen etenemistä voidaan seurata tarkemmin konsolista Alt-F4.

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

KVM_33.png

Ubuntu Server -versiosta ei valita mitään, siitä tehdään minimaalinen asennus. Siihen voidaan myöhemmin asentaa se, mitä tarvitaan.

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

KVM_35.png

KVM_36.png

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

Virtuaalikone käynnistyy ensimmäistä kertaa, siihen kirjaudutaan sisään, tarkistetaan sen toimivuus ping-testillä ja asennetaan OpenSSH-palvelin myöhempiä yhteydenottoja varten.

[http://www.arkki.info/howto/KVM/KVM_38.png

KVM_39.png

KVM_40.png

KVM_41.png

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

KVM_43.png

KVM_44.png

KVM_45.png

Virtuaalikoneen ominaisuuksia voidaan tarkastella omassa näkymässään.

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

KVM_47.png

KVM_48.png

KVM_49.png

KVM_50.png

KVM_51.png

KVM_52.png

KVM_53.png

KVM - Ubuntu 8.04.1 Alternate/LTSP5

KVM soveltuu myös LTSP5-päätejärjestelmälle. Asennus itsessään on tehty kuten edellä on kuvattu. Muutama ruutukaappaus toimivasta virtuaalikoneesta.

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

KVM_54.png

KVM_55.png

KVM_56.png

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