Mengelola peristiwa host di seluruh VM H4D

Dokumen ini menjelaskan cara menggunakan fitur pemeliharaan host yang tersedia dengan VM H4D. Panduan ini menjelaskan cara memantau, merencanakan, dan melakukan pemeliharaan terjadwal pada instance virtual machine (VM). Untuk mengelola pemeliharaan pada blok kapasitas yang dipesan, terlepas dari apakah VM berjalan di blok tersebut atau tidak, lihat Mengelola peristiwa host di seluruh reservasi.

Saat mengelola peristiwa pemeliharaan host yang akan datang secara proaktif di VM, Anda dapat meminimalkan gangguan dan mempertahankan performa yang optimal.

Sebelum memulai

Select the tab for how you plan to use the samples on this page:

Console

When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

gcloud

In the Google Cloud console, activate Cloud Shell.

Activate Cloud Shell

At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

REST

Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.

    Instal Google Cloud CLI. Setelah penginstalan, inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:

    gcloud init

    Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

Untuk mengetahui informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud .

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk mengelola peristiwa pemeliharaan host di seluruh VM, minta administrator untuk memberi Anda peran IAM berikut:

  • Compute Admin (roles/compute.admin) di project
  • Untuk akses hanya baca ke log audit Peristiwa Sistem: Logs Viewer (roles/logging.viewer) pada project

Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran bawaan ini berisi izin yang diperlukan untuk mengelola peristiwa pemeliharaan host di seluruh VM. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk mengelola peristiwa pemeliharaan host di seluruh VM:

  • Untuk melihat detail VM: compute.instances.get pada project

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Ringkasan

Untuk mengoptimalkan pemeliharaan VM Anda, selesaikan langkah-langkah berikut:

  1. Memahami pemeliharaan host. Pelajari frekuensi dan perilaku pemeliharaan VM Anda berdasarkan seri mesinnya. Informasi ini membantu Anda meminimalkan gangguan pada workload Anda.

  2. Siapkan pemberitahuan notifikasi. Buat pemberitahuan berbasis log untuk menerima notifikasi saat pemeliharaan VM Anda dijadwalkan, dimulai, atau selesai. Pendekatan ini membantu Anda merencanakan aktivitas secara proaktif dan menghindari periode nonaktif yang tidak terduga.

  3. Mengelola pemeliharaan di seluruh VM. Melihat apakah pemeliharaan dijadwalkan untuk VM Anda. Jika perlu, Anda dapat memulai pemeliharaan secara manual di seluruh VM. Proses ini membantu Anda meningkatkan ketahanan workload untuk menghosting acara, mencegah periode nonaktif, dan memaksimalkan ketersediaan aplikasi Anda.

Memahami pemeliharaan host

Selama siklus proses instance Compute Engine, mesin host tempat instance Anda berjalan mengalami beberapa peristiwa host. Peristiwa host dapat mencakup pemeliharaan rutin infrastruktur Compute Engine, atau dalam kasus yang jarang terjadi, error host. Compute Engine juga menerapkan beberapa upgrade ringan yang tidak mengganggu untuk hypervisor dan jaringan di latar belakang.

Seri mesin H4D menawarkan fitur berikut terkait pemeliharaan host:

Jenis mesin Frekuensi umum peristiwa pemeliharaan terjadwal Perilaku pemeliharaan Notifikasi lanjutan Pemeliharaan sesuai permintaan Simulasi pemeliharaan
h4d-standard-192 Minimum 30 hari Hentikan 7 hari Ya Tidak
h4d-highmem-192 Minimum 30 hari Hentikan 7 hari Ya Tidak
h4d-highmem-192-lssd Minimum 30 hari Berakhir dengan persistensi data SSD Lokal 7 hari Ya Tidak

Frekuensi pemeliharaan yang ditampilkan dalam tabel sebelumnya adalah perkiraan, bukan jaminan. Compute Engine terkadang melakukan pemeliharaan lebih sering.

Menyiapkan pemberitahuan notifikasi untuk VM

Anda dapat menerima notifikasi tentang peristiwa pemeliharaan terjadwal, dimulai, atau selesai untuk VM Anda dengan membuat kebijakan pemberitahuan berbasis log.

