Microsoft Hyper-V: la virtualizzazione di Windows
Ognuno di noi, più o meno consapevolmente, utilizza servizi basati sulla virtualizzazione, come ad esempio i servizi cloud (cloud computing) e la tecnologia dei container. Se utilizzate Windows come sistema operativo e volete un software di virtualizzazione facile da usare, non avete bisogno di cercare per trovarne uno, lo avete già. Infatti, il popolare sistema operativo di Microsoft ha un hypervisor integrato al suo interno: Hyper-V. Ma di che cosa si tratta e soprattutto di cosa è capace?
Che cos’è Hyper-V?
Per virtualizzare un hardware, ossia creare un ambiente hardware senza che questo esista fisicamente così composto, si necessita di un intermediario tra il computer fisico e la macchina virtuale. Questa interfaccia prende il nome di hypervisor e permette di a creare sul sistema di hosting più sistemi ospite virtuali che si spartiscono l’hardware che ne sta alla base. Hyper-V è l’hypervisor di casa Microsoft, già integrato nelle versioni professionali di Windows 10 e Windows 8. Inoltre, nella maggior parte dei casi, il software è installato di default anche nei server di Windows.
Hyper-V dà la possibilità agli utenti Windows di avviare una propria macchina virtuale, al cui interno è virtualizzata un’intera infrastruttura hardware composta da RAM, memoria d’archiviazione, processori e altri elementi. Su questa base si regge poi un sistema operativo autonomo, che non deve essere necessariamente Windows. Infatti, nelle macchine virtuali è molto comune trovare installata una distribuzione open source di Linux.
A che cosa server Hyper-V?
La tecnologia di virtualizzazione è adoperata in una moltitudine di scenari pratici. Nello specifico, Hyper-V trova maggiormente impiego negli ambienti di testing. In questo contesto, la virtualizzazione fornisce due principali vantaggi:
- consente di riprodurre ambienti informatici ai quali altrimenti non si avrebbe accesso. Invece di installare Linux sul proprio PC, il sistema operativo può essere utilizzato con relativa facilità all'interno della macchina virtuale.
- La macchina virtuale è chiusa. Se ad esempio si esegue un software che provoca il crash del sistema, il dispositivo fisico non è in pericolo. Sarà, infatti, sufficiente riavviare la macchina virtuale.
Gli utenti privati possono utilizzare Hyper-V qualora abbiano necessità di servirsi di software non compatibili con la versione del sistema operativo Windows utilizzata. Ad esempio, se il programma in questione funziona solamente su versioni obsolete o nel caso in cui sia supportato solamente da Linux.
Ma Hyper-V rappresenta un grande vantaggio soprattutto per gli sviluppatori di software. Grazie alla sua virtualizzazione, il programma su cui si sta lavorando può essere testato con tutti i requisiti hardware e software che si desidera. Inoltre, trattandosi di un sistema chiuso, non si deve temere che i codici errati utilizzati all’interno della macchina virtuale arrechino danni al sistema.
Architettura di Microsoft Hyper-V
L’utilizzo di Hyper-V nelle versioni x64 di Windows permette di hostare una o più macchine virtuali, che a loro volta contengono un sistema operativo completo al loro interno. Questi sistemi ospiti sono gestiti come partizioni. Con questo termine si fa riferimento alle varie unità in cui si dividono i dischi rigidi (e la loro memoria). La virtualizzazione con Hyper-V funziona in maniera analoga. Ogni macchina virtuale è un’unità isolata facente parte della partizione radice, corrispondente all’intero sistema operativo.
Sempre attraverso l’hypervision, sono orchestrate le singole partizioni, ossia i sistemi ospite. Grazie a un’interfaccia nel sistema ospitante, la cosiddetta Hypercall API, sono create e gestite le varie sottopartizioni. L’isolamento rimane comunque una costante. Ai sistemi ospite sono assegnate risorse virtuali dell’hardware, ma non possono mai accedere all’hardware fisico che li ospita. Per interagire con le risorse hardware, le sottopartizioni utilizzano il cosiddetto VMBus, un canale che rende possibile la comunicazione tra le partizioni. Attraverso VMBus, i sistemi ospite possono sia richiedere risorse all’host sia comunicare le une con le altre.
Sulle partizioni sono eseguiti dei servizi che servono a elaborare le richieste e le risposte inviate attraverso VMBus. Il sistema di hosting esegue il Virtualization Service Provider (VSP), mentre le sottopartizioni il Virtualization Service Clients (VSC).
La differenza tra Hyper-V e altre tecnologie di virtualizzazione
A differenza da altri sviluppatori di soluzioni di virtualizzazione, Hyper-V ha l’enorme vantaggio di essere tutt’uno con Windows. Chi utilizza i sistemi operativi di Windows per il proprio PC e server può trarre vantaggio dalla facilità di integrazione. Inoltre, Hyper-V è un hypervisor di tipo 1, come solo poche altre soluzioni. Questo significa che Hyper-V è basato direttamente sull’hardware del sistema. Gli hypervisor di tipo 2 sono invece costretti a passare per il sistema operativo dell’host per aumentare o diminuire le risorse a loro disposizione.
Vantaggi di Hyper-V
Il vantaggio di Hyper-V per gli utenti di Windows è chiaramente la facilità di integrazione con il sistema operativo. Questo può avere anche vantaggi da un punto di vista prettamente economico, poiché in molti casi Hyper-V fa parte del pacchetto Windows, senza costi aggiuntivi.
Per quanto riguarda la gamma di funzioni, Hyper-V è in grado di tenere testa alla concorrenza. Anche le sue performance sono valide, gli utenti che optano per Hyper-V non devono fare alcuna rinuncia (almeno fin quando si lavora solamente a software pensati per Windows). Infine, grazie alla relativa facilità d’utilizzo, Hyper-V è adatto anche ai principianti nel campo della virtualizzazione.
Svantaggi di Hyper-V
Se Hyper-V funziona molto bene in combinazione con Windows, lo stesso non vale per gli altri sistemi operativi, con i quali il software rivela tutti i suoi limiti. Innanzitutto va puntualizzato che Hyper-V non è pensato per un impiego su sistemi diversi da Windows. Inoltre, però, le possibilità relative ai sistemi ospite offerte da Hyper-V sono molto limitate.
Nelle macchine virtuali create con Hyper-V possono essere eseguiti solo un paio di distribuzioni Linux, oltre chiaramente a Windows. Se l’utente volesse utilizzare macOS come sistema ospite, dovrebbe optare per un prodotto della concorrenza. Inoltre, è stata comprovato che l’esecuzione contemporanea di vari sistemi ospite con Linux incide molto negativamente sulle prestazioni del software.
Chi lavora esclusivamente su Windows trova in Hyper-V una buona soluzione. In quanto già installato di default nella maggior parte dei pacchetti Windows (o comunque installabile gratuitamente anche a posteriori), Hyper-V è particolarmente adatto a progetti di piccole dimensioni. Tuttavia il software mostra inadeguatezza per l’utilizzo nei sistemi operativi diversi da Windows, costringendo gli utenti a rivolgersi a prodotti della concorrenza, come ad esempio il leader del mercato VMware. Nonostante l’ampia gamma di funzioni e le buone prestazioni, anche nell’utilizzo in ambito server, Hyper-V non rappresenta la soluzione migliore per i progetti di grandi dimensioni. Decisivo a questo proposito risulta chiaramente l’obiettivo della virtualizzazione.