查看維護作業通知
主機維護事件是指 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" }
維護狀態行為
管理維護事件時,請檢查 canReschedule
和 maintenanceStatus
的值。這些欄位結合後,會指出您可以或無法手動啟動維護事件的動作:
canReschedule=True
和maintenanceStatus=Pending
:您可以在預定開始時間之前,手動啟動執行個體的維護事件。canReschedule=False
和maintenanceStatus=Ongoing
:維護作業正在進行中,無法重新安排。canReschedule=False
和maintenanceStatus=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 會包含事件的系統事件記錄,並附上 methodName
: compute.instance.upcomingMaintenance
。如要查看即將發生的維護事件記錄,請按照下列步驟操作:
在 Google Cloud 控制台導覽選單中,前往「Logs Explorer」頁面:
使用下列搜尋查詢,查看所有已排定維護事件的 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." }