Адкат здымка ВМ: што ён аднаўляе і што не
Здымак ВМ аднаўляе стан дыска і памяці гасцявой сістэмы, а не дзеянні аддаленых уліковых запісаў, копіі агульных файлаў ці запісы, якія захоўваюцца ў іншым месцы: спачатку вызначце межы адкату.
Кантрольны пункт вяртае частку госця назад і пакідае кожную іншую сістэму там, дзе яна была. Тое, што пакінула госця — дастаўленае паведамленне, файл, скапіяваны на хост, дзеянне ўліковага запісу, якое прыняў сайт — належыць сістэме, што яго атрымала, а не кантрольнаму пункту. Адкат мае пэўныя лакальныя межы, і называць яго сціраннем — значыць ператвараць план аднаўлення ў ілжывае сцверджанне. Табліца ніжэй — гэта пералік таго, да чаго аднаўленне сапраўды дасягае.
Працоўны стол вяртаецца, аддалены сеанс — не
Звычайная скарга прыходзіць пасля факту. Віртуальная машына загружаецца ў стане мінулага тыдня, гісторыя браўзера знікла, а сэрвіс, у які ўвайшоў карыстальнік, па-ранейшаму паказвае сеанс актыўным. Нішто не зламана; дзве сістэмы ніколі не былі ў адной транзакцыі.
| 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 |
Гэтая няўзгодненасць і ёсць урок. Кантрольны пункт аднаўляе тое, што адсочвае гіпервізар: віртуальнае абсталяванне госця і, у залежнасці ад тыпу, яго памяць. Ён не адсочвае табліцу сеансаў вэб-праграмы, чаргу дастаўкі паштовага сервера ці папку загрузак калегі. Чытайце тып перад аднаўленнем, бо тып вырашае, што аднаўленне можа вярнуць наогул.
Што гіпервізар насамрэч захаваў
Дакументацыя 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
Першы радок ператварае кантрольны пункт у аб’ект, а другі пералічвае дыскі, якія ён ахоплівае, што адказвае на пытанне пра межы доказам, а не памяццю. Змяніце і адклічце выкрыты сакрэт у сэрвісе, якому ён належыць. Калі ў справе ёсць вядомы шкодны код, выкарыстоўвайце ўпаўнаважанае асяроддзе расследавання і працэс рэагавання арганізацыі, а не здагадку, што здымак робіць выкананне бяспечным.
Запішыце тры рэчы перад аднаўленнем: які стан госця вы забіраеце, якія знешнія сістэмы ўсё яшчэ трымаюць эфект і які момант вы будзеце давяраць пасля. Гэты план — мацнейшае сцверджанне, чым машына, якая зноў выглядае знаёмай. Трымайце яго разам з заяўкай, каб наступнае аднаўленне пачыналася з таго ж пераліку.