Soluzioni di virtualizzazione su sistemi Linux-KVM e VirtualBox

I pacchetti di virtualizzazione sono mezzi per gli utenti di eseguire vari sistemi operativi senza hardware “bare-metal” – in sostanza, è possibile eseguire più di un sistema operativo su un singolo computer senza dual-boot o approcci simili. Il software di virtualizzazione emula una macchina reale e” inganna ” il sistema operativo guest nel pensare che sia in esecuzione su un vero computer. Oltre ai vantaggi più evidenti, le macchine virtuali contribuiscono a creare un ambiente di elaborazione più verde e più facile da amministrare. Guardando le tendenze nel settore IT, la virtualizzazione ha visto un bel boom negli ultimi anni, perché si adatta ai concetti di utility computing e/o software as a service. La virtualizzazione può esserti utile se sei un architetto aziendale, uno sviluppatore, un utente domestico o praticamente tutto il resto. Inizieremo con una breve introduzione sulla virtualizzazione in generale, quindi tratteremo specificamente VirtualBox e KVM in quanto sembrano essere le soluzioni di virtualizzazione open source più popolari. Ci si aspetta di conoscere il modo per aggirare i sistemi Linux, come installare una distribuzione Linux e come installare il software su di esso, anche se vi mostreremo come installare i due pacchetti di virtualizzazione di cui sopra su alcune delle distribuzioni Linux popolari.

Esistono due tipi di virtualizzazione : uno che può eseguire il sistema guest così com’è (come in, non modificato) e un altro che richiede un kernel modificato dal lato guest per poter essere eseguito. La prima categoria è denominata full virtualization, perché emula un ambiente hardware completo, la seconda è denominata paravirtualization, perché non emula l’hardware e quindi necessita di modifiche speciali a livello guest, un buon esempio di questo tipo di virtualizzazione è Xen. Questi fanno parte di una categoria più grande denominata virtualizzazione hardware, ma ci sono anche altri tipi di virtualizzazione (software, rete o storage, tra gli altri), che non descriveremo qui. I due software di cui parleremo rientrano nella categoria di virtualizzazione completa. Altre tecnologie di virtualizzazione hardware popolari includono QEMU, Bochs, VMware, Parallels, HyperV o OpenVZ.

ISCRIVITI alla NEWSLETTER & RSS
Iscriviti a RSS e NEWSLETTER e ricevere le ultime notizie Linux, lavoro, consigli di carriera e tutorial.

Quando è utile la virtualizzazione?

Distribuzioni Linux

Il mondo Linux è pieno di offerte interessanti e allettanti. Ci sono oltre 600 (!) Distribuzioni Linux tra cui scegliere, il che rende difficile per una persona che ha un solo computer per provarli tutti, o solo alcuni anche. LiveCDs non sono sempre utili, quindi potrebbe essere necessario installare al fine di ottenere il succo di esso. Ogni rilascio di distribuzione Linux porta nuove ed eccitanti funzionalità e potresti provare l’emozione e l’impulso di installarlo e testarlo. Immettere la virtualizzazione. Si scarica l’ISO, installare la distro in un ambiente virtuale e sei a posto, il tutto in breve tempo. Se non ti piace, lo cancelli. Soprattutto quando sei un po ‘ nuovo al mondo Linux e potresti essere confuso dal grande numero di distribuzioni disponibili, questo potrebbe essere proprio quello di cui hai bisogno. Inoltre, se sei uno sviluppatore e hai bisogno di eseguire il ramo di sviluppo della tua distro (si pensi a Fedora Rawhide o Debian Sid) ma questo è troppo instabile per l’uso quotidiano, installa in una VM e inizia a sviluppare.

Altri sistemi operativi

Questo si estende ad altri sistemi operativi di cui potresti aver bisogno : forse hai un propgram che funziona solo su Windows e non vuoi installare Windows solo per quel programma. Forse vuoi imparare Solaris ma manca l’hardware. A condizione che tu abbia la configurazione del computer appropriata che supporta la virtualizzazione, ora puoi farlo.

