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:
- Pemeliharaan dijadwalkan. Notifikasi akan dikirimkan kepada Anda bahwa host akan diupdate dalam waktu 90 hari.
- Anda dapat memilih untuk memperbarui host secara manual dalam waktu 90 hari.
- Setelah 90 hari, operasi pemeliharaan akan dijalankan tanpa pengecualian.
- 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:
- Di konsol Google Cloud , buka Logs Explorer.
- Pastikan Tampilkan kueri 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 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 diupdatereservationMaintenance.instanceMaintenancePendingCount: jumlah host yang digunakan yang menunggu pemeliharaanreservationMaintenance.maintenanceOngoingCount: jumlah host yang tidak digunakan yang sedang diupdatereservationMaintenance.maintenancePendingCount: jumlah host yang tidak digunakan yang menunggu pemeliharaanreservationMaintenance.upcomingGroupMaintenance.maintenanceReasons: jenis pemeliharaanreservationMaintenance.upcomingGroupMaintenance.maintenanceStatus: status operasi pemeliharaanreservationMaintenance.upcomingGroupMaintenance.type: jenis pemeliharaan (SCHEDULEDuntuk pemeliharaan terencana atauUNSCHEDULEDuntuk pemeliharaan darurat atau tidak terencana)reservationMaintenance.upcomingGroupMaintenance.windowEndTime: akhir yang dijadwalkan untuk jangka waktu operasi pemeliharaanreservationMaintenance.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:
- Di konsol Google Cloud , buka Logs Explorer.
- Setel tombol Tampilkan kueri ke posisi "aktif".
- 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 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.