ב-Compute Engine, אתם יכולים להשתמש בתמונות מצב רגילות כדי לגבות את הנתונים בדיסק. מכיוון שצילומי מצב הם מצטברים, אפשר ליצור אותם עם ביצועים טובים יותר ועלויות אחסון כוללות נמוכות יותר בהשוואה ליצירת תמונות דיסק מלאות.
תמונות מצב עקביות של אפליקציות מתעדות את מצב נתוני האפליקציה בזמן הגיבוי, כשכל טרנזקציות האפליקציה הושלמו וכל הכתיבות בהמתנה נמחקו מהדיסק. במכונות וירטואליות (VM) של Windows, משתמשים בשירות Volume Shadow Copy Service (VSS) כדי ליצור תמונות מצב עקביות של אפליקציות בלי לעצור קודם את המכונה או לנתק את הדיסק מהמכונה הווירטואלית.
לפני שמתחילים
- יצירת מופע של Windows.
- כדאי לעיין בשיטות המומלצות ליצירת תמונות מצב.
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Google Cloud . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים ולממשקי ה-API, לא צריך להגדיר אימות. Google Cloud
gcloud
-
התקינו את ה-CLI של Google Cloud. אחר כך, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud initאם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
- הגדרת אזור ותחום כברירת מחדל
REST
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
התקינו את ה-CLI של Google Cloud.
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Google Cloud .
התפקידים וההרשאות הנדרשים
כדי לקבל את ההרשאות שדרושות ליצירת תמונת מצב של Windows VSS, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט:
- מנהל מכונות של Compute (גרסה 1) (
roles/compute.instanceAdmin.v1) -
כדי להתחבר למכונה וירטואלית שיכולה לפעול כחשבון שירות: משתמש בחשבון שירות (גרסה 1) (
roles/iam.serviceAccountUser)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקידים המוגדרים מראש האלה מכילים את ההרשאות שנדרשות ליצירת תמונת מצב של Windows VSS. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי ליצור תמונת מצב של Windows VSS, צריך את ההרשאות הבאות:
-
compute.snapshots.createבפרויקט -
compute.disks.createSnapshotבדיסק
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
סוגי דיסקים נתמכים
אתם יכולים ליצור תמונות מצב של VSS לנפחי Persistent Disk שמצורפים למופעי Windows.
נפחי אחסון של Hyperdisk לא תומכים ב-guest-flush או ב-VSS.
כדי ליצור תמונות מצב עקביות של אפליקציות לנפחי Hyperdisk, צריך להשהות את האפליקציה באופן ידני לפני שיוצרים את תמונת המצב, כמו שמתואר במאמר יצירת תמונת מצב בלי להשתמש ב-VSS.
מגבלות
יש מגבלות על תמונות מצב של דיסקים ב-Windows:
- תמונות מצב של VSS פועלות רק במופעי Windows עם גרסת תמונה
v20160810ואילך. במקרים של מכונות עם תמונות ישנות יותר, יוצרים snapshot בלי להשתמש ב-VSS. - בדיסק המצורף צריך להיות שימוש במערכת קבצים מסוג NTFS, exFAT או ReFS.
- תמונות מצב של VSS עוזרות לשמור על הנתונים רק אם אתם מפעילים אפליקציות שמודעות ל-VSS ויכולות לתאם כדי ליצור גיבוי עקבי של הנתונים.
- אם פעולת צילום התמונה של VSS לא מסתיימת תוך 300 שניות, צילום התמונה נכשל עם שגיאת זמן קצוב לתפוגה.
- אין תמיכה בתמונות מצב של VSS לנפחי אחסון של Hyperdisk. צריך ליצור snapshot בלי להשתמש ב-VSS.
יצירת snapshot של Windows VSS
אתם יכולים ליצור תמונות מצב של Volume Shadow Copy Service (VSS) בלי להפסיק את המופע או לנתק את הדיסק מהמכונה הווירטואלית. תמונות מצב של VSS מיועדות לגיבוי ולשחזור במערכות עם אפליקציות שתומכות ב-VSS.
תמונות מצב של VSS עולות כמו תמונות מצב רגילות של Persistent Disk או Hyperdisk, והחיוב הוא רק על הגודל הכולל של תמונת המצב.
יצירת קובץ ה-snapshot
המסוף
נכנסים לדף Create a Snapshot במסוף Google Cloud .
כניסה לדף 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-
לחלופין, כדי לשנות את הגדרות ה-snapshot וליצור snapshot במיקום אחסון מותאם אישית, צריך לכלול את הדגל
--storage-locationכדי לציין איפה לאחסן את ה-snapshot.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.
כדי ליצור 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.googleapis.com/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.insertmethod וכוללים את המאפייןstorageLocationsבבקשה:POST https://compute.googleapis.com/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, } -
(גרסת Preview) כדי ליצור snapshot בהיקף אזורי באזור מותר, שולחים בקשת
POSTאל ה-methodsnapshots.insertומגדירים את אזור היצירה:POST https://compute.googleapis.com/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.
כדי ליצור 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.