Kirjoittaja Aihe: Virtualisointi KVM:llä  (Luettu 5233 kertaa)

0 jäsentä ja 1 Vieras katselee tätä aihetta.

Poissa jmureke

  • Jäsen
  • Viestejä: 66
  • Sukupuoli: Mies
Virtualisointi KVM:llä
« : 31.10.2012 - klo:09:47 »
Arv. lajitoverit,

OpenSUSE 12.2 käy mainiosti hosted-hypervisorin alustaksi.

Hyvät ohjeet löytyvät tuolta:
http://www.howtoforge.com/virtualization-with-kvm-on-an-opensuse-12.2-server
  ja
http://doc.opensuse.org/documentation/htmlsingle/openSUSE/opensuse-kvm.html

Ensimmäisen ohjeen perusteella homma pitäisi pelata, mutta ainakin itse jouduin etsimään tuon jälkimmäisen dokkarin KVM:n kernel-modulien lataamiseksi modprobella. Bootti olisi varmaan riittänyt. Ainakin homma on keitettävissää kokoon selvästi helpommin kuin vaikkapa Ubuntu-alustalla.

Poissa jmureke

  • Jäsen
  • Viestejä: 66
  • Sukupuoli: Mies
Vs: Virtualisointi KVM:llä
« Vastaus #1 : 11.11.2012 - klo:12:16 »
Kas niin, nyt kun on hiukan käyttökokemusta kertynyt tuosta hosted-KVM-systeemistä, laitan pari lisävinkkiä, ettei kaikkien (aiheesta mahdollisesti kiinnostuneiden) tarvitse keksiä pyörää uudelleen.

1) KSM - Kernel Samepage Merging

Tämä systeemi skannaa muistista sivuja, jotka ovat sisällöltään samoja ja yhdistää viittaukset niihin. NetAPP-kielellä puhuttaisiin deduplikoinnista ja VMware-kilellä ominaisuus on Transparent Page Sharing. Jos muisti on tiukoilla, tämä ominaisuus keventää kuormitusta niin, että suorituskyvyn romahduttavalle swapille mennään myöhemmin.

Lisätietoja:
http://en.wikipedia.org/wiki/Kernel_SamePage_Merging_%28KSM%29
http://www.linux-kvm.com/content/using-ksm-kernel-samepage-merging-kvm

2) Levyjen annostelu virtuaalikoneille

QEMU tarjoaa muutamankin kätevän tavan virtuaalilevyjen määrittämiseksi, mutta ne pääsääntöisesti tekevät image-tiedostoja olemassaolevaan tiedostojärjestelmään.

Itse valitsin toisen tavan, antaa KVM:lle levyosioksi VG:n (LVM volumegroupin) ja antaa Virtual Machine Managerin luoda levyt logical volumeina, jolloin niitä voi kasvattaa, siirtää ja poistaa tavallisilla linuxin lvm-komennoilla. Myös suorituskyky on huomattavasti parempi kuin qcow2- tai vaikkapa vmdk-formaateilla.

Ja jos, kuten itsekin tein, tulee ensin kokeilleeksi qcow2-formaatilla, LVM-levyannosteluun voi siirtyä helposti näillä ohjein: https://www.nnbfn.net/2011/03/convert-kvm-qcow2-to-lvm-raw-partition/

3) virtio-ajurit

Parhaan suorituskyvyn hypervisorista saa, kun virtuaalikoneen laitteet (levyohjain, verkkokortti) ovat paravirtualisoituja. CentOS:n ja Ubuntun voi varsin suoraviivaisesti virtualisoida virtio-laitteille, mutta Windows vaatii ajurit, jotka löytyvät vaikkapa täältä: http://www.linux-kvm.org/page/WindowsGuestDrivers/Download_Drivers

Windowsin boottilevyä ei voi lennossa muuttaa IDE-->virtio, vaan pitää käyttää wanhaa kunnon virtualisointikikkaa, eli kun winkkari on asennettu, annetaan sille toinen, ihan pikkuinen virtio-levy. Kun sen (paravirtualisoidut SCSI-) ajurit on saatu asennettua ja pikkulevy näkyy, voi winkkarin sammuttaa, irroittaa pikkulevyn ja vaihtaa käyttislevyn virtio-tyyppiseksi. Seuraavassa bootissa kaikki toimii, koska nyt Windows-kernel osaa ladata myös virtio-ajurit suoraan bootissa.

Win7:lla tämä toimi mainiosti, XP:llä oli jotakin kummaa takkuilua, jota pitänee erikseen tunkata.

