Myymalat pieni

28.11.2010

Snapshotit Hyper-V serverissä osa 2/2

Kategoria: Virtualisointi — Avainsanat: , , , , — Timo Haapavuori @ 20.18

Johtuen Hyper-V:n käyttämästä tekniikasta snapshotin ottaminen on erittäin nopeaa, sillä mitään tietoa ei missään vaiheessa kopioida mihinkään.Käytössä oleva virtuaalinen kiintolevy vain lukitaan. Snapshottien ottaminen on monissa tilanteissa perusteltua ja järkevää, mutta  niitä ei tulisi säilyttää turhaan. Snapshottien ottoon liittyy myös suorituskykyongelmia, sillä levyn käsittely monimutkaistuu ja virtuaalilevy pirstoutuu eri kohtiin isäntäkoneen fyysistä levyä.

Snapshotien ottaminen ja poistaminen onnistuvat virtuaalikoneen ollessa käynnissä.  Poistaminen näkyy Hyper-V:n hallinnassa välittömästi. Teknisesti delta-tiedostolle ei kuitenkaan tehdä mitään virtuaalisen koneen ollessa käynnissä, vaan deltatiedoston käyttäminen jatkuu edelleen. Toisin sanoen  poistaminen ei vapauta delta-tiedoston käyttämää levytilaa, vaan muutoksia kirjoitetaan edelleen samaan delta-tiedostoon.

Jos virtuaalikone on sammuksissa, kun snapshot poistetaan tai jos  se on poistettu koneen ollessa käynnissä,  virtuaalikoneen sammutuksen jälkeen Hyper-V konsolista nähdään status kohdassa ”merge” ja prosenttilukema. Tässä vaiheessa Hyper-V serveri yhdistää alkuperäisen virtuaalisen kiintolevyn tiedot ja delta-tiedoston tiedot  toisiinsa. Jos taas snapshoteja on otettu useita,  tarkoittaa yhden snapshotin poistaminen  käytännössä delta-tiedostojen yhdistämistä. Jos delta-tiedosto on pieni, eli sitä on yleensä käytetty vain vähän aikaa, yhdistelyprosessi sujuu varsin nopeasti. Jos taas snapshotin tuottama delta-tiedosto on ollut käytössä pitkään ja näin ollen delta-tiedosto on kasvanut jo suureksi,  yhdistely voi kestää varsin kauan. Tähän on siis hyvä varautua jo etukäteen.

Mikäli virtuaalikone käynnistetään ennen yhdistelyn valmistumista,  Hyper-V jatkaa delta-tiedoston käyttämistä edelleen ja delta-tiedoston ja snapshotin yhdistely jatkuu vasta kun virtuaalikone sammutetaan seuraavan kerran. Henkilökohtaisesti suosin yhdistelyprosessin suorittamista loppuun yhdellä kerralla, jos se vain on mahdollista.

Virtuaalisille kiintolevyille on tyypillistä, että niitä on helppoa kasvattaa suuremmiksi. Mikäli virtuaalikoneesta on snapshot otettuna ja kiintolevyä yritetään kasvattaa,  Hyper-V Manager suostuu kasvattamaan kiintolevyä aivan samalla tavalla kuin se tekee kiintolevyn kohdalla, josta ei ole snapshottia otettuna. Tässä onkin erittäin suuri vaaran paikka. Snapshotatun koneen virtuaalisen kiintolevyn kasvattaminen aiheuttaa kuitenkin sen, että virtuaalisen kiintolevyn ja deltatiedoston välinen yhteys menetetään ja kaikki tieto, joka on muodostettu snapshotin ottamisen jälkeen, on tässä yhteydessä menetetty. Microsofin virallinen ohje kuuluu, että tälläisessa tilanteessa järjestelmän tiedot tulee palauttaa varmistuksista.

Vaikka Hyper-V:ssä kiintolevyä kavatetaessa onkin maininta, että snapshotattua kiintolevyä ei saa laajentaa, tuo mainintaa jää erittäin helposti huomaamatta ja kun levyn laajennus on valmistunut, ovat katastrofin ainekset  olemassa kun havaitaan, että virtuaalikone ei toimikaan enää. Hyvin harvassa ympäristössä backupit ovat reaaliaikaisia ja aivan liian monessa ympäristössä tietojen palauttamista ei ole testattu. Tilanteessa, jossa käyttäjä törmää edellä kuvatun kaltaiseen ongelmaan,  on vaarana että aiheutunut vahinko on vieläkin suurempi, jos käyttäjä hätäännyttyään aloittaa koko virtuaalikoneen asentamisen alusta.

Jos Hyper-V:n hallintaan käytetään Microsoftin maksullista Microsoft System Center Virtual Machine Manager (SCVMM) tuotetta, on SCVMM Hyper-V Manageria sen verran kehittyneempi, että sillä kiintolevyn laajennus ei onnistu, mikäli virtuaalikoneesta on snapshotti otettuna. Tämä toiminnallisuus saattaa jossain tilanteissa maksaa helposti SCVMM:n hinnan takaisin, vaikkakin voisi kuvitella Microftin kehittävän myös Hyper-V Manager hallintaa nykyisestä siten, että kuvatun kaltainen tilanne ei olisi mahdollinen myöskään silloin kun käytössä ei ole SCVMM.

Hyper-V:n snapshotit ovat monessa asiassa erittäin tervetullut ominaisuus, mutta snapshottien käyttäminen ilman laajempaa ymmärrystä niiden toiminnasta, voi johtaa moniin ei toivottuihin tilanteisiin. Tulevissa kirjoituksissani tulen käsittelemään virtualisointia ja IT infraa laajemminkin ja pyrin nostamaan esille asioita, jotka jäävät helposti käyttäjältä huomaamatta.