Dokumen ini menjelaskan cara mengaktifkan virtualisasi bertingkat pada instance virtual machine (VM) dan cara mengonfirmasi bahwa Anda dapat membuat VM bertingkat. Aktifkan virtualisasi bertingkat di VM menggunakan salah satu metode berikut:
Direkomendasikan. Aktifkan virtualisasi bertingkat langsung di VM baru atau yang sudah ada dengan menetapkan kolom
enableNestedVirtualization
ketrue
saat membuat VM atau dengan mengupdate VM. Ini adalah metode yang direkomendasikan karena tidak memerlukan Anda membuat image kustom atau menggunakan kunci lisensi khusus.Aktifkan virtualisasi bertingkat menggunakan kunci lisensi khusus dengan membuat disk booting, membuat image kustom dengan kunci lisensi virtualisasi bertingkat khusus, lalu membuat VM yang menggunakan image kustom.
Sebelum memulai
-
Jika Anda belum melakukannya, siapkan autentikasi.
Autentikasi adalah
proses yang digunakan untuk memverifikasi identitas Anda agar dapat mengakses Google Cloud layanan dan API.
Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat mengautentikasi ke Compute Engine dengan memilih salah satu opsi berikut:
Select the tab for how you plan to use the samples on this page:
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
REST
Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Untuk informasi selengkapnya, lihat Mengautentikasi untuk menggunakan REST dalam Google Cloud dokumentasi autentikasi.
-
Mengaktifkan virtualisasi bertingkat langsung di VM baru
Izin yang diperlukan untuk langkah ini
Untuk melakukan tugas ini, Anda harus memiliki izin berikut:
-
Untuk mengaktifkan virtualisasi bertingkat langsung di VM baru, Anda memerlukan izin
compute.instances.create
di project, folder, atau organisasi.
Aktifkan virtualisasi bertingkat langsung di VM menggunakan prosedur berikut.
Buat VM L1 dengan virtualisasi bertingkat yang diaktifkan menggunakan
perintah
gcloud compute instances create
berikut:
gcloud compute instances createVM_NAME \ --enable-nested-virtualization \ --zone=ZONE \ --min-cpu-platform="Intel Haswell"
Ganti kode berikut:
VM_NAME
: nama VM L1 baru dengan virtualisasi bertingkat yang diaktifkanZONE
: zona untuk VM L1 baru dengan virtualisasi bertingkat yang diaktifkan
Buat VM L1 dengan virtualisasi bertingkat yang diaktifkan menggunakan
metode
instances.insert
berikut:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID /zones/ZONE /instances { ... "name": "VM_NAME ", ... "minCpuPlatform": "Intel Haswell", "advancedMachineFeatures": { "enableNestedVirtualization": true }, ... }
Ganti kode berikut:
PROJECT_ID
: ID projectZONE
: zona untuk VM L1 baru dengan virtualisasi bertingkat yang diaktifkanVM_NAME
: nama VM L1 baru dengan virtualisasi bertingkat yang diaktifkan
Mengaktifkan virtualisasi bertingkat langsung di VM yang ada
Izin yang diperlukan untuk langkah ini
Untuk melakukan tugas ini, Anda harus memiliki izin berikut:
-
Untuk mengaktifkan virtualisasi bertingkat langsung di VM baru, Anda memerlukan izin
compute.instances.create
di project, folder, atau organisasi.
Aktifkan virtualisasi bertingkat di VM yang ada menggunakan prosedur berikut.
Ekspor properti VM menggunakan perintah
gcloud compute instances export
berikut:gcloud compute instances export
VM_NAME \ --destination=YAML_FILE_PATH \ --zone=ZONE Ganti kode berikut:
VM_NAME
: nama VM yang propertinya akan dieksporYAML_FILE_PATH
: jalur dan nama file file .yaml tempat menyimpan data konfigurasi yang dieksporZONE
: zona yang berisi VM
Dalam file konfigurasi VM yang disimpan di FILE_PATH, update nilai untuk
enableNestedVirtualization
. Jika nilai tidak ada dalam file, tambahkan hal berikut:advancedMachineFeatures: enableNestedVirtualization: true
Perbarui VM dengan nilai untuk
enableNestedVirtualization
menggunakan perintahgcloud compute instances update-from-file
berikut:gcloud compute instances update-from-file
VM_NAME \ --source=FILE_PATH \ --most-disruptive-allowed-action=RESTART \ --zone=ZONE Ganti kode berikut:
VM_NAME
: nama VM yang diupdateFILE_PATH
: jalur ke file konfigurasi VM yang diperbaruiZONE
: zona yang berisi VM yang diupdate
Perbarui nilai untuk enableNestedVirtualization
menggunakan
metode instances.update
berikut:
PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID /zones/ZONE /instances/VM_NAME ?most_disruptive_allowed_action=RESTART { ⋮ "advanced_machine_features": { ⋮ "enableNestedVirtualization": "true" }, ⋮ }
Ganti kode berikut:
PROJECT_ID
: ID projectZONE
: zona yang berisi VMVM_NAME
: nama VM yang propertinya akan diekspor
Mengaktifkan virtualisasi bertingkat menggunakan kunci lisensi khusus
Izin yang diperlukan untuk langkah ini
Untuk melakukan tugas ini, Anda harus memiliki izin berikut:
compute.disks.create
di project, folder, atau organisasicompute.images.create
di project, folder, atau organisasicompute.disks.delete
di project, folder, atau organisasicompute.instances.create
di project, folder, atau organisasi
Anda dapat mengaktifkan virtualisasi bertingkat di VM dengan membuat image kustom menggunakan kunci lisensi khusus yang mengaktifkan VMX di VM L1. Kunci lisensi tidak dikenai biaya tambahan.
Buat disk booting dari image publik atau dari image kustom. Contoh berikut menggunakan
debian-cloud
untuk project image dandebian-10
untuk kelompok image. Jika Anda sudah memiliki instance VM dengan disk yang ada, Anda dapat melewati langkah ini.gcloud compute disks create
DISK_NAME \ --zone=ZONE \ --image-project=debian-cloud \ --image-family=debian-10Ganti kode berikut:
DISK_NAME
: nama disk baruZONE
: zona tempat disk akan dibuat
POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID /zones/ZONE /disks { ... "name": "DISK_NAME ", "sourceImage": "projects/debian-cloud/global/images/family/debian-10", ... }Ganti kode berikut:
PROJECT_ID
: ID projectZONE
: zona tempat disk akan dibuatDISK_NAME
: nama disk baru
Buat image kustom dengan kunci lisensi khusus yang diperlukan untuk virtualisasi bertingkat.
gcloud compute images create
IMAGE_NAME \ --source-diskDISK_NAME \ --source-disk-zoneZONE \ --licenses "https://www.googleapis.com/compute/v1/projects/vm-options/global/licenses/enable-vmx"Ganti kode berikut:
IMAGE_NAME
: nama image baruDISK_NAME
: nama disk yang dibuat sebelumnyaZONE
: zona tempat membuat image
POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID /global/images { ... "licenses": ["projects/vm-options/global/licenses/enable-vmx"], "name": "IMAGE_NAME ", "sourceDisk": "zones/ZONE /disks/DISK_NAME ", ... }Ganti kode berikut:
PROJECT_ID
: ID projectIMAGE_NAME
: nama image baruZONE
: zona tempat membuat imageDISK_NAME
: nama disk yang dibuat sebelumnya
Secara opsional, hapus disk sumber setelah membuat image dengan lisensi khusus.
gcloud compute disks delete
DISK_NAME --zone=ZONE Ganti kode berikut:
DISK_NAME
: nama disk yang akan dihapusZONE
: zona yang berisi disk yang akan dihapus
DELETE https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID /zones/ZONE /disks/DISK_NAME Ganti kode berikut:
PROJECT_ID
: ID projectZONE
: zona yang berisi disk yang akan dihapusDISK_NAME
: nama disk yang akan dihapus
Buat VM yang menggunakan image baru dengan lisensi khusus. Platform CPU minimum harus
"Intel Haswell"
.gcloud compute instances create
VM_NAME \ --zone=ZONE \ --min-cpu-platform "Intel Haswell" \ --imageIMAGE_NAME Ganti kode berikut:
VM_NAME
: nama VMZONE
: zona untuk membuat VMIMAGE_NAME
: nama image yang dibuat sebelumnya
POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID /zones/ZONE /instances { ... "name": "VM_NAME ", "minCpuPlatform": "Intel Haswell", "disks": [ { "initializeParams": { "sourceImage": "IMAGE_NAME " } } ] ... }Ganti kode berikut:
PROJECT_ID
: ID projectVM_NAME
: nama VMZONE
: zona untuk membuat VMIMAGE_NAME
: nama image yang dibuat sebelumnya
Pastikan virtualisasi bertingkat diaktifkan di VM
Hubungkan ke instance VM.
gcloud compute ssh
VM_NAME Ganti
VM_NAME
dengan nama VM yang akan dihubungkan.Pastikan virtualisasi bertingkat diaktifkan. Respons apa pun selain
0
akan mengonfirmasi bahwa virtualisasi bertingkat diaktifkan.grep -cw vmx /proc/cpuinfo