Untuk membuat pemberitahuan untuk peristiwa pemeliharaan VM Anda, selesaikan prosedur berikut. Ulangi prosedur ini untuk setiap pemberitahuan yang ingin Anda buat.

  1. Di konsol Google Cloud , buka halaman Logs Explorer:

    Buka Logs Explorer

    Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Logging.

  2. Klik tombol Tampilkan kueri ke posisi aktif.

  3. Di panel Query, buat salah satu kueri berikut. Kueri ini memfilter entri log untuk mengidentifikasi peristiwa pemeliharaan tertentu. Jika Anda ingin menggunakan beberapa kueri, ulangi prosedur ini untuk membuat pemberitahuan unik untuk setiap kueri.

    • Untuk menerima pemberitahuan saat pemeliharaan VM dijadwalkan:

      protoPayload.methodName="compute.instances.upcomingMaintenance" severity>=DEFAULT
      protoPayload.status.message =~ "scheduled"
      
    • Untuk menerima pemberitahuan saat masa pemeliharaan untuk VM telah dimulai:

      protoPayload.methodName="compute.instances.upcomingMaintenance" severity>=DEFAULT
      protoPayload.status.message =~ "ongoing"
      
    • Untuk menerima pemberitahuan saat pemeliharaan VM telah dimulai:

      protoPayload.methodName="compute.instance.terminateOnHostMaintenance" severity>=DEFAULT
      
    • Untuk menerima pemberitahuan saat pemeliharaan VM telah selesai:

      protoPayload.methodName="compute.instances.upcomingMaintenance" severity>=DEFAULT
      protoPayload.status.message =~ "completed"
      
  4. Untuk memvalidasi kueri, klik Jalankan kueri. Jika kueri valid, panel Query results akan menampilkan entri log yang cocok dengan kueri.

  5. Di toolbar hasil Kueri, klik daftar Tindakan, lalu pilih Buat pemberitahuan log. Panel Buat kebijakan pemberitahuan berbasis log akan muncul.

  6. Di bagian Detail pemberitahuan, lakukan tindakan berikut:

    1. Di kolom Alert Policy Name, masukkan nama untuk kebijakan tersebut.

    2. Di daftar Tingkat keseriusan kebijakan, pilih Peringatan (atau tingkat keseriusan yang lebih tinggi).

    3. Klik Berikutnya.

  7. Di bagian Choose logs to include in the alert, klik Next.

  8. Di bagian Setel frekuensi notifikasi dan durasi penutupan otomatis, tentukan hal berikut:

    1. Di daftar Waktu antar-notifikasi, pilih seberapa sering Anda ingin mendapatkan notifikasi.

    2. Dalam daftar Durasi penutupan insiden otomatis, pilih durasi setelah Cloud Logging berhenti mengirim notifikasi dan menutup insiden secara otomatis.

    3. Klik Berikutnya.

  9. Di bagian Who should be notified?, tentukan saluran notifikasi untuk Logging guna mengirim notifikasi.

  10. Klik Simpan.

Untuk melihat contoh notifikasi peristiwa pemeliharaan di Logs Explorer, lihat Contoh notifikasi pemeliharaan dalam dokumentasi Compute Engine.

Mengelola pemeliharaan di seluruh VM

Anda dapat melihat dan mengontrol pemeliharaan VM dengan melakukan satu atau beberapa hal berikut:

Melihat status pemeliharaan VM

Anda dapat melihat status dan waktu yang dijadwalkan untuk pemeliharaan mendatang VM Anda dengan memeriksa nilai kolom upcomingMaintenance dalam metadata instance. Jika VM tidak berisi kolom upcomingMaintenance, tidak ada peristiwa pemeliharaan host yang dijadwalkan untuk VM. Untuk mengetahui informasi selengkapnya tentang kolom di upcomingMaintenance, lihat Definisi status pemeliharaan dalam dokumentasi Compute Engine.

Selain itu, jika pemeliharaan dijadwalkan untuk VM, kolom upcomingGroupMaintenance berisi kolom maintenanceReasons. Kolom ini menjelaskan alasan pemeliharaan dijadwalkan untuk VM Anda, seperti yang dijelaskan dalam tabel berikut:

Jenis pemeliharaan Alasan pemeliharaan Status VM
Pemeliharaan terencana untuk pemeliharaan rutin
  • PLANNED_UPDATE: pemeliharaan infrastruktur terencana
  • PLANNED_NETWORK_UPDATE: pemeliharaan jaringan terencana
