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

אירוע תחזוקה של מארח הוא מצב שבו Google Cloud צריך לבצע פעולת תחזוקה או תיקון ב-TPU שלכם. ‫Google שולחת התראות על תחזוקה קרובה של המארח לפני ביצוע התחזוקה. כשחלון הזמן לתחזוקה נפתח, 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"
}

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

מידע נוסף על מטא-נתונים של מכונות וירטואליות זמין במאמר מידע על מטא-נתונים של מכונות וירטואליות במסמכי 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." }

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