Gli hypervisor desktop sono una tecnologia popolare tra i tecnofili. Abbiamo tutti i tipi di ragioni per usarli. Alcuni di noi hanno bisogno di testare il software che altre persone hanno scritto per vedere se è buono. Alcuni di noi hanno bisogno di testare il software che abbiamo scritto noi per vedere se è buono. A volte, abbiamo bisogno di limitare l’attività ad un ambiente temporaneo. Altre volte, vogliamo solo mantenere il nostro ambiente primario fuori dalle grinfie di un installatore invasivo. Inventarsi delle ragioni per usare un hypervisor desktop è semplice. Decidere quale hypervisor desktop utilizzare può essere più complicato. Questo articolo confronterà e contrasterà il Client Hyper-V di Microsoft con VirtualBox di Oracle.

Scarica Altaro VM Backup

Scarica Altaro VM Backup

Inizia oggi la tua prova gratuita di 30 giorni di Altaro VM Backup.giorno di prova gratuita di Altaro VM Backup oggi e scopri perché è apprezzato da oltre 40.000 organizzazioni in tutto il mondo. Inizia subito ed esegui il tuo primo backup in meno di 15 minuti!

Di norma, non dico alle persone quale prodotto usare. Credo che si dovrebbe scegliere quello che meglio si adatta alle proprie esigenze. Se non c’è niente di disponibile che si allinea perfettamente, mescolate e abbinate fino a quando non vi avvicinate il più possibile. Non mi piace quando le persone scelgono prima il loro prodotto e poi tirano fuori giustificazioni convenienti per quella scelta. Due esempi comuni sono: “Nessuno è mai stato licenziato per aver comprato IBM” e “Questo prodotto è il più popolare”. Il mio scopo qui non è quello di imporre quale prodotto sia superiore, ma di guidarvi verso una decisione informata. Quella decisione potrebbe essere di usare entrambi gli hypervisor.

Client Hyper-V v Virtualbox

Client Hyper-V v Virtualbox

Client Hyper-V e VirtualBox: Una panoramica della tecnologia

Siamo tutti persone di tecnologia qui, quindi cominciamo a guardare questi due hypervisor da un punto di vista tecnologico.

Non sono l’uno il tipo dell’altro

La differenza più ovvia tra i due prodotti è che Client Hyper-V è un hypervisor di tipo 1 e VirtualBox è un hypervisor di tipo 2. Ora, ogni volta che dico “Hyper-V è un hypervisor di tipo 1” e poi cerco di spiegare cos’è un hypervisor di tipo 1, invariabilmente ricevo almeno qualche commento che mi dice che la mia descrizione è tutta sbagliata e che “Hyper-V è…”, e poi il commentatore procede a descrivere Hyper-V come un hypervisor di tipo 2. O le mie spiegazioni non sono molto buone o la gente semplicemente non crede che Hyper-V sia un hypervisor di tipo 1. Spero che la parte più grande sia che la linea tra il tipo 1 e il tipo 2 non è così solida come alcune persone vorrebbero farvi credere, e quindi questi commentatori vedono le cose in modo diverso.

Ad ogni modo, tenterò un nuovo metodo per spiegare il tipo 1 e il tipo 2, ma limitandolo a questo contesto.

Processo di avvio dell’hypervisor: Oracle VirtualBox

Inizio a spiegare come VirtualBox viene avviato. È un hypervisor di tipo 2 e il più facile da capire.

  1. Il computer fisico viene avviato
  2. Il sistema di avvio del computer fisico (BIOS o UEFI) passa il controllo al sistema operativo installato sull’hardware. Per VirtualBox, questo può essere Windows, Linux, OSX, o Solaris
  3. L’utente (che sei tu) avvia l’applicazione VirtualBox.
  4. L’utente (che sei tu) seleziona quale macchina virtuale avviare. VirtualBox genera i processi di hosting

Semplice, vero?

Processo di avvio dell’hypervisor: Client Hyper-V

Come hypervisor di tipo 1, la routine di avvio di Client Hyper-V è abbastanza diversa da quella di VirtualBox ad un livello fondamentale.

  1. Il computer fisico viene avviato
  2. Il sistema di avvio del computer fisico (BIOS o UEFI) passa il controllo a Hyper-V
  3. Hyper-V avvia il sistema operativo di gestione. Il sistema operativo di gestione può essere solo Windows, Windows Server o Hyper-V Server
  4. In risposta alle impostazioni automatiche o alle istruzioni manuali dell’utente (che sei tu), Hyper-V genera le partizioni per le macchine virtuali

Ci sono variazioni nel modo in cui i diversi hypervisor di tipo 1 e di tipo 2 realizzano i loro obiettivi, quindi non posso fare solo alcune dichiarazioni generali e andarmene. Daremo un’occhiata ad alcune delle differenze generiche.

