유지보수 알림 보기

호스트 유지보수 이벤트는 Google Cloud에서 TPU에 대한 유지보수 또는 수리 활동을 실행해야 하는 경우를 말합니다. Google은 유지보수가 실행되기 전에 예정된 호스트 유지보수에 대한 알림을 전송합니다. 유지보수 기간이 시작되면 Google Cloud가 인스턴스에 대한 유지보수를 자동으로 수행합니다. 인스턴스의 예정된 유지보수 기간을 모니터링하면 최소한의 중단으로 예정된 유지보수를 처리할 수 있도록 워크로드를 사전에 준비할 수 있습니다.

Cloud TPU를 사용하면 Google Cloud CLI를 실행하고 메타데이터 서버를 쿼리하여 유지보수 알림을 볼 수 있습니다. Cloud Logging에서 예정된 유지보수 이벤트를 확인할 수도 있습니다. GKE에서 TPU의 유지보수 알림을 확인하는 방법에 관한 자세한 내용은 GPU 및 TPU의 GKE 노드 서비스 중단 관리를 참고하세요.

유지보수 알림 필드

유지보수 알림에는 다음 필드가 포함됩니다.

  • windowStartTime: 유지보수가 실행되는 기간의 시작 시간입니다.
  • windowEndTime: 유지보수가 수행되는 종료 시간입니다.
  • latestWindowStartTime: 유지보수 기간을 이동할 수 있는 가장 늦은 시간입니다.
  • maintenanceType: 수행할 유지보수 유형입니다.
    • SCHEDULED: 유지보수에 7일 알림이 사용됩니다.
    • 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에 표시된 날짜 및 시간에 예약됩니다.
  • canRescheduletrue로 설정되고 maintenanceStatusPENDING로 설정됩니다. 이 설정은 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"
}

예정된 유지보수 이벤트 알림은 슬라이스의 모든 VM에서 동일하므로 슬라이스의 모든 TPU VM에서 메타데이터 서버를 쿼리할 수 있습니다.

VM 메타데이터에 대한 자세한 내용은 Compute Engine 문서의 VM 메타데이터 정보를 참고하세요.

Cloud Logging의 유지보수 알림 확인

Cloud TPU에서 알림이 예약되면 Cloud Logging에는 methodName:compute.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." }

다음 단계