Questo documento descrive come attivare la virtualizzazione nidificata su un'istanza di macchina virtuale (VM) e come verificare di poter creare una VM nidificata. Abilita la virtualizzazione nidificata su una VM utilizzando uno dei seguenti metodi:
Consigliato. Abilita la virtualizzazione nidificata direttamente su una VM nuova o esistente impostando il campo
enableNestedVirtualization
sutrue
durante la creazione della VM o aggiornandola. Questo è il metodo consigliato perché non richiede la creazione di un'immagine personalizzata o l'utilizzo dellacodice licenzaa speciale.Abilita la virtualizzazione nidificata utilizzando il codice licenza speciale creando un disco di avvio, creando un'immagine personalizzata con il codice licenza speciale per la virtualizzazione nidificata e poi creando una VM che utilizza l'immagine personalizzata.
Prima di iniziare
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione è il processo mediante il quale la tua identità viene verificata per l'accesso a servizi e API di Trusted Cloud by S3NS .
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su
Compute Engine selezionando una delle seguenti opzioni:
Select the tab for how you plan to use the samples on this page:
gcloud
-
Install the Google Cloud CLI, and then sign in to the gcloud CLI with your federated identity. After signing in, initialize the Google Cloud CLI by running the following command:
gcloud init
- Set a default region and zone.
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, devi utilizzare le credenziali che fornisci a gcloud CLI.
Install the Google Cloud CLI, and then sign in to the gcloud CLI with your federated identity. After signing in, initialize the Google Cloud CLI by running the following command:
gcloud init
Per saperne di più, consulta Autenticarsi per l'utilizzo di REST nella documentazione sull'autenticazione di Trusted Cloud .
Abilita la virtualizzazione nidificata direttamente su una nuova VM
Abilita la virtualizzazione nidificata direttamente su una VM utilizzando la seguente procedura.
gcloud
Crea una VM L1 con la virtualizzazione nidificata abilitata utilizzando il seguente comando
gcloud compute instances create
:gcloud compute instances create VM_NAME \ --enable-nested-virtualization \ --zone=ZONE \ --min-cpu-platform="Intel Haswell"
Sostituisci quanto segue:
VM_NAME
: il nome della nuova VM L1 con la virtualizzazione nidificata abilitataZONE
: la zona della nuova VM L1 con la virtualizzazione nidificata abilitata
REST
Crea una VM L1 con la virtualizzazione nidificata abilitata utilizzando il seguente metodo
instances.insert
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { ... "name": "VM_NAME", ... "minCpuPlatform": "Intel Haswell", "advancedMachineFeatures": { "enableNestedVirtualization": true }, ... }
Sostituisci quanto segue:
PROJECT_ID
: l'ID progettoZONE
: la zona della nuova VM L1 con la virtualizzazione nidificata abilitataVM_NAME
: il nome della nuova VM L1 con la virtualizzazione nidificata abilitata
Abilita la virtualizzazione nidificata direttamente su una VM esistente
Abilita la virtualizzazione nidificata su una VM esistente utilizzando la procedura riportata di seguito.
gcloud
Esporta le proprietà della VM utilizzando il seguente comando
gcloud compute instances export
:gcloud compute instances export VM_NAME \ --destination=YAML_FILE_PATH \ --zone=ZONE
Sostituisci quanto segue:
VM_NAME
: il nome della VM da cui esportare le proprietàYAML_FILE_PATH
: il percorso e il nome di un file .yaml in cui salvare i dati di configurazione esportatiZONE
: la zona che contiene la VM
Nel file di configurazione della VM salvato in FILE_PATH, aggiorna il valore di
enableNestedVirtualization
. Se il valore non è nel file, aggiungi quanto segue:advancedMachineFeatures: enableNestedVirtualization: true
Aggiorna la VM con il valore di
enableNestedVirtualization
utilizzando il seguente comandogcloud compute instances update-from-file
:gcloud compute instances update-from-file VM_NAME \ --source=FILE_PATH \ --most-disruptive-allowed-action=RESTART \ --zone=ZONE
Sostituisci quanto segue:
VM_NAME
: il nome della VM da aggiornareFILE_PATH
: il percorso del file di configurazione della VM aggiornataZONE
: la zona contenente la VM da aggiornare
REST
Aggiorna il valore di
enableNestedVirtualization
utilizzando il seguente metodoinstances.update
: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" }, ⋮ }
Sostituisci quanto segue:
PROJECT_ID
: l'ID progettoZONE
: la zona che contiene la VMVM_NAME
: il nome della VM da cui esportare le proprietà
Abilita la virtualizzazione nidificata tramite il codice licenza speciale
Puoi abilitare la virtualizzazione nidificata sulla VM creando un'immagine personalizzata con un codice licenza speciale che abilita VMX sulla VM L1. La codice licenza non comporta costi aggiuntivi.
Crea un disco di avvio da un'immagine pubblica o da un'immagine personalizzata. L'esempio seguente utilizza
debian-cloud
per il progetto immagine edebian-10
per la famiglia di immagini. Se hai già un'istanza VM con un disco esistente, puoi saltare questo passaggio.gcloud
gcloud compute disks create DISK_NAME \ --zone=ZONE \ --image-project=debian-cloud \ --image-family=debian-10
Sostituisci quanto segue:
DISK_NAME
: il nome del nuovo discoZONE
: la zona in cui creare il disco
REST
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", ... }
Sostituisci quanto segue:
PROJECT_ID
: l'ID progettoZONE
: la zona in cui creare il discoDISK_NAME
: il nome del nuovo disco
Crea un'immagine personalizzata con il codice licenza speciale necessario per la virtualizzazione nidificata.
gcloud
gcloud compute images create IMAGE_NAME \ --source-disk DISK_NAME \ --source-disk-zone ZONE \ --licenses "https://www.googleapis.com/compute/v1/projects/vm-options/global/licenses/enable-vmx"
Sostituisci quanto segue:
IMAGE_NAME
: il nome della nuova immagineDISK_NAME
: il nome del disco creato in precedenzaZONE
: la zona in cui creare l'immagine
REST
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", ... }
Sostituisci quanto segue:
PROJECT_ID
: l'ID progettoIMAGE_NAME
: il nome della nuova immagineZONE
: la zona in cui creare l'immagineDISK_NAME
: il nome del disco creato in precedenza
(Facoltativo) Elimina il disco di origine dopo aver creato l'immagine con la licenza speciale.
gcloud
gcloud compute disks delete DISK_NAME --zone=ZONE
Sostituisci quanto segue:
DISK_NAME
: il nome del disco da eliminareZONE
: la zona contenente il disco da eliminare
REST
DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME
Sostituisci quanto segue:
PROJECT_ID
: l'ID progettoZONE
: la zona contenente il disco da eliminareDISK_NAME
: il nome del disco da eliminare
Crea una VM che utilizza la nuova immagine con la licenza speciale. La piattaforma CPU minima deve essere
"Intel Haswell"
.gcloud
gcloud compute instances create VM_NAME \ --zone=ZONE \ --min-cpu-platform "Intel Haswell" \ --image IMAGE_NAME
Sostituisci quanto segue:
VM_NAME
: il nome della VMZONE
: la zona in cui creare la VMIMAGE_NAME
: il nome dell'immagine creata in precedenza
REST
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { ... "name": "VM_NAME", "minCpuPlatform": "Intel Haswell", "disks": [ { "initializeParams": { "sourceImage": "IMAGE_NAME" } } ] ... }
Sostituisci quanto segue:
PROJECT_ID
: l'ID progettoVM_NAME
: il nome della VMZONE
: la zona in cui creare la VMIMAGE_NAME
: il nome dell'immagine creata in precedenza
Verifica che la virtualizzazione nidificata sia abilitata sulla VM
Connetterti all'istanza VM.
gcloud compute ssh VM_NAME
Sostituisci
VM_NAME
con il nome della VM a cui connetterti.Verifica che la virtualizzazione nidificata sia abilitata. Qualsiasi risposta diversa da
0
conferma che la virtualizzazione nidificata è abilitata.grep -cw vmx /proc/cpuinfo
Passaggi successivi
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2025-07-26 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-07-26 UTC."],[[["Nested virtualization can be enabled on a new or existing virtual machine (VM) by setting the `enableNestedVirtualization` field to `true`, which is the recommended method."],["Alternatively, nested virtualization can be enabled by creating a custom image with a special license key and then using that image to create a VM, though the previous option is preferred."],["To create a new VM with nested virtualization enabled, use the `gcloud compute instances create` command or the `instances.insert` method, ensuring the `enableNestedVirtualization` setting is true and the minimum CPU platform is \"Intel Haswell\"."],["To enable it on an existing VM, you can export its properties, update the `enableNestedVirtualization` field to true in the properties file, and then update the VM with the `gcloud compute instances update-from-file` command or the `instances.update` method."],["To confirm nested virtualization is enabled on a VM, connect to it via SSH and run `grep -cw vmx /proc/cpuinfo`; any result other than `0` indicates that it's enabled."]]],[]] -