L’importanza delle differenze di tipo

È possibile trovare una grande quantità di materiale scritto sulle differenze tra hypervisor di tipo 1 e di tipo 2. Alla luce delle capacità dell’hardware moderno, del software di virtualizzazione e dei sistemi operativi, la maggior parte di questo materiale ha un valore discutibile. Salterò le parti discutibili e mi occuperò solo di ciò che possiamo verificare.

Per questa discussione, la distinzione più importante tra tipo 1 e 2 è che un hypervisor di tipo 1 è sempre attivo. L’unico modo per “fermare” il Client Hyper-V è spegnere il computer o rimuovere il ruolo. Certo, si può fermare il servizio “Hyper-V Virtual Machine Management”, ma quello non è Hyper-V. È un servizio di gestione. Immagino che sia per questo che gli hanno dato quel nome particolare. Fermarlo vi impedisce di gestire qualsiasi macchina virtuale, ma non influenza le macchine virtuali o l’hypervisor. Non puoi vedere Hyper-V frugando nel sistema operativo di gestione.

D’altra parte, VirtualBox può essere aperto e chiuso a piacimento. Potete localizzare l’applicazione VirtualBox, il suo servizio e le sue macchine virtuali nel Task Manager del sistema operativo di gestione. Se si chiude l’interfaccia principale, qualsiasi macchina virtuale attiva continuerà a funzionare perché VirtualBox lascerà il suo kernel dell’hypervisor in memoria. Se fermi l’ultima macchina virtuale di VirtualBox, allora non c’è più VirtualBox. Dovrai avviarlo di nuovo per far funzionare qualsiasi macchina virtuale.

Le differenze di tipo di Client Hyper-V e VirtualBox hanno diverse conseguenze:

  • Il sistema operativo di gestione di Client Hyper-V usa vCPU come le macchine virtuali
  • Devi usare i contatori delle prestazioni di Hyper-V per vedere qualcosa sull’uso delle risorse di Client Hyper-V, e questo non dice tutto
  • L’assegnazione dell’hardware funziona diversamente
  • La priorità delle risorse funziona diversamente

Hyper-V vs. VirtualBox: Accesso all’hardware

Quando leggo le lamentele sul client Hyper-V, i problemi di hardware saltano subito in cima al mucchio. Inevitabilmente, vengono fatti paragoni con VirtualBox, VMware Workstation/Player, e altri hypervisor di tipo 2. I denuncianti raramente non menzionano come i problemi dei dispositivi siano quasi inesistenti in questi prodotti. La radice del problema proviene proprio dal tipo di hypervisor.

Quando VirtualBox (o qualsiasi altro hypervisor di tipo 2) genera una macchina virtuale, il suo contenitore gira all’interno del sistema operativo di gestione dove vivono le applicazioni. Come altre applicazioni, non hanno accesso diretto all’hardware; devono richiedere l’accesso al dispositivo attraverso il sistema operativo.

Per esempio, diamo un’occhiata all’assegnazione del mio hardware sonoro da parte del mio desktop Windows 10:

Sound Hardware Allocation

Sound Hardware Allocation

Ho più dispositivi hardware audio e più applicazioni. Tutti gli accessi e le assegnazioni hardware avvengono attraverso il sistema operativo. Nota: quanto sopra è solo a scopo illustrativo. Non si usa Volume Mixer per collegare gli ospiti di VirtualBox all’hardware audio.

Quindi, quando si accende un ospite di VirtualBox, è possibile utilizzare il suo contenitore di applicazioni per richiedere l’accesso all’hardware.

Ora, pensa a Client Hyper-V. Il sistema operativo di gestione viene eseguito in una propria partizione separata dai sistemi operativi guest. A differenza di VirtualBox, i sistemi operativi guest di Client Hyper-V non hanno alcuna proiezione nel sistema operativo di gestione. Non possono semplicemente chiamare l’API nel sistema operativo di gestione come possono fare i guest di VirtualBox, perché non possono raggiungerlo. Ci sono caratteristiche in Client Hyper-V che possono aiutare ad affrontare questa differenza, ma tutto questo è causato da differenze fondamentali nelle tecnologie dell’hypervisor.

Prendete spunto da questa sezione: se volete usare hardware collegato via USB e dischi esterni con le vostre macchine virtuali guest, avrete un tempo più facile con VirtualBox.

Hyper-V vs. VirtualBox: Presentazione dell’hardware

Questa sezione si collega fortemente alla sezione precedente. Se sfogliate le schede delle impostazioni di una macchina virtuale in VirtualBox, troverete molte cose che non vedrete in Hyper-V. Dovete decidere tra un chipset PIIX3 o un ICH9. Devi scegliere tra un controller audio Intel, un controller audio ICH AC97 e un controller audio SoundBlaster 16. Se permetti a una macchina virtuale di avere un controller USB, devi scegliere tra un dispositivo 1.1, 2.0 o 3.0. Hyper-V non vi chiede di fare alcuna scelta del genere.

