Mengelola peristiwa pemeliharaan dengan TPU dalam mode Semua Kapasitas

Semua host TPU menjalani pemeliharaan rutin. Dalam Mode Semua Kapasitas TPU, Anda dapat merencanakan peristiwa pemeliharaan mendatang dan memulai operasi pemeliharaan kapan pun Anda inginkan pada semua kapasitas Anda. Anda dapat memperbarui kapasitas yang digunakan dan tidak digunakan secara bersamaan atau terpisah. Anda juga dapat melakukan pemeliharaan di tingkat VM, sub-blok, blok, atau reservasi. Kontrol pemeliharaan yang terperinci ini memungkinkan Anda membuat urutan pemeliharaan yang optimal, dan menjadwalkan operasi pemeliharaan untuk meminimalkan dampak bisnis.

Mode Semua Kapasitas TPU hanya mendukung "pemeliharaan berkelompok", yang berarti operasi pemeliharaan untuk semua instance VM dalam reservasi dijadwalkan pada waktu yang sama. Semua VM TPU dalam reservasi memiliki masa pemeliharaan yang sama. Namun, operasi pemeliharaan dapat dilakukan secara terpisah di tingkat host, sub-blok, blok, atau pemesanan. Notifikasi pemeliharaan dikirimkan sekitar 90 hari sebelumnya. Pemeliharaan tidak akan dilakukan lebih sering dari sekali setiap 90 hari.

Jika Anda menggunakan TPU Cluster Director di GKE dan menggunakan node pool slice TPU multi-host, sebaiknya hapus node pool GKE sebelum memulai pemeliharaan tertunda secara manual untuk host mana pun di node pool tersebut. Setelah pemeliharaan dijalankan untuk semua host di node pool asli, Anda dapat membuat ulang node pool.

Berikut adalah contoh linimasa untuk peristiwa pemeliharaan host TPU:

  1. Pemeliharaan dijadwalkan. Notifikasi akan dikirimkan kepada Anda bahwa host akan diupdate dalam waktu 90 hari.
  2. Anda dapat memilih untuk memperbarui host secara manual dalam waktu 90 hari.
  3. Setelah 90 hari, operasi pemeliharaan akan dijalankan tanpa pengecualian.
  4. Jika acara pemeliharaan lain dijadwalkan sebelum acara sebelumnya dijalankan, operasi kedua dijadwalkan untuk dijalankan setelah 180 hari, 90 hari setelah acara pemeliharaan awal dijadwalkan terjadi.

Menyiapkan pemberitahuan pemeliharaan untuk kapasitas fisik

Compute Engine mengirimkan peristiwa Cloud Logging untuk pemeliharaan terjadwal, dimulai, atau selesai. Peristiwa pemeliharaan ini tetap ada di log Anda sehingga Anda dapat membuat kueri log untuk mendapatkan tampilan historis pemeliharaan kapasitas Anda. Anda juga dapat menerima notifikasi tentang peristiwa pemeliharaan mendatang untuk reservasi, blok, atau sub-blok dengan membuat kebijakan pemberitahuan berbasis log.

Untuk membuat pemberitahuan untuk peristiwa pemeliharaan pada kapasitas fisik Anda:

  1. Di konsol Google Cloud , buka Logs Explorer.
  2. Pastikan Tampilkan kueri diaktifkan.
  3. Di panel kueri, buat kueri dalam format yang tercantum di bagian berikut. Ganti placeholder parameter yang sesuai dan jalankan kueri.
  4. Setelah memverifikasi bahwa hasil yang ditampilkan cocok dengan yang Anda inginkan, Anda dapat membuat pemberitahuan dengan memilih Buat pemberitahuan log dari drop-down Tindakan di toolbar Hasil kueri dan memberikan informasi yang diminta.

Kueri untuk pemeliharaan mendatang

Berikut adalah contoh kueri untuk mengkueri pemeliharaan mendatang:

protoPayload.methodName="compute.CAPACITY_COMPONENT.upcomingGroupMaintenance" severity>=DEFAULT
protoPayload.resourceName="projects/shared-reservation-project/reservations/RESOURCE_NAME"
protoPayload.status.message =~ "scheduled"

Ganti CAPACITY_COMPONENT dan RESOURCE_NAME dengan nilai berikut:

