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 saja 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 mendetail ini memungkinkan Anda membuat urutan pemeliharaan yang optimal, dan menjadwalkan operasi pemeliharaan untuk meminimalkan dampak bisnis.
Mode Semua Kapasitas TPU hanya mendukung "pemeliharaan yang dikelompokkan", 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 reservasi. Notifikasi pemeliharaan dikirim 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:
- Pemeliharaan dijadwalkan. Anda akan menerima notifikasi bahwa host akan diupdate dalam waktu 90 hari.
- Anda dapat memilih untuk mengupdate host secara manual dalam waktu 90 hari.
- Setelah 90 hari, operasi pemeliharaan akan dijalankan tanpa pengecualian.
- Jika peristiwa pemeliharaan lain dijadwalkan sebelum peristiwa sebelumnya dijalankan, operasi kedua akan dijadwalkan untuk dijalankan setelah 180 hari, 90 hari setelah peristiwa pemeliharaan awal dijadwalkan terjadi.
Menyiapkan pemberitahuan notifikasi pemeliharaan untuk kapasitas fisik
Compute Engine mengirimkan peristiwa Cloud Logging untuk pemeliharaan yang dijadwalkan, dimulai, atau selesai. Peristiwa pemeliharaan ini tetap berada 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:
- Di Google Cloud konsol, buka Logs Explorer.
- Pastikan Show query diaktifkan.
- Di panel kueri, buat kueri dalam format yang tercantum di bagian berikut. Ganti placeholder parameter yang sesuai dan jalankan kueri.
- Setelah memverifikasi bahwa hasil yang ditampilkan cocok dengan yang Anda inginkan, Anda dapat membuat pemberitahuan dengan memilih Create log alert dari drop-down Actions di toolbar Hasil kueri dan memberikan informasi yang diminta.
Membuat kueri untuk pemeliharaan mendatang
Berikut adalah contoh kueri untuk membuat kueri 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 |
Menghapus RESOURCE_NAME |
| Reservasi tertentu | reservations |
YOUR_RESERVATION_NAME |
| Blok di semua reservasi | reservations.blocks |
Menghapus RESOURCE_NAME |
| Blok tertentu | reservations.blocks |
YOUR_RESERVATION_NAME/reservationBlocks/YOUR_RESERVATION_BLOCK_ID |
| Sub-blok di semua reservasi | reservations.blocks.subblocks |
Menghapus RESOURCE_NAME |
| Sub-blok tertentu | reservations.blocks.subblocks |
YOUR_RESERVATION_NAME/reservationBlocks/YOUR_RESERVATION_BLOCK_ID/reservationSubBlocks/YOUR_RESERVATION_SUBBLOCK_ID |
Membuat 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 untuk pembukaan masa pemeliharaan untuk | CAPACITY_COMPONENT |
|---|---|
| Blok dalam reservasi | reservations.blocks |
| Sub-blok dalam reservasi | reservations.blocks.subblocks |
Membuat kueri untuk pemeliharaan yang selesai
Berikut adalah contoh kueri untuk membuat kueri pemeliharaan yang 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 selesai untuk | CAPACITY_COMPONENT |
RESOURCE_NAME |
|---|---|---|
| Semua reservasi | reservations |
Menghapus RESOURCE_NAME |
| Reservasi tertentu | reservations |
YOUR_RESERVATION_NAME |
| Blok di semua reservasi | reservations.blocks |
Menghapus RESOURCE_NAME |
| Blok tertentu | reservations.blocks |
YOUR_RESERVATION_NAME/reservationBlocks/YOUR_RESERVATION_BLOCK_ID |
| Sub-blok di semua reservasi | reservations.blocks.subblocks |
Menghapus 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 Anda melalui Cloud Logging, API, dan CLI. Informasi status pemeliharaan diberikan pada empat tingkat: reservasi, blok, sub-blok, dan host.
Cloud Logging
Contoh JSON berikut dibuat 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 diupdatereservationMaintenance.instanceMaintenancePendingCount: jumlah host yang digunakan yang pemeliharaannya tertundareservationMaintenance.maintenanceOngoingCount: jumlah host yang tidak digunakan yang sedang diupdatereservationMaintenance.maintenancePendingCount: jumlah host yang tidak digunakan yang pemeliharaannya tertundareservationMaintenance.upcomingGroupMaintenance.maintenanceReasons: jenis pemeliharaanreservationMaintenance.upcomingGroupMaintenance.maintenanceStatus: status operasi pemeliharaanreservationMaintenance.upcomingGroupMaintenance.type: jenis pemeliharaan (SCHEDULEDuntuk pemeliharaan yang direncanakan atauUNSCHEDULEDuntuk pemeliharaan yang tidak direncanakan atau darurat)reservationMaintenance.upcomingGroupMaintenance.windowEndTime: akhir yang dijadwalkan dari jangka waktu untuk operasi pemeliharaanreservationMaintenance.upcomingGroupMaintenance.windowStartTime: awal yang dijadwalkan dari jangka waktu untuk operasi pemeliharaan
Menyiapkan pemberitahuan notifikasi pemeliharaan untuk VM TPU
Anda dapat membuat pemberitahuan untuk peristiwa pemeliharaan di VM TPU:
- Di Google Cloud konsol, buka Logs Explorer.
- Setel tombol Show query ke posisi "on".
- Di panel kueri, buat kueri dalam format yang tercantum di bagian berikut.
- Setelah memverifikasi bahwa hasil yang ditampilkan cocok dengan yang Anda inginkan, Anda dapat membuat pemberitahuan dengan mengklik drop-down Actions, memilih Create log alert, dan melengkapi informasi dari panel Create logs-based alert policy.
Membuat kueri untuk mengetahui kapan pemeliharaan dijadwalkan untuk instance VM
protoPayload.methodName="compute.instances.upcomingMaintenance" severity>=DEFAULT protoPayload.status.message =~ "scheduled"
Membuat kueri untuk mengetahui kapan masa pemeliharaan dibuka untuk instance VM
protoPayload.methodName="compute.instances.upcomingMaintenance" severity>=DEFAULT protoPayload.status.message =~ "ongoing"
Membuat kueri untuk pemeliharaan yang dimulai untuk instance VM
protoPayload.methodName="compute.instances.blocks.terminateOnHostMaintenance" severity>=DEFAULT
Membuat kueri untuk mengetahui kapan pemeliharaan 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 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 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 Membuat 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": "ONGOING" "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 selesai. Untuk an contoh kueri, lihat Membuat kueri untuk mengetahui kapan pemeliharaan 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, hal yang terjadi bergantung pada status pemeliharaan reservasi, blok, atau sub-blok Anda. Tabel berikut menjelaskan apa yang terjadi untuk setiap hal tersebut:
| Status pemeliharaan | Deskripsi | Apa yang Anda lihat |
|---|---|---|
| Dijadwalkan | Compute Engine telah menjadwalkan pemeliharaan 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
ditetapkan 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 di 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 di 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 secara manual di blok
Perintah berikut memulai pemeliharaan di 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 di host yang 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 di sub-blok
Saat memulai pemeliharaan di 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.