จุดตรวจสอบจะนำส่วนหนึ่งของเกสต์กลับไปและปล่อยให้ระบบอื่นทุกอยู่อย่างเดิม สิ่งที่ออกจากเกสต์ไป — ข้อความที่ถูกส่งแล้ว ไฟล์ที่ถูกคัดลอกไปยังโฮสต์ การกระทำบัญชีที่เว็บไซต์ยอมรับ — เป็นของระบบที่รับมันไว้ ไม่ใช่ของจุดตรวจสอบ การย้อนกลับมีขอบเขตภายในที่กำหนดไว้ และการเรียกมันว่าการลบทำให้แผนกู้คืนกลายเป็นข้อความเท็จ ตารางด้านล่างคือรายการตรวจสอบว่าการกู้คืนไปถึงอะไรจริง

เดสก์ท็อปกลับมา แต่เซสชันระยะไกลไม่กลับมา

ข้อร้องเรียนปกติมาในภายหลัง เครื่องเสมือนบูตในสถานะของสัปดาห์ที่แล้ว ประวัติเบราว์เซอร์หายไป และบริการที่ผู้ใช้ลงชื่อเข้าใช้ยังคงแสดงเซสชันว่าใช้งานอยู่ ไม่มีอะไรเสีย สองระบบไม่เคยอยู่ในธุรกรรมเดียวกัน

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

ความไม่สอดคล้องนั้นคือบทเรียน จุดตรวจสอบกู้คืนสิ่งที่ไฮเปอร์ไวเซอร์ติดตาม คือฮาร์ดแวร์เสมือนของเกสต์และหน่วยความจำของมันตามชนิดของสแนปช็อต มันไม่ได้ติดตามตารางเซสชันของเว็บแอปพลิเคชัน คิวการส่งของเซิร์ฟเวอร์อีเมล หรือโฟลเดอร์ดาวน์โหลดของเพื่อนร่วมงาน อ่านชนิดก่อนกู้คืน เพราะชนิดเป็นตัวกำหนดว่าการกู้คืนจะนำอะไรกลับมาได้บ้าง

สิ่งที่ไฮเปอร์ไวเซอร์บันทึกไว้จริง

เอกสาร Hyper-V ของ Microsoft แยกจุดตรวจสอบมาตรฐานซึ่งจับหน่วยความจำพร้อมกับดิสก์เสมือน ออกจากจุดตรวจสอบสำหรับงานผลิตซึ่งใช้กลไกที่สอดคล้องกับข้อมูลและข้ามหน่วยความจำ จุดตรวจสอบมาตรฐานกลับไปทำงานต่อจากคำสั่งที่เกสต์กำลังประมวลผล ส่วนจุดตรวจสอบสำหรับงานผลิตจะบูตจากดิสก์ที่สอดคล้องแทน ความต่างนี้กำหนดว่าการกู้คืนจะคืนโปรเซสที่กำลังทำงานหรือการเริ่มต้นที่สะอาด อย่าย้ายพฤติกรรมของไฮเปอร์ไวเซอร์ตัวหนึ่งไปยังอีกตัว เพราะคำศัพท์และกลไกความสอดคล้องต่างกันในแต่ละผลิตภัณฑ์

Microsoft ยังเตือนว่าจุดตรวจสอบไม่ใช่ข้อมูลสำรอง และคำเตือนนั้นสำคัญ กลุ่มจุดตรวจสอบบนไดรฟ์เดียวกันใช้ชะตากรรมร่วมกับไดรฟ์นั้น จึงป้องกันการเปลี่ยนแปลงที่ไม่ดี ไม่ใช่ป้องกันโฮสต์ที่สูญหาย

ไฟล์ที่อยู่นอกดิสก์ของเกสต์

โฟลเดอร์ที่แชร์คือระบบไฟล์ของโฮสต์ที่นำเสนอให้เกสต์ และการย้อนกลับเกสต์ไม่ได้ย้อนกลับโฟลเดอร์นั้น หากผู้ใช้ดาวน์โหลดไฟล์ภายในเกสต์และคัดลอกออกมาผ่านเส้นทางที่แชร์ สำเนาที่สองนั้นมีวงจรชีวิตของมันเองและมีเจ้าของของมันเอง การกู้คืนเกสต์จะลบสำเนาแรกและทิ้งสำเนาที่สองไว้ตรงที่ที่วางไว้