Berlaku untuk VM yang sedang berjalan, dihentikan, atau ditangguhkan.
Pemeliharaan darurat yang tidak terencana
  • FAILURE_DISK: pemeliharaan tidak terencana yang dijadwalkan karena error pada disk yang terpasang ke VM.
  • FAILURE_INFRA: pemeliharaan tidak terencana dijadwalkan karena terjadi error pada infrastruktur.
  • FAILURE_INTERFACE: pemeliharaan tidak terencana yang dijadwalkan karena error pada NIC.
  • FAILURE_MEMORY: pemeliharaan tidak terencana yang dijadwalkan karena error pada memori VM.
  • FAILURE_NETWORK: pemeliharaan tidak terencana yang dijadwalkan karena error pada jaringan.
Hanya berlaku untuk VM yang sedang berjalan.

Untuk melihat kolom maintenanceReasons di VM, Anda harus menggunakan gcloud CLI atau REST API. Untuk melihat status pemeliharaan beberapa VM secara bersamaan, Anda harus menggunakan konsol Google Cloud atau REST API. Jika tidak, pilih salah satu opsi berikut:

Konsol

  1. Di konsol Google Cloud , buka halaman VM instances.

    Buka instance VM

  2. Di kolom Status pemeliharaan, Compute Engine menampilkan status pemeliharaan VM Anda. Jika Anda tidak melihat kolom ini di tabel VM instances, klik view_column Opsi tampilan kolom, pilih kotak centang Status pemeliharaan, lalu klik OK.

gcloud

Untuk melihat status pemeliharaan VM, gunakan perintah gcloud compute instances describe dengan flag --flatten=resourceStatus.upcomingMaintenance:

gcloud compute instances describe VM_NAME \
    --flatten=resourceStatus.upcomingMaintenance \
    --zone=ZONE

Ganti kode berikut:

  • VM_NAME: nama VM.

  • ZONE: zona tempat VM berada.

Outputnya mirip dengan salah satu dari berikut ini:

  • Jika peristiwa pemeliharaan host dijadwalkan untuk VM Anda, outputnya akan mirip dengan berikut ini:

    ---
    canReschedule: true
    latestWindowStartTime: '2025-11-01T19:00:00Z'
    maintenanceReasons:
    - 'PLANNED_UPDATE'
    - 'PLANNED_NETWORK_UPDATE'
    maintenanceStatus: 'PENDING'
    type: 'SCHEDULED'
    windowEndTime: '2025-11-01T22:00:00Z'
    windowStartTime: '2025-11-01T19:00:00Z'
    
  • Jika peristiwa pemeliharaan host tidak dijadwalkan untuk VM Anda, outputnya akan mirip dengan berikut:

    ---
    null
    

REST

Untuk melihat status pemeliharaan VM, buat salah satu permintaan GET berikut. Saat membuat permintaan, Anda harus menyertakan parameter kueri fields untuk hanya menampilkan nama, jenis mesin, dan pemeliharaan mendatang untuk VM. Anda juga harus menyertakan parameter kueri filter untuk memfilter VM hanya menurut jenis mesin tertentu.

  • Untuk melihat VM di semua zona: metode instances.aggregatedList.

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/instances?fields=items.name,items.machineType,items.upcomingMaintenance&filter=machineType%3AMACHINE_TYPE
    
  • Untuk melihat VM di zona tertentu: metode instances.list.

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances?fields=items.name,items.machineType,items.upcomingMaintenance&filter=machineType%3AMACHINE_TYPE
    

Ganti kode berikut:

  • PROJECT_ID: ID project tempat Anda membuat VM.

  • ZONE: zona tempat VM berada.

  • MACHINE_TYPE: jenis mesin yang ingin Anda gunakan untuk memfilter VM.

Jika peristiwa pemeliharaan host dijadwalkan untuk VM, maka VM berisi kolom upcomingMaintenance:

{
  "items": [
    {
      "name": "vm-01",
      "machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west4-b/machineTypes/h4d-highmem-192-lssd",
      "resourceStatus": {
        "upcomingMaintenance": {
          "canReschedule": true,
          "latestWindowStartTime": "2024-11-01T19:00:00Z",
          "maintenanceStatus": "PENDING",
          "maintenanceReasons": [
            "PLANNED_UPDATE",
            "PLANNED_NETWORK_UPDATE"
          ],
          "type": "SCHEDULED",
          "windowEndTime": "2024-11-01T22:00:00Z",
          "windowStartTime": "2024-11-01T19:00:00Z"
        }
      }
    },
    ...
  ]
}

