Utilizzo dei modelli VM per clonare macchine virtuali Hyper-V
Uno dei principali vantaggi della virtualizzazione hardware è la scalabilità. È possibile aggiungere facilmente dischi virtuali alle VM, espandere tali dischi virtuali, espandere la capacità dello storage hardware e aggiungere ulteriori prestazioni della CPU e memoria, oltre a effettuare l’implementazione di un numero maggiore di VM. È possibile copiare i file delle VM da un host Hyper-V a un altro o persino copiare i file delle VM sullo stesso host Hyper-V per creare ulteriori VM identiche.
Lo svantaggio principale di questo metodo è la necessità di modificare manualmente i nomi host, l’indirizzo IP (se si utilizza un indirizzo IP statico) e il SID (identificatore di sicurezza). Utilizzando i modelli di VM, è possibile evitare questi problemi e creare nuove VM in modo rapido e conveniente. Questo post del blog spiega in dettaglio i modelli di VM Hyper-V e illustra passo dopo passo come clonare le VM Hyper-V.
Informazioni sulla clonazione delle VM e sui modelli di VM
Quando è necessario effettuare l’implementazione di un numero elevato di VM nell’ambiente virtuale Hyper-V, la clonazione delle VM può essere più efficiente rispetto all’implementazione individuale di ciascuna VM e alla configurazione manuale di ciascun sistema operativo guest (OS).
Che cos’è la clonazione delle VM?
La clonazione di VM consiste nel copiare una VM una o più volte per creare VM identiche con lo stesso sistema operativo guest, software e configurazione hardware virtuale. La clonazione di VM può essere utilizzata per diversi scopi, come testare nuove configurazioni software, effettuare l’implementazione di più istanze di server virtuali con impostazioni identiche o sviluppare ambienti di staging.
I vantaggi della clonazione di VM
La clonazione delle VM consente di effettuare rapidamente l’implementazione di più VM con configurazioni identiche senza dover implementare e configurare singolarmente ogni nuova VM. I vantaggi della creazione di cloni di VM Hyper-V includono:
- Implementazione rapida delle VM. La clonazione delle VM consente di fornire nuove VM e istanze software più rapidamente, risparmiando tempo e risorse. Questo approccio riduce il tempo necessario per configurare nuovi ambienti.
- Coerenza. I cloni VM sono identici alla VM originale. Ciò riduce il rischio di errore umano durante la configurazione e l’implementazione di più VM.ma
- Elevata scalabilità. Con i cloni VM è possibile garantire la scalabilità degli ambienti virtuali, il che è particolarmente utile per gli ambienti che cambiano dinamicamente.
Un metodo per creare cloni VM Hyper-V consiste nell’utilizzare modelli VM. Vediamo di cosa si tratta nella sezione avanti.
Cosa sono i modelli di VM?
Un modello di VM in Hyper-V è un’immagine di base che può essere utilizzata per creare nuove VM Hyper-V conservando il software installato e configurato sulla VM utilizzata per creare il modello. Non è necessario preoccuparsi di dedicare troppo tempo alla creazione di una nuova VM vuota da zero, all’installazione di applicazioni e alla configurazione del software. Non è inoltre necessario copiare dischi virtuali (VHD o VHDX) o un’intera VM esistente e dedicare tempo alla riconfigurazione di tale VM.
È possibile creare una VM di riferimento e utilizzarla per creare un modello, che potrà essere successivamente utilizzato per distribuire più nuove VM. Se si lavora con un numero elevato di VM, l’approccio più razionale è clonare le VM Hyper-V. È possibile considerare il modello di VM Hyper-V come un modello master che include non solo la configurazione del software, ma anche la configurazione della CPU, della RAM e di altri dispositivi virtuali della VM.
I modelli di VM Hyper-V possono essere creati con Hyper-V Manager, che è un prodotto software Windows integrato, oppure con System Center Virtual Machine Manager (SCVMM), che è un software a pagamento orientato alla gestione centralizzata di grandi ambienti virtuali Hyper-V.
I vantaggi dei modelli VM
I modelli VM sono sviluppati per la clonazione e l’implementazione di massa delle VM e offrono i seguenti vantaggi:
- Standardizzazione. Utilizzando i modelli VM, è possibile creare configurazioni standardizzate per le VM, compreso il software installato all’interno delle VM, garantendo la coerenza in tutto l’ambiente.
- Efficienza e scalabilità. L’utilizzo dei modelli di VM consente di risparmiare tempo perché nonnon è necessario distribuire e configurare manualmente ogni VM da zero. È sufficiente creare un modello una sola volta e poi utilizzarlo più volte per distribuire VM identiche. In questo modo, è possibile distribuire rapidamente un numero elevato di VM per aumentare la scalabilità dell’ambiente per lo sviluppo, il testing o altri scopi.
- Meno errori. I modelli di VM riducono il rischio di errori durante l’implementazione di VM con la stessa configurazione. È necessario creare, configurare e testare un modello una sola volta, quindi utilizzare questo modello per distribuire VM coerenti.
Creazione di modelli di VM Hyper-V
Esistono due opzioni principali per la creazione di modelli di VM Hyper-V per la clonazione di VM, a seconda della configurazione di implementazione e dello scenario:
- Su host Hyper-V con Hyper-V Manager nell’interfaccia utente grafica (GUI) e nell’interfaccia della riga di comando (PowerShell).
- In System Center Virtual Machine Manager (SCVMM) utilizzato per la gestione centralizzata di grandi ambienti virtuali con più host. Sono disponibili una GUI e PowerShell.
Prerequisiti
È consigliabile utilizzare l’utilità sysprep per creare modelli di VM in modo sicuro ed evitare possibili conflitti di rete in futuro.
Sysprep è un’utilità di preparazione del sistema integrata in Windows disponibile per tutte le edizioni delle versioni desktop e server di Windows, dall’edizione Windows 7 e di Windows Server 2008. È progettata per duplicare le installazioni Windows esistenti e fornire nuove installazioni basate su quelle esistenti. Questa utilità può essere utilizzata per preparare immagini da duplicare su un gran numero di macchine con hardware identico. Questo è l’approccio preferito da molti dei principali produttori di laptop.
Probabilmente avrete già notato che quando accendete per la prima volta un nuovo laptop con sistema operativo Windows, Windows è già installato su quel laptop e dovete configurare alcune impostazioni specifiche come nome utente, nome host, Fuso orario e lingua. Le VM Hyper-V della stessa generazione hanno lo stesso hardware virtuale, il che implica che potete utilizzare questo metodo anche come fase di preparazione per clonare le VM Hyper-V.
Sysprep ha la sua ubicazione in C:Windowssystem32sysprep (%WINDIR%system32sysprep) e può essere eseguito in modalità riga di comando o GUI (interfaccia utente grafica).
Sysprep reimposta le informazioni memorizzate nelle impostazioni di Windows, quali SID (identificatore di sicurezza), registro eventi, cartelle temporanee, nome host e Fuso orario. È necessario inserire queste informazioni per un clone di VM utilizzando la procedura guidata First Run dopo aver clonato una VM dal modello. Se la copia di Windows è stata attivata, l’attivazione viene reimpostata. Si noti che l’attivazione non può essere reimpostata più di tre volte. Se una VM di origine è collegata al dominio Active Directory, il modello VM Hyper-V e le VM clonate da quel modello avranno lo stesso SID di dominio (si noti che questo non è lo stesso del SID della macchina menzionato sopra).
Si consiglia che la VM di riferimento (originale) non sia membro di un dominio Active Directory. Questo perché il SID del dominio (non il SID della macchina) viene copiato nei cloni della VM, causando problemi nel dominio.
Come clonare una VM Hyper-V utilizzando modelli di VM
Esploriamo l’intero processo di clonazione di una VM Hyper-V utilizzando i modelli VM Hyper-V:
- Creare una nuova VM Hyper-V.
Abbiamo già pubblicato un post sul blog su come creare una nuova VM Hyper-V in Hyper-V Manager. In alternativa, è possibile utilizzare PowerShell per creare una nuova VM.
- Installare un sistema operativo guest (OS).
Installare un sistema operativo guest supportato da Hyper-V, ad esempio Windows 7, 8, 10, 11 o Server 2008, 2012, 2016, 2019, 2022, ecc.. Il flusso di lavoro per creare un modello VM Hyper-V e cloni VM è identico per queste versioni del sistema operativo guest.
- Installare tutte le patch di sicurezza e gli aggiornamenti necessari per il sistema operativo guest.
È necessario eseguire questa procedura, che richiede molto tempo, una sola volta per ottenere VM senza vulnerabilità note alla fine.
- Installare il software necessario e configurarlo.
Disinstallare le applicazioni e i componenti non necessari per ridurre la dimensione del modello di VM Hyper-V.
- Utilizza l’utilità sysprep per preparare un’immagine master per la clonazione.
Connetti la VM alla tua VM Hyper-V (nel nostro esempio utilizziamo una VM con Windows 7), che verrà utilizzata come VM di base. Vai alla directory in cui si trova sysprep – l’ubicazione di questa directory è C:Windowssystem32sysprep per impostazione predefinita.
Esegui il sysprep.exe sul tuo Windows guest e seleziona i seguenti parametri:
- Azione di pulizia del sistema – Entra nell’esperienza fuori dalla scatola (OOBE). Questa opzione scollega Windows da un particolare dispositivo hardware (incluso l’hardware virtuale).
- Selezionare la casella di controllo Generalizza , che a sua volta reimposta l’attivazione di Windows. Si consiglia di abilitare questa opzione per evitare possibili problemi di attivazione dopo la clonazione di una VM Hyper-V da un modello.
- Selezionare Shutdown nel menu a discesa di Opzioni di Shutdown. Questa opzione è necessaria per assicurarsi che nessuna applicazione (in questo caso Hyper-V) abbia aperto il file del disco virtuale e che i dati memorizzati sul disco virtuale non vengano modificati.

