Panoramica di Hyper-V
Hyper-V è una tecnologia di virtualizzazione basata su hypervisor per le versioni x64 di Windows Server 2008 e versioni successive di Windows Server. L'hypervisor è la piattaforma di virtualizzazione specifica del processore che consente a più sistemi operativi isolati di condividere una singola piattaforma hardware.
Hyper-V supporta l'isolamento tramite partizioni separate. Una partizione è un'unità logica di isolamento, supportata dall'hypervisor, in cui vengono eseguiti i sistemi operativi. Lo stack di virtualizzazione viene eseguito nel sistema operativo di gestione della partizione padre Hyper-V e ha accesso diretto ai dispositivi hardware. Il sistema operativo di gestione crea quindi le partizioni figlio Hyper-V e avvia i sistemi operativi guest all'interno di essi.
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ò anche accelerare la traduzione degli indirizzi tra vari spazi di indirizzi virtuali guest usando un'unità di gestione della memoria I/O (IOMMU) che opera in modo indipendente dall'hardware di gestione della memoria usato dal processore. Un'unità IOMMU viene utilizzata per modificare il mapping degli indirizzi di memoria fisica agli indirizzi usati dalle partizioni figlio.
Le partizioni figlio non dispongono anche dell'accesso diretto ad altre risorse hardware. Le partizioni figlio vengono invece presentate una visualizzazione virtuale delle risorse, note come dispositivi virtuali. Le richieste ai dispositivi virtuali vengono reindirizzate tramite il bus di macchina virtuale (VMBus) o l'hypervisor al sistema operativo di gestione nella partizione padre, che gestisce le richieste del dispositivo. VmBus è un canale di comunicazione tra partizioni logiche, con canali separati allocati per la comunicazione tra la partizione padre e una partizione figlio.
Il sistema operativo di gestione ospita provider di servizi virtuali (VSP) che comunicano tramite vmBus per gestire le richieste di accesso ai dispositivi dalle partizioni figlio. Il sistema operativo guest in una partizione figlio ospita client del servizio virtuale (VSCS) che reindirizza le richieste di dispositivo a VSP nel sistema operativo di gestione usando vmBus.
Per l'accesso alla rete alle partizioni figlio, viene eseguito un servizio VSC (NetVSC) di rete in un sistema operativo guest. Le richieste di rete e i pacchetti vengono inviati tra ogni netVSC e il provider di servizi virtuali di rete in esecuzione nel sistema operativo di gestione. NetVSC espone anche una visualizzazione virtualizzata della scheda di rete fisica nel computer host. Questa scheda di rete virtualizzata è nota come scheda di rete sintetica.
Nota Hyper-V supporta anche un'altra scheda di rete virtualizzata meno efficiente nota come scheda di rete emulata. Una scheda di rete emulata simula una scheda di rete Intel e usa l'emulazione hardware per inoltrare pacchetti da e verso NetVSP.
Nella figura seguente vengono illustrati i percorsi dei dati di rete in Hyper-V tramite schede di rete sintetiche.
Questi percorsi dati vengono estesi usando interfacce di rete virtualizzate NDIS, ad esempio la coda di macchine virtuali (VMQ), la virtualizzazione I/O radice singola (SR-IOV) o le interfacce di commutatore estendibili Hyper-V. Ad esempio, netVSC può essere configurato per connettersi a una funzione virtuale (VF) di una scheda di rete fisica che supporta l'interfaccia SR-IOV. In questo caso, NetVSC invia e riceve pacchetti direttamente sull'adattatore fisico sottostante e non su VMBus.
Per altre informazioni su Hyper-V, vedere Hyper-V.