הצגת התראות לגבי פעולות תחזוקה

אירוע תחזוקה של מארח הוא מצב שבו Google Cloud צריך לבצע פעולת תחזוקה או תיקון ב-TPU שלכם. ‫Google שולחת התראות לגבי תחזוקה קרובה של המארח לפני ביצוע התחזוקה. כשחלון התחזוקה נפתח, Google Cloud מערכת Google Cloud מבצעת תחזוקה אוטומטית של המופע. מעקב אחרי חלונות הזמן לתחזוקה הקרובים של המכונה מאפשר לכם להכין את עומסי העבודה מראש כדי להתמודד עם תחזוקה קרובה עם שיבושים מינימליים.

שירות Cloud TPU מאפשר לכם לראות הודעות על תחזוקה באמצעות Google Cloud CLI ועל ידי שליחת שאילתה לשרת המטא-נתונים. אפשר גם לראות ב-Cloud Logging אירועי תחזוקה עתידיים. מידע על צפייה בהתראות על תחזוקה של TPU ב-GKE זמין במאמר ניהול שיבושים בצומתי GKE עבור GPU ו-TPU.

שדות של התראות לגבי פעולות תחזוקה

ההתראות לגבי פעולות תחזוקה כוללות את השדות הבאים:

  • windowStartTime: תחילת חלון הזמן שבו תתבצע התחזוקה
  • windowEndTime: סוף חלון הזמן שבו תתבצע התחזוקה
  • latestWindowStartTime: השעה המאוחרת ביותר שאליה אפשר להעביר את חלון זמן לתחזוקה
  • maintenanceType: סוג התחזוקה שתתבצע
    • SCHEDULED: תקבלו הודעה שבעה ימים לפני התחזוקה
    • UNSCHEDULED: תחזוקה מייצגת עדכונים קריטיים שמודיעים עליהם בהתראה קצרה יותר מאשר על אירועי תחזוקה מתוזמנים
  • canReschedule: האם אפשר להפעיל תחזוקה ידנית במהלך תקופת ההודעה למכונה הווירטואלית הזו.
    • TRUE: אפשר להפעיל תחזוקה באופן ידני במהלך תקופת ההתראה.
    • FALSE: אי אפשר להפעיל תחזוקה במכונה הווירטואלית הזו באופן ידני. הבעיה הזו בדרך כלל מתרחשת בתקופה שבה מתבצעת תחזוקה פעילה של המכונה הווירטואלית.
  • maintenanceStatus: הסטטוס של פעולת התחזוקה הנוכחית
    • ONGOING: פעולת התחזוקה מתבצעת
    • PENDING: עבודות התחזוקה עדיין לא התחילו, אבל הן מתוזמנות

אם אין הודעה על תחזוקה, התשובה תיראה כך:

{ "error": "no notifications have been received yet, try again later" }

אופן הפעולה של סטטוס התחזוקה

כשמנהלים אירועי תחזוקה, בודקים את הערכים של canReschedule ושל maintenanceStatus. כשמשלבים את השדות האלה, אפשר לראות אילו פעולות אפשר לבצע לגבי הפעלה ידנית של אירוע תחזוקה, ואילו פעולות אי אפשר לבצע:

  • canReschedule=True ו-maintenanceStatus=Pending: אתם יכולים להתחיל ידנית את אירוע התחזוקה של המכונה לפני שעת ההתחלה המתוזמנת.
  • canReschedule=False ו-maintenanceStatus=Ongoing: התחזוקה מתבצעת ואי אפשר לשנות את המועד שלה.
  • canReschedule=False ו-maintenanceStatus=Pending: המכונה לא תומכת באירועי תחזוקה שמופעלים באופן ידני.

הצגת התראות לגבי פעולות תחזוקה

כדי לראות את ההתראות לגבי פעולות תחזוקה:

  • קריאה ל-Cloud TPU API באמצעות Google Cloud CLI
  • שליחת שאילתה לשרת המטא-נתונים במכונה הווירטואלית
  • בדיקה ב-Cloud Logging

בדיקת יחידות TPU אם יש התראות על תחזוקה

gcloud

משתמשים בפקודה gcloud alpha compute tpus tpu-vm describe כדי לראות את ההתראות על תחזוקה:

gcloud alpha compute tpus tpu-vm describe TPU_NAME \
    --zone=ZONE

אם יש אירוע תחזוקה קרוב, התשובה תכיל קטע כמו זה:

upcomingMaintenance:
    canReschedule: true
    latestWindowStartTime: "2025-12-01T19:00:00Z"
    maintenanceStatus: PENDING
    type: SCHEDULED
    windowEndTime: "2025-12-01T22:00:00Z"
    windowStartTime: "2025-12-01T19:00:00Z"