Nota: Se si seleziona Entra in modalità di controllo del sistema come opzione Azione di pulizia del sistema, Windows si avvierà direttamente sul desktop prima di arrivare alla schermata di benvenuto. Questa opzione consente di finalizzare la configurazione di Windows prima di creare un modello di macchina virtuale Hyper-V. Ad esempio, è possibile eliminare gli utenti non necessari dal sistema operativo. Un altro modo per accedere alla modalità di controllo di sistema è premere Shift+CTRL+F3 nella schermata di benvenuto (Impostazioni regionali).
Fare clic su OK per procedere.
In alternativa, è possibile eseguire CMD, cambiare la directory in %WINDIR%system32sysprep ed eseguire il comando:
sysprep /generalize /oobe /shutdown /mode:vmDove
/mode:vmè una nuova opzione, che dovrebbe essere utilizzata solo per creare immagini di riferimento per ambienti virtuali come Hyper-V. L’utilizzo di questa opzione rende più veloce l’avvio della prima VM perché non è necessario rilevare nuovo hardware, dato che la stessa generazione di VM utilizza lo stesso hardware virtuale.Successivamente, verrà visualizzata una finestra con il messaggio “Sysprep è attivo“. A questo punto, è necessario attendere che il processo termini. Se hai selezionato le stesse opzioni sysprep , la tua VM verrà spenta una volta che il processo di preparazione del sistema operativo è terminato. Non accendere la macchina fino a quando il modello non è stato creato, altrimenti ti verrà richiesto di eseguire nuovamente sysprep ancora una volta per preparare la VM alla creazione di un modello VM Hyper-V.
- Elimina tutti i punti di controllo.
Se sono presenti punto di controllo per questa VM, assicurarsi di eliminarli tutti prima di esportare una VM Hyper-V in un modello, operazione che è possibile eseguire nella sezione Punto di controllo di Hyper-V Manager. Fare clic con il pulsante destro del mouse su ciascun punto di controllo e selezionare l’opzione Elimina punto di controllo nel menu contestuale (vedere la schermata seguente). I dischi virtuali differenziali (file AVHDX) verranno uniti ai dischi virtuali principali (file VHDX) se si eliminano gli snapshot (punti di controllo) che rappresentano lo stato di una VM in un punto precedente a quello attuale.