Di cosa avrai bisogno

I processori moderni hanno istruzioni speciali per la CPU per l’emulazione hardware. Puoi vivere senza, ma davvero non lo vuoi, dal momento che il sistema operativo host dovrà emulare l’istruzione di virtualizzazione mancante e questo rallenterà significativamente i tuoi ospiti. Presumiamo che il tuo sistema operativo host abbia installato Linux e che la tua CPU abbia le capacità di virtualizzazione necessarie. Il modo più semplice per verificare se la tua CPU ha quello che serve, fai

 $ egrep '(vmx|svm)' /proc/cpuinfo 

e se restituisce vmx (CPU Intel) o svm (CPU AMD), sei a posto. Ma questa ovviamente non è l’unica richiesta sul lato hardware. Controllare la pagina web del sistema che si desidera installare come ospite per verificare se si soddisfano i suoi’ requisiti hardware. Raccomandiamo almeno 20 GB gratuiti nella tua home directory e un minimo di 2 GB di memoria sull’host, in modo da poter allocare una quantità media di 768 MB al guest per prestazioni ottimali. Naturalmente, se si desidera eseguire più macchine virtuali (magari in parallelo), tali requisiti crescono considerevolmente.

KVM o VirtualBox?

Prima di tutto, perché dovremmo offrire due pacchetti di virtualizzazione? Perché non uno per tutte le vostre esigenze? Bene, crediamo nel concetto di” strumento giusto per il lavoro”. KVM offre alcune funzionalità che VirtualBox non ha e viceversa. Non esiste una cosa del genere nel mondo IT come strumento universale, quindi è importante utilizzare qualcosa che si adatta alle tue esigenze. L’idea di base è : se si desidera installare una distribuzione Linux binaria come guest, utilizzare KVM. È più veloce e i suoi driver sono inclusi nell’albero del kernel ufficiale. Se il tuo ospite comporta molta compilazione e ha bisogno di alcune funzionalità più avanzate e/o non è un sistema Linux, meglio andare con VirtualBox.

I motivi tecnici sono piuttosto semplici: KVM è meglio integrato con Linux, è più piccolo e veloce, e mentre è possibile utilizzarlo con altri ospiti oltre a Linux, abbiamo trovato l’esperienza piuttosto problematica : I BSD tendono ad avere I / O lenti e Solaris (OpenIndiana, per l’esattezza) tende a farsi prendere dal panico immediatamente dopo l’avvio dell’installazione ISO. Poiché usiamo le versioni correnti di BSD (e compiliamo/aggiorniamo spesso il sistema dalla sorgente) e abbiamo anche bisogno di Solaris, abbiamo trovato VirtualBox un’opzione migliore.

Un altro vantaggio per Oracle VirtualBox è il fatto che supporta la sospensione, ovvero è possibile salvare lo stato della macchina sul disco rigido dell’host e chiudere VirtualBox e quando (ri)si avvia, il sistema riprenderà da dove è partito. Questo è il motivo per cui abbiamo fatto riferimento alla compilazione dei sorgenti : se hai una macchina rumorosa che non vuoi lasciare accesa durante la notte, ma la tua macchina virtuale Gentoo compila solo una nuova versione di gcc, sospendi lo stato della macchina, spegni l’host e continua domani.

Cosa imparerai

Ti mostreremo come installare KVM e VirtualBox e come installare e configurare un guest Linux su un host Linux. Gli esempi con altre unità sono molto simili, quindi non vediamo la necessità di ripeterci.

Installazione

