Macchine Virtuali: la soluzione per i test di funzionalità | Linuxiano.it
Privacy Policy

Macchine Virtuali: la soluzione per i test di funzionalità

Macchine Virtuali: la soluzione per i test di funzionalità

Un computer dentro un altro computer? Non è stregoneria ma solo la magia delle macchine virtuali. Vediamo qual è il miglior software per crearle e gestirle

La tecnologia per la virtualizzazione ha cambiato il panorama informatico.
Applicazioni che fino a una decina di anni fa erano considerate fantascienza adesso sono alla portata di tutti. Anche in campo gestionale, i miglioramenti apportati grazie alla virtulizzazione sono enormi. Basta pensare ai Data Center che adesso possono gestire più macchinecon un quantitativo limitato di hardware.
Guardando invece all’ambito Desktop, le opportunità non mancano neppure per gli sviluppatori e gli utenti comuni. Per esempio, è possibile virtualizzare architteture particolari come la ARM, cosi da programmare senza bisogno di migrare su hardware dedicato. Infine arriviamo al motivo di chi sta cercando di sistemare il PC: con le macchine virtuali possiamo installare un nuovo sistema operativo e provare un pò di driver e di configurazioni fino a quando non troviamo la soluzione ai nostri problemi, senza preoccuparci nel frattempo di mandare in tilt la nostra installazione principale. Una volta trovata la soluzione che fa per noi possiamo semplicemente replicarla sulla nostra macchina principale.
Valutando queste motivazioni, abbiamo quindi deciso di prendere in considerazione cinque soluzioni per la virtualizzazione. Vediamo quale riuscirà a conquistare il primo posto.

Installazione

Sono semplici da installare, oppure vi aspettiamo sorprese poco gradite?

VMware e virtualbox basano il loro funzionamento su specifici molduli Kernel.
Il primo, per esempio, richiede un montaggio con relativa installazione di un header e del compilatore jazz.
Per gli utenti non systemd, inoltre, è possibile utilizzare uno script init per caricare i vari moduli.
Nel momento in cui stiamo scrivendo, il Kernel 3.19 ha bisogno di una serie di patch per eseguire corretamente VMware. Speriamo comunque che questo inconveniente venga presto risolto. Per quanto riguarda VirtualBox, possiamo dire che la maggior parte delle distro dispone già dei pacchetti utili all’installazione.
Se quindi usate un Kernel non modificato, non dovete preoccuparvi di niente. Virt-Manager ha invece bisogno che il servizio libvirt sia in esecuzione sul sistema prima di avviarsi. Sarà comunque un messaggio dedicato ad avvertirvi di questa necessità. Sia virtualBox che VMware Workstation sono abbastanza facili da gestire fino a quando non ci perdiamo tra le varie opzioni disponibili. WMware, comunque, consente di mettere in funzione la vostra macchina virtuale senza perdere troppo tempo. Tuttavia, se volete sfruttare tutte le funzioni, vi consigliamo di installarre i vari addon. Le Ghest Addition per VirtualBox sono più semplici da implementare rispetto agli strumenti aggiuntivi di VMware. Quest’ ultimi infatti, richiedono comunque la copia di diversi elemti CD, la modifica delle autorizzazioni e l’esecuzione di uno script. Una volta fatto, però, sarete ricompensati con una gestione grafica migliorata, nonchè uno svariato numero di opzioni extra di cui parleremo più avanti.Boxes è di gran lunga il più facile da usare, se non altro perchè utilizza solo un minimo di funzioni Qemu/libvirt.
WMware Player è alla pari con VirtualBox per quanto riguarda la semplicità dìinstallazione.
virt-Manager, infine, seppure non sia particolarmente complesso da usare, si espone troppo al labirinto prodotto da Qemu che finisce èer sopraffare i novizi. Anche la gestione dello storage è piuttosto contorta, sopratutto se si vuole memorizzare il disco virtuale in una posizione non predefinita.

Prestazioni

Creano macchine virtuali veloci o lente?