- Esportare una VM Hyper-V in un modello di VM.
Selezionare la VM preparata, fare clic con il pulsante destro del mouse sul nome della VM in Hyper-V Manager e fare clic su Esportare.

Specificare dove si desidera salvare i file. Il percorso D:Modelli VM Hyper-V viene utilizzato in questo esempio. È possibile inserire questo percorso manualmente o facendo clic sul pulsante Sfoglia per selezionare la cartella necessaria. Fare clic su Esporta e attendere che il processo di esportazione termini.

Ora è possibile visualizzare i file VM nella directory specificata in precedenza (in questo caso, in D:Modelli VM Hyper-V).
Nota: Se si dispone di un file server che utilizza il protocollo SMB per accedere ai file nella rete, è possibile creare una cartella condivisa su un file server e copiarvi vari modelli di macchine virtuali Hyper-V. Questo scenario è utile quando si dispone di più server Hyper-V su cui è necessario distribuire VM da modelli.

Clonazione di VM Hyper-V utilizzando modelli di VM (importazione)
Una volta creato un modello di VM Hyper-V, è possibile utilizzarlo per creare nuovi cloni di VM.
Importazione di una VM dal modello di VM Hyper-V .
Fare clic con il pulsante destro del mouse sul nome dell’host Hyper-V su cui si desidera distribuire una nuova VM dal modello VM Hyper-V. Nel menu contestuale, fare clic su Importa VM.

