ב-Compute Engine, אתם יכולים להשתמש בתמונות מצב רגילות כדי לגבות את הנתונים בדיסק. מכיוון שצילומי מצב הם מצטברים, אפשר ליצור אותם עם ביצועים טובים יותר ועלויות אחסון כוללות נמוכות יותר בהשוואה ליצירת תמונות דיסק מלאות.
תמונות מצב עקביות ברמת האפליקציה מתעדות את מצב נתוני האפליקציה בזמן הגיבוי, כשכל העסקאות באפליקציה הושלמו וכל הפעולות שבהמתנה נכתבו לדיסק. במכונות וירטואליות (VM) של Windows, משתמשים בשירות Volume Shadow Copy Service (VSS) כדי ליצור תמונות מצב עקביות של אפליקציות בלי לעצור קודם את המכונה או לנתק את הדיסק מהמכונה הווירטואלית.
תפקידים והרשאות נדרשים
כדי לקבל את ההרשאות שדרושות ליצירת תמונת מצב של Windows VSS, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט:
- Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1) -
כדי להתחבר למכונה וירטואלית שיכולה לפעול כחשבון שירות: משתמש בחשבון שירות (v1) (
roles/iam.serviceAccountUser)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקידים המוגדרים מראש האלה מכילים את ההרשאות שנדרשות ליצירת תמונת מצב של Windows VSS. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי ליצור snapshot של Windows VSS, צריך את ההרשאות הבאות:
-
compute.snapshots.createבפרויקט -
compute.disks.createSnapshotבדיסק -
כדי ליצור תמונת מצב של דיסק האתחול של מכונה שמצורף אליה חשבון שירות:
iam.serviceAccounts.actAsבחשבון השירות של המכונה
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
מגבלות
יש מגבלות על תמונות מצב של דיסקים ב-Windows:
- תמונות מצב של VSS פועלות רק במופעי Windows עם גרסת תמונה
v20160810ואילך. במקרים של מכונות עם תמונות ישנות יותר, יוצרים snapshot בלי להשתמש ב-VSS. - הדיסק המצורף חייב להשתמש במערכת קבצים מסוג NTFS, exFAT או ReFS.
- תמונות מצב של VSS עוזרות לשמור על הנתונים רק אם אתם מפעילים אפליקציות שמודעות ל-VSS ויכולות לתאם כדי ליצור גיבוי עקבי של הנתונים.
- אם פעולת צילום התמונה של VSS לא מסתיימת תוך 300 שניות, צילום התמונה נכשל עם שגיאת זמן קצוב לתפוגה.
יצירת snapshot של Windows VSS
אתם יכולים ליצור תמונות מצב של Volume Shadow Copy Service (VSS) בלי להפסיק את המופע או לנתק את הדיסק מהמכונה הווירטואלית. תמונות מצב של VSS מיועדות לגיבוי ולשחזור במערכות עם אפליקציות שתומכות ב-VSS.
תמונות מצב של VSS עולות כמו תמונות מצב רגילות של Persistent Disk או Hyperdisk, והחיוב הוא רק על הגודל הכולל של תמונת המצב.
יצירת קובץ ה-snapshot
המסוף
נכנסים לדף Create a Snapshot במסוף Cloud de Confiance .
כניסה לדף Create a Snapshot- מזינים שם לתמונת המצב.
-
בוחרים סוג תמונת מצב. ברירת המחדל היא תמונת מצב של
STANDARD, שהיא האפשרות הטובה ביותר לגיבוי לטווח ארוך ולתוכנית התאוששות מאסון (DR).כדי לשמור נתונים בצורה חסכונית יותר, בוחרים באפשרות תמונת מצב של הארכיון.
- אופציונלי: מזינים תיאור של התמונה.
- בקטע דיסק מקור, בוחרים את הדיסק הקיים שרוצים ליצור ממנו תמונת מצב.
בקטע מיקום, בוחרים את מיקום האחסון של התמונה.
מיקום ברירת המחדל המוגדר מראש או בהתאמה אישית בהגדרות של התמונה המהירה נבחר באופן אוטומטי. אופציונלי: אתם יכולים לשנות את הגדרות הצילום של התמונות ולשמור אותן במיקום אחסון מותאם אישית. כדי לעשות זאת:
בוחרים את סוג מיקום האחסון שרוצים לשמור בו את התמונה.
- בוחרים באפשרות Multi-regional (אזורים מרובים) כדי ליהנות מזמינות גבוהה יותר בעלות גבוהה יותר.
- כדי לקבל יותר שליטה על המיקום הפיזי של הנתונים בעלות נמוכה יותר, בוחרים באפשרות תמונות מצב אזוריות.
- בשדה Select location (בחירת מיקום), בוחרים את האזור הספציפי או את מספר האזורים שרוצים להשתמש בהם. כדי להשתמש באזור או במספר אזורים שהכי קרובים לדיסק המקור, בוחרים באפשרות Based on disk's location (על סמך המיקום של הדיסק).
- מסמנים את האפשרות הפעלת תמונת מצב עקבית של האפליקציה.
- לוחצים על Create (יצירה) כדי ליצור את התמונה.
gcloud
כדי ליצור snapshot של VSS, משתמשים בפקודה gcloud compute snapshots create וכוללים את הדגל --guest-flush.
אפשר ליצור את התמונה במדיניות מיקום האחסון שמוגדרת בהגדרות התמונות או באמצעות מיקום אחסון חלופי לפי בחירתכם. מידע נוסף זמין במאמר בחירת מיקום לאחסון תמונות המצב.
כדי ליצור snapshot במיקום ברירת המחדל המוגדר מראש או בהתאמה אישית בהגדרות ה-snapshot, משתמשים בפקודה
gcloud compute snapshots create.gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk-zone=SOURCE_ZONE \ --source-disk=SOURCE_DISK_NAME \ --snapshot-type=SNAPSHOT_TYPE \ --guest-flush-
לחלופין, כדי לבטל את הגדרות הצילום וליצור צילום במיקום אחסון מותאם אישית, צריך לכלול את הדגל
--storage-locationכדי לציין איפה לאחסן את הצילום.gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk-zone=SOURCE_ZONE \ --source-disk=SOURCE_DISK_NAME \ --snapshot-type=SNAPSHOT_TYPE \ --storage-location=STORAGE_LOCATION \ --guest-flush -
(תצוגה מקדימה) כדי ליצור תמונת מצב בהיקף אזורי באזור מותר, צריך לכלול את הדגל
--regionכדי לציין איפה ליצור את תמונת המצב.gcloud beta compute snapshots create SNAPSHOT_NAME \ --region=SNAPSHOT_SCOPE_REGION --source-disk=SOURCE_DISK_NAME \ --source-disk-zone=SOURCE_ZONE \ --snapshot-type=SNAPSHOT_TYPE
מחליפים את מה שכתוב בשדות הבאים:
- SNAPSHOT_NAME: שם לקובץ ה-snapshot.
- SOURCE_ZONE: האזור של דיסק המקור.
- SOURCE_DISK_NAME: השם של נפח הדיסק שממנו רוצים ליצור קובץ snapshot.
- SNAPSHOT_TYPE: סוג ה-snapshot, STANDARD או ARCHIVE.
אם לא מציינים סוג של snapshot, נוצר
STANDARDsnapshot. -
STORAGE_LOCATION: אופציונלי: בשביל תמונות מצב בהיקף גלובלי, אזור Cloud Storage או אזור Cloud Storage שבו רוצים לאחסן את תמונת המצב. אפשר לציין רק מיקום אחסון אחד.
משתמשים בפרמטר
--storage-locationרק כשרוצים לשנות את מיקום האחסון שמוגדר כברירת מחדל בהגדרות של התמונה, בין אם הוא מוגדר מראש או בהתאמה אישית. -
SNAPSHOT_SCOPE_REGION: אופציונלי: אם מדובר בקובץ snapshot בהיקף אזורי, מציינים את האזור שה-snapshot מוגבל אליו. אם כוללים את הפרמטר הזה, אי אפשר להשתמש בפרמטר
--storage-location. הדומיין STORAGE_LOCATION מוגדר אוטומטית ל-SNAPSHOT_SCOPE_REGION.
gcloud compute snapshots create במקום בפקודה gcloud compute disks snapshot, כי היא תומכת ביותר תכונות, כמו יצירת תמונות מצב בפרויקט שונה מפרויקט דיסק המקור.
כדי ליצור snapshot של VSS של דיסק אחסון מתמיד אזורי, מחליפים את --source-disk-zone= ב--source-disk-region= בדוגמאות הקודמות ומציינים את האזור שבו נמצא דיסק האחסון המתמיד האזורי.
Google Cloud CLI מחכה עד שהפעולה מחזירה סטטוס של READY או FAILED, או עד שהיא מגיעה לזמן הקצוב לתפוגה המקסימלי, ומחזירה את הפרטים האחרונים הידועים של התמונה.
REST
כשיוצרים snapshot, כדי לציין שרוצים ליצור snapshot של VSS, צריך לכלול את המאפיין guestFlush בגוף הבקשה של בקשת POST אל ה-method compute.snapshots.insert.
אתם יכולים ליצור את תמונת המצב במיקום האחסון שמוגדר בהגדרות תמונת המצב, או להשתמש במיקום אחסון חלופי לפי בחירתכם. מידע נוסף זמין במאמר בחירת מיקום לאחסון תמונות המצב.
-
כדי ליצור snapshot במיקום ברירת המחדל המוגדר מראש או בהתאמה אישית בהגדרות ה-snapshot, שולחים בקשת
POSTאל ה-methodsnapshots.insert:POST https://compute.s3nsapis.fr/compute/beta/projects/DESTINATION_PROJECT_ID/global/snapshots { "name": "SNAPSHOT_NAME", "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME", "snapshotType": "SNAPSHOT_TYPE", "guestFlush": true, } -
לחלופין, כדי לשנות את הגדרות התמונה ולשמור אותה במיקום אחסון מותאם אישית, שולחים בקשת
POSTאלsnapshots.insertוכוללים את המאפייןstorageLocationsבבקשה:POST https://compute.s3nsapis.fr/compute/beta/projects/DESTINATION_PROJECT_ID/global/snapshots { "name": "SNAPSHOT_NAME", "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME", "snapshotType": "SNAPSHOT_TYPE", "storageLocations": [ "STORAGE_LOCATION" ], "guestFlush": true, } -
(תצוגה מקדימה) כדי ליצור snapshot בהיקף אזורי באזור מותר, שולחים בקשת
POSTאל ה-methodsnapshots.insertומגדירים את אזור היצירה:POST https://compute.s3nsapis.fr/compute/beta/projects/DESTINATION_PROJECT_ID/regions/SNAPSHOT_SCOPE_REGION/snapshots { "name": "SNAPSHOT_NAME", "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME", "snapshotType": "SNAPSHOT_TYPE" }
מחליפים את מה שכתוב בשדות הבאים:
- DESTINATION_PROJECT_ID: מזהה הפרויקט שבו רוצים ליצור את התמונה.
- SNAPSHOT_NAME: שם לקובץ ה-snapshot.
- SOURCE_PROJECT_ID: מזהה הפרויקט של דיסק המקור.
- SOURCE_ZONE: האזור של דיסק המקור.
- SOURCE_DISK_NAME: השם של הדיסק שממנו רוצים ליצור קובץ snapshot.
- SNAPSHOT_TYPE: סוג ה-snapshot, STANDARD או ARCHIVE.
אם לא מציינים סוג של snapshot, נוצר
STANDARDsnapshot. -
STORAGE_LOCATION: אופציונלי: בשביל תמונות מצב בהיקף גלובלי, אזור Cloud Storage או אזור Cloud Storage שבו רוצים לאחסן את תמונת המצב. אפשר לציין רק מיקום אחסון אחד.
משתמשים בפרמטר
storageLocationsרק כשרוצים לשנות את מיקום האחסון שמוגדר כברירת מחדל בהגדרות של התמונה, בין אם הוא מוגדר מראש או בהתאמה אישית. SNAPSHOT_SCOPE_REGION: אופציונלי: אם מדובר בקובץ snapshot בהיקף אזורי, מציינים את האזור שה-snapshot מוגבל אליו. אם כוללים את הפרמטר הזה, אי אפשר להשתמש בפרמטר
storageLocations. הדומיין STORAGE_LOCATION מוגדר אוטומטית ל-SNAPSHOT_SCOPE_REGION.
snapshots.insert במקום בשיטה disks.createSnapshot, כי היא תומכת ביותר תכונות, כמו יצירת תמונות מצב בפרויקט שונה מפרויקט דיסק המקור.
כדי ליצור snapshot של VSS של דיסק אחסון מתמיד אזורי, מחליפים את השורה הבאה בבקשות POST שמוצגות למעלה:
"sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME",
"sourceDisk": "projects/SOURCE_PROJECT_ID/regions/SOURCE_REGION/disks/SOURCE_DISK_NAME",
יצירת דיסק שאפשר לכתוב בו מתוך קובץ snapshot של VSS
כשיוצרים snapshot של VSS, Windows Server מסמן את עוצמת הקול ב-snapshot כקריאה בלבד. כשיוצרים דיסק חדש מקובץ ה-snapshot של VSS, הדיסק הזה מוגדר גם הוא למצב קריאה בלבד.
הפעולה הזו עלולה לגרום לבעיות. לדוגמה, אם יוצרים מופע של מכונה וירטואלית עם דיסק אתחול חדש מ-snapshot של VSS של דיסק אתחול קיים, הדגל לקריאה בלבד בדיסק האתחול החדש מונע את האתחול התקין של המכונה הווירטואלית.
כדי לעקוף את הבעיה, צריך להסיר את הדגל לקריאה בלבד מכל דיסק חדש שיוצרים מ-snapshot של VSS באמצעות השלבים הבאים:
מוודאים שהדיסק מצורף למכונה וירטואלית:
- אם הדיסק שיצרתם מקובץ ה-snapshot של VSS הוא דיסק נתונים שלא משמש לאתחול, אתם יכולים לצרף את הדיסק לכל מכונה וירטואלית חדשה או קיימת.
- אם הדיסק שיצרתם מקובץ ה-snapshot של VSS הוא דיסק אתחול ואתם רוצים להשתמש בו כדי לאתחל מכונה וירטואלית, אתם צריכים לצרף את הדיסק באופן זמני למכונה וירטואלית נפרדת וקיימת. אחרי שתשלימו את השלבים הבאים, תוכלו לנתק את הדיסק מהמכונה הווירטואלית ולהשתמש בו כדי לאתחל מכונה וירטואלית חדשה.
נכנסים למכונת ה-VM של Windows שהדיסק מצורף אליה.
פותחים שורת פקודה של PowerShell ומריצים את הכלי
diskpart.PS C:\> diskpartמזהים את הדיסק שרוצים לטעון.
DISKPART> list diskמשתמשים בפקודה
select diskכדי לבחור את הדיסק.DISKPART> select disk DISK_NUMBERמחליפים את
DISK_NUMBERבמספר של הדיסק שרוצים לטעון.טוענים את הדיסק.
DISKPART> online diskמציגים רשימה של כל אמצעי האחסון בדיסק.
DISKPART> list volumeבוחרים את עוצמת הקול החדשה.
DISKPART> select volume VOLUME_NUMBERמחליפים את
VOLUME_NUMBERבמספר של אמצעי האחסון שרוצים להגדיר כקריאה וככתיבה.מבטלים את הסימון של 'קריאה בלבד'.
DISKPART> attr volume clear readonly hidden nodefaultdriveletter shadowcopyיוצאים מהכלי
diskpart.DISKPART> exitאם הדיסק הוא דיסק אתחול של מכונה וירטואלית אחרת, צריך לסנכרן את קובצי דיסק האתחול עם חתימת הדיסק החדשה.
PS C:\> bcdboot DRIVE_LETTERWindows /s DRIVE_LETTERמחליפים את
DRIVE_LETTERבאות הכונן של אמצעי האחסון שרוצים לסנכרן. לדוגמה,FעבורF:\.
יצירת snapshot בלי להשתמש ב-VSS
במקרים מסוימים, יכול להיות שתרצו ליצור תמונות מצב של דיסקים שמצורפים למכונות וירטואליות של Windows בלי להשתמש ב-VSS.
כדי ליצור snapshot של דיסק במכונת VM של Windows בלי להשתמש ב-VSS, מבצעים את הפעולות הבאות:
הכנת המערכת לצילום תמונת מצב נקייה
לפני שיוצרים snapshot של דיסק, חשוב לוודא שיוצרים snapshot שתואם למצב שרוצים שהדיסק יהיה בו. אם מצלמים תמונת מצב של הדיסק במצב 'לא נקי', יכול להיות שתיאלץ בדיקת דיסק ושהדבר יוביל לאובדן נתונים. מומלץ לסנכרן את מערכת הקבצים ולבטל את הטעינה שלה.
סנכרון מערכת הקבצים
אם אין אפשרות לנתק את הדיסק, למשל בתרחישים שבהם אפליקציה עשויה לכתוב נתונים לדיסק, אפשר לסנכרן את מערכת הקבצים כדי לרוקן מידע (Flush) את מאגרי הדיסק. כדי לסנכרן את מערכת הקבצים:
- נכנסים ל-VM של Windows.
- מורידים ומתקינים את הכלי Sync של מיקרוסופט.
- מפסיקים את הכתיבה של האפליקציות לדיסק.
- פותחים חלון של שורת פקודה עם הרשאות אדמין.
בחלון שורת הפקודה, מריצים את הפקודה:
PS C:\> sync DRIVE_LETTERמחליפים את
DRIVE_LETTERבאות הכונן של אמצעי האחסון שרוצים לסנכרן. לדוגמה,FעבורF:\.
ביטול הטעינה של הדיסק
נכנסים ל-VM של Windows.
פותחים שורת פקודה של PowerShell ומריצים את הכלי
diskpart.PS C:\> diskpartמזהים את הדיסק שרוצים לבטל את הניתוק שלו וליצור תמונת מצב שלו.
DISKPART> list diskלאחר מכן, בוחרים את הדיסק באמצעות מספר הדיסק שמצאתם.
DISKPART> select disk DISK_NUMBERמחליפים את
DISK_NUMBERבמספר הדיסק שרוצים להפעיל מחדש.מנתקים את הדיסק.
DISKPART> offline disk
יצירת תמונת מצב
- אם הדיסק שלכם נמצא באזור אחד (דיסק אחסון מתמיד אזורי או Hyperdisk), פועלים לפי השלבים במאמר בנושא יצירת snapshot של נפח של דיסק אחסון מתמיד אזורי.
- לחלופין, אם הדיסק לאחסון מתמיד נמצא בכמה אזורים, אפשר לפעול לפי השלבים במאמר יצירת snapshot של נפח דיסק לאחסון מתמיד אזורי.
הרכבה מחדש של הדיסק
נכנסים ל-VM של Windows.
פותחים שורת פקודה של PowerShell ומריצים את הכלי
diskpart.PS C:\> diskpartמזהים את הדיסק שרוצים לטעון.
DISKPART> list diskמשתמשים בפקודה
select diskכדי לבחור את הדיסק.DISKPART> select disk DISK_NUMBERמחליפים את
DISK_NUMBERבמספר של הדיסק שרוצים לטעון.טוענים את הדיסק.
DISKPART> online disk
המאמרים הבאים
- אם צילמתם snapshot של דיסק אתחול, אתם יכולים ליצור מכונה וירטואלית מ-snapshot.
- כדי ללמוד איך להגדיר את Windows Server כך שתוכלו להשתמש בו כדי ליצור קובצי אימג' מותאמים אישית של Windows Server למכונות הווירטואליות או לתבניות של המכונות, קראו את המאמר יצירת קובצי אימג' מותאמים אישית של Windows Server.