Appendice B: Architettura di Hyper-V e panoramica delle funzionalità
Questo argomento offre una panoramica dell'architettura Hyper-V, descrive i vantaggi e gli svantaggi di Hyper-V.
Architettura Hyper-V
Hyper-V è una piattaforma di virtualizzazione basata su hypervisor e una tecnologia di abilitazione per una delle funzionalità del marchio di Windows Server, Live Migration. Con Hyper-V, Windows Server è in grado di eseguire la migrazione rapida, che potrebbe spostare macchine virtuali tra host fisici con pochi secondi di tempo inattivo. Con Live Migration, lo spostamento tra destinazioni fisiche avviene in millisecondo, il che significa che le operazioni di migrazione diventano invisibili agli utenti connessi. Vedere Novità di Hyper-V in Windows Server.
L'hypervisor è la piattaforma di virtualizzazione specifica del processore che può ospitare più macchine virtuali isolate tra loro, ma condividere le risorse hardware sottostanti virtualizzando i processori, la memoria e i dispositivi I/O.
I sistemi operativi guest in esecuzione in una macchina virtuale Hyper-V offrono prestazioni che avvicinano le prestazioni di un sistema operativo in esecuzione su hardware fisico se i driver e i servizi del client del server virtuale necessari vengono installati nel sistema operativo guest. Il codice client del server virtuale Hyper-V, noto anche come I/O con illuminazione Hyper-V, consente l'accesso diretto al bus di macchina virtuale Hyper-V ed è disponibile con l'installazione dei servizi di integrazione Hyper-V. I servizi di integrazione Hyper-V che forniscono driver VSC sono disponibili anche per altri sistemi operativi client.
Hyper-V supporta l'isolamento in termini di partizione. Una partizione è un'unità logica di isolamento, supportata dall'hypervisor, in cui vengono eseguiti i sistemi operativi. L'hypervisor Microsoft deve avere almeno un padre o una partizione radice, che esegue Windows Server. Lo stack di virtualizzazione viene eseguito nella partizione padre e ha accesso diretto ai dispositivi hardware. La partizione radice quindi crea le partizioni figlio che ospitano i sistemi operativi guest. Una partizione radice crea le partizioni figlio tramite l'API hypercall.
Le partizioni non hanno accesso al processore fisico, né gestiscono gli interrupt del processore. Hanno invece una visualizzazione virtuale del processore e vengono eseguite in un'area dell'indirizzo di memoria virtuale privata per ogni partizione guest. L'hypervisor gestisce gli interrupt del processore e li reindirizza alla partizione corrispondente. Hyper-V può inoltre usare l'accelerazione hardware per la conversione degli indirizzi tra vari spazi degli indirizzi virtuali guest tramite un'unità di gestione della memoria di input/output (IOMMU, Input Output Memory Management Unit) che funziona indipendentemente dall'hardware di gestione della memoria utilizzato dalla CPU. Un'unità IOMMU viene utilizzata per modificare il mapping degli indirizzi di memoria fisica agli indirizzi usati dalle partizioni figlio.
Anche le partizioni figlio non hanno accesso diretto alle altre risorse hardware e vengono presentate una visualizzazione virtuale delle risorse, come dispositivi virtuali (VDevs). Le richieste per i dispositivi virtuali vengono reindirizzate tramite il VMBus o l'hypervisor ai dispositivi della partizione padre che gestisce le richieste. Il VMBus è un canale di comunicazione tra partizioni logiche. La partizione padre ospita i provider di servizi di virtualizzazione (VSP, Virtualization Service Provider) che comunicano sul VMBus per gestire le richieste di accesso ai dispositivi delle partizioni figlio. Le partizioni figlio ospitano i consumer di servizi di virtualizzazione (VSC, Virtualization Service Consumer) che reindirizzano le richieste dei dispositivi ai VSP nella partizione padre tramite il VMBus. L'intero processo è trasparente per il sistema operativo guest.
I dispositivi virtuali possono anche sfruttare una funzionalità di Windows Server Virtualization, denominata Enlightened I/O, per l'archiviazione, la rete, la grafica e i sottosistemi di input. Enlightened I/O è un'implementazione specializzata che supporta la virtualizzazione dei protocolli di comunicazione di alto livello (ad esempio SCSI) che utilizzano il VMBus direttamente, ignorando qualsiasi livello di emulazione dei dispositivi. Ciò rende più efficiente la comunicazione ma richiede un guest con riconoscimento che supporti hypervisor e VMBus. Il kernel che supporta l'hypervisor e Enlightened I/O di Hyper-V sono forniti tramite l'installazione dei servizi di integrazione di Hyper-V. Sono disponibili anche i componenti di integrazione, tra cui i driver di client server virtuale, per altri sistemi operativi client. Hyper-V richiede un processore con virtualizzazione basata su hardware, ad esempio quello fornito dalla tecnologia Intel VT o AMD Virtualization (AMD-V).
Il diagramma seguente offre una panoramica generale dell'architettura di un ambiente Hyper-V in esecuzione in Windows Server.
Gli acronimi e i termini usati nel diagramma precedente sono descritti di seguito:
APIC : controller di interruzione programmabile avanzato. Dispositivo che consente di assegnare i livelli di priorità agli output di interruzione.
Partizione figlio: Partizione che ospita un sistema operativo guest. Tutto l'accesso alla memoria fisica e ai dispositivi da una partizione figlio viene fornito tramite il bus di macchina virtuale (VMBus) o l'hypervisor.
Hypercall : interfaccia per la comunicazione con l'hypervisor. L'interfaccia hypercall consente l'accesso alle ottimizzazioni fornite dall'hypervisor.
Hypervisor - Livello di software che si trova tra l'hardware e uno o più sistemi operativi. Il processo principale consiste nel fornire ambienti di esecuzione isolati denominati partizioni. L'hypervisor controlla e regola l'accesso all'hardware sottostante.
IC : componente di integrazione. Componente che consente alle partizioni figlio di comunicare con altre partizioni e l'hypervisor.
Stack di I/O : stack di input/output.
MSR - Routine del servizio memoria.
Partizione radice : gestisce funzioni a livello di computer, ad esempio driver di dispositivo, risparmio energia e aggiunta/rimozione dei dispositivi. La partizione radice (o padre) è l'unica ad avere accesso diretto alla memoria fisica e ai dispositivi.
VID - Driver dell'infrastruttura di virtualizzazione. Fornisce servizi di gestione delle partizioni, servizi di gestione del processore virtuale e servizi di gestione della memoria per le partizioni.
VMBus - Meccanismo di comunicazione basato su Fibre Channel utilizzato per la comunicazione tra partizioni e l'enumerazione del dispositivo nei sistemi con più partizioni virtualizzate attive. Il VMBus viene installato con i servizi di integrazione Hyper-V.
VMMS - Servizio gestione macchine virtuali. Responsabile della gestione dello stato di tutte le macchine virtuali nelle partizioni figlio.
VMWP - Processo di lavoro delle macchine virtuali. Componente della modalità utente dello stack di virtualizzazione. Il processo di lavoro fornisce servizi di gestione delle macchine virtuali dall'istanza di Windows Server nella partizione padre ai sistemi operativi guest nelle partizioni figlio. Il servizio Virtual Machine Management genera un processo di lavoro separato per ogni macchina virtuale in esecuzione.
VSC - Client del servizio di virtualizzazione. Istanza di dispositivo sintetica che risiede in una partizione figlio. I VSC utilizzano le risorse hardware rese disponibili dai provider di servizi di virtualizzazione (VSP) nella partizione padre. Comunicano con i VSP corrispondenti nella partizione padre sul VMBus per soddisfare le richieste di I/O del dispositivo delle partizioni figlio.
VSP : provider di servizi di virtualizzazione. Si trova nella partizione radice e fornisce supporto del dispositivo sintetico alle partizioni figlio sul bus di macchina virtuale (VMBus).
WinHv - Libreria dell'interfaccia Hypervisor di Windows. WinHv è essenzialmente un ponte tra i driver del sistema operativo partizionato e l'hypervisor che consente ai driver di chiamare l'hypervisor usando convenzioni di chiamata windows standard
WMI - Windows Management Instrumentation - Il servizio Virtual Machine Management espone un set di API basate su Strumentazione gestione Windows per gestire e controllare le macchine virtuali.
La maggior parte di questi termini è definita nel glossario.
Nota
Panoramica della tecnologia Hyper-V è una risorsa valida.
Vantaggi
I vantaggi dell'esecuzione di soluzioni a livello aziendale in un ambiente virtualizzato Hyper-V includono quanto segue:
Consolidamento delle risorse hardware : più server fisici possono essere facilmente consolidati in meno server implementando la virtualizzazione con Hyper-V. Il consolidamento supporta l'uso completo delle risorse hardware distribuite. Hyper-V in Windows Server può accedere a fino a 64 CPU logiche nei computer host. Questa funzionalità non solo sfrutta i nuovi sistemi multicore, significa anche un maggiore rapporto di consolidamento delle macchine virtuali per host fisico.
Facilità di amministrazione:
Il consolidamento e la centralizzazione delle risorse semplificano l'amministrazione.
L'implementazione di scalabilità orizzontale e scalabilità orizzontale è risolto con maggiore facilità.
Risparmio significativo sui costi:
I costi hardware sono notevolmente ridotti perché più macchine virtuali possono essere eseguite in una singola macchina fisica, pertanto non è necessaria una macchina fisica separata per ogni computer.
I costi di licenza di Hyper-V possono essere inclusi con il costo di licenza di Windows Server e possono essere acquistati anche come prodotto autonomo.
I requisiti di alimentazione possono essere notevolmente ridotti consolidando le applicazioni esistenti in un ambiente Hyper-V virtualizzato a causa del "footprint" hardware fisico ridotto richiesto.
Supporto della tolleranza di errore tramite clustering Hyper-V: poiché Hyper-V è un'applicazione con riconoscimento del cluster, Windows Server offre il supporto di clustering host nativo per le macchine virtuali create in un ambiente virtualizzato Hyper-V.
Facilità di distribuzione e gestione:
Il consolidamento dei server esistenti in meno server fisici semplifica la distribuzione.
Una soluzione di gestione Hyper-V completa è disponibile con System Center Virtual Machine Manager. Novità di VMM in System Center fornisce alcune indicazioni.
Caratteristiche principali delle prestazioni di Hyper-V:
Architettura di condivisione hardware migliorata : Hyper-V offre un miglioramento dell'accesso e dell'utilizzo delle risorse principali, ad esempio disco, rete e video durante l'esecuzione di sistemi operativi guest con un kernel con riconoscimento hypervisor e che sono dotati di codice client server virtuale (VSC) necessario (noto come I/O con illuminazione Hyper-V). Le illuminazione sono miglioramenti apportati al sistema operativo per ridurre il costo di determinate funzioni del sistema operativo come la gestione della memoria. I componenti di integrazione, che includono i driver VSC, sono disponibili anche per altri sistemi operativi client.
Le prestazioni del disco sono essenziali per le applicazioni aziendali di I/O a elevato utilizzo di dischi, ad esempio Microsoft BizTalk Server e oltre a I/O con illuminazione Hyper-V; Hyper-V offre il supporto del disco "Pass through" che offre prestazioni su disco pari alle prestazioni del disco fisico. Si noti che il supporto del disco "Pass through" offre prestazioni migliorate a un costo ridotto per praticità. I dischi "Pass through" sono essenzialmente dischi fisici/LUN collegati a una macchina virtuale e non supportano alcune funzionalità di dischi virtuali, ad esempio snapshot di macchine virtuali.
Supporto di virtualizzazione assistito dall'hardware del processore : Hyper-V sfrutta al meglio il supporto di virtualizzazione hardware assistito dal processore disponibile con tecnologia di processore recente.
Supporto del sistema operativo guest SMP (Multi-Core): Hyper-V offre la possibilità di supportare fino a quattro processori in un ambiente di macchine virtuali, che consente alle applicazioni di sfruttare al meglio le funzionalità di multi-threading in una macchina virtuale.
Supporto sia del sistema operativo guest a 32 bit che a 64 bit: Hyper-V offre un supporto ampio per l'esecuzione simultanea di diversi tipi di sistemi operativi, inclusi sistemi a 32 bit e a 64 bit in piattaforme server diverse, ad esempio Windows, Linux® e altri.
Supporto completo per i prodotti: poiché le applicazioni aziendali Microsoft (ad esempio Exchange Server e SQL Server) sono completamente testate in esecuzione in Hyper-V, Microsoft fornisce supporto per le correzioni del codice per queste applicazioni quando vengono distribuite ed eseguite in un ambiente Hyper-V.
Scalabilità : è possibile ottenere rapidamente e facilmente capacità di elaborazione aggiuntive, larghezza di banda di rete e capacità di archiviazione, inserendo risorse disponibili aggiuntive dal computer host alle macchine virtuali guest. Ciò può richiedere che il computer host venga aggiornato o che le macchine virtuali guest vengano spostate in un computer host più compatibile.
Per altre informazioni sui vantaggi della tecnologia di virtualizzazione fornita con Hyper-V, vedere Panoramica della tecnologia Hyper-V.
Svantaggi
Alcuni svantaggi dell'esecuzione di soluzioni a livello aziendale in un ambiente virtualizzato Hyper-V possono includere:
Requisiti hardware : A causa delle esigenze di consolidamento del server, le macchine virtuali Hyper-V tendono a usare più CPU e memoria e richiedono una larghezza di banda di I/O del disco maggiore rispetto ai server fisici con carichi di calcolo paragonabili. Poiché il ruolo server Hyper-V è disponibile solo per 64 bit e tutte le edizioni di Windows Server sono solo a 64 bit, l'hardware fisico deve supportare la virtualizzazione assistita hardware. Ciò significa che il processore deve essere compatibile con la tecnologia Intel VT o AMD Virtualization (AMD-V), il BIOS di sistema deve supportare La prevenzione dell'esecuzione dei dati (DEP) e DEP deve essere abilitato.
Requisiti software : Anche se la maggior parte del software Microsoft è supportata nelle macchine virtuali Hyper-V, alcuni software Microsoft sono ancora in fase di test per garantire la compatibilità con un ambiente virtualizzato Hyper-V. Ad esempio, la maggior parte delle applicazioni a livello aziendale Microsoft supporta l'esecuzione in Hyper-V o è in corso di test per il supporto in Hyper-V. Per altre informazioni sul supporto di BizTalk Server e SQL Server in Hyper-V, vedere Appendice C: BizTalk Server e SQL Server Supporto Hyper-V.