Sebbene KVM pubblicizzi Solaris, BSD, ReactOS, Windows e altri come ospiti supportati, le nostre esperienze sono state meno che fruttuose. Questa non è una critica, dal momento che non abbiamo, in tutta onestà, sedersi e esaminare la questione troppo. Ma questo non è per pigrizia : dopo aver parlato con altre persone in rete, abbiamo scoperto che non siamo gli unici con problemi riguardanti gli ospiti Unix(-like) oltre a Linux, quindi siamo andati con VirtualBox per quelli. Come sempre, il tuo chilometraggio può variare : anche noi vorremmo usare KVM esclusivamente perché è più “gratuito”, ma a causa dei problemi di cui sopra, che ovviamente potrebbero essere solo qualcosa di specifico per il nostro setup, abbiamo dovuto usare VirtualBox. Al momento, KVM è sviluppato da Red Hat ed è facilmente installabile sulla maggior parte delle distribuzioni Linux. Come abbiamo fatto prima, descriveremo solo le procedure di installazione relative alle principali distribuzioni Linux.

Fedora

Dal momento che Red Hat, sponsor di Fedora, sta sviluppando KVM, Fedora offre una pletora di strumenti per la virtualizzazione. La documentazione ufficiale, anche se è per Fedora 13, è applicabile alle versioni successive. Puoi semplicemente installare KVM con

 # yum install kvm 

per andare nella riga di comando, oppure puoi installare alcuni strumenti grafici per aiutarti a gestire le tue installazioni virtuali:

 # yum install virt-manager libvirt libvirt-python python-virtinst 

Non sarà necessario eseguire ulteriori comandi poiché il processo di installazione su Fedora segnerà il modulo kvm per il caricamento automatico. Se non si desidera riavviare, utilizzare modprobe per caricare il modulo sul posto.

Debian

Il wiki di Debian viene in soccorso ancora una volta, e se si seguono le istruzioni, si avrà KVM installato e pronto ad andare in pochissimo tempo. Si tratta di

 # apt-get install qemu-kvm libvirt-bin 

per installare, configurare e caricare il modulo del kernel kvm-(amd|intel) all’avvio.

Slackware

Slackbuild per KVM che è possibile utilizzare secondo questa guida. Se hai un kernel modificato o vuoi solo assicurarti che il tuo kernel abbia abilitato KVM, digita

 $ cat /boot/config |grep -i kvm 

e controlla anche /etc/rc.d / rc.moduli per vedere se il modulo kvm è impostato per essere caricato all’avvio.

Arch

Il wiki Arch Linux è una buona guida per tutto ciò che riguarda KVM. Poiché Arch, come Slackware, è una distribuzione DYI, potrebbe essere necessario eseguire alcuni passaggi aggiuntivi per iniziare a utilizzare KVM. L’installazione è semplice come

 # pacman -S qemu-kvm 

Qui devono essere fatti gli stessi passi di una macchina Slackware : aggiungi il tuo utente, controlla che la tua CPU supporti la virtualizzazione e che KVM sia abilitato nel tuo kernel.

VirtualBox

Fedora

Il sito VirtualBox offre un file repo da aggiungere in /etc/yum.repo.d / e quindi eseguire un

 # yum update

per far sapere a yum del tuo nuovo repository e indicizzarlo. Quindi eseguire un

 # yum install VirtualBox-4.0 dkms gcc
 # /etc/init.d/vboxdrv setup 
 # usermod -G vboxusers -a username 

e si dovrebbe essere impostato.

Debian

Non vogliamo schierarci qui, ma sembra che la documentazione di Debian sia migliore e più approfondita. Per installare, basta digitare

 # apt-get install linux-headers-$version virtualbox-ose 

che installerà tutti i pacchetti necessari, compilare il modulo del kernel per voi e impostarlo per caricare all’avvio.

Slackware

SlackBuilds.org ha una voce VirtualBox (l’edizione Open Source, che è l’unica di cui parleremo qui). Per un HOWTO sull’utilizzo di slackbuilds, vai qui. Ulteriori informazioni possono essere trovate su linuxquestions.org, informazioni che potresti trovare utili soprattutto se sei su una macchina Slackware 13.37 a 64 bit. Ricordarsi di leggere il README del slackbuild e dovrebbe essere ok.

