Virtuaalinen pc on kätevä tapa kokeilla ja käyttää useita käyttöjärjestelmiä turvallisesti yhdessä ja samassa koneessa.

Palvelinten ja pilvi-infrastruktuurin maailmassa tietokoneiden virtualisointi on arkipäivää. Sen sijaan että laitteistolle asennettaisiin palvelimen tarvitsema käyttöjärjestelmä, sille asennetaan virtualisointialusta eli hypervisor, jonka alla pyörii tyypillisesti useita virtuaalikoneita.

Samalla laitteistolla voi tällöin pyöriä lukuisia joko samaan tai eri tarkoituksiin omistettuja palvelimia, joiden käyttöjärjestelmät ja ohjelmistot ovat täysin tosistaan riippumattomia.

Jos jokin menee vikaan, uusi virtuaalinen palvelin nousee pystyyn joko puhtaasta levykuvasta tai aiemmin tallennetusta hetkellisestä tilasta eli snapshotista kirjaimellisesti sekunneissa. Muut palvelimet eivät häiriinny millään lailla yhden virtuaalisen palvelimen ongelmatilanteesta tai sen korjauksesta.

Mitä etua virtualisoinnista?

Työpöytäkoneessa virtualisoinnin edut eroavat palvelinkäytöstä, mutta ne ovat yhtä kaikki huomattavat.

Merkittävin on mahdollisuus ajaa useita käyttöjärjestelmiä yhdessä tietokoneessa yhtä aikaa ilman tarvetta käynnistää tietokonetta uudelleen. Esimerkiksi Mac- tai Linux-käyttäjä voi vain Windowsissa toimivaan sovellukseen törmätessään helposti herättää virtualisoidun Windows-koneen tallennetusta tilastaan, hoitaa tarvittavat hommat ja sen jälkeen jäädyttää Windowsin sovelluksineen seuraavaa käyttökertaa odottamaan.

Virtuaalikone on erittäin hyvä apu myös ohjelmien testauksessa, kun sovellusten ei haluta sotkevan varsinaista käytettävää tietokonetta. ”Puhtaan” testiympäristön voi helposti monistaa useaksi erilliseksi koneeksi tai sen voi palauttaa snapshot-toiminnon avulla takaisin aiempaan tilaansa, kun testit on tehty.

Virtuaalinen alusta on avuksi myös vanhempien ohjelmien ajamisessa: esimerkiksi vain Windows XP:tä tukevaa ohjelmaa on helppo käyttää modernissa koneessa asentamalla XP virtuaalisesti. Pelaamiseen virtuaalikonetta ei tosin voi juuri käyttää 3d-kiihdytyksen puutteellisen tuen takia.

Näin käytät virtuaalikonetta

Virtuaalikoneen asetusten System-välilehdellä määritetään useita tärkeitä asetuksia. Mikäli käyttöjärjestelmä ei suostu asentumaan tai käynnistymään, kannattaa ensin kokeilla emuloidun piirisarjan (chipset) vaihtamista. Vanhempi PIIX3 toimii varmemmin iäkkäissä käyttöjärjestelmissä, ICH9 taas uudemmissa.

Virtuaalikoneen turvallinen käyttäminen on helppoa, koska siltä on vaivatonta tarvittaessa katkaista verkkoyhteydet ja muut kytkökset ulkomaailmaan. Niinpä esimerkiksi haittaohjelman saastuttamaksi epäiltyä sovellusta voi testata vaaratta.

Testauksen helppous pätee myös käyttöjärjestelmiin. Etenkin monissa Linux-levityspaketeissa on live-cd-tila, jossa itse käyttöjärjestelmä käynnistyy suoraan asennuslevyltä, ja sitä voidaan koekäyttää ennen kuin varsinainen asennus käynnistetään. Uuden Linuxin kertakäyttöinen pystyynpolkaisu virtuaalisesti sujuu käden käänteessä, ja lukuisista levitysversioista voi näin valita varmasti omaan makuun sopivan varsinaiseen tietokoneeseen asennettavaksi.

Vaikka käyttöjärjestelmä pitäisi asentaakin, voi sen kokeilu virtuaalikoneessa olla silti erittäin hyödyllistä. Esimerkiksi Windowista Linuxiin siirtymistä ämpyilevälle siirtymävaiheen kulttuurishokki voi olla pienempi, jos tulevan käyttöjärjestelmän perusasioihin on tutustuttu etukäteen.

Mikäli ruoho taas ei paljastukaan aidan toisella puolella pistäytyessä vihreäksi, voi virtuaalikoneen poistaa yhdellä klikkauksella ja palata tuttuun ja turvalliseen.

Virtuaalikone ohjelmineen ja tiedostoineen voidaan siirtää helposti toiseen, saman tai yhteensopivan virtualisointisovelluksen sisältävään tietokoneeseen yksinkertaisesti kopioimalla sen tiedostot. Joistakin käyttöjärjestelmistä tarjotaan asennuslevyjen lisäksi myös käyttövalmiita virtuaalikoneita, jotka voi yksinkertaisesti avata VirtualBoxissa tai vastaavassa sovelluksessa ilman tarvetta asennuksille.

