Ci sono due generazioni di macchine virtuali Hyper-V – Generazione 1 e Generazione 2. La scelta della generazione della VM è importante quando si crea una VM; questa scelta dipende anche dal sistema operativo ospite, dal sistema operativo host, dai metodi di avvio e da altri fattori. Le macchine della Generazione 2 sono più recenti delle macchine della Generazione 1, anche se a volte possono essere necessarie macchine della Generazione 1.
Questo post di blog spiega le differenze tra le macchine virtuali Hyper-V della Generazione 1 e della Generazione 2, al fine di aiutarti a prendere la scelta giusta per soddisfare i tuoi requisiti.
Hyper-V Generazione 1 vs. 2: Caratteristiche delle VM di Gen 1
BIOS
Il BIOS è un software di Basic Input/Output System che viene flashato su un chip sulla scheda madre. Il BIOS è responsabile dell’avvio di una macchina e della configurazione hardware. Le VM di Gen 1 supportano l’architettura BIOS legacy e possono essere caricate da dischi rigidi virtuali MBR (Master Boot Record). Un BIOS digitale con hardware virtuale viene emulato da Hyper-V.
Dischi IDE Virtuali
Le VM di Gen 1 hanno un controller IDE virtuale che può essere utilizzato per avviare una VM dal disco IDE virtuale. I controller SCSI virtuali possono essere riconosciuti solo dopo aver installato i Servizi di Integrazione di Hyper-V sul sistema operativo ospite sulla VM. Il sistema operativo ospite non può avviare da un disco SCSI.
Hardware Emulato
A physical computer needs a set of hardware components in order to work. All required hardware components must be emulated to make the virtual machine work. Special software that can imitate the behavior of real hardware is included in Hyper-V; as a result the VM can operate with virtual devices. Emulated hardware (that is identical to real hardware) includes drivers that are catered to most operating systems in order to provide high compatibility. Among the virtual devices of Gen 1 VM you can find:
- A legacy network adapter
- A virtual floppy drive
- Porte COM virtuali
Limiti Hardware delle VM di Gen 1
I limiti hardware per le VM di Generazione 1 sono:
- 2 controller IDE, ciascuno dei quali può collegare fino a 2 dischi IDE
- A maximum of 4 SCSI controllers and up to 64 attached SCSI drives
- A MBR – 2TB disk with 4 partitions
- A physical DVD drive can be attached to a VM
- supporto per sistemi operativi ospiti x86 e x64
Hyper-V Generazione 1 vs. 2: Miglioramenti delle VM Gen2
Supporto BIOS UEFI. Supporto GPT. Avvio sicuro
UEFI (Unified Extensible Firmware Interface) è un software di basso livello che, simile al BIOS, si avvia dopo l’accensione del computer prima del caricamento del sistema operativo (SO). Il termine “UEFI BIOS” viene utilizzato anche per una migliore comprensione. UEFI non è solo un sostituto del BIOS, ma estende il supporto dei dispositivi e delle funzionalità. Alcune di queste sono il supporto GPT (Guid Partition Table) e l’Avvio sicuro. Lo schema di partizionamento GPT consente di superare il limite dei dischi da 2 TB per i quali il numero massimo di partizioni è 4 per uno schema di partizionamento MBR. Secure Boot è una funzione che consente di proteggere contro la modifica dei caricatori di avvio e dei file di sistema principali; ciò viene fatto confrontando le firme digitali che devono essere fidate dal produttore di apparecchiature originali (OEM). Queste funzionalità sono disponibili perché le VM Hyper-V Gen 2 supportano UEFI.
Avvio da disco virtuale SCSI. Supporto nativo VMBUS
Le VM di Gen 2 possono essere caricate da dischi virtuali SCSI perché UEFI supporta tale comunicazione con il controller SCSI mentre il BIOS non lo fa. Il supporto dei driver VMBUS sintetici per l’hardware sintetico durante l’avvio della VM consente l’uso dei driver SCSI all’avvio. Ad esempio, le VM di Gen 1 possono utilizzare solo driver IDE legacy per i dispositivi emulati prima che sia inizializzato un sistema di file. I Servizi di integrazione Hyper-V devono essere installati per abilitare il controller SCSI per le VM di Gen 1.
Opzione di avvio PXE
Entrambi i VM di Gen 1 e Gen 2 supportano un ambiente di esecuzione pre-boot (PXE), che è un boot di rete. Tuttavia, ci sono alcune operazioni manuali che dovrebbero essere fatte per abilitare un boot PXE per i VM di Gen 1. Un adattatore di rete sintetico con prestazioni superiori viene aggiunto ai VM di Gen 1 per impostazione predefinita, ma questo tipo di adattatore di rete non supporta un boot di rete per i VM di Gen 1. Prima arrestare il VM e quindi aggiungere un adattatore di rete legacy emulato. Dopo che questa operazione è stata eseguita, è possibile utilizzare il boot PXE per un VM di Gen 1.
I VM di Gen 2 supportano un boot di rete con un adattatore di rete sintetico perché utilizzano UEFI, che è in grado di comunicare con questo tipo di adattatore di rete. Pertanto, è possibile utilizzare il boot PXE per i VM Hyper-V di Gen 2 senza alcun trucco aggiuntivo.
Dischi virtuali VHDX
I VM di Gen 2 supportano solo il formato VHDX dei file di disco virtuale, mentre i VM di Gen 1 supportano sia il formato VHD che VHDX. Il formato VHDX ha una serie di vantaggi tra cui:
- Supporto di blocchi da 4 KB con migliorata allineamento
- Aumento del limite della dimensione massima del disco
- Migliore resistenza contro la perdita di alimentazione durante il tracciamento dei metadati
- Prestazioni complessive migliori del disco virtuale VHDX
Copiare file dal host Hyper-V ai VM senza connessione di rete dei VM
C’è una modalità di sessione avanzata per i VM di Gen 2 che utilizza un protocollo di Desktop Remoto. Questa funzione consente il condivisione delle risorse locali del host Hyper-V con i VM, o l’esecuzione di operazioni di copia/incolla tra sistema operativo host e guest senza una connessione di rete tra host Hyper-V e VM guest. Lo scambio di file può essere eseguito con un’interfaccia utente grafica (VM Connect) o PowerShell (cmdlet Copy-VMFile).
Alcuni requisiti devono essere soddisfatti:
- I Servizi di integrazione di Hyper-V devono essere installati su una VM
- Il servizio Desktop remoto deve essere abilitato su una VM
- Il sistema operativo guest deve essere Windows Server 2012 R2 o successivo/Windows 8 o una versione successiva di Windows
Come puoi vedere, la copia dei file diventa più conveniente per le VM di tipo Gen 2. Per le VM di tipo Gen 1, l’unico modo per copiare i file dall’host OS all’OS guest è copiare i file tramite la rete.
Le VM si avviano più velocemente
Il tempo di avvio delle VM di tipo Gen 2 è circa il 20% più veloce grazie all’avvio più rapido dell’UEFI. L’installazione di un sistema operativo guest richiede anche fino al 50% di tempo in meno. Anche se durante l’uso regolare questo vantaggio può essere poco evidente, può aiutarti a risparmiare tempo quando devi installare e configurare un gran numero di nuove VM o utilizzare un’infrastruttura di desktop virtuale (VDI).
Meno dispositivi, Hardware sintetico
In passato, i sistemi operativi venivano rilasciati senza la consapevolezza di essere eseguiti su macchine virtuali. Per questo motivo, viene utilizzata l’emulazione hardware. Le VM di tipo Gen 1 utilizzano l’approccio dell’emulazione hardware per massima compatibilità. I sistemi operativi più recenti sono consapevoli di essere eseguiti su macchine virtuali e utilizzano VMBus invece di cercare controller o chipset legacy. La maggior parte dei dispositivi emulati legacy è stata rimossa per le VM di tipo Gen 2, e vengono utilizzati invece nuovi hardware sintetici più veloci. Con una maggiore integrazione dell’hypervisor e un minor numero di dispositivi virtuali, le prestazioni delle VM possono aumentare.
Limiti superiori di CPU e RAM
La quantità massima di RAM virtuale e il numero massimo di CPU virtuali che possono essere assegnati a una macchina virtuale sono stati aumentati:
1 TB di RAM per le VM della Generazione 1 vs 12 TB di RAM per le VM della Generazione 2;
64 processori virtuali per le VM della Generazione 1 vs 240 processori virtuali per le VM della Generazione 2.
Pertanto, è possibile utilizzare le VM della Gen 2 per attività che richiedono più risorse. Prima di creare la VM, verificare se la versione del sistema operativo host supporta la quantità massima di memoria e il numero massimo di processori virtuali richiesti. Windows Server 2016 ha limiti più elevati rispetto a Windows Server 2012 R2.
Hyper-V Generazione 1 vs. 2: Requisiti per le VM della Gen 2
Le VM della Generazione 2 sono state rilasciate da Microsoft con Hyper-V per Windows Server 2012 R2 e Windows 8.1; pertanto, sono richieste queste versioni di Windows a 64 bit (o successive, inclusa la versione standalone di Hyper-V Server 2012 R2) sull’host Hyper-V per eseguire le VM della Gen 2. I sistemi operativi guest per le VM della Gen 2 possono essere Windows Server 2012 o versioni successive di Windows Server, Windows 8 a 64 bit o versioni successive a causa del supporto di UEFI 2.3.1 con l’opzione Secure Boot.
Hyper-V Generazione 1 vs. 2: Vantaggi dell’utilizzo delle VM della Gen 2
Riassumiamo i principali vantaggi dell’utilizzo delle VM della Gen 2. Le VM della Gen 2 forniscono:
- Prestazioni superiori (inclusi limiti superiori di CPU e memoria)
- Sicurezza superiore con Secure Boot e Trusted Platform Module
- Più opzioni di avvio come avvio PXE con adattatore di rete sintetico e avvio da disco SCSI
- Dischi rigidi virtuali VHDX più affidabili con dimensioni massime dei dischi superiori
- Nessun limite di 2 TB per il disco dovuto al supporto di UEFI con GPT
Le VM di seconda generazione sono consigliate per la maggior parte dei casi, specialmente per i moderni sistemi operativi a 64 bit.
Eccezioni
Ci sono eccezioni, quando la VM di prima generazione è preferibile alla VM di seconda generazione:
- L’esecuzione di sistemi operativi a 32 bit è supportata solo dalle VM di generazione 1
- Utilizzando sistemi operativi più vecchi che non supportano UEFI o non hanno driver per l’hardware sintetico (ad esempio, Windows XP, Windows 7, Windows Server 2008 e alcune distribuzioni Linux più datate dovrebbero essere eseguite su VM di generazione 1)
- Se è necessario utilizzare porte COM e dischi floppy virtuali nella VM, utilizzare una VM di generazione 1 (non c’è supporto per porte COM e dischi floppy per le VM di generazione 2)
- Migrare una VM su un host Hyper-V basato su Windows Server 2012, Windows Server 2008 o Azure cloud che non supportano le VM di seconda generazione
Come creare una VM di prima generazione e una VM di seconda generazione?
Per creare una macchina virtuale nella GUI:
- Prima apri Hyper-V Manager
- Fai clic su Azione > Nuovo > Macchina virtuale
- Dovrebbe aprire la Guida per la creazione della nuova macchina virtuale
- Specifica il Nome e la Posizione per la VM creata prima di fare clic su “Avanti”
- Ora puoi vedere lo schermo “Specifica la generazione” dove puoi scegliere la generazione per la macchina virtuale (vedi lo screenshot sotto).
Quando è stata selezionata la generazione, fai clic su “Avanti” e configura le altre opzioni nella guida per finire la creazione della VM.
Come convertire una macchina virtuale Gen2 in una macchina virtuale Gen1 e viceversa?
Microsoft non fornisce strumenti per convertire le macchine virtuali da un tipo all’altro. Come prova di ciò, è possibile vedere un avviso nello screenshot precedente: “Una volta creata una macchina virtuale, non è possibile modificare la generazione”. Provare a prevedere tutti i possibili casi d’uso per la macchina virtuale prima della creazione, poiché la modifica della generazione successivamente non è supportata. Tuttavia, esiste uno strumento non ufficiale per convertire le macchine virtuali Gen 1 in macchine virtuali Gen 2 chiamato Convert-VMGeneration. Questo strumento non modifica la macchina virtuale Gen1 di origine. Durante il processo di conversione viene creata una nuova macchina virtuale Gen 2 con un nuovo disco di avvio. È possibile utilizzare questo strumento a proprio rischio e pericolo, senza alcuna garanzia.
Backup delle macchine virtuali Hyper-V
Indipendentemente dalla generazione delle macchine virtuali, è consigliabile eseguire il backup per prevenire la perdita di dati. NAKIVO Backup & Replication può eseguire il backup di entrambe le generazioni di macchine virtuali Hyper-V e offre le seguenti funzionalità:
- Backup basati su immagini a livello di host. Le macchine virtuali vengono sottoposte a backup a livello di hypervisor con tutti i dischi virtuali e i file di configurazione. Non è necessario installare agenti di backup su una macchina virtuale guest e creare una macchina virtuale vuota in caso di recupero. Un backup a livello di host consuma meno risorse di calcolo rispetto a un backup a livello di guest.
- Hyper-V Screenshot Verification consente di verificare che la macchina virtuale sia stata sottoposta a backup correttamente e che il sistema operativo guest possa essere caricato dopo il recupero della macchina virtuale. Questa funzione previene situazioni in cui viene creato un backup ma la macchina virtuale non può essere avviata dopo il recupero.
- Il ripristino granulare consente di recuperare file, directory, oggetti MS SQL, oggetti MS Exchange e oggetti Active Directory senza dover recuperare l’intera VM, risparmiando così tempo. I file possono essere recuperati sia da macchine virtuali basate su Windows che su Linux direttamente dai backup.
- Il failover automatico delle VM ti aiuta a ripristinare i carichi di lavoro nel minor tempo possibile se hai una replica della VM creata con NAKIVO Backup & Replication. Se una VM di origine diventa offline dopo un possibile disastro, puoi passare a una replica della VM che è una copia identica della VM di origine nel momento appropriato. Non è necessario modificare manualmente le impostazioni di rete per ciascuna VM durante la migrazione verso un sito di ripristino da disastro le cui reti differiscono dal sito di origine. Il Mapping della rete e il Re-IP automatizzano questo processo durante la creazione di una replica o di un lavoro di failover.
Conclusione
Le VM di Gen 2 sono più avanzate perché utilizzano dispositivi virtuali sintetici, BIOS UEFI, schema di partizionamento GPT, Secure Boot, avvio PXE senza trucchi, dischi virtuali VHDX più affidabili e hanno limiti hardware più elevati. Le VM di Gen 2 sono preferite per l’uso, ma solo i sistemi operativi a 64 bit possono essere eseguiti su di esse.
Se è necessario eseguire un sistema operativo più vecchio o un sistema operativo a 32 bit, utilizzare le VM di Gen 1 che hanno dispositivi virtuali emulati legacy, BIOS, supporto delle porte COM, dischi floppy virtuali, controller IDE virtuali e unità DVD fisiche collegate. È importante cercare di prevedere tutti i possibili casi d’uso prima di creare la VM perché non è supportato modificare la generazione della VM dopo la creazione.
Source:
https://www.nakivo.com/blog/hyper-v-generation-1-vs-2/