שחזור תמונת מצב של מכונה וירטואלית: מה היא משחזרת ומה לא
תמונת מצב של מכונה וירטואלית משחזרת את מצב הדיסק והזיכרון של האורח, לא פעולות של חשבונות מרוחקים, עותקים של קבצים משותפים או רשומות שנשמרות במקום אחר: תחילה יש לתחום את היקף השחזור.
נקודת ביקורת מחזירה חלק מהאורח לאחור ומשאירה כל מערכת אחרת במקום שבו הייתה. מה שיצא מהאורח — הודעה שנמסרה, קובץ שהועתק למארח, פעולת חשבון ששירות אתר קיבל — שייך למערכת שקיבלה אותו, לא לנקודת הביקורת. לשחזור יש היקף מקומי מוגדר, ולקרוא לו מחיקה הופך תוכנית התאוששות לאמירה כוזבת. הטבלה שלהלן היא רשימת הבדיקה של מה ששחזור באמת מגיע אליו.
שולחן העבודה חוזר, ההפעלה מרחוק לא
התלונה הרגילה מגיעה בדיעבד. המכונה הווירטואלית עולה במצב של השבוע שעבר, היסטוריית הדפדפן נעלמה, והשירות שהמשתמש התחבר אליו עדיין מציג את ההפעלה כפעילה. שום דבר לא שבור; שתי המערכות מעולם לא היו באותה עסקה.
| 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
השורה הראשונה ממירה את נקודת הביקורת לאובייקט, והשנייה מפרטת את הדיסקים שהיא מכסה, וכך עונה על שאלת ההיקף בראיות ולא בזיכרון. סובבו ובטלו סוד שנחשף בשירות שבבעלותו. במקום שבו מעורב קוד זדוני מוכר, השתמשו בסביבת חקירה מורשית ובתהליך התגובה של הארגון ולא בהנחה שתמונת מצב הופכת את ההרצה לבטוחה.
רשמו שלושה דברים לפני השחזור: איזה מצב אורח אתם לוקחים בחזרה, אילו מערכות חיצוניות עדיין מחזיקות בהשפעה, ובאיזו נקודה תבטחו לאחר מכן. התוכנית הזו היא טענה חזקה יותר ממכונה שנראית שוב מוכרת. שמרו אותה עם הכרטיס כדי שהשחזור הבא יתחיל מאותה רשימה.