ถามว่าใครเป็นเจ้าของแต่ละเส้นทางก่อนสัญญาว่าจะย้อนกลับ การแชร์ของโฮสต์ การถ่ายโอนผ่านคลิปบอร์ด และการอัปโหลดไปยังดิสก์บนคลาวด์เป็นสามปลายทาง และมีเพียงอย่างแรกเท่านั้นที่อาจอยู่ข้างที่เก็บของไฮเปอร์ไวเซอร์

ที่ใดที่ต้องลบสำเนาจริง ๆ ให้ลบที่ปลายทางของมันและบันทึกขั้นตอนนั้นแยกไว้ แผนกู้คืนที่ระบุเพียงสแนปช็อตนั้นไม่สมบูรณ์ในแบบที่ไม่มีใครสังเกตจนกว่าจะพบสำเนา ความระมัดระวังเดียวกันใช้กับบันทึกที่โฮสต์เขียนขณะที่เกสต์ทำงาน

บัญชีที่ไฮเปอร์ไวเซอร์ไม่เคยเห็น

ทุกสิ่งที่บริการยอมรับจากเกสต์เป็นบันทึกของบริการ ไม่ใช่ของเกสต์ ไฮเปอร์ไวเซอร์ไม่เคยเห็นธุรกรรมนั้น จึงย้อนกลับไม่ได้ การเปลี่ยนรหัสผ่าน การซื้อ ข้อความที่เผยแพร่ และการเรียก API ล้วนคงอยู่ในระบบที่ประมวลผลมัน การกู้คืนอิมเมจดิสก์ไปไม่ถึงระบบนั้น

สถานะของเบราว์เซอร์ทำให้ความไม่สอดคล้องเป็นรูปธรรม เกสต์ที่กู้คืนอาจเก็บคุกกี้เก่าสำหรับบริการที่ได้เปลี่ยนเซสชันไปแล้ว ผู้ใช้จึงดูเหมือนลงชื่อเข้าใช้และถูกปฏิเสธอย่างเงียบ ๆ หรือดูเหมือนลงชื่อออกในขณะที่บริการยังถือว่าเซสชันใช้ได้ การเพิกถอนเซสชันที่บริการคือการดำเนินการเดียวที่ยุติมัน

สิ่งที่การกู้คืนย้อนกลับไม่ได้

จุดตรวจสอบมีประโยชน์สำหรับการทดสอบที่ได้รับอนุมัติหรือการทดลองตั้งค่าที่เข้าใจขอบเขตแล้ว มันคือการย้อนกลับภายในสำหรับสถานะภายใน เป็นคำสัญญาที่แคบกว่าที่ฟังดู และไม่ใช่หลักฐานว่าโฮสต์ ไฮเปอร์ไวเซอร์ หรือระบบภายนอกใด ๆ ยังคงสะอาด VPN เปลี่ยนเส้นทางที่แพ็กเก็ตใช้ แต่ไม่ได้ทำให้ซอฟต์แวร์ในเกสต์ปลอดภัยต่อการเรียกใช้ สองข้อกล่าวหานั้นแยกกัน และมีเพียงข้อเดียวที่เกี่ยวกับอุโมงค์

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

บรรทัดแรกแปลงจุดตรวจสอบเป็นออบเจกต์ และบรรทัดที่สองระบุดิสก์ที่มันครอบคลุม ซึ่งตอบคำถามเรื่องขอบเขตด้วยหลักฐานแทนความจำ หมุนและเพิกถอนความลับที่ถูกเปิดเผยที่บริการซึ่งเป็นเจ้าของ สถานที่ที่มีโค้ดอันตรายที่รู้จักเกี่ยวข้อง ให้ใช้สภาพแวดล้อมการสอบสวนที่ได้รับอนุญาตและกระบวนการตอบสนองขององค์กร แทนที่จะถือว่าสแนปช็อตทำให้การเรียกใช้ปลอดภัย

จดสามสิ่งก่อนการกู้คืน คือสถานะเกสต์ใดที่คุณนำกลับ ระบบภายนอกใดที่ยังถือผลลัพธ์อยู่ และจุดใดที่คุณจะเชื่อถือหลังจากนั้น แผนนั้นเป็นข้อกล่าวอ้างที่แข็งแรงกว่าเครื่องที่ดูคุ้นเคยอีกครั้ง เก็บไว้กับตั๋วเพื่อให้การกู้คืนครั้งต่อไปเริ่มจากรายการเดียวกัน

บทความที่เกี่ยวข้อง