Si apre la procedura guidata Importa VM Si apre la procedura guidata. Fare clic su Avanti in ogni fase per avanzare.
- Prima di iniziare. Poiché in questa fase introduttiva non è necessario configurare nulla, è possibile passare alla fase avanti.
- Individuare la cartella. Indicare la cartella che contiene la VM che si desidera importare. Nel nostro esempio, utilizziamo D:Hyper-V VM TemplatesWin7.

- Seleziona VM. Selezionare la VM che si desidera importare dall’elenco. In questo caso, solo i file di una VM sono memorizzati nella cartella selezionata.

- Scegliere il tipo di importazione. Sono disponibili 3 opzioni:
- Registra la VM in loco. Questa opzione deve essere utilizzata se una VM si trova sullo stesso host Hyper-V ma per qualche motivo è stata rimossa dalla registrazione sull’host. In questo caso, l’ID univoco della VM viene conservato e la VM funzionerà come se non fosse stata spostata o copiata.
- Ripristina la VM. Simile all’opzione precedente, questa opzione differisce in quanto deve essere utilizzata se una VM viene copiata da una ubicazione di origine a una ubicazione di destinazione, ma questa VM non è più in esecuzione nella ubicazione di origine (ad esempio, se i file VM sono stati copiati manualmente come backup di una VM Hyper-V e quindi ripristinati da tale backup). Anche l’ID univoco della VM viene conservato.
- Copia la VM. Questa è l’opzione più universale tra le tre elencate. È possibile importare una VM più volte ed eseguire tali VM. Ogni volta che si utilizza questa opzione per importare una VM, viene generato un nuovo ID univoco. Per semplicità, questa opzione è stata selezionata nell’esempio corrente e visualizzata nella schermata sottostante.

- Scegliere le cartelle per i file della VM. Selezionare dove archiviare la configurazione della VM, i punti di controllo e lo smart paging.

- Scegliere le cartelle in cui archiviare i dischi rigidi virtuali. È inoltre necessario selezionare la posizione in cui saranno archiviati i dischi virtuali.

Ora potrai trovare il clone della VM nell’elenco delle tue VM in Hyper-V Manager. Il nome di questa VM è lo stesso di quello della VM di origine utilizzata per creare il modello di VM Hyper-V. È possibile rinominarlo se necessario.
Configurazione di una VM dopo la clonazione
Avviare la VM, selezionare il Paese, il layout della tastiera, il nome host e creare un nuovo utente. Si noti che gli utenti esistenti non vengono eliminati automaticamente (con la configurazione sysprep spiegata).
Avanti, viene visualizzato il contratto di licenza Microsoft Windows. Seleziona il tuo fuso orario e Windows in esecuzione sul clone della VM Microsoft Hyper-V visualizzerà la schermata di accesso. Puoi eliminare tutti i nuovi utenti creati durante il “primo avvio” di Windows se non ne hai più bisogno.

Come clonare una VM Hyper V in Windows Admin Center
Windows Admin Center è un nuovo strumento per gestire Windows, Hyper-V, Azure e altri servizi Microsoft. Questo strumento può essere utilizzato per clonare una VM, ad esempio se si desidera creare un modello di VM da un clone VM appositamente preparato in SCVMM.
Per clonare una VM in Windows Admin Center:
- Scarica Windows Admin Center:
https://www.microsoft.com/en-us/evalcenter/download-windows-admin-center/
- Installare Windows Admin Center eseguendo il file di installazione scaricato su un host Hyper-V.
- Accedere a Windows Admin Center in un browser Web supportato utilizzando uno dei seguenti collegamenti:
https://hostname_or_IP_address_of_Hyper-V_host:443
- Nel riquadro sinistro dell’interfaccia web di Windows Admin Center, andare su VM e selezionare (fare clic) la VM che si desidera clonare. In questo esempio selezioniamo Wind0ws-VM .

