שרת המטא-נתונים מספק מידע על אפשרויות ההגדרה והתזמון של מכונת Compute Engine, באמצעות רשימת הספרייה של המטא-נתונים [scheduling/] ומפתח המטא-נתונים [maintenance-event]. אפשר להשתמש במפתחות המטא-נתונים האלה כדי לקבל מידע על אפשרויות התזמון של מכונה וירטואלית, וגם כדי לקבל התראה על אירוע תחזוקה קרוב.
שרת המטא-נתונים מקבל הודעות על אירועי תחזוקה לפני שמבצעים העברה פעילה או סיום של מופע Compute. מידע נוסף על אירועי תחזוקה ועל התנהגות המופעים במהלך האירועים זמין במאמר סקירה כללית על תחזוקת המארח.
אם יש לכם קבוצה ספציפית של מכונות וירטואליות, האפשרויות שלכם לתחזוקת מכונות וירטואליות גמישות יותר. מידע נוסף זמין במאמר מעקב ותכנון של אירוע תחזוקה של מארח.
לפני שמתחילים
- במכונות וירטואליות של Windows Server, צריך להשתמש ב-PowerShell 3.0 ואילך.
מומלץ להשתמש ב-
ctrl+vכדי להדביק את בלוקי הקוד שהועתקו. -
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Cloud de Confiance by S3NS . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של Python שבדף הזה, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
-
התקינו את ה-CLI של Google Cloud.
-
הגדירו שה-CLI של gcloud ישתמש בזהות המאוחדת שלכם.
-
יוצרים פרטי כניסה לאימות מקומי עבור חשבון המשתמש:
gcloud auth application-default login
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
-
קבלת הודעות על מיגרציה פעילה
כדי לדעת מתי עומד להתבצע מיגרציה פעילה של המופע שלכם, אתם יכולים לשלוח שאילתה למפתח המטא-נתונים maintenance-event באופן תקופתי.
המערכת מאכלסת את מפתח המטא-נתונים maintenance-event לאירועי תחזוקה רק אם הגדרתם את אפשרות התזמון של המכונה הווירטואלית ל-migrate או אם למכונה הווירטואלית מצורף GPU.
הערך של מפתח המטא-נתונים הזה משתנה 60 שניות לפני שמתחיל אירוע תחזוקה. כך קוד האפליקציה יכול להפעיל משימות שרוצים לבצע לפני אירוע תחזוקה, כמו גיבוי נתונים או עדכון יומנים.
מערכת Compute Engine מציגה את האזהרה של 60 שניות רק אם:
הגדרתם את אפשרויות הזמינות של המכונה הווירטואלית למיגרציה פעילה במהלך אירוע תחזוקה.
הפעלת שאילתה לגבי מפתח המטא-נתונים
maintenance-eventלפחות פעם אחת מאז אירוע התחזוקה האחרון.אם אף פעם לא שלחתם שאילתה למפתח המטא-נתונים
maintenance-eventאו שלא שלחתם שאילתה למפתח המטא-נתונים מאז ההעברה האחרונה, מערכת Compute Engine מניחה שהמכונה הווירטואלית לא דורשת אזהרה מראש על אירועי תחזוקה. אירוע התחזוקה מתחיל באופן מיידי, בלי אזהרה של 60 שניות.אם אתם לא רוצים לדלג על האזהרה של 60 שניות, ודאו שקוד הלקוח שלכם שולח שאילתות למפתח המטא-נתונים
maintenance-eventלפחות פעם אחת בין אירועי ההעברה. כדי ש-Compute Engine יקבע שאתם צופים במפתח המטא-נתונים הזה, אתם צריכים לבצע שאילתה ישירות על מפתח המטא-נתוניםmaintenance-event. שאילתה של מטא-נתונים ברמה גבוהה יותר לא מפעילה את ההודעה מראש.
במכונות וירטואליות עם כרטיסי GPU מצורפים, הערך משתנה 60 דקות לפני שהמכונות הווירטואליות נעצרות, כדי שיהיה לכם זמן לכבות ולהפעיל אותן מחדש במארח אחר. מכונות וירטואליות עם יחידות GPU מצורפות לא עוברות מיגרציה פעילה, אלא נעצרות ואפשר להפעיל אותן מחדש. מידע נוסף זמין במאמר בנושא טיפול באירועי תחזוקה של מארח GPU.
שאילתה על מפתח המטא-נתונים של אירוע התחזוקה
מכונות וירטואליות של Linux
כדי לבצע שאילתה על מפתח המטא-נתונים maintenance-event במכונות וירטואליות של Linux, מריצים את הפקודה הבאה:
user@myinst:~$ curl http://metadata.google.internal/computeMetadata/v1/instance/maintenance-event -H "Metadata-Flavor: Google"
הפלט אמור להיראות כך:
NONE
אפשר גם להשתמש באפשרות wait-for-change. אם מציינים את האפשרות הזו, הבקשה מחזירה פלט רק כשאירוע תחזוקה עומד להתחיל ולהסתיים.
user@myinst:~$ curl http://metadata.google.internal/computeMetadata/v1/instance/maintenance-event?wait_for_change=true -H "Metadata-Flavor: Google"
מכונות וירטואליות של Windows
כדי לשלוח שאילתה למפתח המטא-נתונים maintenance-event במכונות וירטואליות של Windows, מריצים את הפקודה הבאה:
PS C:\>
$value = (Invoke-RestMethod `
-Headers @{'Metadata-Flavor' = 'Google'} `
-Uri "http://metadata.google.internal/computeMetadata/v1/instance/maintenance-event")
$value
הפלט אמור להיראות כך:
NONE
אפשר גם להשתמש באפשרות wait-for-change. אם מציינים את האפשרות הזו, הבקשה מחזירה פלט רק כשאירוע תחזוקה עומד להתחיל ולהסתיים.
PS C:\>
$value = (Invoke-RestMethod `
-Headers @{'Metadata-Flavor' = 'Google'} `
-Uri "http://metadata.google.internal/computeMetadata/v1/instance/maintenance-event?wait_for_change=true")
$value
Python
אפשר להשתמש במפתח המטא-נתונים maintenance-event עם התכונה המתנה לעדכונים כדי לשלוח הודעות לסקריפטים ולאפליקציות שלכם כשאירוע תחזוקה עומד להתחיל ולהסתיים. כך תוכלו להגדיר פעולות אוטומטיות שיופעלו לפני או אחרי האירוע.
בדוגמה הבאה של Python אפשר לראות איך מטמיעים את שתי התכונות האלה יחד.
בדיקת הפלט
הערך הראשוני וערך ברירת המחדל של מפתח המטא-נתונים maintenance-event הוא NONE.
במכונות וירטואליות עם יחידות GPU מצורפות, במופעי Bare Metal או במופעים אחרים שלא תומכים במיגרציה פעילה, הערך של אירוע התחזוקה משתנה מ-
NONEל-TERMINATE_ON_HOST_MAINTENANCE. הערך הזה מתעדכן 60 דקות לפני תחילת אירוע העצירה.במכונות וירטואליות ללא GPU עם אפשרות תזמון של
migrate, הערך שלmaintenance-eventמשתנה באופן הבא:- בתחילת אירוע ההעברה, הערך משתנה מ-
NONEל-MIGRATE_ON_HOST_MAINTENANCE. הערך הזה מתעדכן 60 שניות לפני תחילת אירוע העצירה. - במהלך האירוע ובזמן שהמכונה הווירטואלית עוברת העברה פעילה, הערך נשאר
MIGRATE_ON_HOST_MAINTENANCE. - אחרי שאירוע התחזוקה יסתיים, הערך יחזור ל-
NONE.
- בתחילת אירוע ההעברה, הערך משתנה מ-
במכונות וירטואליות עם דייר יחיד, במהלך אירוע תחזוקה של המארח, ערך מפתח המטא-נתונים
maintenance-eventלא משתנה ונשארNONEמההתחלה ועד הסוף של האירוע.
לפני אירוע תחזוקה, אפשר לשלוח שאילתה למפתח המטא-נתונים upcoming-maintenance בסדרות של מכונות שתומכות ביכולות תחזוקה מתקדמות. אם יש התראה שזמינה למופע שלכם, יוצגו ערכים דומים לאלה:
{
"maintenanceType":"SCHEDULED"
"canReschedule": "true"
"latestWindowStartTime": "2025-08-28T21:56:21Z"
"maintenanceStatus": "PENDING"
"windowEndTime": "2025-08-29T01:56:20Z"
"windowStartTime": "2025-08-28T21:56:26Z"
}
כדי לדעת כמה זמן לפני אירוע תחזוקה מאוכלס מפתח המטא-נתונים upcoming-maintenance, אפשר לעיין במסמכי התיעוד בנושא 'חוויית תחזוקה' עבור סדרת המכונות. לדוגמה, במאמר חוויית התחזוקה של מכונות Z3 מוסבר על סוגי מכונות Z3.