Кантрольны пункт вяртае частку госця назад і пакідае кожную іншую сістэму там, дзе яна была. Тое, што пакінула госця — дастаўленае паведамленне, файл, скапіяваны на хост, дзеянне ўліковага запісу, якое прыняў сайт — належыць сістэме, што яго атрымала, а не кантрольнаму пункту. Адкат мае пэўныя лакальныя межы, і называць яго сціраннем — значыць ператвараць план аднаўлення ў ілжывае сцверджанне. Табліца ніжэй — гэта пералік таго, да чаго аднаўленне сапраўды дасягае.

Працоўны стол вяртаецца, аддалены сеанс — не

Звычайная скарга прыходзіць пасля факту. Віртуальная машына загружаецца ў стане мінулага тыдня, гісторыя браўзера знікла, а сэрвіс, у які ўвайшоў карыстальнік, па-ранейшаму паказвае сеанс актыўным. Нішто не зламана; дзве сістэмы ніколі не былі ў адной транзакцыі.

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

Гэтая няўзгодненасць і ёсць урок. Кантрольны пункт аднаўляе тое, што адсочвае гіпервізар: віртуальнае абсталяванне госця і, у залежнасці ад тыпу, яго памяць. Ён не адсочвае табліцу сеансаў вэб-праграмы, чаргу дастаўкі паштовага сервера ці папку загрузак калегі. Чытайце тып перад аднаўленнем, бо тып вырашае, што аднаўленне можа вярнуць наогул.

Што гіпервізар насамрэч захаваў

Дакументацыя Microsoft па Hyper-V адрознівае стандартныя кантрольныя пункты, якія захопліваюць памяць разам з віртуальнымі дыскамі, ад вытворчых, якія выкарыстоўваюць механізм узгодненасці даных і прапускаюць памяць. Стандартны кантрольны пункт аднаўляецца з інструкцыі, якую выконваў госць; вытворчы загружаецца з узгодненага дыска. Гэтая розніца вырашае, ці верне аднаўленне працэс, што выконваўся, ці чысты старт. Не пераносьце паводзіны аднаго гіпервізара на іншы, бо тэрміны і механізм узгодненасці адрозніваюцца паміж прадуктамі.

Microsoft таксама папярэджвае, што кантрольны пункт не з’яўляецца рэзервовай копіяй, і гэтае папярэджанне важнае. Ланцуг кантрольных пунктаў на адным томе дзеліць лёс гэтага тома, таму ён абараняе ад дрэннага змянення, а не ад страчанага хоста.

Файлы, якія жывуць па-за дыскам госця

Агульная папка — гэта файлавая сістэма хоста, пададзеная госцю, і адкат госця не адкочвае яе. Калі карыстальнік спампаваў файл унутры госця і скапіяваў яго вонкі праз агульны шлях, гэтая другая копія мае свой жыццёвы цыкл і свайго ўладальніка. Аднаўленне госця выдаляе першую копію і пакідае другую менавіта там, куды яе паклалі.

Спытайцеся, каму належыць кожны шлях, перш чым абяцаць адкат. Агульны рэсурс хоста, перадача праз буфер абмену і загрузка на воблачны дыск — гэта тры прызначэнні, і толькі першае можа знаходзіцца побач са сховішчам гіпервізара.

Там, дзе копію трэба сапраўды выдаліць, выдаліце яе ў месцы прызначэння і запішыце гэты крок асобна. План аднаўлення, у якім пералічаны толькі здымак, няпоўны такім чынам, якога ніхто не заўважыць, пакуль копію не знойдуць. Тая ж асцярожнасць датычыцца журналаў, якія хост запісаў, пакуль госць працаваў.

Уліковыя запісы, якіх гіпервізар ніколі не бачыў

Усё, што сэрвіс прыняў ад госця, — гэта запіс сэрвісу, а не госця. Гіпервізар ніколі не бачыў гэтай транзакцыі, таму не можа яе адмяніць. Змена пароля, пакупка, апублікаванае паведамленне і выклік API — усё гэта застаецца ў сістэме, якая іх апрацавала. Аднаўленне вобраза дыска не дасягае гэтай сістэмы.

Стан браўзера робіць няўзгодненасць канкрэтнай. Адноўлены госць можа захоўваць ранейшы cookie для сэрвісу, які з таго часу змяніў сеанс, таму карыстальнік выглядае ўвайшоўшым і моўчкі атрымлівае адмову, або выглядае выйшаўшым, пакуль сэрвіс лічыць сеанс сапраўдным. Адкліканне сеансу ў сэрвісе — адзіная аперацыя, якая яго спыняе.

Што аднаўленне не можа адмяніць

Кантрольны пункт карысны для ўхваленага тэсту ці эксперыменту з канфігурацыяй, межы якога зразумелыя. Гэта лакальнае адмаўленне для лакальнага стану, што з’яўляецца больш вузкім абяцаннем, чым гучыць, і яно не доказ таго, што хост, гіпервізар ці любая знешняя сістэма засталіся чыстымі. VPN змяняе шлях, якім ідуць пакеты; ён не робіць праграмнае забеспячэнне ў госці бяспечным для запуску. Гэтыя два сцверджанні асобныя, і толькі адно з іх пра тунель.

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

Першы радок ператварае кантрольны пункт у аб’ект, а другі пералічвае дыскі, якія ён ахоплівае, што адказвае на пытанне пра межы доказам, а не памяццю. Змяніце і адклічце выкрыты сакрэт у сэрвісе, якому ён належыць. Калі ў справе ёсць вядомы шкодны код, выкарыстоўвайце ўпаўнаважанае асяроддзе расследавання і працэс рэагавання арганізацыі, а не здагадку, што здымак робіць выкананне бяспечным.

Запішыце тры рэчы перад аднаўленнем: які стан госця вы забіраеце, якія знешнія сістэмы ўсё яшчэ трымаюць эфект і які момант вы будзеце давяраць пасля. Гэты план — мацнейшае сцверджанне, чым машына, якая зноў выглядае знаёмай. Трымайце яго разам з заяўкай, каб наступнае аднаўленне пачыналася з таго ж пераліку.

Падобныя артыкулы