- Dopo aver selezionato una VM, fare clic su Gestisci > Clona per clonare questa VM Hyper-V.

- Seleziona un percorso di configurazione. Qui è dove si troverà il clone della VM Hyper-V. Premi OK per continuare.

- Inserisci un nome per il clone della VM, ad esempio Windows-clone. È ancora possibile modificare il percorso di destinazione per il clone della VM Hyper-V. Fare clic su Clone per procedere.

- Se non hai mai eseguito sysprep in un sistema operativo guest, potresti vedere un messaggio di notifica:
La clonazione causerà il riavvio della VM principale una o più volte. Desideri continuare (Sì/No).
- Se Windows Admin Center richiede le credenziali del sistema operativo guest, specificare le credenziali di amministrazione per continuare.
- Se non hai mai eseguito sysprep in un sistema operativo guest, potresti vedere un messaggio di notifica:
Attendere fino alla creazione del clone della VM Hyper-V.
Creazione di un modello di VM in SCVMM
È possibile utilizzare Microsoft System Center Virtual Machine Manager (SCVMM) per creare modelli di VM e cloni di VM Hyper-V. Si tratta di una soluzione avanzata per la gestione di ambienti server Windows. In questa soluzione è disponibile una libreria per VM e modelli.
È possibile utilizzare un clone di macchina virtuale Hyper-V per creare un modello di macchina virtuale, poiché il clone di macchina virtuale verrà trasformato in un modello e non sarà disponibile come macchina virtuale normale. Utilizzando questo approccio, si evita una situazione in cui la macchina virtuale originale diventa non disponibile dopo la creazione di un modello. Una copia di macchina virtuale appositamente preparata (clone) scomparirà dall’elenco delle VM al termine di questo scenario.
- Aprire SCVMM. Andare su Librerie > Modelli > Modelli VM e fare clic su Crea modello VM.

- Alla fase Seleziona origine della procedura guidata Creazione modello VM, selezionare Da una VM esistente con l’implementazione su un host. Premere Sfoglia per selezionare una VM.

- Selezionare la VM che si desidera convertire in un modello VM Hyper-V. A tale scopo utilizziamo un clone VM preparato (Windows Server 2019-clone).

- Un’avvertenza avverte che la VM originale non sarà più disponibile dopo la creazione del modello da questa VM. Premere Sì per continuare.

- Inserisci un nome per il modello VM. Stiamo creando un modello per una VM Windows Server 2019 (il nome del modello è Server2019-templ). Premi Avanti in ogni fase della procedura guidata per continuare.

- Controlla l’hardware virtuale per un modello di VM.

- Selezionare il profilo del sistema operativo guest corretto in base al sistema operativo installato nella VM che si sta convertendo in un modello. Selezioniamo Windows Server 2019 Base e Windows Server 2019 Standard.

- Selezionare un server libreria per il modello di VM.

- Selezionare la posizione di condivisione in cui salvare questo modello di VM. Immettere il percorso UNC della condivisione file SMB in cui si trova la libreria. Fare clic su Sfoglia e definire l’ubicazione corretta.

- Al Riepilogo passaggio, fare clic su Visualizza script per visualizzare lo script PowerShell che contiene tutte le impostazioni selezionate in precedenza e consente di eseguire la stessa operazione di creazione del modello di VM in PowerShell.

Di seguito è riportato un esempio di script PowerShell:
$VM = Get-SCVirtualMachin -VMMServer localhost -Name "Windows Server 2019-clone" -ID "00000000-0000-0000-0000-000000000000" | where {$_.VMHost.Name -eq "win2019.domain.local"}$LibraryServer = Get-SCLibraryServer -VMMServer localhost | where {$-.Name -eq "win2019.domain.local"}$GuestOSProfile = Get-SCGuestOSProfile -VMMServer localhost | where {$_.Name -eq "Windows Server 2019 Base"}$OperatingSystem = Get-SCOperatingSystem -VMMServer localhost -ID "11111111-1111-1111-1111-111111111111" | where {$_.Name -eq "Windows Server 2019 Standard"}$template = New-SCVMTemplate -Name "Server2019Templ" -RunAsynchronously -VM $VM -LibraryServer $LibraryServer -SharePath "win2019.domain.localSCVMMLibrary" -GuestOSProfile $GuestOSProfile -JobGroup 2222-2222-2222-2222-222222222222 -ComputerName "*" -TimeZone 20 -FullName