Menerima notifikasi pemeliharaan mendatang untuk CAPACITY_COMPONENT RESOURCE_NAME
Semua reservasi reservations Hilangkan RESOURCE_NAME
Reservasi tertentu reservations YOUR_RESERVATION_NAME
Blokir di semua reservasi reservations.blocks Hilangkan RESOURCE_NAME
Blok tertentu reservations.blocks YOUR_RESERVATION_NAME/reservationBlocks/YOUR_RESERVATION_BLOCK_ID
Sub-blok di semua reservasi reservations.blocks.subblocks Hilangkan RESOURCE_NAME
Sub-blok tertentu reservations.blocks.subblocks YOUR_RESERVATION_NAME/reservationBlocks/YOUR_RESERVATION_BLOCK_ID/reservationSubBlocks/YOUR_RESERVATION_SUBBLOCK_ID

Kueri untuk pembukaan masa pemeliharaan

protoPayload.methodName="compute.reservations.CAPACITY_COMPONENT.startGroupMaintenance" severity>=DEFAULT
protoPayload.status.message =~ "started"

Ganti CAPACITY_COMPONENT dengan salah satu nilai berikut:

Menerima notifikasi saat masa pemeliharaan dimulai untuk CAPACITY_COMPONENT
Blokir dalam reservasi reservations.blocks
Sub-blok dalam reservasi reservations.blocks.subblocks

Mengirim kueri untuk pemeliharaan yang telah selesai

Berikut adalah contoh kueri untuk membuat kueri pemeliharaan yang telah selesai:

protoPayload.methodName="compute.reservations.CAPACITY_COMPONENT.completedGroupMaintenance" severity>=DEFAULT
protoPayload.resourceName="projects/YOUR_RESERVATION_PROJECT/reservations/RESOURCE"
protoPayload.status.message =~ "completed"

Ganti CAPACITY_COMPONENT dan RESOURCE_NAME dengan nilai berikut:

Menerima notifikasi untuk pemeliharaan yang telah selesai untuk CAPACITY_COMPONENT RESOURCE_NAME
Semua reservasi reservations Menghilangkan RESOURCE_NAME
Reservasi tertentu reservations YOUR_RESERVATION_NAME
Blokir di semua reservasi reservations.blocks Menghilangkan RESOURCE_NAME
Blok tertentu reservations.blocks YOUR_RESERVATION_NAME/reservationBlocks/YOUR_RESERVATION_BLOCK_ID
Sub-blok di semua reservasi reservations.blocks.subblocks Menghilangkan RESOURCE_NAME
Sub-blok tertentu reservations.blocks.subblocks YOUR_RESERVATION_NAME/reservationBlocks/YOUR_RESERVATION_BLOCK_ID/reservationSubBlocks/YOUR_RESERVATION_SUBBLOCK_ID

Melihat status pemeliharaan kapasitas fisik

Anda dapat mengetahui status pemeliharaan kapasitas melalui Cloud Logging, API, dan CLI. Informasi status pemeliharaan diberikan di empat tingkat: reservasi, blok, sub-blok, dan host.

Cloud Logging

Contoh JSON berikut dihasilkan sebagai respons terhadap contoh kueri ini:

{
"protoPayload": {
  "@type": "type.googleapis.com/google.cloud.audit.AuditLog",
  "status": {
    "message": "Maintenance is scheduled for this block in reservation
    YOUR_RESERVATION. Review the maintenance schedule
    by describing the reservation and block via gcloud CLI"
  },
  "metadata": {
    "type":SCHEDULED
    "canReschedule":True
    "windowGroupStartTime": '2025-09-12T13:00:00.000-07:00',
    "windowGroupEndTime": '2025-09-12T17:00:00.000-07:00',
    "maintenanceGroupStatus":PENDING,
    "maintenancePendingCount":128 # Used and Unused Machines,
    "instanceMaintenancePendingCount": 64 # VMs Only
  },
"methodName": "compute.reservations.block.upcomingGroupMaintenance",

},
}

gcloud

gcloud compute reservations blocks describe YOUR_RESERVATION \
--block-name=YOUR_BLOCK \
--project=YOUR_PROJECT \
--zone=YOUR_ZONE

Outputnya mirip dengan hal berikut ini:

