Spiegazione della virtualizzazione nidificata Hyper-V

La virtualizzazione nidificata Hyper-V è una funzione introdotta per la prima volta con Windows Server 2016 e Windows 10 e disponibile sia su estazioni di lavoro che su server. L’area di applicazione dell’hypervisor Microsoft Hyper-V è stata ampliata con l’introduzione di questa funzione. Questo post del blog spiega cos’è la virtualizzazione nidificata, nonché i casi d’uso, i requisiti e le limitazioni della virtualizzazione nidificata in Microsoft Hyper-V.

NAKIVO for Hyper-V Backup

NAKIVO for Hyper-V Backup

Agentless, application-aware backups for Hyper-V. Anti-ransomware protection, instant VM boot from backup, other virtual/physical platform support and more.

Che cos’è la virtualizzazione nidificata?

La virtualizzazione nidificata in Microsoft Hyper-V è una funzione che consente di creare VM all’interno di altre VM Hyper-V in esecuzione su un host Hyper-V. Queste VM in esecuzione all’interno di VM sono chiamate VM nidificate. Si noti che la virtualizzazione nidificata può essere configurata anche in ambienti VMware

A schema of nested virtualization in Hyper-V

Casi d’uso

Di seguito sono riportati alcuni casi d’uso della virtualizzazione nidificata in ambienti virtuali:

  • Creazione di ambienti isolati. È possibile utilizzare questa funzione per creare VM nidificate collegate tra loro tramite una rete virtuale isolata. In questo modo, è possibile creare un ambiente completamente isolato, che non ha alcun impatto sulle VM e sulla rete regolari.
  • Formazione/test/sviluppo. La formazione è utile per familiarizzare i nuovi utenti o amministratori con il software (o per familiarizzare gli utenti o amministratori esistenti con il nuovo software). Tuttavia, la formazione in ambienti di produzione può portare a instabilità o addirittura a guasti. Con la virtualizzazione nidificata, è possibile simulare l’ambiente di produzione su VM nidificate senza alcun impatto sull’ambiente di produzione reale.

    Oltre alla formazione per gli amministratori, anche gli specialisti QA (tester) e gli sviluppatori potrebbero aver bisogno di questo tipo di ambiente per scopi di test o sviluppo. Il vantaggio è che è possibile utilizzare VM nidificate in ambienti virtuali esistenti per questi scopi senza la necessità di acquistare hardware dedicato aggiuntivo.

  • Creazione di un cloud privato. L’implementazione di un vero cloud privato con un portale self-service per gli utenti può essere costosa e richiedere molto lavoro. Con la virtualizzazione nidificata, è possibile implementare un pseudo-cloud privato con funzionalità identiche a quelle di quel tipo di cloud. Ad esempio, è possibile creare una VM con Hyper-V Server installato e fornire 256 GB di RAM.

    Gli utenti possono creare e configurare VM nidificate all’interno della VM con Hyper-V installato in base alle loro esigenze, ma non possono superare il limite di memoria e consumare più di 256 GB di RAM. È possibile aggiungere memoria e adattatori di rete virtuali alle VM su cui è installato Hyper-V con la funzione di aggiunta a caldo senza alcun tempo di inattività.

Requisiti e limitazioni

Per implementare la virtualizzazione nidificata in Hyper-V è necessario soddisfare i seguenti requisiti:

  • Il sistema operativo host deve essere Windows Server 2016 o Windows 10 (aggiornamento Anniversary) o versioni successive.
  • La VM Hyper-V deve essere di versione 8 o superiore.
  • Il server fisico deve disporre di una CPU compatibile che supporti le funzioni di virtualizzazione appropriate.
    • Solo i processori Intel con tecnologia VT-x ed EPT supportano la virtualizzazione nidificata in Windows Server 2016, Windows Server 2019 e Windows 10.
    • Se si dispone di processori AMD con funzioni di virtualizzazione AMD-V, è necessario utilizzare Windows Server 2022 o Windows 11 per avere il supporto per la virtualizzazione nidificata Hyper-V.
    • Le versioni più recenti di Windows supportano sia i processori AMD che Intel.
  • Deve esserci memoria fisica sufficiente per eseguire le VM.
  • La VM non deve utilizzare la memoria dinamica.
  • Sebbene non sia un requisito, si consiglia di utilizzare dischi SSD per migliorare le prestazioni della VM, poiché basse velocità del disco riducono significativamente le prestazioni.

Alcune limitazioni si applicano alle VM che ospitano VM nidificate (le VM nidificate possono essere definite “guest più interni”):

  • I punti di controllo non possono essere applicati a una VM in esecuzione.
  • La migrazione live non riesce per la VM.
  • Il ridimensionamento della memoria di runtime non funziona.

