Domanda Altro Questione Hypervisor quali sono quelli più diffusi? E quali sono i migliori per le proprie esigenze?

nfvblog

Moderatore
9 Dicembre 2021
454
40
187
288
Ultima modifica:

Questione Hypervisor quali sono quelli più diffusi? E quali sono i migliori per le proprie esigenze?​

1654074800565.png

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

aarch64armalphaavrcrishppai386x86_64m68kmicroblazemicroblazeelmipsmips64mips64elnios2or1kppcppc64riscv32riscv64rxs390xsh4sh4ebsparcsparc64tricorextensa
QemuVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VirtualboxVV
VMwareVV
XenVV

0.2.1    Comparazione tra i metodi di virtualizzazione open source disponibili sul mercato

Comparison-of-Xen-KVM-and-QEMU.png
Ovviamente, come in tutti i casi esistono più soluzioni ma Qemu è presente in tutti e due le soluzioni, infatti, nella soluzione con KVM è presente un livello in più rispetto al modello Qemu, perché il modello Qemu è generico e quindi è nomale che sotto linux esista una libreria che si occupi di gestire questa funzione.
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

what-is-a-hypervisor-server_5f5ed47e2d2aa.jpeg
Questo schema è abbastanza chiaro e lampante, come detto qui sopra, il tipo 2 ha un sistema operativo host di mezzo che comunque ruba cicli di CPU e quindi le prestazioni leggermente inferiori rispetto al modello nativo.

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.
Componentespecifiche
CPUi5, i7 oppure xeon 4 gen in su
Ramdai 16gb di ram potenzialmente con una latenza superiore ai 1600MHz
Supporto di archiviazionessd 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.

0.5    GPU passthrough

Una pratica che nel ultimo periodo ha fatto molto parlare di se, consiste nel dedicare una scheda video alla vm avendo così di fatto delle prestazioni superiori e più vicine all'hardware fisico, ovviamente per fare ciò è necessario leggere la documentazione della vostra distro che spiega passo passo come eseguire le dovute modifiche ai file di configurazione.

0.6    VM vs Container

Esistono diversi modelli che sfruttano la virtualizzazione, una altro modello oltre all'hypervisor è il container, vm molto più minimali e facilmente integrabili al sistema su cui gira il container manager, l'applicativo che si occupa di assegnare le risorse ai suddetti container in cui girano i nostri applicativi, la differenza reale tra una vera e propria vm e un container è che il secondo ha solo gli applicativi e le librerie necessarie per eseguire i nostri applicativi, tanto che viene utilizzato il kernel del sistema host. Ovviamente questo è stato fatto per dare al dev una soluzione di continuità che prima non era possibile, infatti, gli ambienti di sviluppo prima giravano solo in un determinato os vincolando lo stesso a dover utilizzere proprio quel setup.