Arch

La documentazione di Arch è utile e completa, alla pari di quella di Debian, quindi non dovresti avere problemi a trovare le informazioni di cui hai bisogno. Tutto ciò che devi fare in termini di installazione è

 # pacman -S virtualbox qt 

e sei a posto. Avrai bisogno di Qt per la GUI, se hai bisogno solo di CLI, non installarlo.Il resto dei passaggi di configurazione è simile a quello di Fedora, quindi usa la documentazione per iniziare.

ISCRIVITI alla NEWSLETTER & RSS
Iscriviti a RSS e NEWSLETTER e ricevere le ultime notizie Linux, lavoro, consigli di carriera e tutorial.

Usage

Come avrai notato, siamo contrari a copiare ciecamente da una pagina di manuale e cercare di sostituire detto manuale. Descriveremo le opzioni generali e usuali e i flag della riga di comando (sì, raccomandiamo l’uso di CLI quando si lavora con KVM e GUI quando si lavora con VirtualBox), ma la lettura della pagina di manuale è essenziale, specialmente quando si ha a che fare con un software un po ‘ complesso come questo.

Storage

Si consiglia di creare una directory separata in cui verranno memorizzate le immagini del disco virtuale e un’altra directory separata che conterrà i file ISO utilizzati per l’installazione. Alla fine, solo tu sai meglio come organizzare i file, ma questa configurazione, pensiamo, renderà la vita più facile. Per il gusto di esempio, diciamo che vogliamo installare Fedora. Abbiamo notato quando si utilizza KVM una larghezza di banda leggermente inferiore a quella disponibile dal nostro ISP, un problema che VirtualBox non sembra avere. Quindi, installiamo da DVD :

 $ cd ~ && mkdir iso && cd iso/ 
 $ wget -c ftp://ftp.heanet.ie/mirrors/fedora/linux/releases/15/Fedora/\x86_64/iso/Fedora-15-x86_64-DVD.iso 

Naturalmente, se si preferisce curl, kget o altro download manager, usarlo. Lo stesso vale per lo specchio: utilizzare uno vicino a voi per il download più veloce. Ora per impostare il nostro disco virtuale(s) ambiente :

 $ cd ~ && mkdir kvmhdd && cd kvmhdd 
 $ kvm-img create fedora15.img 15G 

Prima di andare oltre ti consigliamo di eseguire kvm-img senza argomenti per vedere le sue opzioni principali e i formati del disco. Cosa fa la seconda riga sopra: crea un file su disco virtuale (formato img) chiamato fedora15 e con dimensioni di 15 gigabyte.

Installazione

Ora siamo pronti per iniziare l’installazione di Fedora 15 sul nostro disco appena creato:

 $ kvm -m 768 -boot d -cdrom ~/iso/Fedora-15-x86_64-DVD.iso -hda fedora15.img & 

Quello che abbiamo appena fatto : -m rappresenta la dimensione in megabyte di memoria allocata, -boot dice kvm periferica di avvio principale (si pensi Windows lettere di unità), -cdrom-è ovvio-hda è il primo disco rigido (è possibile utilizzare più di un disco, se avete lo spazio, con -hdb essere il secondo disco, e così via), e abbiamo usato la e commerciale al fine della riga di comando per riprendere il controllo del terminale. Ctrl + Alt darà / prenderà il controllo da / per la macchina virtuale in termini di acquisizione del mouse.

Utilizzo della macchina virtuale

 $ kvm -m 768 -boot c -hda fedora15.img & 

Suggerimento: creare un file nel kvmhdd (o il nome scelto per la directory di lavoro) denominato fedora15.sh che conterrà la riga di cui sopra, renderlo eseguibile e, quando ne hai bisogno, basta eseguirlo :

 $ cd ~/kvmhdd && echo "kvm -m 768 -boot c -hda fedora15.img &" > fedora15.sh && \
