Dokumen ini menjelaskan cara menetapkan instance mesin virtual (VM) kebijakan pemeliharaan host untuk mengontrol perilaku VM saat peristiwa host terjadi.
Sebelum memulai
-
Siapkan autentikasi, jika Anda belum melakukannya.
Autentikasi adalah proses verifikasi identitas Anda untuk akses ke layanan dan API Google Cloud.
Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi ke Compute Engine sebagai berikut.
Pilih tab untuk melihat bagaimana Anda berencana menggunakan contoh di halaman ini:
Konsol
Saat menggunakan Konsol Google Cloud untuk mengakses API dan layanan Google Cloud, Anda tidak perlu menyiapkan autentikasi.
gcloud
-
Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:
gcloud init
- Menetapkan region dan zona default.
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, lalu initialize dengan menjalankan perintah berikut:
gcloud init
-
Batasan
- Anda tidak dapat mengubah kebijakan pemeliharaan host preemptible VM. Saat terjadi peristiwa pemeliharaan, preemptible VM akan berhenti dan tidak dimigrasikan. Anda harus memulai ulang VM yang di-preempt secara manual.
- Setelah membuat VM menggunakan jenis mesin E2, Anda tidak dapat mengubah setelan pemeliharaan host VM dari
MIGRATE
menjadiTERMINATE
atau sebaliknya.
Properti pemeliharaan host yang tersedia
Anda dapat mengonfigurasi perilaku pemeliharaan, perilaku mulai ulang, dan perilaku VM setelah error host terjadi pada properti berikut.
Compute Engine akan mengonfigurasi setiap VM dengan nilai default, kecuali jika Anda menentukan lain.
Selama peristiwa host, bergantung pada kebijakan pemeliharaan host yang dikonfigurasi, VM yang tidak mendukung migrasi langsung akan dihentikan atau dimulai ulang secara otomatis.
onHostMaintenance
: menentukan perilaku saat peristiwa pemeliharaan terjadi yang dapat menyebabkan VM Anda melakukan reboot.MIGRATE
(Default): menyebabkan Compute Engine melakukan migrasi instance secara live saat ada peristiwa pemeliharaan.TERMINATE
: menghentikan VM, bukan memigrasikannya.
automaticRestart
: menentukan perilaku saat VM mengalami error atau dihentikan oleh sistem.true
(Default): Compute Engine memulai ulang instance jika instance mengalami error atau dihentikan.false
: Compute Engine tidak memulai ulang VM jika VM mengalami error atau dihentikan.
localSsdRecoveryTimeout
: Menetapkan waktu tunggu pemulihan SSD Lokal. Ini adalah jumlah waktu maksimum, dalam jam, yang dibutuhkan Compute Engine untuk memulihkan data SSD Lokal setelah error host. Setelan ini hanya berlaku untuk VM dengan disk SSD Lokal yang terpasang.- Tidak ditetapkan (Default): Compute Engine menunggu hingga 1 jam untuk memulihkan disk. Untuk VM Z3 (Pratinjau), waktu tunggu default adalah 6 jam.
- Angka dari 0 hingga 168: menentukan durasi tunggu Compute Engine untuk memulihkan disk. Angka harus berupa bilangan bulat, dengan kelipatan 1 jam, dengan nilai maksimum 7 hari. Nilai 0 berarti Compute Engine tidak akan menunggu untuk memulihkan data.
hostErrorTimeoutSeconds
(Pratinjau): Menetapkan jumlah waktu maksimum, dalam detik, yang ditunggu Compute Engine untuk memulai ulang atau menghentikan VM setelah mendeteksi bahwa VM tidak responsif.- Tidak disetel (Default): Compute Engine menunggu hingga 5,5 menit (330 detik) sebelum memulai ulang VM yang tidak responsif.
- Angka dari 90 hingga 330: menentukan jumlah detik, dengan kelipatan 30, yang ditunggu Compute Engine sebelum memulai ulang VM yang tidak responsif.
Menetapkan kebijakan pemeliharaan host VM
Anda dapat mengubah kebijakan pemeliharaan host VM saat pertama kali membuat VM atau setelah VM dibuat.
Menetapkan kebijakan pemeliharaan host selama pembuatan VM
Informasi di bagian ini berfokus pada cara menetapkan kebijakan pemeliharaan host saat Anda membuat VM. Untuk mengetahui contoh pembuatan VM lainnya, baca bagian Membuat dan memulai instance VM.
Anda dapat menetapkan kebijakan pemeliharaan host VM saat pembuatan menggunakan Google Cloud Console, gcloud CLI, atau Compute Engine API.
Konsol
Di konsol Google Cloud, buka halaman Create an instance.
Tentukan Name untuk VM.
Pilih Region dan Zone untuk VM.
Di bagian Machine configuration, lakukan hal berikut:
- Tentukan detail jenis mesin untuk VM.
- Luaskan menu Setelan lanjutan model penyediaan VM.
- Di menu Saat pemeliharaan host, pilih salah satu langkah berikut:
- Untuk memigrasikan VM selama peristiwa pemeliharaan, pilih Migrate VM instance.
- Untuk menghentikan VM selama peristiwa pemeliharaan, pilih Hentikan instance VM.
Untuk membuat VM, klik Buat.
gcloud
Di konsol Google Cloud, aktifkan Cloud Shell.
Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi sesi.
Untuk menetapkan kebijakan pemeliharaan host VM baru, gunakan
perintah gcloud compute instances create
. Sertakan satu atau beberapa parameter berikut:
--maintenance-policy
: apakah VM dimigrasikan atau dihentikan selama pemeliharaan host. VM dimigrasikan secara default jika Anda menghapus properti ini.--no-restart-on-failure
atau--restart-on-failure
: apakah VM dimulai ulang secara otomatis setelah error host. Secara default, VM akan selalu dimulai ulang ketika kegagalan terdeteksi.--local-ssd-recovery-timeout
: jumlah waktu yang dihabiskan Compute Engine untuk memulihkan disk SSD Lokal yang terpasang setelah error host. Nilai defaultnya adalah 1 jam.
Tetapkan kebijakan pemeliharaan host VM baru dengan perintah berikut. Jika Anda menghilangkan salah satu flag, default flag akan digunakan.
gcloud compute instances create VM_NAME \
--maintenance-policy=MAINTENANCE_POLICY \
--RESTART_ON_FAILURE_BEHAVIOR \
--local-ssd-recovery-timeout=SSD_RECOVERY_TIMEOUT
Ganti kode berikut:
VM_NAME
: nama VM.MAINTENANCE_POLICY
: kebijakan pemeliharaan untuk VM ini, baikTERMINATE
maupunMIGRATE
.RESTART_ON_FAILURE_BEHAVIOR
: Perilaku mulai ulang untuk VM, ditetapkan ke--no-restart-on-failure
atau--restart-on-failure
.SSD_RECOVERY_TIMEOUT
: jumlah jam yang diperlukan untuk memulihkan SSD Lokal yang terpasang ke VM yang tidak responsif. Nilai yang valid adalah dari 0 hingga 168, dengan kelipatan 1 jam.
Menyetel waktu tunggu deteksi error host
Untuk menetapkan jumlah waktu tunggu maksimum Compute Engine untuk memulai ulang atau menghentikan VM yang tidak responsif, gunakan perintah gcloud compute instances create
. Tentukan waktu tunggu dengan flag --host-error-timeout-seconds
.
gcloud beta compute instances create VM_NAME \
--maintenance-policy=MAINTENANCE_POLICY \
--RESTART_ON_FAILURE_BEHAVIOR \
--local-ssd-recovery-timeout=SSD_RECOVERY_TIMEOUT \
--host-error-timeout-seconds=ERROR_DETECTION_TIMEOUT
Ganti kode berikut:
VM_NAME
: nama VM.MAINTENANCE_POLICY
: kebijakan pemeliharaan untuk VM ini, baikTERMINATE
maupunMIGRATE
.RESTART_ON_FAILURE_BEHAVIOR
: Perilaku mulai ulang untuk VM, ditetapkan ke--no-restart-on-failure
atau--restart-on-failure
.SSD_RECOVERY_TIMEOUT
: jumlah jam yang dihabiskan Compute Engine untuk memulihkan SSD Lokal yang terpasang pada VM yang tidak responsif. Nilai yang valid adalah dari 0 hingga 168, dengan kelipatan 1 jam.ERROR_DETECTION_TIMEOUT
: jumlah detik Compute Engine menunggu sebelum memulai ulang VM yang tidak responsif, dari 90 ke 330, dengan kelipatan 30.
REST
Untuk menetapkan kebijakan pemeliharaan host VM baru menggunakan Compute Engine API, gunakan metode instances.insert
.
Sertakan satu atau beberapa properti berikut dalam objek scheduling
dari isi permintaan:
onHostMaintenance
: apakah VM dimigrasikan atau dihentikan selama pemeliharaan host. VM dimigrasikan secara default.automaticRestart
: apakah VM dimulai ulang secara otomatis setelah error host. VM otomatis dimulai ulang secara default.localSsdRecoveryTimeout
: jumlah waktu yang dihabiskan Compute Engine untuk memulihkan disk SSD Lokal yang terpasang setelah mendeteksi error host. Nilai defaultnya adalah 1 jam.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
"name": "VM_NAME",
"scheduling": {
"onHostMaintenance": "MAINTENANCE_POLICY",
"automaticRestart": "RESTART_POLICY,
"localSsdRecoveryTimeout": SSD_RECOVERY_TIMEOUT
}
}
Ganti kode berikut:
PROJECT_ID
: project untuk VM.ZONE
: zona tempat Anda ingin membuat VM.VM_NAME
: nama VM.MAINTENANCE_POLICY
: kebijakan pemeliharaan untuk VM ini, baikTERMINATE
maupunMIGRATE
.RESTART_POLICY
: kebijakan mulai ulang untuk VM ini,true
ataufalse
.SSD_RECOVERY_TIMEOUT
: jumlah jam yang dihabiskan Compute Engine untuk memulihkan disk SSD Lokal yang terpasang ke VM yang tidak responsif. Nilai yang valid adalah dari 0 hingga 168, dengan kelipatan 1 jam.
Menyetel waktu tunggu deteksi error host
Agar dapat menetapkan waktu tunggu maksimum Compute Engine untuk memulai ulang atau menghentikan VM yang tidak responsif, gunakan metode instances.insert
beta karena opsi ini tersedia di Pratinjau.
Tambahkan properti hostErrorTimeoutSeconds
ke objek scheduling
dari isi permintaan.
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances
{
"name": "VM_NAME",
"scheduling": {
"onHostMaintenance": "MAINTENANCE_POLICY",
"automaticRestart": "RESTART_POLICY,
"localSsdRecoveryTimeout": SSD_RECOVERY_TIMEOUT
"hostErrorTimeoutSeconds": HOST_ERROR_TIMEOUT,
}
}
Ganti kode berikut:
PROJECT_ID
: project untuk VM.ZONE
: zona tempat Anda ingin membuat VM.VM_NAME
: nama VM.MAINTENANCE_POLICY
: kebijakan pemeliharaan untuk VM ini, baikTERMINATE
maupunMIGRATE
.RESTART_POLICY
: kebijakan mulai ulang untuk VM ini,true
ataufalse
.SSD_RECOVERY_TIMEOUT
: jumlah jam Compute Engine yang diperlukan untuk memulihkan disk SSD Lokal yang terpasang ke VM yang tidak responsif. Nilai yang valid adalah dari 0 hingga 168, dengan kelipatan 1 jam.HOST_ERROR_TIMEOUT
: jumlah detik Compute Engine menunggu sebelum memulai ulang atau menghentikan VM yang tidak responsif. Nilai yang valid adalah dari 90 hingga 330, dengan kelipatan 30.
Mengupdate kebijakan pemeliharaan host VM yang ada
Konsol
Di konsol Google Cloud, buka halaman Instance VM.
Klik VM yang setelannya ingin Anda ubah. Halaman detail VM akan ditampilkan.
Di halaman detail VM, selesaikan langkah-langkah berikut:
- Klik tombol Edit di bagian atas halaman.
- Buka bagian Management. Dari bagian Availability policies, Anda dapat menetapkan opsi On host maintenance dan Automatic restart.
- Klik Save.
gcloud
Di konsol Google Cloud, aktifkan Cloud Shell.
Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi sesi.
Update kebijakan pemeliharaan host VM yang ada dengan
perintah gcloud compute instances set-scheduling
. Gunakan parameter yang sama seperti yang dijelaskan dalam perintah pembuatan VM di bagian sebelumnya.
gcloud compute instances set-scheduling VM_NAME \
--maintenance-policy=MAINTENANCE_POLICY \
--RESTART_ON_FAILURE_BEHAVIOR \
--local-ssd-recovery-timeout=SSD_RECOVERY_TIMEOUT
Ganti kode berikut:
VM_NAME
: nama VM.MAINTENANCE_POLICY
: kebijakan untuk VM ini, baikTERMINATE
maupunMIGRATE
.RESTART_ON_FAILURE_BEHAVIOR
: perilaku mulai ulang untuk VM,--no-restart-on-failure
atau--restart-on-failure
.SSD_RECOVERY_TIMEOUT
: waktu, dalam jam, yang dihabiskan Compute Engine untuk memulihkan disk SSD Lokal yang terpasang ke VM yang tidak responsif. Nilai yang valid adalah dari 0 hingga 168.
Mengupdate waktu tunggu deteksi error host
Untuk mengupdate jangka waktu maksimum Compute Engine menunggu untuk memulai ulang atau menghentikan VM yang tidak responsif, gunakan perintah gcloud beta compute instances set-scheduling
, karena fitur ini hanya tersedia di Pratinjau.
Update waktu tunggu dengan parameter --host-error-timeout-seconds
.
Contoh:
gcloud beta compute instances set-scheduling VM_NAME \
--maintenance-policy=MAINTENANCE_POLICY \
--RESTART_ON_FAILURE_BEHAVIOR \
--local-ssd-recovery-timeout=SSD_RECOVERY_TIMEOUT \
--host-error-timeout-seconds=NUMBER_OF_SECONDS
Ganti kode berikut:
VM_NAME
: nama VM.MAINTENANCE_POLICY
: kebijakan pemeliharaan untuk VM ini, baikTERMINATE
maupunMIGRATE
.RESTART_ON_FAILURE_BEHAVIOR
: Perilaku mulai ulang untuk VM, ditetapkan ke--no-restart-on-failure
atau--restart-on-failure
.SSD_RECOVERY_TIMEOUT
: waktu, dalam jam, yang dihabiskan Compute Engine untuk memulihkan disk SSD Lokal yang terpasang ke VM yang tidak responsif. Nilai yang valid adalah dari 0 hingga 168.NUMBER_OF_SECONDS
: jumlah detik Compute Engine menunggu sebelum memulai ulang atau menghentikan VM yang tidak responsif, dari 90 ke 330, dengan kelipatan 30.
REST
Update kebijakan pemeliharaan host VM yang ada dengan permintaan POST
ke
metode instances.setScheduling
.
Sertakan satu atau beberapa properti berikut dalam isi permintaan:
onHostMaintenance
: apakah VM dimigrasikan atau dihentikan selama pemeliharaan host. VM dimigrasikan secara default.automaticRestart
: apakah VM dimulai ulang secara otomatis setelah error host. VM otomatis dimulai ulang secara default.localSsdRecoveryTimeout
: jumlah waktu yang dihabiskan Compute Engine untuk memulihkan disk SSD Lokal yang terpasang setelah mendeteksi error host. Jika dihilangkan, defaultnya adalah 1 jam.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setScheduling
{
"onHostMaintenance": "MAINTENANCE_POLICY",
"automaticRestart": RESTART_POLICY,
"localSsdRecoveryTimeout": SSD_RECOVERY_TIMEOUT
}
Ganti kode berikut:
PROJECT_ID
: project untuk VM.ZONE
: zona tempat VM berada.VM_NAME
: nama VM.MAINTENANCE_POLICY
: kebijakan pemeliharaan untuk VM ini, baikTERMINATE
maupunMIGRATE
.RESTART_POLICY
: kebijakan mulai ulang untuk VM ini,true
ataufalse
.SSD_RECOVERY_TIMEOUT
: waktu, dalam jam, yang dihabiskan Compute Engine untuk memulihkan disk SSD Lokal yang terpasang ke VM yang tidak responsif. Nilai yang valid adalah dari 0 hingga 168.
Mengupdate waktu tunggu deteksi error host
Untuk mengupdate jumlah waktu maksimum Compute Engine menunggu untuk memulai ulang atau menghentikan VM yang tidak responsif, Anda harus menggunakan metode instances.setScheduling
beta karena fitur ini tersedia di Pratinjau.
Tambahkan parameter hostErrorTimeoutSeconds
ke isi permintaan.
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setScheduling
{
"hostErrorTimeoutSeconds": NUMBER_OF_SECONDS,
}
Ganti kode berikut:
PROJECT_ID
: project untuk VM.ZONE
: zona tempat VM berada.VM_NAME
: nama VM.NUMBER_OF_SECONDS
: jumlah detik Compute Engine menunggu sebelum memulai ulang atau menghentikan VM yang tidak responsif, dari 90 ke 330, dengan kelipatan 30.
Melihat setelan kebijakan pemeliharaan host VM
Konsol
Buka halaman VM instances.
Klik Name untuk VM yang ingin Anda lihat setelannya. Halaman VM instance details akan terbuka.
Buka bagian Management. Subbagian Availability policies menampilkan setelan saat ini untuk On host maintenance dan Automatic restart.
gcloud
Lihat setelan opsi pemeliharaan host untuk VM dengan
perintah gcloud compute instances describe
:
gcloud compute instances describe VM_NAME --format="yaml(scheduling)"
Ganti VM_NAME
dengan nama VM.
Output-nya mencakup waktu tunggu deteksi error host VM, misalnya:
scheduling:
automaticRestart: true
localSsdRecoveryTimeout:
nanos: 0
seconds: '10800'
onHostMaintenance: MIGRATE
preemptible: false
provisioningModel: STANDARD
Melihat setelan waktu tunggu deteksi error host
Lihat nilai hostErrorTimeoutSeconds
saat ini
dengan
perintah gcloud beta compute instances describe
,
karena opsi ini hanya tersedia di Pratinjau.
gcloud beta compute instances describe VM_NAME --format="yaml(scheduling)"
Ganti VM_NAME
dengan nama VM.
Output-nya mencakup waktu tunggu deteksi error host VM, misalnya:
scheduling:
automaticRestart: true
hostErrorTimeoutSeconds: 120
localSsdRecoveryTimeout:
nanos: 0
seconds: '10800'
onHostMaintenance: MIGRATE
preemptible: false
provisioningModel: STANDARD
REST
Untuk melihat setelan pemeliharaan host untuk VM, gunakan
metode instances.get
:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
Ganti kode berikut:
PROJECT_ID
: project tempat VM berada.ZONE
: zona tempat VM berada.VM_NAME
: nama VM.
Dalam output, objek scheduling
berisi kebijakan pemeliharaan host VM, misalnya:
"scheduling": {
"onHostMaintenance": "MIGRATE",
"automaticRestart": true,
"preemptible": false,
"provisioningModel": "STANDARD",
"localSsdRecoveryTimeout": {
"seconds": "10800",
"nanos": 0
}
}
Melihat setelan waktu tunggu error host
Lihat setelan hostErrorTimeoutSeconds
saat ini dengan
permintaan GET
ke
metode instances.get
beta,
karena opsi ini
hanya tersedia di Pratinjau.
GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
Ganti kode berikut:
PROJECT_ID
: project untuk VM.ZONE
: zona tempat VM berada.VM_NAME
: nama VM.
Dalam output, objek scheduling
menyertakan waktu tunggu deteksi error host VM, misalnya:
"scheduling": {
"hostErrorTimeoutSeconds": 120
}
Langkah selanjutnya
- Pelajari pemeliharaan host lebih lanjut.
- Pelajari migrasi langsung lebih lanjut.
- Pelajari cara mendeteksi peristiwa migrasi langsung.