Grazie alle tecniche di previrtualizzazione e alle estensioni hardware, è possibile spingere le macchine virtuali ben oltre le aspettative, raggiungendo velocità molto simili a quelle dei PC reali. Tuttavia, la realtà quotidiana è ben diversa e per ogni configurazione provata abbiamno subito qualche rallentamento.
È comunque facile abituarsi e per migliorare le cose basta disattivare alcune opzioni accessorie. Per inciso, in questa prova, non abbiamo preso in considerazione le prove 3D che invece sono state trattate più avanti.
Se siete abituati a usare il terminale o altre applicazioni leggere, non vi rendete conto della differenza tra una VM e un computer tradizionale.
Provando la compilazione del Kernel, VirtualBox è rimasto una spanna dietro gli altri. Anche mettendolo alle strette con il benchmark SunSpider Javascript, le cose non sono migliorate.
La macchina Virtuale di Oracle, infatti, ha fatto registrare un -20% rispetto agli altri componenti. Gli I/0 e il traffico di rete, inoltre, si sono fatti attendere durante tutta la prova. VMware, sotto questo profilo, sia in versione Workstation sia Player, batte titti. Il motivo è semplice: utilizza il supporto per i processori Intel più recenti.

Funzioni

Cosa vi offrono in più rispetto alle opzioni predefinite?

Tutti i programmi presi in considerazione hanno uno scenario diverso di utilizzo. Ognuno, quindi, ha punti forti e punti deboli. Naturalmente, ci sono alcune caratteristiche standart che ci aspettiamo da ciascuno, come il supporto per InteVT-x e AMD-V, nonchè una gestione flessibile dell’hardware virtuale. In tutte e cinque le applicazioni non manca niente di tutto questo, ma alcune vanno oltre. Infine, sotto questo profilo, è importante ricordare come gnome Boxes e Virt-Manager siano solo front-end per Qemu (attraverso l’astrazione di libvirt). Quest’ultimo fornisce un emulatore di CPU in grado di virtualizzare tramite KVM, ma è comunque un mondo a sè.

Gnome Boxes

Macchine-Virtuali Macchine-Virtuali
Quando viene richiamato dalla riga di comando. Qemu supporta un gran numero di opzioni, molte delle quali non vengono riportate in Gnome Boxes. Quest’ ultimo, infatti, punta a un approcio più intuitivo e semplice. Attraverso la sua interfaccia, è possibile configurare una Macchina Virtuale con tre click del mouse. Boxes astrae le VM da quelle remote ed è possibile collegarsi a ciascuna attraverso VNC, SPICE o tramite i protocolli Virt. Boxes non offre comunque un gran controllo sulle VM, m voodoo, utile a far comunicare il sistema virtualizzato con l’esterno.

Per installare aprite un terminale (CTRL+ALT+T) e scrivete i seguenti comandi:

Terminale
  • sudo apt-get install gnome-boxes

Per rimuovere:

Terminale
  • sudo apt-get remove gnome-boxes

Virt-Manager

Macchine-Virtuali
Virt-Manager (Virtual machine manager) vi espone molto di più alle funzionalità di Qemu. Infatti, offre un’ampia lista di compatibilità con diversi sistemi operativi *86. A parte questo, Virt-Manager permette di configurare una VM complessa senza particolari difficoltà. In aggiunta alle varie interfaccie di rete, riesce a supportare un gran quantitativo di hardware. Oltre a KVM VM, Virt-Manager può sfruttare il supporto Qemu/libvirt per le guest Xen e i container LXC. Inoltre, può tenere sotto controllo le prestazioni della macchina guest con grafici e schemi molto dettagliati (questi riportato nella pagina precedente è riferito a Windws 10 è stato prodotto proprio da Virt-Manager). Questo software, infine, si avvia anche nel recente supporto di Qemu per USB 3.0.

Per installare aprite un terminale (CTRL+ALT+T) e scrivete i seguenti comandi:

