Differences between revisions 2 and 12 (spanning 10 versions)
Revision 2 as of 2008-10-12 17:55:21
Size: 741
Editor: AsmoKoskinen
Comment:
Revision 12 as of 2008-10-12 23:06:46
Size: 5520
Editor: AsmoKoskinen
Comment:
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
KVM on virtuaalikone, joka asentuu Linux-ytimem modulina. 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 saeuraavat. 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.
Line 10: Line 10:

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.

 -n jeos - Virtuaalikoneen nimi

 -r 512 - Virtuaalikoneelle varatun muistin määrä

 -f jeos.img - Virtuaalikoneen tiedoston nimi

 -s 12 - Virtuaalikoneen tiedoston koko, varsinaisen asennuksen yhteydessä tämä on samalla kovalevyn koko

 -c /home/asmok/Bin/ISO/hardy-alternate-i386.iso - Virtuaalikoneen asennusrompun sijainti

 --network bridge:br0 - Virtuaalikone käyttää läpinäkyvästi isäntäkoneen verkkokorttia

 --accelerate - Katso manuaalisuvulta

 --connect=qemu:///system - Virtuaalikoneen käyttämä "hypervisor"

 --vnc - Katso manuaalisuvulta

 --noautoconsole - Katso manuaalisuvulta

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.

  • -n jeos - Virtuaalikoneen nimi -r 512 - Virtuaalikoneelle varatun muistin määrä -f jeos.img - Virtuaalikoneen tiedoston nimi -s 12 - Virtuaalikoneen tiedoston koko, varsinaisen asennuksen yhteydessä tämä on samalla kovalevyn koko -c /home/asmok/Bin/ISO/hardy-alternate-i386.iso - Virtuaalikoneen asennusrompun sijainti --network bridge:br0 - Virtuaalikone käyttää läpinäkyvästi isäntäkoneen verkkokorttia --accelerate - Katso manuaalisuvulta --connect=qemu:///system - Virtuaalikoneen käyttämä "hypervisor" --vnc - Katso manuaalisuvulta --noautoconsole - Katso manuaalisuvulta