Questa breve guida descrive come abilitare la virtualizzazione nidificata in VirtualBox in Linux. La virtualizzazione annidata è una funzionalità che ci consente di eseguire macchine virtuali all'interno di macchine virtuali. Ad esempio, supponiamo che tu esegua una VM CentOS utilizzando Oracle VirtualBox nel tuo sistema Ubuntu Linux. Se la funzione VT nidificata è abilitata su Ubuntu, puoi installare virtualbox o KVM nella VM CentOS ed esegui altre VM al suo interno. Quindi fondamentalmente è un metodo per eseguire l'ambiente di virtualizzazione all'interno di un altro ambiente di virtualizzazione.
Abilita la virtualizzazione annidata in VirtualBox
A partire dalla versione 6.1 , Oracle VirtualBox supporta la funzionalità di virtualizzazione nidificata su sistemi host che eseguono CPU AMD e Intel. Quindi assicurati di aver eseguito l'ultima versione di virtualbox.
Possiamo abilitare la funzionalità nidificata dalla riga di comando o dalla GUI. Per prima cosa, vediamo il modo della riga di comando.
1. Abilita la funzionalità di virtualizzazione nidificata per VirtualBox VM dalla riga di comando
Per prima cosa, troviamo l'elenco delle macchine virtuali disponibili usando il comando:
$ vboxmanage list vms
Risultato di esempio:
"CentOS 8 Server" {73997fc7-4ae2-42bf-a11d-fcbe00721e13} "Ubuntu 20.04 Server" {a7cab540-51c2-4110-b489-a4ad13b71f96}
elenca le macchine virtuali virtualbox disponibili
Come puoi vedere, ho creato due VM nella mia Virtualbox.
Ora abiliterò la funzionalità nidificata per una macchina virtuale CentOS 8 usando il comando:
$ VBoxManage modifyvm "Ubuntu 20.04 Server" --nested-hw-virt on
Inoltre, puoi usare il comando vboxmanage in minuscolo:
$ vboxmanage modifyvm "Ubuntu 20.04 Server" --nested-hw-virt on
Questo comando abilita la virtualizzazione nidificata, con passthrough delle funzioni di virtualizzazione hardware alla macchina virtuale guest.
Qui, ho incluso il nome della macchina virtuale tra virgolette, perché contiene spazi nel nome. Se non ha spazi nel nome, non è necessario citarlo tra virgolette.
2. Abilita la funzionalità di virtualizzazione nidificata per VirtualBox VM dalla GUI
Apri VirtualBox Manager da Dash o Menu. Fare clic sulla macchina virtuale in cui si desidera abilitare la funzionalità nidificata e quindi selezionare "Impostazioni".
impostazioni della macchina virtuale in virtualbox
Vai su "Sistema -> Processore" e fai clic sulla casella di controllo "Abilita Nested VT-x/AMD-V". Fare clic su OK per salvare le modifiche.
Abilita la virtualizzazione nidificata nel gestore di virtualbox
D'ora in poi questa VM fungerà da hypervisor, in modo da poter eseguire VM al suo interno.
Come ho già detto, la funzione Nested VT è disponibile su sistemi host che eseguono CPU AMD e Intel. Tuttavia, per le CPU Intel, l'opzione è disattivata. Quindi, non puoi abilitarlo direttamente dal gestore di Virtualbox.
L'opzione Abilita Nested VT-x è disattivata in virtualbox
Per abilitare la funzionalità nidificata sulle CPU Intel, segui la riga di comando come descritto nella sezione precedente.
4. Verifica se la virtualizzazione nidificata è abilitata per le macchine virtuali
Avvia la macchina virtuale in cui hai appena abilitato la funzionalità nidificata.
Accedi alla macchina virtuale ed esegui il comando seguente per verificare se la funzionalità nidificata è abilitata o meno:
$ egrep --color -i "svm|vmx" /proc/cpuinfo
Verifica se la virtualizzazione nidificata è abilitata nella macchina virtuale virtualbox
Se vedi “vmx” (tecnologia Intel-VT) o “svm” (supporto AMD-V) nell'output, la macchina guest virtualbox può funzionare come hypervisor e ospitare VM. Come puoi vedere nell'output sopra, la mia macchina virtuale Ubuntu 20.04 supporta la virtualizzazione.
Consulta la seguente guida per scoprire altri modi per verificare se un sistema Linux supporta o meno VT.
- Come scoprire se una CPU supporta la tecnologia di virtualizzazione (VT)
Lettura correlata:
- Come abilitare la virtualizzazione annidata in KVM in Linux