查看維護通知

主機維護事件是指 Google Cloud 必須對 TPU 執行維護或修復作業。Google 會在執行主機維護作業前,傳送即將進行維護的通知。維護期間開始時, Google Cloud會自動對執行個體執行維護作業。監控執行個體即將進行的維護作業,有助您主動準備工作負載,以盡量減少中斷時間的方式處理即將進行的維護作業。

您可以使用 Google Cloud CLI 查詢中繼資料伺服器,查看 Cloud TPU 維護通知。您也可以在 Cloud Logging 中查看即將進行的維護事件。如要瞭解如何查看 GKE 中 TPU 的維護通知,請參閱「管理 GPU 和 TPU 的 GKE 節點中斷情形」。

維護通知欄位

維護作業通知包含下列欄位:

  • windowStartTime:維護作業開始的時間範圍
  • windowEndTime:維護作業的結束時間
  • latestWindowStartTime:維護期間可延後的最晚時間
  • maintenanceType:要執行的維護作業類型
    • SCHEDULED:維護作業將提前七天通知
    • UNSCHEDULED:維護作業代表重大更新,通知時間比排定的維護事件短
  • canReschedule:您是否可以在這個 VM 的通知期間手動啟動維護作業。
    • TRUE:您可以在通知期間手動啟動維護作業。
    • FALSE:您無法手動啟動這部 VM 的維護作業。 通常在 VM 積極進行維護的期間會出現這種情況。
  • maintenanceStatus:目前維護作業的狀態
    • ONGOING:正在執行維護作業
    • PENDING:維護作業尚未開始,但已排定時間

如果沒有維護通知,回應會類似以下內容:

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

維護狀態行為

管理維護事件時,請檢查 canReschedulemaintenanceStatus 的值。結合這些欄位後,即可瞭解手動啟動維護事件時可採取或不可採取的動作:

  • canReschedule=TruemaintenanceStatus=Pending:您可以在排定的開始時間前,手動啟動執行個體的維護事件。
  • canReschedule=FalsemaintenanceStatus=Ongoing:維護作業正在進行中,無法重新安排時間。
  • canReschedule=FalsemaintenanceStatus=Pending:您的執行個體不支援手動觸發的維護事件。

查看維護通知

如要查看維護作業通知,請按照下列步驟操作:

  • 使用 Google Cloud CLI 呼叫 Cloud TPU API
  • 查詢 VM 上的中繼資料伺服器
  • 檢查 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 VM 查詢中繼資料伺服器,即可查看下一個維護事件:

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 VM 查詢中繼資料伺服器,因為即將進行的維護事件通知對同一分割區中的所有 VM 都是一樣的。

如要進一步瞭解 VM 中繼資料,請參閱 Compute Engine 說明文件中的「關於 VM 中繼資料」。

在 Cloud Logging 中查看維護通知

在 Cloud TPU 上排定通知時,Cloud Logging 會包含該事件的系統事件記錄,並顯示 methodNamecompute.instance.upcomingMaintenance。如要查看近期維護事件的記錄:

  1. 在 Google Cloud 控制台的導覽選單中,前往「記錄檔探索工具」頁面:

    前往記錄檔探索工具

  2. 使用下列搜尋查詢,查看即將進行維護的 TPU:

    "compute.instances.upcomingMaintenance"

    Cloud TPU 會在 Cloud Logging 中記錄個別 VM 執行個體即將進行的維護事件,例如 t1v-n-5bdca789-w-0

維護通知記錄範例

記錄檔探索工具會顯示維護事件通知,值類似於下列內容:

  • 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." }

後續步驟