La terza generazione della virtualizzazione e il futuro
Le aspettative verso gli strumenti in grado di virtualizzare degli ambienti stanno crescendo molto rapidamente così come il giro di denaro attorno a queste tecnologie. Grandi aziende sono entrate in questo ambito e il futuro vedrà sicuramente una diffusione massiccia dell’uso della virtualizzazione in vari settori.
Esistono vari ambiti su cui ottimizzare un software di virtualizzazione: ambiente desktop, server, real-time. Difficilmente esiste un prodotto in grado di dare il meglio in tutti questi.
Un hypervisor studiato per operare su server difficilmente offre basse prestazioni nel campo della virtualizzazione desktop: è importante, nell’ultimo caso, che sia molto reattivo. Un utente non deve stare ad aspettare che il puntatore del mouse si sposti di qualche pixel in una finestra.
La virtualizzazione è un tecnologia che sta tuttora evolvendo.
Ci sono due tappe che conducono alla tecnologia di virtualizzazione adoperata in questo momento. Nella prima fase verteva su la conversione delle chiamate di sistema (VMware 1997). Il software intercetta le chiamate di sistema fatte da un programma e le converte per poi inoltrarle al sistema operativo host che le esegue, una volta ottenuto l’output questo viene mandato alla virtual machine in un formato supportato.
La seconda fase è quella introdotta da Xen (2003) e dalla paravirtualizazione. Il sistema operativo che si trova sulla virtual machine è stato modificato per dialogare con l’hypervisor che si trova sul server. Con questa tecnologia non è necessario fornire dell’hardware fittizio alla macchina virtuale ma le periferiche sono le stesse che sono presenti sul server che esegue l’hypervisor, non è più necessaria la conversione delle chiamate.
L’ultima fase, quella attuale, fa uso KVM (Kernel-based virtual machine) integrato nel kernel Linux ufficiale (vanilla) a partire dalla versione 2.6.20 (2007). KVM fornisce assistenza per la virtualizzazione completa (full virtualization) e per la paravirtualizzazione su hardware x86 che ha nel processore le estensioni di virtualizzazione Intel VT-x e AMD AMD-VT.
Anche la paravirtualizzazione di seconda generazione ha del codice che è integrata in un kernel Linux modificato, però non offre le stesse prestazioni e vantaggi dell’ultima soluzione.
Con l’integrazione di parti di codice, che gestiscono la virtualizzione direttamente nel kernel, si possono sfruttare tutte le caratteristiche del kernel Linux (moduli, driver…), mentre molti moduli e funzionalità devono essere riscritti per funzionare con la paravirtualizzazione.
KVM pare proprio il futuro della virtualizzazione. KVM essendo inserito nel kernel Linux può godere di un grande numero di utilizzatori che preparano migliorie, patch e che cercano eventuali bug.
Ma c’è ancora molto da fare in questo settore. E’ necessario eliminare o risolvere problemi dovuti ai colli di bottiglia. Nel campo desktop, uno di questi pare proprio il protocollo di connessione remota (RDP). Un interessante soluzione a questo limite è il protocollo SPICE (simple protocol for independent computing environment) incluso in Qumranet Solid ICE. SPICE riesce a far passare l’audio e il video in modalità bidirezionale utile per software voip o video conferenze.
Un altra pecca è il supporto USB, non tutti i prodotti per la virtualizzazione riconoscono e configurano correttamente le periferiche che adoperano questo standard ormai consolidato.