Nota: Le funzioni associate alle tre limitazioni sopra indicate possono essere utilizzate per gli ospiti più interni.

Che cos’è VT-x/AMD-V nidificato?

Intel VT-x e AMD-V sono set di istruzioni per processori che consentono la virtualizzazione hardware. Quando si utilizza la virtualizzazione nidificata, è necessario abilitare una di queste funzioni per la VM utilizzata per il nidificazione. Solo in questo modo una VM può utilizzare le funzioni di virtualizzazione hardware del processore per eseguire VM nidificate.

Come abilitare la virtualizzazione nidificata Hyper-V e creare una VM nidificata

Questa sezione illustra le azioni necessarie per configurare la virtualizzazione nidificata Hyper-V in Windows Server 2019. Il processo di configurazione è lo stesso per Windows Server 2016 e Windows Server 2022.

Configurazione dell’host Hyper-V

Primo, è necessario configurare l’host Hyper-V:

  1. Preparare un server fisico con una CPU compatibile, memoria sufficiente e capacità di storage adeguata.
  2. Verifica che le funzioni di virtualizzazione della CPU, come Intel VT-x, siano abilitate nel BIOS.
  3. Installare Hyper-V Server 2019, Windows Server 2019 o il sistema operativo Windows 10.
  4. Aggiungere il ruolo server Hyper-V se si utilizza un sistema operativo Windows completo (oppure abilitare Hyper-V in Windows 10). È inoltre possibile utilizzare l’interfaccia utente grafica (GUI) e Server Manager.

Implementazione di una VM guest

Avanti, è necessario creare una VM e installare un sistema operativo guest:

  1. Creare una VM Hyper-V in Windows Server o creare una VM in Windows 10.
  2. Installare un sistema operativo che supporti la virtualizzazione nidificata per Hyper-V sulla VM guest, ovvero installare Windows 10 Anniversary Update o versioni successive oppure Windows Server 2016 o versioni successive.

Ai fini di questa procedura guidata viene utilizzato Windows Server 2016. È possibile utilizzare versioni più recenti di Windows.

Configurazione della VM guest

Per impostazione predefinita, il supporto per la virtualizzazione hardware è disabilitato per una VM guest. Il sistema operativo visualizza un errore se si tenta di aggiungere il ruolo Hyper-V per la VM.

This error message is displayed when hardware virtualization is disabled for a guest VM

È possibile abilitare la virtualizzazione hardware per un hypervisor guest solo utilizzando PowerShell. Si noti che la VM guest deve essere spenta per poter applicare i seguenti comandi.

  1. Verificare innanzitutto se la virtualizzazione hardware è abilitata per la VM guest. Eseguire il comando seguente sul sistema operativo host (installato sulla macchina fisica):

    Get-VMProcessor -VMName vm_name | fl *

    Inserire il nome della propria VM al posto di vm_name. Nel nostro esempio, il nome della VM è Server2016. WIN2018 è il nome del computer che rappresenta la macchina fisica su cui è installato Windows insieme al ruolo Hyper-V.

    Hyper-V nested virtualization - checking if hardware virtualization is enabled for a VM

  1. Per abilitare la virtualizzazione hardware all’interno della VM guest, arrestare prima la VM e applicare il seguente comando:

    Set-VMProcessor -VMName vm_name -ExposeVirtualizationExtensions $true

    Se tutto è a posto, dopo aver inserito il comando non dovrebbe essere visualizzato alcun messaggio. Se la VM è in esecuzione, viene visualizzato il seguente messaggio di errore:

    Hyper-V enable nested virtualization - enabling processor virtualization features for a VM

Connessione di rete della VM

Ora è necessario configurare le impostazioni di rete per la VM. Esistono due modi per connettere le VM nidificate alla rete: Spoofing MAC e NAT.

  • Se la rete per le VM nidificate è configurata fornendo l’accesso a una rete locale (LAN) reale, un adattatore di rete sulla macchina host potrebbe trasportare più indirizzi MAC, causando potenzialmente problemi di rete. Ecco perché è necessario attivare l’opzione spoofing dell’indirizzo MAC (questa opzione è disabilitata per impostazione predefinita).
  • Durante l’implementazione di un cloud pseudo-privato, lo spoofing dell’indirizzo MAC non può essere utilizzato per la rete delle VM e in questo caso è necessario configurare NAT .

Nota: Entrambi i metodi sono descritti di seguito, ma utilizzeremo il metodo NAT per configurare la nostra VM in modo che utilizzi la virtualizzazione nidificata Hyper-V.

Configurazione dello spoofing dell’indirizzo MAC