Terminale
  • sudo apt-get install Virt-Manager

Per rimuovere:

Terminale
  • sudo apt-get remove Virt-Manager

Compatibilità e snapshot

Sono compatibili tra loro? Forniscono supporto per le istantanee?

Talvolta si può avere la necessità di spostare le VM tra gli hypervisor.
Tutti i software presi in considerazione possono importare macchine nel formato Open Virtual Appiance (OVA) che alla fine è solo un tarball contenente un immagine VMDK (VMware). VirtualBox, come detto, è tra i programmi che riesce a esportare in questo formato, ma sfrutta comunque una propria estensione: Virtual Disk Image (VDI) che pertanto è in grado di funzionare con qualsiasi altra VM. Il comando qemu-img, inoltre, può essere utilizzato per la conversione tra tutti i tipi di formati. Una menzione particolare la merita l’estensione qcow2 che permette la memorizzazione di snapshot multipli utilizzando un semplice trucco di COW (Copy On Write), boxes, Virt-Manager, VirtualBox e VMware Workstation hanno tutti il supporto per gli snapshot che consente di salvare in modo semplice e veloce lo stato delle vostre VM. VMware Player, invece, permette di avere solo un istantanea per macchina. Se siete impegnati in test di regressione, questa limitazione vi creerà non pochi problemi. VirtualBox e VMware Workstation forniscono poi l’opzione per la clonazione delle VM che consiste nello scrivere i dati sul clone solo quando vengono modificati rispetto al genitore. VMware consente infine di montare un’immagine VMDK su un host ospite.

VirtualBox

Macchine-Virtuali Macchine-Virtuali
Il clien desktop di VirtualBox è probabilmente lo strumento più utilizzato.
Il programma può contare su un layout pulito e funzionale che rende la creazione di una VM in modo facile. Tra le funzioni utili, trovate quella per gestire il numero di core inpegnati nella macchina virtuale, cosi come l’impostazione che mette un limite all’uso della CPU della piattaforma host. VirtualBox dispone anche del supporto per la cattura video. Potete quindi registrare dei tutorial su Windows da pubblicare su YouTube. Si può importare tutti i tipi di dischi virtuali. In più, una volta installate le Gest Addition, sarete in grado di gestire le connettività USB 2.0.

Per installare aprite un terminale (CTRL+ALT+T) e scrivete i seguenti comandi:

Terminale
  • sudo apt-get install virtualbox

Per rimuovere:

Terminale
  • sudo apt-get remove virtualbox

VMware Player

La versione gratuita di VMware, dal 2008 a oggi ha fatto molta strada. Per divertirsi, non si tratta pià di una semplice soluzione. Il programma, infatti, oltre a sostenere un certo numero di configurazione di rete (NAT, bridgedd, host only, ecc.), offre una buona serie di opzioni. Queste consentono di provare una grande varietà di sistemi. Nel nostro caso, ci siamo divertiti a infettare una macchina winws XPO con un clien DDoS, per poi vedere quanto ci metteva a implodere. VMware Player supporta anche i dispositivi USB 3.0, nonchè una serie di strumenti utili a creare grafici, appunti e directory condivise. La valutazione su Player decade leggermente quando si parla di snapshot, infatti, consente di eseguirne solo uno.

VMware Workstation

Esiste una versione non free di VMware Player(VMware Player Pro), ma abbiamo deciso di non prenderla in considerazione a favore della versione Workstation. Su questa piattaforma trovate ujna vasta schiera di opzioni per lo sviluppo, compresa la possibilità di gestire più macchine virtuali in gruppo, in modo da utilizzarle con la massima velocità. VMware Workstation supporta anche le nuove istruzioni tipiche dei processori Intel. In più, permette di configurare macchine con un massimo di ben 16 CPU e 64 GB di RAM. Il programma Workstation, tuttavia, è fondamentalmente orientato verso l’integrazione con il resto della suite VMware.
Ecco perchè viene sopratutto utilizzato in ambito aziendale e non in quello domestico.