Mengelola peristiwa pemeliharaan dengan TPU dalam mode Semua Kapasitas
Semua host TPU menjalani pemeliharaan rutin. Dalam mode Semua Kapasitas, Anda dapat merencanakan peristiwa pemeliharaan mendatang dan memulai operasi pemeliharaan kapan pun Anda mau di 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.
Semua mode Kapasitas 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 reservasi. Notifikasi pemeliharaan dikirim sekitar 90 hari sebelumnya. Pemeliharaan tidak akan dilakukan lebih sering dari sekali setiap 90 hari.
Jika Anda menggunakan mode Semua Kapasitas 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 peristiwa pemeliharaan lain dijadwalkan sebelum peristiwa sebelumnya dijalankan, operasi kedua dijadwalkan untuk dijalankan setelah 180 hari, 90 hari setelah peristiwa 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 tentang 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 pembuatan kueri untuk 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 |
Kueri untuk pemeliharaan yang telah selesai
Berikut adalah contoh kueri untuk pembuatan 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 disediakan 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 periode 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 Anda:
- 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": "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 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 reservasi, blok, atau sub-blok Anda. Tabel berikut menjelaskan apa yang terjadi untuk setiap kasus ini:
| Status pemeliharaan | Deskripsi | Apa 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 untuk 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 pada 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 blocks perform-maintenance YOUR_RESERVATION \ --block-name=YOUR_BLOCK_NAME \ --scope=RUNNING \ --project=YOUR_PROJECT \ --zone=YOUR_ZONE
Perintah berikut menunjukkan cara memeriksa progres pemeliharaan untuk sebuah 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 sub-blok secara manual
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 pada satu VM akan memicu pemeliharaan untuk semua VM di host. Untuk mengetahui informasi tentang cara memulai peristiwa pemeliharaan secara manual untuk VM TPU, lihat Memulai peristiwa pemeliharaan host secara manual di dokumentasi Compute Engine.