Se si utilizza lo spoofing dell’indirizzo MAC, abilitarlo sull’adattatore di rete dell’host Hyper-V virtuale:

  • Sulla macchina fisica con Hyper-V Server installato, immettere il comando seguente per abilitare lo spoofing dell’indirizzo MAC:

    Get-VMNetworkAdapter -VMname vm_name | Set-VMNetworkAdapter -MacAddressSpoofing On

    Inserire il nome della propria VM al posto di vm_name. Nel nostro caso, è Server2016, come menzionato sopra.

    Enabling MAC address spoofing for a VM in 
PowerShell for Hyper-V nested virtualization

  • Se preferisci l’interfaccia grafica, vai su Impostazioni VM > Adattatore di rete > Funzioni avanzate e seleziona Abilita spoofing indirizzo MAC e fare clic su OK.

    Enabling MAC address spoofing for a VM to use the network with Hyper-V nested virtualization

Configurazione NAT

NAT può essere abilitato solo utilizzando PowerShell. Mentre i comandi precedenti sono stati eseguiti sul sistema operativo host, i comandi seguenti devono essere eseguiti sul sistema operativo guest.

Per abilitare NAT per la connessione di rete VM:

  1. Innanzitutto, creare un nuovo switch virtuale.

    New-VMSwitch -Name "SwitchName" -SwitchType Internal

    Utilizzare il nome dello switch invece di SwitchName. In questa procedura guidata utilizziamo NAT-Switch .

    Creating a new virtual switch to connect VMs through NAT for using networking with Hyper-V nested virtualization

  1. Definisci la sottorete dietro NAT e abilita NAT. L’indirizzo di rete non deve coincidere con gli indirizzi IP della rete esistente. In questo esempio, il nome della rete è NAT-net e l’indirizzo di rete è 192.168.2.0/24

    New-NetNat -Name "network_name" -InternalIPInterfaceAddressPrefix 'ip-address/netmask'

    Defining a network address for the network used for NAT

  1. Quindi assegnare l’indirizzo IP all’interfaccia su cui è abilitato NAT.

    Genera un elenco degli adattatori di rete disponibili per verificarne i nomi con il seguente comando:

    Get-NetAdapter | ft -Autosize

    Displaying a list of virtual switches and checking the name of the recently created virtual switch

    In questo esempio, il nome dell’adattatore di rete virtuale collegato allo switch virtuale creato in precedenza è vEthernet (NAT-Switch).

  1. Ora è necessario definire l’indirizzo IP per questo adattatore di rete virtuale, che deve appartenere alla rete creata. Le VM nidificate utilizzeranno l’indirizzo IP di questa interfaccia di rete come gateway. Nel nostro esempio, questo indirizzo IP è 192.168.2.1 e appartiene alla rete 192.168.2.0/24

    Get-NetAdapter "adapter_name" | New-NetIPAddress -IPAddress ip_address -AddressFamily IPv4 -PrefixLength mask_number

    Setting the IP address for the network interface used for NAT

Configurazione di una VM nidificata

Ora è possibile creare e configurare una VM nidificata. In questa procedura guidata, come VM nidificata viene utilizzata una VM con Windows Server 2016.

  1. Selezionare lo switch virtuale (creato di recente) nelle impostazioni di rete della VM in Hyper-V Manager.

Selecting the virtual switch created to connect the VMs through NAT

  1. Configurare le impostazioni TCP/IP in Proprietà dell’adattatore di rete della VM nidificata. Se nella rete virtuale non sono presenti server DHCP, assegnare manualmente l’indirizzo IP, la Maschera di sottorete, il gateway predefinito e il server DNS.

Hyper-V nested virtualization networking - setting the IP address for the nested VM

Nota: Controllare le impostazioni del firewall, poiché i firewall possono bloccare le connessioni di rete.

La VM nidificata ora dispone di una rete configurata ed è pronta per essere eseguita.

Running a nested VM - Hyper-V nested virtualization networking works fine

Protezione delle VM con NAKIVO Backup & Replica

È necessario eseguire il backup di tutte le VM, comprese quelle nidificate, per garantire l’affidabilità dell’ambiente virtuale Hyper-V. NAKIVO Backup & Replication offre un backup di Hyper-V affidabile con backup incrementali rapidi basati su immagini che sfruttano la tecnologia nativa Hyper-V Resilient Change Tracking (RCT). Utilizzando i backup, è possibile ripristinare oggetti/file delle applicazioni, avviare istantaneamente le VM o ripristinare le VM Hyper-V come VM VMware vSphere, oltre ad altre opzioni di ripristino.

Try NAKIVO Backup & Replication

Try NAKIVO Backup & Replication

Get a free trial to explore all the solution’s data protection capabilities. 15 days for free. Zero feature or capacity limitations. No credit card required.

Le persone leggono anche