La differenza qui è anche legata all’intera discussione sul tipo 1 contro il tipo 2. Gli hypervisor di tipo 2 sono progettati per funzionare in una gamma molto più ampia di ambienti, il che presenta una serie di problemi. Per affrontare questi problemi, gli hypervisor di tipo 2 fanno ampio uso di emulazione. L’emulazione è quando un costrutto software imita le interfacce di un dispositivo hardware. VirtualBox emula tutte le cose che ho elencato nel paragrafo precedente e altro ancora. Client Hyper-V emula molto poco – i più notevoli sono il suo controller IDE e l’adattatore di rete legacy.

L’emulazione risolve i problemi di applicabilità diffusa. Come si può immaginare, questa versatilità ha un costo. L’intero scopo dell’hardware speciale, come le schede di rete e gli adattatori video, è quello di gestire i rispettivi carichi di lavoro in modo che il peso non ricada altrove. Poiché sono costruiti specificamente per i loro compiti, (presumibilmente) lo fanno meglio di altri componenti costruiti con altri obiettivi in mente. Con l’hardware emulato, la vostra CPU di uso generale si assume tutte le responsabilità dell’hardware dedicato.

Taway da questa sezione: VirtualBox funziona con una gamma più ampia di hardware su una gamma più ampia di sistemi a spese di un overhead che influisce sulle prestazioni.

Hyper-V vs. VirtualBox: Priorità delle risorse

Perché VirtualBox viene eseguito solo all’interno del sistema operativo installato sull’hardware, è in balia dello scheduler di quel sistema operativo. Una delle ragioni per cui ho saltato qualsiasi discussione tipica sugli anelli della CPU è che VirtualBox include questa finestra di dialogo:

Impostazioni di accelerazione di VirtualBox

Impostazioni di accelerazione di VirtualBox

Quello che significa è che VirtualBox può accedere alle stesse caratteristiche che molte persone associano solo all’anello CPU -1 e alle estensioni del monitor della macchina virtuale usate dai “veri” hypervisor di tipo 1.

Tuttavia, VirtualBox è ancora vincolato dalle restrizioni imposte dal sistema operativo installato sull’hardware. Se avete un gioco Flash in fuga che assorbe memoria e CPU nel vostro sistema operativo installato sull’hardware, il sistema operativo può e farà sì che le prestazioni delle vostre macchine virtuali di VirtualBox ne risentano a suo piacimento. Se si tratta di questo, è possibile utilizzare Task Manager per uccidere qualsiasi processo o guest di VirtualBox.

Al contrario, Client Hyper-V fornisce gli stessi controlli di priorità del suo fratello maggiore basato su server. È possibile dare priorità alla CPU e alla memoria, abilitare la qualità del servizio di archiviazione e impostare limitazioni della larghezza di banda della rete per tutte le macchine virtuali.

Tratto da questa sezione: Client Hyper-V garantisce un controllo a grana fine sulla priorità delle risorse; VirtualBox no.

Hyper-V vs. VirtualBox: Accelerazione video

Questa sezione è un po’ diversa dalla discussione precedente perché niente qui sarà universalmente vero. Racconterò come le differenze nei due hypervisor hanno influenzato le mie esperienze. Il vostro chilometraggio può variare.

Entrambi i client Hyper-V e VirtualBox emulano il video. Nelle mie esperienze, non sono stato in grado di distinguere che uno sia migliore dell’altro quando si tratta di accelerazione 2D. Non credo di chiedere molto all’accelerazione 2D, ma so anche che la maggior parte dei moderni sistemi operativi desktop utilizzano l’accelerazione 2D in modi che non sono sempre ovvi finché non sono disponibili. Due esempi principali sono la lisciatura dei caratteri e le animazioni delle finestre. Con la riserva espressa che il vostro chilometraggio può variare, non credo che l’accelerazione 2D dovrebbe essere un fattore fortemente a favore di entrambi gli hypervisor.

L’accelerazione 3D è una storia diversa. Il client Hyper-V offre RemoteFX. Nella mia sperimentazione, funziona molto bene entro i confini di ciò che è progettato per fare. RemoteFX non proietta l’adattatore video nel sistema operativo guest, quindi non è possibile accedere a tutte le sue funzionalità. RemoteFX ha anche funzionato su ogni sistema con cui ho tentato di usarlo, finché conteneva il necessario driver conforme a WDDM con accelerazione 3D.

