Virtualisoinnilla tarkoitetaan Wikipedian mukaan
tietojenkäsittelyssä tekniikkaa, jolla jonkin fyysisen resurssin tekniset piirteet piilotetaan muilta järjestelmiltä, sovelluksilta ja loppukäyttäjiltä, jotka käyttävät näitä resursseja.
Suomenkielinen Wikipedia mainitsee kaksi virtualisointitapaa: ohjelmien ja laiteresurssien virtualisoinnin. Ohjelmien virtualisointi voidaan jakaa kokonaisten tietokoneiden virtualisointiin ja sovellusten virtualisointiin. Itse olen käyttänyt näistä ensin mainittua.
Aikaisemmin olin ajatellut, että virtualisoinnista on hyötyä pääasiassa erilaisissa web-hotellipalveluissa, mutta erään työprojektin myötä virtuaaliselle tietokoneelle on ollut paljon muuta käyttöä. Virtualisoinnin ansiosta olen nimittäin pystynyt kiertämään monia ongelmia kyseisessä työprojektissa.
Jotkin lähteet esittävät virtualisoinnille kolme keskeistä tarkoitusta:
- Eri käyttöjärjestelmien ajaminen samassa koneessa joustavasti
- Tietokonelaitteiston käyttöasteen parantaminen (Tehokas kone, jolla käytetään useita virtuaalikoneita. Näin monet palvelimet toimivat.)
- Testausympäristö. Virtuaalikoneen sotkeminen ei sekoita isäntäkonetta.
Työpaikalla käytettävissäni on sekä Windows että Linux-käyttöjärjestelmällä varustetut tietokoneet. Linux-kone on työpaikan ylläpitämä enkä voi asennella siihen ohjelmia oman pääni mukaan. Windows-kone on myös työpaikan ylläpidon hallinnassa, mutta koska siihen minulla on pääkäyttäjäoikeudet, voin tarvittaessa asennella ohjelmia. Koska tarvitsin työssäni Linux-käyttöjärjestelmälle kehitettyä ympäristöä, asensin Windows-koneeseen Virtualbox-ohjelman.
Virtualbox on tarkoitettu x86-yhteensopivan tietokoneen virtualisointiin. Avoimen lähdekoodin ohjelma on yleiskäyttöinen ja sen päällä voi pyörittää Windows, Linux, Solaris, OS/2 tai BSD -käyttöjärjestelmiä. Käyttöjärjestelmiin ei tarvitse tehdä muutoksia, jotta ne saa toimimaan Virtualboxin päällä.
Jos mahdollista, guest-käyttöjärjestelmään kannattaa asentaa normaalin asennuksen jälkeen “guest additions” -lisäosa. Esimerkiksi asentamani Ubuntu 8.10 näyttöresoluutio jäi todella vaatimattomaksi ennen lisäosan asennusta.
Virtuaalikonetta asennettaessa kannattaa varmistautua muistin riittävyydestä istäntäjärjestelmässä. Työkoneeni muistia lisättiin kahteen gigatavuun, jolla päästään jo pitkälle. Tästä noin puolet voi huoletta antaa virtuaalikoneen käyttöön.
Virtuaalikone tarvitsee myös kiintolevytilaa reilun kakun, ja tämä kannattaa ottaa huomioon jo virtuaalikonetta asentaessa. Osoitin Ubuntu-asennukselleni levytilaa kahdeksan gigatavua, joka loppui melko nopeasti kesken. Levykoon kasvattaminen olikin sitten astetta mutkikkaampi operaatio.
Olen tähän mennessä käännellyt useita laajoja ohjelmistoja Virtualboxin päällä toimivassa Linux-ympäristössäni. Virtualisoidun käyttöjärjestelmän suorituskyky on luonnollisesti hieman natiiviympäristöä heikompi, mutta ero ei ole niin suuri, että työaikaa menetettäisiin merkittävästi virtualisoinnin heikomman suorituskyvyn takia. Oikeasti aikaa on säästynyt rutkasti, sillä kahden käyttöjärjestelmän lähes saumaton yhteistyö on tehnyt mahdolliseksi hyvin ketterän kehitysympäristön hyödyntämisen.