- La virtualizzazione nidificata consente a Hyper-V di essere eseguito all'interno di una macchina virtuale, semplificando laboratori, test e formazione senza la necessità di una macchina virtuale. hardware extra.
- Intel e AMD richiedono versioni specifiche di Windows e processori compatibili; configurazione corretta e selezione della rete (spoofing MAC o NAT) sono chiavi.
- Non tutto è consentito: la migrazione in tempo reale, la memoria dinamica e alcune funzionalità avanzate sono limitate negli ambienti nidificati.
- Una buona progettazione, una pianificazione delle risorse e backup adeguati garantiscono una distribuzione di successo, sia in locale che su cloud come Azure.

In questo articolo, analizzeremo nel dettaglio come abilitare la virtualizzazione nidificata in Hyper-V, trattando ogni aspetto, dai principi fondamentali e requisiti alla configurazione passo passo , alle considerazioni di rete e ai limiti, il tutto basandoci su fonti attuali e pertinenti. Se desideri configurare ambienti di test complessi, simulare intere infrastrutture o capire come sfruttare Hyper-V all'interno di una macchina virtuale, questa è la guida definitiva per raggiungere questo obiettivo, con spiegazioni chiare e consigli pratici.
Che cos'è la virtualizzazione nidificata in Hyper-V?
La virtualizzazione nidificata è una funzionalità avanzata che consente di eseguire un hypervisor, nello specifico Hyper-V, all'interno di una macchina virtuale che, a sua volta, viene eseguita su un host fisico con Hyper-V. In parole semplici, si tratta della possibilità di avere "macchine virtuali all'interno di macchine virtuali", creando quella che potrebbe essere definita una struttura digitale a matrioska (o una "VM inception" per i più fantasiosi). Questa funzionalità è stata introdotta per la prima volta in Windows Server 2016 e Windows 10 , estendendosi alle versioni successive e ampliando persino la compatibilità con i processori AMD nelle versioni più recenti come Windows Server 2022 e Windows 11.
La virtualizzazione nidificata è progettata specificamente per:
- Laboratori di prova e ambienti di formazione: consente di simulare architetture di rete complesse o scenari di migrazione senza allocare hardware dedicato per ciascun servizio.
- Test e sviluppo del software: semplifica la ricreazione di ambienti reali per testare applicazioni e aggiornamenti.
- Creazione di cloud privati e ambienti pseudo-isolati: Monta cloud privati virtualizzati all'interno di altre VM, ideale per test di distribuzione cloud automatizzati.
- Esecuzione di emulatori e contenitori avanzati: alcuni servizi, come Sottosistema Windows per Linux (WSL2) o contenitori isolati Hyper-V, richiedono la virtualizzazione nidificata per funzionare correttamente all'interno di una VM.
- Riduzione dei costi: Evitare di acquistare più server fisici per test e formazione.
Principali vantaggi della virtualizzazione nidificata
Oltre alle possibilità funzionali, la virtualizzazione nidificata offre altri vantaggi:
- Flessibilità totale per laboratori e prove di concettoConsente di configurare ambienti temporanei o persistenti in pochi minuti.
- Risparmio di spazio e risorse fisiche: elimina la necessità di apparecchiature aggiuntive per simulare infrastrutture reali.
- Facilita la formazione e la sperimentazione senza rischi: Può essere praticato in ambienti isolati, senza compromettere l'infrastruttura produttiva.
- Ottimizzazione degli investimenti hardware: Massimizza l'utilizzo dei server fisici esistenti.
Concetti chiave e requisiti per l'utilizzo della virtualizzazione nidificata
Prima di iniziare, è fondamentale comprendere i requisiti e i limiti della virtualizzazione nidificata in Hyper-V. Questi dipendono principalmente dalla versione del sistema operativo, dalla generazione della macchina virtuale e dal tipo di processore dell'host fisico.
Compatibilità del sistema operativo e della versione Hyper-V
- Host fisico supportato: L'host che esegue Hyper-V deve essere acceso Windows Server 2016 o superioreo Windows 10 (Anniversary Update versione 1607 o successiva)Per gli ambienti basati su AMD, è necessario almeno Windows Server 2022 o Windows 11.
- Macchina virtuale di livello appropriato: L' Versione VM deve essere uguale o superiore a 8.0 per Intel e 9.3 per AMD (puoi verificarlo e aggiornarlo da PowerShell con il comando
Update-VMVersion -Name 'nombre_VM'). - Sistema operativo ospite: all'interno della macchina virtuale, installare un sistema operativo che supporti anche Hyper-V (ad esempio, Windows 10 Anniversary Update o versione successiva, oppure qualsiasi versione di Windows Server 2016 o versione successiva).
Requisiti hardware e processore
- Processori Intel (VT-x ed EPT):Per gli host dotati di CPU Intel, è necessario che supportino le estensioni di virtualizzazione VT-x (Intel Virtualization Technology) ed EPT (Extended Page Tables).
- Processori AMD (AMD-V)Su hardware AMD è fondamentale che la CPU includa il supporto per AMD-V e che il sistema operativo host sia Windows Server 2022 o Windows 11, poiché le versioni precedenti non consentono la virtualizzazione nidificata con AMD.
- RAM sufficienteSi consiglia di disporre di memoria sufficiente per supportare il sistema operativo host, la VM host e le sue macchine virtuali nidificate. Tenere presente che le VM nidificate non possono sfruttare la memoria dinamica dell'host.
Considerazioni aggiuntive
- Firmware e BIOS: Assicurarsi che le opzioni di virtualizzazione (Intel VT-x, AMD-V) siano abilitate nel BIOS/UEFI del server fisico.
- Configurazione di reteLa rete deve essere configurata tenendo conto delle specifiche delle VM nidificate. Esistono due modi comuni per connettere le VM interne: Spoofing dell'indirizzo MAC y NAT.
- Senza memoria dinamica: La macchina virtuale su cui deve essere abilitata la virtualizzazione nidificata non deve avere la memoria dinamica abilitata.
Limitazioni della virtualizzazione nidificata in Hyper-V
È importante sapere fin dall'inizio cosa non è possibile fare o cosa è limitato quando si utilizza questa funzionalità:
- Non è possibile applicare checkpoint attivi (checkpoint su VM in esecuzione) sulla macchina virtuale "host" che ospita le VM nidificate. Tuttavia, questo è possibile all'interno delle VM nidificate.
- La migrazione live della VM primaria non è supportata.
- Il ridimensionamento della memoria non è consentito durante l'esecuzione.
- La memoria dinamica non è disponibile sulla VM padre quando è abilitata la virtualizzazione nidificata.
- Applicazioni di virtualizzazione diverse da Hyper-V (per esempio, VirtualBox o VMware Le workstation) in genere non sono supportate all'interno di una VM Hyper-V nidificata.
- Non adatto per cluster di failover né per ambienti estremamente sensibili alle prestazioni, a causa del sovraccarico dovuto alla virtualizzazione multipla.
Come abilitare la virtualizzazione nidificata in Hyper-V passo dopo passo
Descriveremo dettagliatamente la procedura per abilitare questa funzionalità in un ambiente standard, seguendo le best practice. Ogni passaggio è elencato di seguito, per garantirne la completa implementazione sia in laboratorio che in scenari reali.
1. Controllare e preparare l'ambiente
- Verifica che l'host Hyper-V soddisfi i requisiti hardware e software sopra indicati..
- Assicurati che il ruolo Hyper-V sia installato sull'host fisico e che si disponga dell'accesso come amministratore.
2. Creare la macchina virtuale "host"
- Crea una macchina virtuale da Hyper-V Manager o tramite PowerShellAssegna una quantità sufficiente di RAM e CPU e scegli un'immagine di sistema compatibile (Windows 10/11, Windows Server 2016 e versioni successive).
- Spegnere la VM se fosse in funzione.
3. Aggiornare la versione della macchina virtuale (se necessario)
La versione della VM deve essere almeno quella richiesta per l'annidamento (8.0 su Intel, 9.3 su AMD). Per aggiornarla, utilizzare il seguente comando sull'host fisico:
Update-VMVersion -Name "nombre_de_tu_VM"
4. Abilitare la virtualizzazione nidificata da PowerShell
Sull'host fisico con Hyper-V, aprire una finestra di PowerShell con autorizzazioni di amministratore ed eseguire:
Set-VMProcessor -VMName "nombre_de_tu_VM" -ExposeVirtualizationExtensions $true
Sostituisci your_VM_name con il nome della tua macchina virtuale "host".
5. Configurare la rete per la VM annidata
A questo punto, ci sono due modi principali per connettere le VM nidificate alla rete:
- Spoofing dell'indirizzo MAC: Ideale quando si desidera che le VM interne abbiano accesso diretto alla rete fisica o virtuale dell'host. Attivalo in questo modo:
Set-VMNetworkAdapter -VMName "nombre_de_tu_VM" -MacAddressSpoofing On
- NAT (Traduzione degli indirizzi di rete)Se preferisci isolare la rete interna dalle VM nidificate, crea uno switch "Interno" e configura il NAT sull'host della VM. Esempio:
New-VMSwitch -Name "NAT-Switch" -SwitchType Internal
New-NetNat -Name "NAT-net" -InternalIPInterfaceAddressPrefix "192.168.2.0/24"
Get-NetAdapter "vEthernet (NAT-Switch)" | New-NetIPAddress -IPAddress 192.168.2.1 -AddressFamily IPv4 -PrefixLength 24
Successivamente, configurare le VM nidificate in modo che utilizzino l'IP dell'adattatore NAT creato come gateway.
6. Avviare la VM "host" e configurare Hyper-V al suo interno
- Accendere la VM host e accedervi.
- Installa il ruolo Hyper-V All'interno della macchina virtuale stessa. Puoi farlo da Server Manager o con PowerShell:
Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart
La macchina virtuale verrà riavviata e, dopo il riavvio, Hyper-V sarà disponibile per creare VM nidificate.
7. Creare VM nidificate sull'Hyper-V "secondario"
Da qui, è possibile utilizzare Hyper-V Manager della macchina virtuale "host", strumenti grafici o PowerShell per creare macchine virtuali nidificate che saranno ora in grado di avviarsi senza problemi.
Tutorial pratico: abilitare la virtualizzazione nidificata passo dopo passo (caso di studio reale)
Analizziamo il processo in forma riassuntiva con comandi pratici , ideali quando è necessario avere tutto "a portata di mano" o ripassare i passaggi chiave.
-
- Ottieni un elenco di macchine virtuali in Hyper-V:
Get-VM
-
- Arrestare la macchina virtuale su cui si desidera abilitare l'annidamento:
Stop-VM -Name 'nombre_VM'
-
- Aggiorna la versione della VM (se necessario):
Update-VMVersion -Name 'nombre_VM'
-
- Abilita la virtualizzazione nidificata:
Set-VMProcessor -VMName 'nombre_VM' -ExposeVirtualizationExtensions $true
-
- (Facoltativo) Abilita lo spoofing MAC per la rete:
Set-VMNetworkAdapter -VMName 'nombre_VM' -MacAddressSpoofing On
-
- Accendi la VM e installa Hyper-V al suo interno:
Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart
- Crea nuove VM all'interno dell'Hyper-V nidificato con il metodo che preferisci.
Differenze tra Intel e AMD nell'annidamento di Hyper-V
Il supporto per la virtualizzazione nidificata differisce tra i processori Intel e AMD , soprattutto per quanto riguarda le versioni del sistema operativo in cui è disponibile.
- Intel: A partire da Windows Server 2016 e Windows 10 (Anniversary Update), è possibile abilitare la virtualizzazione nidificata a condizione che la CPU supporti Intel VT-x ed EPT. È supportata sia su workstation che su server.
- AMD: A partire da Windows Server 2022 e Windows 11, i processori AMD con AMD-V possono utilizzare la virtualizzazione nidificata in Hyper-V. Questa funzionalità non è disponibile nelle versioni precedenti.
Importante: Assicuratevi sempre che il processore e la versione del sistema operativo in uso soddisfino i requisiti. In caso di dubbio, consultate la documentazione della CPU o eseguite systeminfo sull'host per visualizzare le funzionalità di virtualizzazione supportate.
Opzioni di rete avanzate per VM nidificate
La gestione della rete in ambienti nidificati richiede particolare attenzione poiché i pacchetti devono passare attraverso più livelli di virtualizzazione. I due principali metodi di connessione sono descritti di seguito:
Spoofing dell'indirizzo MAC
Questo metodo consente alle macchine virtuali annidate di essere visibili sulla stessa rete fisica o virtuale dell'host . In altre parole, le macchine interne possono ricevere indirizzi IP dal server DHCP esterno, il che è molto utile quando è necessario che tutte le macchine virtuali si trovino sulla stessa sottorete.
- Per attivarlo, esegui:
Set-VMNetworkAdapter -VMName 'nombre_VM' -MacAddressSpoofing On
- Nell'interfaccia grafica: inserisci Impostazioni VM > Scheda di rete > Funzionalità avanzatee segnare Abilita lo spoofing dell'indirizzo MAC.
Nota: non tutti gli ambienti supportano più indirizzi MAC su una singola scheda di rete (ad esempio, reti aziendali con politiche restrittive o alcuni cloud pubblici). Verificare in anticipo per evitare problemi.
NAT di rete (Network Address Translation)
Consente di isolare macchine virtuali annidate dietro uno switch virtuale interno, fornendo accesso a Internet e comunicazione interna, ma senza esporre ciascun indirizzo IP alla rete principale . È l'opzione consigliata quando si desidera simulare più reti o quando lo spoofing MAC non è fattibile (ad esempio, in Azure o in laboratori con restrizioni di rete).
Fasi usuali:
-
- Crea un nuovo switch virtuale interno:
New-VMSwitch -Name "InternalNAT" -SwitchType Internal
-
- Identificare il nome della scheda di rete creata:
Get-NetAdapter
-
- Assegnare un indirizzo IP e una maschera all'adattatore:
Get-NetAdapter "vEthernet (InternalNAT)" | New-NetIPAddress -IPAddress 192.168.100.1 -PrefixLength 24
-
- Creare l'oggetto NAT:
New-NetNat -Name "InternalNATNet" -InternalIPInterfaceAddressPrefix 192.168.100.0/24
- Configurare le VM nidificate da utilizzare 192.168.100.1 come un passaggioIl DNS può essere esterno (ad esempio, 8.8.8.8) o il gateway stesso se si dispone di un DNS interno.
Virtualizzazione nidificata in ambienti cloud: il caso di Microsoft Azure
L'arrivo della virtualizzazione nidificata in Azure ha rivoluzionato gli scenari di ripristino di emergenza (DR), i test e i laboratori remoti. Il cloud di Microsoft consente la distribuzione di macchine virtuali che eseguono Hyper-V e ospitano altre macchine virtuali all'interno dell'ambiente cloud virtualizzato.
Guida passo passo per la distribuzione di Hyper-V nidificato in Azure
-
- Crea una VM in Azure con Windows Server 2016 o versione successiva, dalla serie che supporta la virtualizzazione nidificata (ad esempio, D2s_v3). Configurare le risorse e aprire le porte necessarie (RDP, porte NAKIVO, ecc.).
- Accedi alla VM tramite RDP e assicurati che utilizzi un profilo di rete privato, attivando la scoperta e la condivisione dei file.
- Installare il ruolo Hyper-V da PowerShell:
Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart
-
- Configurare uno switch virtuale interno in Hyper-V all'interno della VM di Azure:
New-VMSwitch -Name "InternalSwitchNAT" -SwitchType Internal
-
- Assegna IP all'adattatore virtuale creato:
Get-NetAdapter "vEthernet (InternalSwitchNAT)" | New-NetIPAddress -IPAddress 192.168.217.1 -PrefixLength 24
-
- Creare l'oggetto NAT per la rete interna:
New-NetNat -Name "InternalNATnet" -InternalIPInterfaceAddressPrefix 192.168.217.0/24
- Configurare le regole del firewall (in Azure e sulla macchina virtuale stessa) per consentire il traffico necessario (Porte TCP per NAKIVO, ICMP, ecc.).
- Aggiungi l'host Hyper-V in Azure all'inventario del tuo sistema di backup/replica (ad esempio, NAKIVO di riserva & Replication), garantendo la connettività tra il sito primario e Azure utilizzando porte e IP aperti.
- Replica le macchine virtuali dall'host fisico all'Hyper-V nidificato in AzureConfigurare gli indirizzi IP di rete e la mappatura in modo che le repliche funzionino senza conflitti.
- Testare il failover e il failback tra gli ambienti, garantendo la comunicazione e il ripristino in caso di emergenza.
Questo modello consente un "piano B" nel cloud, con macchine virtuali pronte per l'avvio in caso di guasto dell'ambiente locale, senza le limitazioni delle macchine virtuali native di Azure (ad esempio, restrizioni sul tipo di disco/immagine o sulle dimensioni del disco virtuale).
Scrittore appassionato del mondo dei byte e della tecnologia in generale. Adoro condividere le mie conoscenze attraverso la scrittura, ed è quello che farò in questo blog, mostrarti tutte le cose più interessanti su gadget, software, hardware, tendenze tecnologiche e altro ancora. Il mio obiettivo è aiutarti a navigare nel mondo digitale in modo semplice e divertente.