count: 128 # Host count
creationTimestamp: '2025-08-19T18:23:32.825-07:00'
id: '6404259976725386932'
inUseCount: 64 # In use host count
kind: compute#reservationBlock
name: exr1-block-0002
…
reservationMaintenance:
instanceMaintenanceOngoingCount: 0
instanceMaintenancePendingCount: 64 # VMs Only
maintenanceOngoingCount: 0
maintenancePendingCount: 128 # Used and Unused Hosts
schedulingType: GROUPED
subblockInfraMaintenanceOngoingCount: 0
subblockInfraMaintenancePendingCount: 0
upcomingGroupMaintenance:
  canReschedule: true
  maintenanceReasons:
  - PLANNED_UPDATE
  maintenanceStatus: PENDING
  type: SCHEDULED
  windowEndTime: '2025-09-12T17:00:00.000-07:00'
  windowStartTime: '2025-09-12T13:00:00.000-07:00'

Nilai berikut dari output menjelaskan informasi pemeliharaan:

  • reservationMaintenance.instanceMaintenanceOngoingCount: jumlah host yang digunakan yang sedang diupdate
  • reservationMaintenance.instanceMaintenancePendingCount: jumlah host yang digunakan yang menunggu pemeliharaan
  • reservationMaintenance.maintenanceOngoingCount: jumlah host yang tidak digunakan yang sedang diupdate
  • reservationMaintenance.maintenancePendingCount: jumlah host yang tidak digunakan yang menunggu pemeliharaan
  • reservationMaintenance.upcomingGroupMaintenance.maintenanceReasons: jenis pemeliharaan
  • reservationMaintenance.upcomingGroupMaintenance.maintenanceStatus: status operasi pemeliharaan
  • reservationMaintenance.upcomingGroupMaintenance.type: jenis pemeliharaan (SCHEDULED untuk pemeliharaan terencana atau UNSCHEDULED untuk pemeliharaan darurat atau tidak terencana)
  • reservationMaintenance.upcomingGroupMaintenance.windowEndTime: akhir yang dijadwalkan untuk jangka waktu operasi pemeliharaan
  • reservationMaintenance.upcomingGroupMaintenance.windowStartTime: waktu mulai yang dijadwalkan untuk periode waktu operasi pemeliharaan

Menyiapkan pemberitahuan pemeliharaan untuk VM TPU

Anda dapat membuat pemberitahuan untuk peristiwa pemeliharaan di VM TPU:

  1. Di konsol Google Cloud , buka Logs Explorer.
  2. Setel tombol Tampilkan kueri ke posisi "aktif".
  3. Di panel kueri, buat kueri dalam format yang tercantum di bagian berikut.
  4. Setelah memverifikasi bahwa hasil yang ditampilkan cocok dengan yang Anda inginkan, Anda dapat membuat pemberitahuan dengan mengklik drop-down Tindakan, memilih Buat pemberitahuan log, dan melengkapi informasi dari panel Buat kebijakan pemberitahuan berbasis log.

Kueri untuk mengetahui kapan pemeliharaan dijadwalkan untuk instance VM

protoPayload.methodName="compute.instances.upcomingMaintenance" severity>=DEFAULT
protoPayload.status.message =~ "scheduled"

Kueri untuk mengetahui kapan masa pemeliharaan telah dibuka untuk instance VM

protoPayload.methodName="compute.instances.upcomingMaintenance" severity>=DEFAULT
protoPayload.status.message =~ "ongoing"

Kueri untuk pemeliharaan dimulai untuk instance VM

protoPayload.methodName="compute.instances.blocks.terminateOnHostMaintenance" severity>=DEFAULT

Kueri untuk mengetahui kapan pemeliharaan telah selesai untuk instance VM

protoPayload.methodName="compute.instances.upcomingMaintenance" severity>=DEFAULT
protoPayload.status.message =~ "completed"

Melihat status pemeliharaan VM Cloud TPU

Anda dapat mengambil status pemeliharaan VM Cloud TPU dengan Compute Engine Instance API atau dengan perintah curl dari dalam sistem operasi tamu.

Mendeskripsikan instance

gcloud

gcloud compute instances describe INSTANCE --zone ZONE

Perintah ini akan menampilkan output seperti berikut:

…
upcomingMaintenance:{
"type":"SCHEDULED"
"canReschedule":True
"windowStartTime": '2025-09-12T13:00:00.000-07:00'
"windowEndTime": '2025-09-12T17:00:00.000-07:00'
"latestWindowStartTime": '2025-09-12T13:00:00.000-07:00'
"maintenanceStatus":"PENDING"
...

curl

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

Perintah ini akan menampilkan output seperti berikut:

{
"maintenanceType":"SCHEDULED"
"canReschedule":True
"windowStartTime": '2025-09-12T13:00:00.000-07:00'
"windowEndTime": '2025-09-12T17:00:00.000-07:00'
"latestWindowStartTime": '2025-09-12T13:00:00.000-07:00'
"maintenanceStatus":"PENDING"
}

Anda juga dapat menemukan notifikasi pemeliharaan di Cloud Logging.

Berikut adalah contoh pesan log pemeliharaan terencana yang tertunda. Untuk contoh kueri, lihat Melihat status pemeliharaan kapasitas fisik.

{
  "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."
    },
    "metadata": {
      "canReschedule": true
      "latestWindowStartTime": "2024-01-01:00:00:00PST"
      "maintenanceStatus": "PENDING"
      "type": "SCHEDULED"
      "windowEndTime": "2024-01-01:00:02:00PST"
      "windowStartTime": "2024-01-01:00:00:00PST"
    },
},
  "operation": {
    "id": "systemevent-1702539760425-60c736da2db40-701ddf19-b5424b20",
    "producer": "compute.instances.upcomingMaintenance",
    "first": true,
    "last": false
  },
}

Contoh berikut adalah pesan log pemeliharaan tidak terencana yang sedang berlangsung. Untuk contoh kueri, lihat Kueri untuk mengetahui kapan masa pemeliharaan dibuka.

{
  "protoPayload": {
    "@type": "type.googleapis.com/google.cloud.audit.AuditLog",
    "status": {
      "message": "Maintenance window has started 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."
    },
    "metadata": {
      "canReschedule": true
      "latestWindowStartTime": "2024-01-01:00:00:00PST"
      "maintenanceStatus": "ONGING"
      "type": "UNSCHEDULED"
      "windowEndTime": "2024-01-01:00:02:00PST"
      "windowStartTime": "2024-01-01:00:00:00PST"
    },
},
  "operation": {
    "id": "systemevent-1702539760425-60c736da2db40-701ddf19-b5424b20",
    "producer": "compute.instances.upcomingMaintenance",
    "first": true,
    "last": false
  },
}

Contoh berikut adalah pesan log untuk pemeliharaan yang telah selesai. Untuk contoh kueri, lihat Membuat kueri untuk mengetahui kapan pemeliharaan telah selesai untuk instance VM.

