Verkkovoimaa virtuaalisest
Pertti Hämäläinen
Verkkovoimaa virtuaalisesti

Menneiden vuosikymmenten suurkonemaailmasta tuttu tekniikka lupaa säästöjä palvelinkuluihin ja helpotusta yritysympäristöjen hallintaan.
Virtualisointi ei ole uusi keksintö. Jo 1970-luvulla suurten keskustietokoneiden laskentavoimaa jaettiin käyttäjille ajamalla fyysisissä koneissa rinnakkain lukuisia toisistaan eristettyjä virtuaalikoneita.
Ensimmäinen kaupallisesti menestynyt virtualisointituote oli IBM:n VM/370-käyttöjärjestelmä. Sen peruina virtualisointikerrosta kutsutaan edelleen nimellä hypervisor kuvaavamman nimen VMM (Virtual Machine Monitor) asemesta.
Ajat kuitenkin muuttuivat, kun 1980-luvulla yleistyivät minikoneet ja 1990-luvulla mikrotietokoneet. Hajautettuun tietojenkäsittelyyn suunnitellut laitteet olivat niin huokeita, että yhdellä koneella voitiin ajaa kustannustehokkaasti vaikkapa vain yhtä sovellusta.
Moniajokäyttöjärjestelmien kehittäminen Intelin ja AMD:n suoritinarkkitehtuurien varaan toteutetuille palvelimille ei muuttanut tilannetta sanottavasti. Palvelinkäyttöjärjestelmien vakaus ei ollut suurkoneluokkaa, joten virheellisesti toimiva sovellus pystyi helposti kaatamaan koko käyttöjärjestelmän.Useimmissa yrityksissä olikin jatkuvasti käytössä oma palvelin jokaista vähänkin kriittisempää sovellusta varten.
x86-arkkitehtuurille on siirretty niin paljon sovelluksia, että palvelinten määrä yritysten konesaleissa on räjähtänyt. Tämä on johtanut tila- ja hallintaongelmaan. Mitä enemmän fyysisiä laitteita on käytössä, sitä useammin jokin niistä on vialla tai jonkinlaisen ylläpidon tarpeessa. Palvelinten konsolidoinnille on tarvetta, ja virtualisointi tarjoaa tähän ratkaisun.
Virtualisoinnin uusi aika alkoi vuonna 1999, kun Vmware-yhtiö julkaisi ensimmäisen x86-prosessoreille tarkoitetun virtualisointialustan. Sen avulla voitiin samassa fyysisessä mikrotietokoneessa ajaa rinnakkain useampia käyttöjärjestelmäinstansseja.
Noihin aikoihin mikrotietokoneiden laitteistoarkkitehtuuri sopi vielä huonosti virtualisointiin. Pohjana toimivan käyttöjärjestelmän päällä toimiva virtualisointikerros emuloi laitteistoa yläpuolisille virtuaalikoneille. Kahden rinnakkaisen Windowsin pohjalle tarvittiin siis isäntäkäyttöjärjestelmäksi vielä kolmas.
Ilman isäntää
Vuosikymmenen puolivälissä Intel ja AMD kehittivät kiihkeästi suoritintason tukea virtualisoinnille pyrkimyksenään saada aikaan luotettava alusta liiketoimintakriittisille sovelluksille. Intelin projekti tunnettiin koodinimellä Vanderpool, mutta yhtiön markkinointiosasto antoi sille ytimekkään nimen Intel VT (sanoista Virtualization Technology). AMD:n Pacifica-projekti sai puolestaan nimen AMD-V (sanasta Virtualization).
Nykyisin kummankin valmistajan uusimmat prosessorisukupolvet tukevat virtualisointia, ja myös niiden piirisarjoihin on lisätty virtualisoinnin tukea. Ohjelmistotoimittajien on kuitenkin sovitettava virtualisointikerroksensa kummallekin arkkitehtuurille erikseen.
Pisimmälle vietynä virtualisointi onnistuu jo kokonaan ilman isäntäkäyttöjärjestelmää. Hypervisor toimii suoraan laitteiston päällä tarjoten virtualisoidun laitteistorajapinnan useille rinnakkaisille käyttöjärjestelmäinstansseille. Arkkitehtuurista käytetään lempinimeä ”bare metal”.
Bare metal kiinnostaa erityisesti raskaan sarjan palvelinohjelmistojen valmistajia, koska kirjoittamalla sovelluksensa suoraan hypervisorille ne välttyisivät palvelinkäyttöjärjestelmän lisensoinnilta. Tällaisten sovellusten tarjonta on vielä erittäin vähäistä, mutta esimerkiksi BEA on ilmoittanut sovittavansa Liquidvm Java -virtuaalikoneensa Vmwaren hypervisorille.
Puhtaimpaan bare metal -arkkitehtuuriin on edennyt Vmware ESX Server 3 -sarjan tuotteissaan. Syyskuussa julkistettu 3i tuodaan markkinoille palvelinvalmistajien kautta, ja julkistustilaisuudessa tukensa kiirehtivät ilmoittamaan muun muassa Dell, Fujitsu, HP ja IBM. Vmware toivoo ensimmäisten sertifioitujen tuotteistusten ehtivän myyntiin vielä tämän vuoden puolella ja valtaavan markkinat vuoden 2008 kuluessa.
Microsoft seuraa kaukana perässä. Yhtiön viimeisin palvelinvirtualisointiratkaisu, Virtual Server 2005 R2, toimii suoraan kernel-moodissa, mutta tarvitsee vielä laitteiston käsittelyyn isäntäkäyttöjärjestelmän, Windows Server 2003 R2:n. Koodinimellä Viridian tunnettu, moneen kertaan lykätty ja karsittu projekti on tuottanut paljon spekulointia mukaan otettavista ja pois jätettävistä ominaisuuksista.
Tällä tietoa tuloksena syntyy Windows Server 2008:n ilmaisena lisäosana jaeltava, bare metal -periaatteella toimiva Windows Server Virtualization. Sen toimitus lykkääntynee ainakin ensi vuoden lopulle, selvästi itse käyttöjärjestelmää myöhäisemmäksi.
Tukea käyttöjärjestelmältä
Microsoftin ja Vmwaren ratkaisut ovat esimerkkejä täysvirtualisoinnista, jossa vieraskäyttöjärjestelmät toimivat virtualisointikerroksen päällä sellaisinaan ilman muutoksia. Paravirtualisoinniksi kutsutussa menettelyssä ne sovitetaan suoraan virtualisoidun ympäristön osaksi; suorempi yhteys hypervisorin palveluihin voi nopeuttaa monia toimintoja.
Linux-maailman tunnetuin virtualisointiprojekti on Xen, jonka kehittäjäyhteisössä ovat olleet aktiivisina muun muassa Xensource- ja Virtual Iron -nimiset yritykset. Xen oli alun perin esimerkki paravirtualisoinnista ”Linuxia Linuxin päällä” -mallin mukaisesti: vieraskäyttöjärjestelmät oli sovitettu toimimaan virtualisoidussa ympäristössä. Uusimmissa versioissa Xeniinkin on lisätty AMD:n ja Intelin ratkaisuja tukeva laitteistotason hypervisor.
Merkittävä hanke on myös virtualisoinnin tuki suoraan Linuxin ytimessä. Versiosta 2.6.20 on Linuxissa ollut mukana KVM (Kernel-based Virtual Machine). Tuettuina ovat sekä AMD-V että Intel VT, vieraskäyttöjärjestelminä Linux ja Windows.
Sun on jo pitkään tarjonnut Solaris-käyttöjärjestelmässään ilman hypervisoria toimivaa Containers-ratkaisua. Siinä isäntäkäyttöjärjestelmä ajaa virtuaalipalvelimia omina prosesseinaan ja on suoraan vastuussa niiden eristämisestä toisistaan sekä laitteistoresurssien jakamisesta niille. Virtuaalipalvelinten on aina oltava Solariksia, mutta ratkaisun etuna on toisaalta kaikenlaisten emulointien ja kikkailujen jääminen pois.
Linuxillekin on toteutettu vastaavanlaisia käyttöjärjestelmätason virtualisointeja. Avoimen koodin Openvz-projekti lienee tunnetuin esimerkki. Sen pohjalta kaupallisen Virtuozzo-tuotteen kehittänyt Swsoft on viime vuosina kasvanut nopeasti ja noussut palvelinvirtualisoijien kärkiryhmään.
Kustannushyödyt hallinnan kautta
Virtualisoidun ympäristön palvelinratkaisu kannattaa suunnitella huolella. Jos kaikki vanhat palvelimet ahdetaan yhteen jättimyllyyn, luodaan samalla keskitetty vikaantumispiste. On viisaampaa pystyttää muutama palvelin ja jättää niille sen verran vapaita resursseja, että yhden laitteen vikaantuessa sillä ajettavat virtuaalipalvelimet voidaan siirtää muille.
Kun virtuaalipalvelin ajetaan alas, se on olemassa vain virtuaalisen laitteistonsa määrittelevinä tiedostoina. Siirto fyysisestä koneesta toiseen käy periaatteessa helposti, mutta käytännössä eri valmistajien ratkaisut eroavat hallittavuudeltaan huikeasti.
Mitä paremmat apuvälineet on tarjolla aluksi fyysisen palvelimen siirtämiseen virtuaalipalvelimeksi ja virtuaalipalvelimen siirtämiseen isäntäkoneelle, sitä parempi. Fyysisten resurssien kuten tallennusverkkojen tai ryväspalvelinten tuki, vikatilanteista toipuminen sekä virtuaalikoneiden siirto palveluita keskeyttämättä laitteelta toiselle ovat toimintoja, joiden toteutustavat ja automatisointiaste vaihtelevat suuresti.
Käyttöjärjestelmävalmistajista riippumattomalla Vmwarella on pisimpään markkinoilla vaikuttaneena etulyöntiasema. Toisaalta Linuxin tai Windowsin kanssa pitkään ja pelkästään työskennelleillä pääkäyttäjillä on matalin oppimiskynnys omasta ympäristöstä nousseen natiiviratkaisun käyttöönottoon.
Novell on kehittämässä monipuolisia virtualisointiratkaisuja Linuxille. Suse Enterprise Server 10 sisältää Xen-virtualisoinnin korkean käytettävyyden toteutuksena. Yhtiö on myös lisäämässä perinteisen Zenworks-sarjansa järjestelmänhallintaohjelmistoihin pitkälle vietyjä virtuaalikoneiden hallinta- ja orkestrointivälineitä. Yhtiön tavoitteena on hallita kaikkien johtavien virtualisointitoimittajien tuotteilla rakennettuja ympäristöjä.
Mikä virtualisoinnissa maksaa?
Virtualisointi tarjoaa mahdollisuuden säästää laitteistoissa, mutta se ei tuo suoria kustannussäästöjä ohjelmistolisensseissä, päinvastoin. Yleensä ohjelmistoille on hankittava palvelin- ja käyttäjälisenssit samoin periaattein riippumatta siitä, ajetaanko niitä virtuaalikoneissa tai fyysisissä koneissa. Helpotuksia esiintyy lähinnä itse palvelinkäyttöjärjestelmien kohdalla.
Itse virtualisointiohjelmistojakin saattaa saada ilmaiseksi. Virtualisointi isäntäkäyttöjärjestelmän alaisuudessa on tosin jo niin vanha juttu, että sekä Vmware että Microsoft tarjoavat perusversiot ilmaiseksi.
Laitteistopohjaisista hypervisor-ratkaisuista peritään tuhannen euron tietämiltä lähteviä lisenssimaksuja, ja hinta nousee joko laitteiston tehon tai virtuaalikoneiden lukumäärän myötä. Tilanne muuttuu tältäkin osin viimeistään Microsoftin Viridianin valmistuessa, kun tekniikasta tulee kulutustavaraa.
Hallintaohjelmistot säilyvät sen sijaan valmistajien rahasampoina vastakin. Mitä suositumpaa virtualisoinnista tulee, sitä polttavammaksi kasvaa hallintaohjelmien tarve ja sitä käyttökelpoisemmiksi ne toivottavasti kehittyvät.
Hallintavälineet tarjoavat myös avoimen koodin ratkaisuihin pohjaaville yrityksille luontevan paikan kassavirran generointiin. Esimerkiksi Xensource on jo nostanut joitakin hintojaan Citrix-kaupan jälkeen.
Kaikkea ei kannata virtualisoida
Virtualisoinnin ensimmäinen tavoite, laitteistojen käyttöasteen parantaminen, saavutetaan helpoimmin valitsemalla kohteiksi vähiten kuormitetut palvelimet. Työryhmäkohtaiset tiedosto- ja tulostuspalvelimet, sovelluskehityskäytössä olevat testipalvelimet sekä pieniä erityisryhmiä palvelevat sovellus- ja tietokantapalvelimet ovat kiitollisia virtualisointikohteita.
Tällaisten palvelinten käyttöaste vaihtelee tyypillisesti viiden ja viidentoista prosentin välillä. Kun laitteistoilla on keskimäärin ikää jo vuosia, ne eivät vie modernista monisuoritinpalvelimesta tehoa kuin nimeksi. Käytännössä jopa kymmenien vanhojen koneiden palvelut voidaan usein siirtää yhteen ajanmukaiseen monisuoritinkoneeseen.
Sen sijaan eksoottisia laitteistoratkaisuja käyttävät palvelimet eivät helposti taivu virtualisoitaviksi. Virtualisointiohjelmien valmistajilla on usein hyvinkin tiukat vaatimukset tuetuille laitteistoille, eikä epästandardeja oheislaitteita yleensä tueta. Jos yrityksen cad-ohjelmisto vaatii palvelimelle usb-liitäntäisen lisenssilaskurin, virtualisointiyritys voi tuottaa vain harmaita hiuksia.
Palvelimet, joiden kuormitus on jo ennestään korkea, eivät nekään välttämättä hyödy virtualisoinnista tehostamismielessä. Jos palvelimessa on ennestään monta suoritinta, muistipaikat täynnä ja käyttäjät valittavat vasteajoista, virtualisointi tuskin tuo säästöjä.
Liian älykkäät sovellukset, jotka pyrkivät sovittamaan itsensä laitteiston kapasiteettiin, voivat myös aiheuttaa yllätyksiä virtualisoituina. Esimerkiksi Exchange 2007 pyrkii säätämään toimintaansa laitteistoresurssien mukaan, ja jarruttelee esimerkiksi sähköpostiruuhkan vastaanottoa verkosta puskurialueidensa tultua täyteen.
Jos valittu virtualisointiratkaisu tarjoaa hyvät hallintavälineet, kriittisimmät ja suurimman todennäköisen kasvutarpeen edessä olevat palvelimet voi hyvinkin kannattaa virtualisoida. Virtualisoidusta ympäristöstä on helppo vapauttaa resursseja siirtämällä kevyempiä virtuaalipalvelimia pois tieltä toisille koneille, ja laitteiston käydessä kerta kaikkiaan pieneksi virtualisoitu palvelin on helppo siirtää suuremmalle laitteistolle. Yhdessä fyysisessä palvelimessa voi olla järkevää ajaa yhtä ainoata virtuaalipalvelinta pelkästään hallittavuuden parantamiseksi.
Vuokralle tarjotaan: virtuaalikoneita
Helsinkiläisyritys Planeetta Internet Oy tarjoaa asiakkailleen virtualisointitekniikkaan perustuvia web-hotellipalveluita. Toimitusjohtaja Lauri Kasti selvittää, että virtualisoitu palvelinympäristö sopii erityisesti yritysasiakkaiden käyttöön perinteistä jaettua kotisivupalvelinta paremmin.
Kun palvelimella asennetaan raskaita java- tai asp-pohjaisia verkkokauppa-, asiakaspalvelu- tai extranet-sovelluksia, Planeetta Internet antaa ohjelmoijalle koko virtuaalisen palvelinympäristön hallittavaksi. Virtuaalipalvelin on eristetty fyysisestä ajoalustasta, joten ohjelmistoyritys voi tarjota asiakkailleen aina samanlaisen ympäristön, jonka yksityiskohtia ei tarvitse säätää asiakkaiden pääkäyttäjien kanssa.
Asiakas voi myös hallita omaa palvelintaan web-käyttöliittymän kautta ja vaikka käynnistää palvelimen uudelleen esimerkiksi ohjelmistopäivitysten yhteydessä tai virhetilanteissa. Fyysisten palvelinten etähallintasovittimia ei tarvita, mikä osaltaan laskee ratkaisun kustannuksia, huomauttaa Kasti.
Palvelun perustana on yhdysvaltalaisen Swsoftin kehittämä kaupallinen Virtuozzo-tuote. Planeetta Internet toimii myös Swsoftin partnerina ja myy ohjelmistoa suomalaisille yritysasiakkailleen.
Virtuozzo on suunniteltu erityisesti palvelukeskuskäyttöön, ja hallintatyökalut ovat pitkälle kehitettyjä. Kastin mukaan nimenomaan hallintatyökalut erottavat avoimen koodin virtualisointiratkaisut kaupallisista tuotteista.
Virtuozzon tapauksessa esimerkiksi laitteistojen ylläpito voi tapahtua tuotantoa juurikaan häiritsemättä. Linux-palvelimilla virtuaalipalvelimen siirto fyysiseltä laitteistolta toiselle käy vain sekuntien käyttökatkolla, koska uusi virtuaalikone voidaan käynnistää valmiiksi odottelemaan lennossa tehtävää siirtoa. Windows-palvelin on käynnistettävä uudella koneella uudelleen, mikä pidentää siirtoajan useisiin minuutteihin.
”Palvelukeskuskäytössä on myös tärkeätä, että valmistajan tekninen tuki on aina käytettävissä”, sanoo Kasti. Jos tuotantokäytössä löydettäisiin vakava ohjelmavirhe, ratkaisujen etsintä tai anelu avoimen koodin kehittäjäryhmien keskustelualueilta kestäisi aivan liian kauan.








