La virtualizzazione è non è più una moda, ma è entrata nella quotidianità : in molti settori le macchine virtuali hanno sostituito i computer tradizionali, con grandi vantaggi in termini di efficienza, scalabilità e semplicità di manutenzione. Queste tecnologie non sono più destinate solo alle grandi aziende: anche negli uffici più piccoli e perfino nelle case ci sono scenari in cui la virtualizzazione è la risposta più semplice a problemi concreti. Nelle prossime pagine scopriremo i meccanismi di base che sovrintendono a questa tecnologia, vedremo gli scenari in cui la virtualizzazione sta riscuotendo maggiore successo, e scopriremo come sfruttarne la potenza e la flessibilità anche in casa e in ufficio. Vedremo inoltre quali sono e in cosa si differenziano i principali software di virtualizzazione per il desktop, e scopriremo come si può sfruttare questa tecnologia per risolvere problemi pratici.
di Dario Orlandi
All’inizio del terzo millennio la virtualizzazione era sulla bocca di tutti: sembrava la risposta a ogni problema, e i suoi evangelisti promettevano pace e prosperità a chi si fosse convertito. Come molte tendenze, con il tempo è passata di moda, ed è stata soppiantata da nuove tecnologie pronte a compiere miracoli.
Le aspettative troppo elevate hanno scottato i più avventurosi, ma la responsabilità non può ricadere sulla virtualizzazione: come molti strumenti, richiede conoscenza e attenzione per essere utilizzata nel modo migliore e nei contesti giusti. Uscita dai radar del grande pubblico, la virtualizzazione ha però conquistato grandissimo spazio in molti contesti: quello più importante come volumi è certamente il mercato dei server, dove i vantaggi sono moltissimi e l’implementazione è più semplice. Ma anche negli ambienti desktop la virtualizzazione ha avuto un impatto molto significativo, seppure legato ad alcuni settori specifici: in particolare quello dello sviluppo software, poiché grazie agli ambienti virtualizzati è molto più semplice ricreare infrastrutture di rete complesse pur non avendo a disposizione un laboratorio di test attrezzato e configurato. Anche nella creazione di servizi Web, come vedremo, le macchine virtuali possono essere utilissime, per creare ambienti di sviluppo con le stesse caratteristiche di quello di produzione, in cui implementare siti e servizi personalizzati per il cliente.
Come funziona la virtualizzazione
Dal punto di vista concettuale, la virtualizzazione è una tecnologia semplice: all’interno di un computer di tipo tradizionale gira un software di virtualizzazione che emula le funzioni e le caratteristiche di una macchina fisica. Questo strumento, chiamato in gergo hypervisor, permette di creare una o più macchine virtuali, ossia computer emulati, che funzionano esattamente come un Pc tradizionale: hanno un loro Bios, ed espongono verso il sistema operativo ospitato (guest, ossia ospite) tutte le risorse tipiche di un computer con architettura x86/x64. Processori, memoria Ram, scheda video, hard disk, unità ottiche e così via: tutti i componenti e le periferiche dei sistemi guest sono emulati, appoggiandosi alle funzioni e alle caratteristiche dei componenti fisici presenti nel computer ospitante (host). Se il computer dispone di 8 Gbyte di memoria Ram, per esempio, si potrà decidere di dedicarne solo due o quattro a una macchina virtuale, e lasciare parte delle risorse libere per altre virtual machine o per le funzioni del sistema operativo principale. Nei primi anni dello sviluppo della virtualizzazione, quasi tutti i dettagli dell’emulazione erano implementati via software: questo rendeva gli ambienti virtualizzati poco efficienti, e le prestazioni erano tutt’altro che brillanti. A partire dalla metà dello scorso decennio, però, sia Intel sia Amd hanno iniziato a lavorare su istruzioni aggiuntive specifiche per interagire con gli ambienti virtuali, e le hanno inserite nei processori e nei chipset. Questi set di istruzioni, chiamate Amd-V e Intel VT-x, permettono di svolgere in hardware alcune operazioni basilari, come per esempio tradurre le tabelle di indirizzamento tra le macchine virtuali e la memoria fisica del computer. Queste azioni vengono svolte continuamente durante le elaborazioni del processore, e un’ottimizzazione ha un impatto molto significativo sulle prestazioni degli ambienti virtualizzati. Ma le istruzioni non riguardano soltanto l’accesso alla memoria: anche la gestione degli interrupt, l’input/output e le sezioni grafiche sono state estese per tenere in considerazione la possibile presenza di ambienti virtuali, e offrono istruzioni specifiche per condividere le loro funzioni in maniera più efficiente e veloce. (…)
Trovi l’articolo completo su PC Professionale di aprile 2016