Ultima modifica:
Questione Hypervisor quali sono quelli più diffusi? E quali sono i migliori per le proprie esigenze?
0.1 Introduzione
Oggi giorno, quando si parla di virtualizzazione con il classico modello a VM, gli Hypervisor che tipicamente si nominano sono VMware, Oracle Virtualbox sul fronte desktop, Parallels per il mondo Macintosh, ovviamente esistono anche altre soluzioni, la maggioranza basate su KVM e Libvirt, che comunque sono estremamente interessanti, tra cui la mia preferita, Qemu + un buon Front-end.Se parliamo di front-end per Qemu, la soluzione migliore al momento è il sempre valido Virt-manager pensato da Red Hat. Questa soluzione garantisce un ottima integrazione dell'hardware all'interno delle VM, ottenendo prestazioni migliori e quindi una qualità della virtualizzazione superiori a soluzioni meno versatili come lo stesso Virtualbox, che non consente di fare determinate operazioni.
Il metodo del pass-through permette di dedicare un componente hardware in modo esclusivo alla VM, quindi, è possibile dedicare una intera GPU ad una singola VM, avendo la piena prestazione dalla stessa a disposizione, questa cosa consente pure il gaming e video editing su una VM con Windows su una macchina Host Linux.
Ovviamente come tutte le cose belle nasconde una magagna, infatti, il pass-through della scheda video richiede un livello di conoscenza avanzato e anche una sana dose di pazienza per configurare tutto.
Per di più avendo la possibilità di emulare altre architetture tra cui ARM, PPC, Alpha, etc.
Comunque sia per la mia esperienza reputo che i due hypervisor migliori siano proprio virt-manager sotto Linux per utilizzi di carico e anche per la creazione di VPS, perché ha un ottimo supporto nella gestione delle connessioni.
Mentre, il secondo è proprio VMware, che risulta molto diffuso sul mercato e che permette di avere un ottima soluzione per le aziende, con anche alcuni server che lo preinstallato.
Ovviamente ogni strumento ha i suoi pro e i suoi contro, cosa che va sempre tenuta in conto pensando al fatto che per ogni situazione esiste una soluzione più indicata.
0.2 Architetture supportate
aarch64 | arm | alpha | avr | cris | hppa | i386 | x86_64 | m68k | microblaze | microblazeel | mips | mips64 | mips64el | nios2 | or1k | ppc | ppc64 | riscv32 | riscv64 | rx | s390x | sh4 | sh4eb | sparc | sparc64 | tricore | xtensa | |
Qemu | V | V | V | V | V | V | V | V | V | V | V | V | V | V | V | V | V | V | V | V | V | V | V | V | V | V | V | V |
Virtualbox | V | V | ||||||||||||||||||||||||||
VMware | V | V | ||||||||||||||||||||||||||
Xen | V | V |
0.2.1 Comparazione tra i metodi di virtualizzazione open source disponibili sul mercato

Occhio, anche virtualbox sotto Linux usa KVM, ma ha funzionalità più limitate e soprattutto crea problemi nel utilizzo a schermo intero secondo al window manager che si utilizza "funziona solo sotto kde, xfce4, gnome e derivate".
Come al solito parliamo di hypervisor di secondo livello o ibridi, che vivono di compromessi, cioè sono due soluzioni differenti rispetto alla classica soluzione utilizzata sui server "hypervisor di primo livello".
I Tipi?
I Tipi indicano la distanza il numero di livelli rispetto all'Hardware, più livelli ci sono più le prestazioni diminuiscono, quindi le soluzioni più ottimizzate sono quelle in cui il sistema operativo stesso è l'hypervisor.
0.3 Tipi degli hypervisor

Nel tipo 1 l'hypervisor è installato direttamente, esso è un sistema operativo che svolge esclusivamente questo compito, in modo estremamente ottimizzato e senza svolgere funzioni inutili, ovviamente questa soluzione viene molto utilizzata dagli ISP e anche da moltissime aziende di telecomunicazioni che trovano in questo sistema una valida base per creare le proprie soluzioni da vendere ai clienti.
Solitamente i sistemi server di questo tipo sono Unix o Unix-like, raramente sono basati su altri modelli, perché la filosofia Unix è efficiente, consente di adattare ogni singola parte pensando alle proprie esigenze. Infatti, Un vero sistema Unix consente di sostituire ogni sua singola parte nel caso in cui un applicativo non sia in grado di svolgere il proprio scopo. Tipicamente parliamo di server Linux, BSD oppure Minix.
0.4 Requisiti Hardware
Per fare virtualizzazione i requisiti hardware è un fattore da non sottovalutare, ovviamente dipende tutto da quello che devi eseguire sulle suddette VM, sicuramente i requisiti minimi sono strettamente legati al supporto di archiviazione, alle risorse hardware (RAM e in secondo luogo la CPU), ovvio che la CPU deve essere almeno un quad-core come minimo, altrimenti, diventa difficile eseguire certe operazioni, ricordiamoci comunque che una VM comunque non possiede prestazioni paragonabile ad una hardware fisico e quindi comunque necessita di un minimo di risorse per funzionare correttamente e avere delle prestazioni mezze decenti, ovviamente come già detto questo tipo di soluzione viene adottato dalle aziende che così possono affittare lo stesso server a più persone, ovviamente se il server utilizzato è molto buono.Componente | specifiche |
---|---|
CPU | i5, i7 oppure xeon 4 gen in su |
Ram | dai 16gb di ram potenzialmente con una latenza superiore ai 1600MHz |
Supporto di archiviazione | ssd sata o ancora meglio NVMe |
GPU | (optional) una scheda Nvidia RTX o quadro oppure una AMD Radeon superiore ai 4Gb |
Nel caso della scheda video, serve solo se le vm devono svolgere operazione che richiedono un utilizzo dell'accelerazione grafica oppure se fruttano cicli di render come Quadro o similari.