chmod +x fedora15.sh && ./fedora15.sh

Questo è tutto. Se avete bisogno di più opzioni, fare riferimento alla pagina di manuale kvm come è ben scritto e vi aiuterà per certo.

VirtualBox

Creazione di una macchina virtuale

VirtualBox GUI richiede la procedura guidata approccio per aiutare a creare una nuova macchina virtuale e vediamo l’interfaccia come una smart pezzo di software. Premi Ctrl + N per creare una nuova VM, quindi inserisci il nome che vuoi dargli (usa qualcosa di suggestivo, come “Fedora15x86_64”. Sulla base di tale denominazione, VirtualBox determinerà automaticamente il tipo di sistema che si desidera impostare e regolare automaticamente.

Quindi, scegli la quantità di memoria che vuoi che Fedora abbia e VirtualBox cerca di suggerire un valore a seconda del sistema operativo e dell’architettura. Ti consigliamo di non scendere molto più in basso, poiché la tua VM potrebbe bloccarsi a causa di problemi di memoria insufficiente (a proposito, Anaconda si rifiuterà di avviare l’installazione in modalità grafica con meno di 768 MB). Quindi crea il disco rigido e inserisci le sue dimensioni (la raccomandazione relativa ai suggerimenti si applica anche qui), assegnandolo dinamicamente (non è un grosso problema se non lo fai, solo che abbiamo trovato questo metodo un po ‘ più veloce in termini di I/O) e sei a posto. Nella finestra principale di VirtualBox vedrai la tua nuova macchina virtuale elencata e, a destra, le sue impostazioni. Cambiali come meglio credi e fai attenzione ad avviare da DVD. Inoltre, se si dispone di più core e si desidera utilizzarli, la sezione System è il posto dove andare.

Esecuzione di una macchina virtuale

Dopo l’installazione, arrestare la VM e modificare l’ordine di avvio in modo da poter avviare dal disco rigido, quindi avviare facendo clic destro sulla voce a sinistra e, naturalmente, “Start”. Se tutto va bene, ora avvierai Fedora 15 in un ambiente VirtualBox. Abbiamo detto prima che il sistema operativo guest su KVM e VBOX non ha bisogno di modifiche. Mentre avevamo ragione, l’esperienza ospite può essere migliorata in VirtualBox con cose come visualizzazione a schermo intero o cartelle condivise installando le aggiunte ospite VirtualBox. Questo è fondamentalmente un modulo del kernel e alcuni driver Xorg per l’ospite, che è possibile installare sul vostro nuovo Fedora, seguendo i seguenti passi :

 # yum update kernel && yum install kernel-devel kernel-headers dkms gcc gcc-c++ 

Riavviare la VM dopo l’installazione, andare al menu Dispositivi, selezionare “Installa Guest Additions”, che monterà l’esistente Guest Additions immagine ISO sul guest (su /media), e, come root, basta fare

 # cd /media/VBOXADD$version && sh ./VBoxLinuxAdditions.run 

Successivamente, riavviare di nuovo e si avrà funzioni avanzate di VirtualBox a tua disposizione.

Conclusione

Quando si tratta di scegliere soluzioni di virtualizzazione, come con editor, ambienti desktop o persino sistemi operativi, ognuno ha un’opinione personale basata sull’esperienza, sulla lettura e su ciò che usano i propri amici. Questa è la nostra esperienza, e vi invitiamo a sperimentare e modificare fino a trovare il percorso migliore da seguire. Ci sono, naturalmente, altri pacchetti software di virtualizzazione, ma lo spazio limitato non ci permetterebbe di scrivere su tutti loro. Queste sono le soluzioni più appropriate per un utente domestico (Open Source, cioè), ma ciò non significa che non vengano utilizzate anche a livello aziendale. Speriamo solo che questo vi aiuterà a ottenere per iniziare.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.