Ja - ai niin - useat lähteet suosittavat, että virtuaalikoniden levyjen puskurointi laitetaan kokonaan pois suorituskykysyistä. Kaiketi tämä tarkoittaa, että LVM puskuroi tehokkaammin ja taloudellisemmin levytoiminteet kuin hypervisori. Tästä kerrotaan esimerkiksi näissä lähteissä:
http://itscblog.tamu.edu/improve-disk-io-performance-in-kvm/  ja
http://publib.boulder.ibm.com/infocenter/lnxinfo/v3r0m0/index.jsp?topic=%2Fliaat%2Fliaattuncache.htm


Poissa jmureke

  • Jäsen
  • Viestejä: 66
  • Sukupuoli: Mies
Vs: Virtualisointi KVM:llä
« Vastaus #2 : 27.11.2012 - klo:22:36 »
...ja senkin uhalla, että tämä nyt vallan monologiksi menee, pari lisäpykälää vielä:

4) Ulkoinen hallinta

Jostain kumman syystä VMM ei oikein halua/pysty/viitsi haltuunottaa pääkäyttäjäoikeuksia ajettaessa etä-X-ohjelmana - hm - esim OS X:ssä. Pitäisi varmaan tutkia... Mutta ns. kunnollista, hypervisorin ja virtuaalikoneiden tilaa kertovaa hallintaa ei meinaakaan löytyä. Jotkut ovat "fedora-only" tai "enterprise-linux-only", eli vain RedHat-lähisuvulle. Moni softa myös on vain kaupallinen, rahalla saatavaa tavaraa tai aivan liian raskasrakenteinen (erillinen hallintapalvelin ja tietokantapalvelin jne...). Kertokaa, jos löytyy havaitusti hyvä ja helposti asentuva web-hallinta OpenSUSE-KVM:lle.

5) Virrankulutus

Oma testi-hypervisor on jo kotvan maailmaa nähnyt kotirakenteinen kone, joka alun perin oli tarkoitettu pelikoneeksi. Nykyisessä käytössä virtaa saakin kulua vähän vähemmän kuin 150-200W, joten vaihdoin wanhan GeForce 8800GTS:n tuliterään Radeon HD6450 -ohjaimeen, jossa on tuulettimeton passiivijäähdytys.  Ja varmaan se on tehokkaampikin kuin tuo takavuosien teho-ohjain. Mutta mikä tärkeintä, virrankulutus aleni käyttötilanteesta riippuen 30-50W alkuperäiseen verrattuna. Aika hyvä suoritus. Ja se uusi näytönohjain maksoi alle 50€ postikuluineen. Ajuritkin asentuivat miellyttävän helposti.


Poissa tiger61

  • Jäsen
  • Viestejä: 357
  • Sukupuoli: Mies
Vs: Virtualisointi KVM:llä
« Vastaus #3 : 28.11.2012 - klo:08:27 »
Nykyisessä käytössä virtaa saakin kulua vähän vähemmän kuin 150-200W, joten vaihdoin wanhan GeForce 8800GTS:n tuliterään Radeon HD6450 -ohjaimeen, jossa on tuulettimeton passiivijäähdytys.  Ja varmaan se on tehokkaampikin kuin tuo takavuosien teho-ohjain.
No ei ole tehokkaampi - mutta varmasti hiljaisempi  8)
"Työkone":
OpenSuse Leap 15.1
Intel E8500, 4 Gt RAM, GeForce Quadro K4000, Samsung SyncMaster P2770HD, Samsung ML1675

"Viihdeyksikkö":
Manjaro-KDE 19.0.2
Intel i3, 4 Gt RAM, LG 55"

Yhteydenpitoväline:
OnePlus 6

Poissa jmureke

  • Jäsen
  • Viestejä: 66
  • Sukupuoli: Mies
Vs: Virtualisointi KVM:llä
« Vastaus #4 : 28.11.2012 - klo:09:39 »
No niin, eipä olekaan (olisihan tuon voinut googlettaa....)

Mutta se tärkein juttu, eli ohjaimen virrankulutus, siinä ero on selkeä; Gf8800GTS:n 145W versus Radeonin 31W max. TDP. (lähde: http://www.hwcompare.com/10376/geforce-8800-gts-g80-640mb-vs-radeon-hd-6450-oem-1gb/). Olkoonkin, että TDP kuvaa maksimaalista jäähdytystarvetta, se korreloi varsin hyvin "normaalitilanteen maksimikuorman" kanssa (koska tuskinpa koneesta enempää ulos jäähdytystehoa on otettavissa kuin sinne sähköenergian muodossa syötettykään on). Ja havaintoni (30-50W käytännön virransäästöä mitattuna samalla mittarilla ennen ja jälkeen kortinvaihdon) tukevat tätä varsin hyvin.