En kontrollpunkt sätter tillbaka en del av gästen och låter varje annat system stanna där det var. Det som lämnade gästen — ett levererat meddelande, en fil kopierad till värden, en kontohandling som en webbplats accepterade — tillhör systemet som tog emot det, inte kontrollpunkten. Återställningen har en definierad lokal omfattning, och att kalla den radering gör en återställningsplan till ett falskt påstående. Tabellen nedan är checklistan för vad en återställning faktiskt når.

Skrivbordet kommer tillbaka, fjärrsessionen inte

Det vanliga klagomålet kommer i efterhand. Den virtuella maskinen startar i förra veckans tillstånd, webbläsarhistoriken är borta, och tjänsten som användaren loggade in på listar fortfarande sessionen som aktiv. Inget är trasigt; de två systemen var aldrig i samma transaktion.

Where the effect landedWho owns undoing itHow you verify it is gone
Guest virtual diskThe hypervisor, through the checkpoint you restoreThe disk state matches the checkpoint's timestamp
Guest memoryOnly a checkpoint type that saved memoryThe guest resumes or cold-boots, as that type dictates
Host share or clipboardThe owner of that host pathThe copied file is absent at its destination
Remote account or sessionThe service that accepted the actionThe session list shows nothing active for that account
Mail or message queueThe mail system that delivered itThe message is gone from the recipient's mailbox, not from the guest

Den diskrepansen är lärdomen. En kontrollpunkt återställer det hypervisorn spårar: gästens virtuella hårdvara och, beroende på typ, dess minne. Den spårar inte en webbapplikations sessionstabell, en e-postservers leveranskö eller en kollegas nedladdningsmapp. Läs typen innan du återställer, eftersom typen avgör vad en återställning alls kan hämta tillbaka.

Vad hypervisorn faktiskt sparade

Microsofts Hyper-V-dokumentation skiljer mellan standardkontrollpunkter, som fångar minnet tillsammans med de virtuella diskarna, och produktionskontrollpunkter, som använder en datakonsistent mekanism och hoppar över minnet. En standardkontrollpunkt återupptas vid den instruktion som gästen körde; en produktionskontrollpunkt startar i stället från en konsistent disk. Den skillnaden avgör om en återställning ger en körande process eller en ren start. Överför inte en hypervisors beteende till en annan, eftersom begreppen och konsistensmekanismen skiljer sig mellan produkter.

Microsoft varnar också för att en kontrollpunkt inte är en säkerhetskopia, och varningen är viktig. En kedja av kontrollpunkter på en volym delar volymens öde, så den skyddar mot en dålig ändring snarare än mot en förlorad värd.

Filer som lever utanför gästens disk

En delad mapp är ett filsystem på värden som presenteras för gästen, och att återställa gästen återställer inte mappen. Om användaren laddade ner en fil inne i gästen och kopierade ut den via en delad sökväg, har den andra kopian sin egen livscykel och sin egen ägare. Att återställa gästen tar bort den första kopian och lämnar den andra precis där den placerades.

Fråga vem som äger varje sökväg innan du lovar en återställning. En värddelning, en överföring via urklipp och en uppladdning till en molndisk är tre destinationer, och bara den första kan ligga intill hypervisorns lagring.

Där en kopia verkligen måste tas bort, ta bort den på sin destination och registrera det steget separat. En återställningsplan som bara räknar upp ögonblicksbilden är ofullständig på ett sätt som ingen märker förrän kopian hittas. Samma försiktighet gäller för loggar som värden skrev medan gästen körde.

Konton som hypervisorn aldrig såg

Allt som en tjänst accepterade från gästen är tjänstens post, inte gästens. Hypervisorn såg aldrig den transaktionen och kan därför inte vända den. Ett lösenordsbyte, ett köp, ett publicerat meddelande och ett API-anrop finns alla kvar i systemet som behandlade dem. Att återställa en diskavbildning når inte det systemet.

Webbläsarens tillstånd gör diskrepansen konkret. En återställd gäst kan hålla en äldre kaka för en tjänst som sedan dess har roterat sessionen, så användaren ser ut att vara inloggad och avvisas tyst, eller ser ut att vara utloggad medan tjänsten fortfarande anser att sessionen är giltig. Att återkalla sessionen hos tjänsten är den enda åtgärden som avslutar den.

Vad en återställning inte kan göra ogjort

En kontrollpunkt är användbar för ett godkänt test eller ett konfigurationsexperiment med förstådd omfattning. Det är en lokal ångring för lokalt tillstånd, ett snävare löfte än det låter, och det är inte bevis för att värden, hypervisorn eller något externt system förblev rent. Ett VPN ändrar vilken väg paketen tar; det gör inte programvaran i gästen säker att köra. De två påståendena är åtskilda och bara det ena handlar om tunneln.

$cp = Get-VMSnapshot -VMName lab-desktop -Name baseline
Get-VMHardDiskDrive -VMSnapshot $cp | Select-Object ControllerType, ControllerNumber, ControllerLocation, Path

Den första raden löser kontrollpunkten till ett objekt, och den andra räknar upp de diskar den täcker, vilket besvarar omfattningsfrågan med bevis i stället för minne. Rotera och återkalla en avslöjad hemlighet hos tjänsten som äger den. Där känd skadlig kod är inblandad, använd en auktoriserad utredningsmiljö och organisationens responsprocess i stället för att anta att en ögonblicksbild gör körningen säker.

Skriv ner tre saker före återställningen: vilket gästtillstånd du tar tillbaka, vilka externa system som fortfarande håller effekten, och vilken punkt du kommer att lita på efteråt. Den planen är ett starkare påstående än en maskin som återigen ser bekant ut. Förvara den med ärendet så att nästa återställning börjar från samma lista.

Relaterade artiklar