בתשובה הזו:

  • התחזוקה מתוכננת לתאריך ולשעה שמוצגים ב-windowStartTime.
  • הערך של canReschedule הוא true והערך של maintenanceStatus הוא PENDING. ההגדרות האלה מציינות שאפשר להתחיל ידנית את אירוע התחזוקה המתוזמן לפני התאריך שמוצג ב-latestWindowStartTime.

שרת מטא-נתונים

ממכונת TPU וירטואלית, שולחים שאילתה לשרת המטא-נתונים כדי לראות את אירוע התחזוקה הבא:

curl http://metadata.google.internal/computeMetadata/v1/instance/upcoming-maintenance?alt=json -H "Metadata-Flavor: Google"

אם יש אירוע תחזוקה קרוב, התשובה תכלול קטע שדומה לזה:

Upcoming maintenance: {
    "can_reschedule" : "true",
    "latest_window_start_time" : "2024-06-12T16:00:01+00:00",
    "maintenance_status" : "PENDING",
    "type" : "SCHEDULED",
    "window_end_time" : "2024-06-12T20:00:00+00:00",
    "window_start_time" : "2024-06-12T16:00:00+00:00"
}

אפשר לשלוח שאילתה לשרת המטא-נתונים מכל מכונה וירטואלית של TPU בפלח, כי ההודעה על אירוע התחזוקה הקרוב זהה לכל המכונות הווירטואליות בפלח.

מידע נוסף על מטא-נתונים של מכונות וירטואליות זמין במאמר מידע על מטא-נתונים של מכונות וירטואליות במסמכי Compute Engine.

בדיקה ב-Cloud Logging אם יש התראה על תחזוקה

כשמתוזמנת התראה ב-Cloud TPU, ‏ Cloud Logging יכלול יומן אירועים של המערכת לאירוע, עם הערך methodName: compute.instance.upcomingMaintenance. כדי לראות יומנים של אירועי תחזוקה קרובים:

  1. בתפריט הניווט במסוף Google Cloud , עוברים לדף Logs Explorer:

    כניסה לדף Logs Explorer

  2. כדי לראות אילו יחידות TPU מתוזמנות לאירוע תחזוקה קרוב, משתמשים בשאילתת החיפוש הבאה:

    "compute.instances.upcomingMaintenance"

    יומני Cloud TPU מתעדים אירועי תחזוקה עתידיים ב-Cloud Logging לפי כל מכונת VM, לדוגמה, t1v-n-5bdca789-w-0.

דוגמאות ליומני התראות על תחזוקה

התראה לגבי אירוע תחזוקה מופיעה ב-Logs Explorer עם ערכים שדומים לאלה:

  • methodName: "compute.instances.upcomingMaintenance"
  • metadata:
    • maintenanceStatus: "PENDING"
    • windowStartTime: "2024-07-23T20:00:00Z"

הדוגמה הבאה היא של רשומה מלאה ביומן לגבי אירוע תחזוקה עתידי:

{
  "protoPayload": {
    "@type": "type.googleapis.com/google.cloud.audit.AuditLog",
    "status": {
      "message": "Maintenance is scheduled for this instance. Review the maintenance schedule by describing the VM with gcloud CLI or querying the http://metadata.google.internal/computeMetadata/v1/instance/upcoming-maintenance metadata key."
    },
    "serviceName": "compute.googleapis.com",
    "methodName": "compute.instances.upcomingMaintenance",
    "resourceName": "projects/cloud-tpu-multipod-dev/zones/europe-west4-b/instances/t1v-n-9472280f-w-0",
    "request": {
      "@type": "type.googleapis.com/compute.instances.upcomingMaintenance"
    },
    "metadata": {
      "type": "SCHEDULED",
      "windowStartTime": "2024-11-15T04:00:00Z",
      "canReschedule": true,
      "latestWindowStartTime": "2024-11-15T04:00:01Z",
      "windowEndTime": "2024-11-15T08:00:00Z",
      "maintenanceStatus": "PENDING"
  },
  "logName": "projects/cloud-tpu-multipod-dev/logs/cloudaudit.googleapis.com%2Fsystem_event",
  "operation": {
    "id": "systemevent-1731038451389-6265ecbfcd453-5127b81e-f40b8149",
    "producer": "compute.instances.upcomingMaintenance",
    "first": true,
    "last": true
  },
  "receiveTimestamp": "2024-11-08T04:00:54.457835088Z"
}

כשאירוע התחזוקה מתחיל, אירוע מידע חדש מופיע ביומנים עם ערכים דומים לאלה:

  • methodName: "compute.instances.upcomingMaintenance"
  • metadata:
    • maintenanceStatus: "ONGOING"
    • windowStartTime: "2024-07-23T20:00:00Z"

כשאירוע התחזוקה מסתיים, אירוע מידע חדש מופיע ביומני הביקורת עם ערכים דומים לאלה:

  • methodName: "compute.instances.upcomingMaintenance"
  • status: { message: "Maintenance window has completed for this instance. All maintenance notifications on the instance have been removed." }

המאמרים הבאים