L’accelerazione 3D in VirtualBox è una storia completamente diversa. Non sono mai riuscito a farla funzionare abbastanza bene da visualizzare correttamente anche un desktop Windows di base. Non mi sono mai avvicinato a provare nessuna funzione di accelerazione 3D. Quindi, non posso darvi alcun paragone significativo tra i due.

Tratto da questa sezione: l’accelerazione 2D sembra essere un lavaggio tra i due. L’accelerazione 3D sembra più affidabile in Client Hyper-V.

Hyper-V Vs. VirtualBox: Compatibilità del disco rigido virtuale

VirtualBox supporta diversi formati di disco rigido virtuale. Puoi scegliere tra:

  • VDI, il formato nativo di VirtualBox
  • VMDK, il formato di VMware
  • VHD, il formato di Microsoft
  • HDD, il formato di Parallel
  • QED e QCOW, usato in QEMU e altri hypervisor

Non puoi usare VHDX con VirtualBox. La capacità di usare il formato del disco di un altro hypervisor non significa necessariamente che sarete in grado di passare senza problemi un disco rigido virtuale da un hypervisor all’altro.

Prendete spunto da questa sezione: queste sono informazioni quasi generali, perché la capacità di usare più formati di disco rigido virtuale non è così utile come potrebbe sembrare all’inizio. Se avete intenzione di tentare di spostare un disco rigido virtuale da una piattaforma all’altra senza utilizzare un convertitore, VirtualBox è la scelta migliore.

Hyper-V vs. VirtualBox: Altre caratteristiche video

VirtualBox fornisce alcune caratteristiche video con cui Client Hyper-V non compete direttamente.

  • Client Hyper-V può visualizzare solo su un monitor o su tutti i monitor. È possibile specificare da uno a otto monitor per VirtualBox.
  • VirtualBox fornisce una modalità server che permette ai computer remoti di connettersi al sistema operativo installato sull’hardware per visualizzare la console di uno o più ospiti specifici. Ogni endpoint consente più connessioni remote simultanee. Il client Hyper-V fornisce una funzionalità simile con vmconnect.exe, ma non è così versatile.
  • VirtualBox può fare una registrazione video di un sistema operativo ospite.
  • VirtualBox permette di impostare una macchina virtuale in modalità “Seamless”. Le applicazioni che si avviano nella macchina virtuale appariranno e funzioneranno come se fossero in esecuzione nel sistema operativo installato nell’hardware.

Prendete spunto da questa sezione: se una di queste caratteristiche vi interessa, VirtualBox è l’unica scelta.

Hyper-V vs. VirtualBox: Accesso al codice sorgente

VirtualBox è un software open source. Se non vi piace qualcosa e credete di poter fare meglio, fatelo. Se volete solo sapere come funziona, scaricate il set di codice e scavate dentro.

Microsoft si sta gradualmente scaldando alla nozione di open source e ha sottoposto una grande quantità di codice alla comunità. Windows è notoriamente assente. Da quanto ho capito, la base di codice di Hyper-V è molto strettamente accoppiata a Windows. Ho i miei dubbi che vedremo mai il codice di Hyper-V pubblicato.

Tratto da questa sezione: se l’uso di un hypervisor open source è importante per voi, questo squalifica il client Hyper-V.

Hyper-V vs. VirtualBox: Licenza d’uso

Client Hyper-V viene fornito come componente delle SKU Windows 10 Professional ed Enterprise. Se siete altrimenti autorizzati ad usare uno di questi, allora siete autorizzati ad usare Client Hyper-V.

Oracle concede in licenza l’attuale pacchetto di base VirtualBox (versioni 5.x+) sotto GPLv2. Forniscono anche alcune “estensioni” sotto una licenza separata chiamata “VirtualBox Personal Use and Evaluation License”. Personalmente non uso nessuna di queste funzioni, anche se comprendono alcune delle caratteristiche di cui ho parlato sopra. Non ho scavato a fondo nei termini di questa licenza, ma sembra essere abbastanza generosa. Come sempre, vi raccomando di permettere ad un consulente legale qualificato di rispondere a qualsiasi domanda sulle licenze.

Per quanto riguarda le licenze del sistema operativo guest, quelle sono un discorso a parte. Né Client Hyper-V né VirtualBox prevedono alcuna licenza per il sistema operativo guest. Se si installa qualsiasi versione di Windows o Windows Server in un sistema operativo guest sotto uno dei due hypervisor, è necessario ottenere una licenza adeguata per l’hardware.

Tratto da questa sezione: le licenze sono sempre importanti.

Acquisto di Client Hyper-V e VirtualBox

Se si sta eseguendo Windows 10 Professional o Enterprise, allora è necessario solo abilitare il ruolo Hyper-V per iniziare ad usarlo.

VirtualBox è disponibile sul suo sito web: https://www.virtualbox.org/

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.