Atau, untuk mempersempit daftar VM lebih lanjut, tetapkan parameter kueri filter ke ekspresi filter yang berbeda.

Server metadata

Untuk melihat status pemeliharaan VM, lakukan langkah berikut:

  1. Jika belum, hubungkan ke Linux atau VM Windows Anda.

  2. Buat kueri server metadata sebagai berikut:

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

    Jika peristiwa pemeliharaan host dijadwalkan untuk VM Anda, outputnya akan mirip dengan berikut ini:

    "Upcoming maintenance": {
      "can_reschedule": "true",
      "latest_window_start_time": "2024-12-01T19:00:01Z",
      "maintenance_reasons": [
        "PLANNED_UPDATE",
        "PLANNED_NETWORK_UPDATE"
      ],
      "maintenance_status": "PENDING",
      "type": "SCHEDULED",
      "window_end_time": "2024-12-01T21:00:01Z",
      "window_start_time": "2024-12-01T19:00:01Z"
    }
    

    Jika peristiwa pemeliharaan host tidak dijadwalkan, outputnya akan mirip dengan yang berikut ini:

    { }
    

Memulai pemeliharaan pada VM secara manual

Anda dapat memulai pemeliharaan untuk VM secara manual, bukan menunggu waktu yang dijadwalkan.

Bergantung pada status pemeliharaan VM, hal berikut akan terjadi:

Status pemeliharaan Deskripsi Yang Anda lihat
Dijadwalkan Compute Engine memiliki pemeliharaan terjadwal untuk VM. Anda dapat memulai pemeliharaan secara manual sebelum waktu yang dijadwalkan.
  • Di konsol Google Cloud , status pemeliharaan ditampilkan sebagai Siap dijalankan - akan dijalankan pada DATE.
  • Di gcloud CLI atau REST API, Compute Engine menyetel kolom maintenanceStatus ke PENDING.
Dalam proses Pemeliharaan sedang berlangsung. Anda tidak dapat menjadwalkannya ulang.
  • Di konsol Google Cloud , status pemeliharaan ditampilkan sebagai Berjalan.
  • Di gcloud CLI atau REST API, Compute Engine menyetel kolom maintenanceStatus ke ONGOING.
Selesai Pemeliharaan selesai. Compute Engine telah menghapus semua notifikasi pemeliharaan dari VM.
  • Di konsol Google Cloud , status pemeliharaan ditampilkan sebagai Up-to-date.
  • Di gcloud CLI atau REST API, Compute Engine menyetel kolom maintenanceStatus ke COMPLETE.

Anda dapat memulai pemeliharaan secara manual untuk beberapa VM secara bersamaan atau untuk VM satu per satu. Untuk beberapa VM, gunakan konsol Google Cloud atau, untuk VM yang berada di zona yang sama, gcloud CLI. Untuk VM individual, pilih salah satu opsi berikut:

Konsol

  1. Di konsol Google Cloud , buka halaman VM instances.

    Buka instance VM

  2. Pilih baris untuk VM tempat Anda ingin memulai pemeliharaan.

  3. Klik Jalankan pemeliharaan.

  4. Untuk mengonfirmasi, klik Jalankan pemeliharaan.

gcloud

Untuk memulai pemeliharaan secara manual untuk satu atau beberapa VM dalam zona yang sama, gunakan perintah gcloud compute instances perform-maintenance:

gcloud compute instances perform-maintenance VM_NAMES \
    --zone=ZONE

Ganti kode berikut:

  • VM_NAMES: daftar nama VM yang dipisahkan dengan spasi; misalnya, vm-01 vm-02 vm-03.

  • ZONE: zona tempat VM berada.

REST

Untuk memulai pemeliharaan VM secara manual, buat permintaan POST ke metode instances.performMaintenance:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/performMaintenance

Ganti kode berikut:

  • PROJECT_ID: ID project tempat Anda membuat VM.

  • ZONE: zona tempat VM berada.

  • VM_NAME: nama VM.