Tilbakerulling av et VM-snapshot: hva det gjenoppretter og hva det ikke gjenoppretter
Et VM-snapshot gjenoppretter gjestens disk- og minnetilstand, ikke handlinger på eksterne kontoer, kopier av delte filer eller poster som oppbevares andre steder: avgrens omfanget av tilbakerullingen først.
Et kontrollpunkt setter en del av gjesten tilbake og lar alle andre systemer bli der de var. Det som forlot gjesten — en levert melding, en fil kopiert til verten, en kontohandling en nettside godtok — tilhører systemet som tok imot det, ikke kontrollpunktet. Tilbakerullingen har et definert lokalt omfang, og å kalle den sletting gjør en gjenopprettingsplan til en falsk påstand. Tabellen nedenfor er sjekklisten for hva en gjenoppretting faktisk når.
Skrivebordet kommer tilbake, fjernøkten gjør det ikke
Den vanlige klagen kommer i ettertid. Den virtuelle maskinen starter i forrige ukes tilstand, nettleserhistorikken er borte, og tjenesten brukeren logget på, viser fortsatt økten som aktiv. Ingenting er ødelagt; de to systemene var aldri i samme transaksjon.
| Where the effect landed | Who owns undoing it | How you verify it is gone |
|---|---|---|
| Guest virtual disk | The hypervisor, through the checkpoint you restore | The disk state matches the checkpoint's timestamp |
| Guest memory | Only a checkpoint type that saved memory | The guest resumes or cold-boots, as that type dictates |
| Host share or clipboard | The owner of that host path | The copied file is absent at its destination |
| Remote account or session | The service that accepted the action | The session list shows nothing active for that account |
| Mail or message queue | The mail system that delivered it | The message is gone from the recipient's mailbox, not from the guest |
Det misforholdet er lærdommen. Et kontrollpunkt gjenoppretter det hypervisoren sporer: gjestens virtuelle maskinvare og, avhengig av type, minnet. Det sporer ikke en webapplikasjons økttabell, en e-postservers leveringskø eller en kollegas nedlastingsmappe. Les typen før du gjenoppretter, for typen avgjør hva en gjenoppretting i det hele tatt kan hente tilbake.
Hva hypervisoren faktisk lagret
Microsofts Hyper-V-dokumentasjon skiller mellom standardkontrollpunkter, som fanger minnet sammen med de virtuelle diskene, og produksjonskontrollpunkter, som bruker en datakonsistent mekanisme og hopper over minnet. Et standardkontrollpunkt gjenopptas ved instruksjonen gjesten utførte; et produksjonskontrollpunkt starter i stedet fra en konsistent disk. Den forskjellen avgjør om en gjenoppretting gir en kjørende prosess eller en ren start. Ikke overfør oppførselen til én hypervisor til en annen, for begrepene og konsistensmekanismen endres mellom produkter.
Microsoft advarer også om at et kontrollpunkt ikke er en sikkerhetskopi, og advarselen er viktig. En kjede av kontrollpunkter på ett volum deler volumets skjebne, så den beskytter mot en dårlig endring snarere enn mot en tapt vert.
Filer som lever utenfor gjestens disk
En delt mappe er et vertsfilsystem som presenteres for gjesten, og tilbakerulling av gjesten ruller den ikke tilbake. Hvis brukeren lastet ned en fil inne i gjesten og kopierte den ut gjennom en delt sti, har den andre kopien sin egen livssyklus og sin egen eier. Gjenoppretting av gjesten fjerner den første kopien og lar den andre ligge nøyaktig der den ble plassert.
Spør hvem som eier hver sti før du lover en tilbakerulling. En vertsdeling, en overføring via utklippstavlen og en opplasting til en skydisk er tre destinasjoner, og bare den første kan ligge ved siden av hypervisorens lagring.
Der en kopi virkelig må fjernes, fjern den på destinasjonen og registrer det trinnet separat. En gjenopprettingsplan som bare lister opp snapshottet, er ufullstendig på en måte ingen merker før kopien blir funnet. Samme forsiktighet gjelder for logger verten skrev mens gjesten kjørte.
Kontoer hypervisoren aldri så
Alt en tjeneste godtok fra gjesten, er tjenestens post, ikke gjestens. Hypervisoren så aldri den transaksjonen og kan derfor ikke reversere den. En passordendring, et kjøp, en publisert melding og et API-kall består alle i systemet som behandlet dem. Gjenoppretting av et diskbilde når ikke det systemet.
Nettleserens tilstand gjør misforholdet konkret. En gjenopprettet gjest kan ha en eldre informasjonskapsel for en tjeneste som siden har rotert økten, slik at brukeren ser ut til å være pålogget og avvises i stillhet, eller ser ut til å være logget ut mens tjenesten fortsatt anser økten som gyldig. Å tilbakekalle økten hos tjenesten er den eneste operasjonen som avslutter den.
Hva en gjenoppretting ikke kan gjøre om
Et kontrollpunkt er nyttig for en godkjent test eller et konfigurasjonseksperiment med forstått omfang. Det er en lokal angring for lokal tilstand, et snevrere løfte enn det høres ut som, og det er ikke bevis for at verten, hypervisoren eller noe eksternt system holdt seg rent. En VPN endrer hvilken vei pakkene tar; den gjør ikke programvaren i gjesten trygg å kjøre. De to påstandene er atskilt, og bare én handler om tunnelen.
$cp = Get-VMSnapshot -VMName lab-desktop -Name baseline
Get-VMHardDiskDrive -VMSnapshot $cp | Select-Object ControllerType, ControllerNumber, ControllerLocation, Path
Den første linjen løser kontrollpunktet til et objekt, og den andre lister opp diskene det dekker, noe som svarer på omfangsspørsmålet med bevis i stedet for hukommelse. Roter og tilbakekall en avslørt hemmelighet hos tjenesten som eier den. Der kjent ondsinnet kode er involvert, bruk et autorisert undersøkelsesmiljø og organisasjonens responsprosess i stedet for å anta at et snapshot gjør kjøringen trygg.
Skriv ned tre ting før gjenopprettingen: hvilken gjestetilstand du tar tilbake, hvilke eksterne systemer som fortsatt holder effekten, og hvilket punkt du vil stole på etterpå. Den planen er en sterkere påstand enn en maskin som igjen ser kjent ut. Oppbevar den sammen med saken slik at neste gjenoppretting starter fra samme liste.