VirtualBox valitsee useimmille käyttöjärjestelmille automaattisesti melko toimivat oletusasetukset, mutta näyttömuistin suhteen se kitsastelee turhan paljon. Etenkin jos halutaan käyttää tuoretta käyttöjärjestelmää visuaalisine efekteineen, kannattaa näyttömuisti kasvattaa täyteen 128 megatavuun ja laittaa päälle sekä 2d- että 3d-kiihdytys. Vanhemmissa käyttöjärjestelmissä kiihdytystä ei kannata käyttää.

Samassa virtualisointisovelluksessa voi hyödyntää kuinka monta virtuaalikonetta ja käyttöjärjestelmää tahansa: käytännössä ainoa rajoittava tekijä on levytilan määrä. Ram-muisti rajoittaa jossain määrin sitä, kuinka monta konetta voi olla yhtä aikaa käynnissä, ja virtualisointi onkin yksi niistä harvoista käyttötarkoituksista, joissa tavallista suuremmasta ram-muistista on huomattavaa hyötyä.

Myös nopea massamuisti on virtuaalikoneiden käytössä poikaa, koska koneet heräävät sitä nopeammin, mitä ripeämmin niiden tallennettu ram-muistin sisältö saadaan levyltä luettua.

Virtuaalikoneen asentaminen

Jutussamme käytetään esimerkkinä Oraclen VirtualBox-sovellusta. Varsinaiset asentamisohjeet löydät tästä artikkelista. Sovellus on pääosin avointa lähdekoodia ja yksityiskäytössä ilmainen. Muita työpöytäkäyttöön tarkoitettuja virtualisointiohjelmistoja ovat VMWare Workstation Windowsille ja VMWare Fusion Macille sekä vain Maceilla toimiva Parallels.

VirtualBoxilla voi käyttää miltei kaikkia x86-alustalla toimivia käyttöjärjestelmiä: Windowsia ainakin 3.1-versiosta lähtien, Linuxia, BSD:tä, OS/2:ta, Android-x86:ta, Chromium OS:ää, Solarista, Netwarea, DOS:ia. Viimeksi mainitun käyttöön parempi vaihtoehto on tosin DOSBox-emulaattori, jolla temperamenttisten ja laitteiston suhteen nirsojen DOS-ohjelmien ja erityisesti pelien ajaminen on paljon helpompaa.

MacOS:ää voi käyttää melko vaivattomasti vieraana Mac-isäntäkoneella, mutta muilla alustoilla sen käyttö vaatii sekä lievää törkeämpää kikkailua että käyttöehtojen rikkomista.

Sovellusten suorituskyky virtuaalisella alustalla on jopa yllättävän hyvä, kunhan käytössä on amd-v:tä tai vt-x:ää tukeva suoritin ja virtuaalikoneelle on annettu käyttöön riittävästi ram-muistia. Koko ruudun tilaa käytettäessä on jopa helppo unohtaa taustalla olevan isäntäkäyttöjärjestelmän olemassaolo kokonaan.

Virtuaalikoneeseen voi kytkeä isäntäkoneen portteihin liitettyjä usb-laitteita lisäämällä ne koneen asetusten kohdasta USB. Virtuaalikoneeseen kytketty laite näkyy isäntäkoneessa, kunnes se poistetaan ohjelmallisesti tai virtuaalikone suljetaan.

Virtualisointiin liittyy kuitenkin aina ylimääräistä ohjelmallista kuormaa, joten sovellukset eivät virtuaalialustalla ole koskaan aivan yhtä nopeita kuin suoraan raudan päällä toimivassa käyttöjärjestelmässä. Erityisen raskaita graafisia sovelluksia käytettäessä erot ovat edelleen huomattavia.

Juttu julkaistu alun perin Mikrobitin numerossa 2/2017. Bitti on saatavilla sekä paperilehtenä että digiversiona.

Virtualisoinnin sanastoa

AMD-V AMD:n suorittimissa käytettävä virtualisoinnin tukitekniikka. Amd-v:tä ei tarvitse erikseen kytkeä päälle.

Isäntä (Host) Se tietokone ja käyttöjärjestelmä, jossa virtualisointiohjelmistoa ja sen alaisuudessa toimivia virtuaalikoneita ajetaan.

Snapshot Virtuaalisen tietokoneen tallennettu tila, joka voidaan palauttaa myöhemmin. Näin virtuaalikone voidaan nopeasti palauttaa esimerkiksi päivityksen asennusta edeltävään tilaan.

Vieras (Guest) Virtualisointiohjelmiston sisällä toimiva virtuaalinen tietokone.

VT-x Intelin suoritinten virtualisointitekniikka, joka on etenkin kuluttajille myytävissä tietokoneissa usein oletusarvoisesti pois päältä.