{
  "protoPayload": {
    "@type": "type.googleapis.com/google.cloud.audit.AuditLog",
    "status": {
      "message": "Maintenance window has completed for this instance. All maintenance notifications on the instance have been removed."
    },
  "operation": {
    "id": "systemevent-1702539760425-60c736da2db40-701ddf19-b5424b20",
    "producer": "compute.instances.upcomingMaintenance",
    "first": false,
    "last": true
  },
}

Memulai pemeliharaan tertunda secara manual untuk kapasitas fisik

Setelah peristiwa pemeliharaan dijadwalkan (maintenanceStatus ditetapkan ke PENDING), Anda dapat memulai pemeliharaan secara manual untuk reservasi, blok, atau sub-blok yang memiliki properti canReschedule yang ditetapkan ke True. Saat Anda memulai peristiwa pemeliharaan tertunda secara manual, yang terjadi bergantung pada status pemeliharaan pemesanan, blok, atau sub-blok Anda. Tabel berikut menjelaskan apa yang terjadi untuk setiap kasus ini:

Status pemeliharaan Deskripsi Yang Anda lihat
Dijadwalkan Compute Engine memiliki pemeliharaan terjadwal untuk reservasi. Anda dapat memulai pemeliharaan secara manual sebelum waktu yang dijadwalkan. Di Google Cloud CLI atau REST API, kolom maintenanceStatus ditetapkan ke PENDING.
Dalam proses Pemeliharaan sedang berlangsung. Anda tidak dapat menjadwalkannya ulang. Di Google Cloud CLI atau REST API, kolom maintenanceStatus disetel ke ONGOING.
Selesai Pemeliharaan selesai. Compute Engine telah menghapus semua notifikasi pemeliharaan dari VM. Di Google Cloud CLI atau REST API, kolom maintenanceStatus tidak ada.

Memulai pemeliharaan secara manual pada seluruh reservasi

Perintah berikut memulai pemeliharaan pada reservasi. Gunakan parameter --scope untuk menentukan salah satu nilai berikut yang menentukan cakupan operasi pemeliharaan:

  • Semua host: --scope=all
  • Host dengan VM yang berjalan: --scope=running
  • VM yang tidak digunakan, dihentikan, atau ditangguhkan: --scope=unused

Untuk memulai pemeliharaan pada semua blok reservasi, jalankan perintah berikut:

gcloud compute reservations perform-maintenance YOUR_RESERVATION \
  --zone=YOUR_ZONE \
  --scope=all

Untuk memeriksa progres peristiwa pemeliharaan, jalankan perintah berikut:

gcloud compute reservations describe YOUR_RESERVATION  \
  --project=YOUR_PROJECT \
  --zone=YOUR_ZONE

Outputnya mirip dengan hal berikut ini:

ResourceStatus
  upcomingGroupMaintenance:
    "type":"SCHEDULED"
    "canReschedule":True
    "maintenanceStatus":"PENDING"  "ONGOING"
    "maintenancePendingCount":512  0 # all hosts are moved into an ongoing state.
    "maintenanceOngoingCount":0  512  256  0 # this number first increases to all hosts
                                           # as machines complete, this number reduces.

Memulai pemeliharaan blok secara manual

Perintah berikut memulai pemeliharaan pada blok. Gunakan parameter --scope untuk menentukan salah satu nilai berikut yang menentukan cakupan operasi pemeliharaan:

  • Semua host: --scope=all
  • Host dengan VM yang berjalan: --scope=running
  • VM yang tidak digunakan, dihentikan, atau ditangguhkan: --scope=unused

Perintah berikut menunjukkan cara memulai pemeliharaan pada host yang sedang berjalan:

gcloud compute reservations perform-maintenance YOUR_RESERVATION
    --scope=RUNNING \
    --project=YOUR_PROJECT \
    --zone=YOUR_ZONE

Perintah berikut menunjukkan cara memeriksa progres pemeliharaan untuk blok:

gcloud compute reservations blocks describe YOUR_RESERVATION --block-name=YOUR_BLOCK_NAME  \
    --project=YOUR_PROJECT \
    --zone=YOUR_ZONE

Outputnya mirip dengan hal berikut ini:

ResourceStatus
  upcomingGroupMaintenance:
    "maintenanceType":"SCHEDULED"    "maintenanceGroupStatus":"PENDING"  "ONGOING"
    "maintenancePending":0
 "maintenanceOngoing":70  0

Memulai pemeliharaan secara manual pada sub-blok

Saat memulai pemeliharaan pada sub-blok, Anda tidak menentukan parameter --scope karena sub-blok adalah cakupan pemeliharaan terkecil.

Perintah berikut memulai pemeliharaan di semua host dalam blok:

gcloud compute reservations sub-blocks perform-maintenance YOUR_RESERVATION
    --block-name=YOUR_BLOCK_NAME \
    --sub-block-name=YOUR_SUBBLOCK_NAME \
    --project=YOUR_PROJECT \
    --zone=YOUR_ZONE

Perintah berikut memeriksa progres pemeliharaan:

gcloud compute reservations sub-blocks describe YOUR_RESERVATION
    --block-name=YOUR_BLOCK_NAME \
    --sub-block-name=YOUR_SUBBLOCK_NAME \
    --project=YOUR_PROJECT \
    --zone=YOUR_ZONE

Outputnya mirip dengan hal berikut ini:

ResourceStatus
  groupMaintenance:
    "maintenanceType":"SCHEDULED"
    "canReschedule":True
    "maintenanceGroupStatus":"PENDING"  "ONGOING"
    "maintenancePendingCount": 32  0 # 32 hosts updated
    "maintenanceOngoingCount":0  32  0
    "instanceMaintenancePendingCount": 64  0
    "instanceMaintenanceOngoingCount": 0  64  0 # 64 instances updated

Memulai pemeliharaan tertunda secara manual untuk VM TPU

Jika host menjalankan lebih dari satu VM, memulai pemeliharaan di satu VM akan memicu pemeliharaan untuk semua VM di host.

Contoh berikut menunjukkan cara memicu pemeliharaan secara manual untuk host Trillium yang memiliki dua VM, vm-1 dan vm-2:

gcloud compute instances perform-maintenance vm-1

Memulai pemeliharaan vm-1 akan memicu pemeliharaan vm-2.