Xen vs. VirtualBox sotto carico pesante?


Risposte:


25

Xen funzionerà generalmente molto meglio di VirtualBox perché VirtualBox esegue il SO guest in modo tale che il SO guest non sappia che è in esecuzione in un ambiente virtuale. O per dirla in altro modo, il sistema operativo guest non viene modificato per essere eseguito virtualmente. Per questo motivo, VirtualBox deve "intercettare" le istruzioni sul tipo di kernel, eseguire un codice personalizzato e quindi restituire il controllo al guest. Può utilizzare il supporto di virtualizzazione hardware fornito da Intel e AMD, ma anche in questo caso si aggiunge il sovraccarico.

Xen nel frattempo si assicura che il sistema operativo guest sia ricompilato per adattarsi al modello Xen. Quindi il controllo scorre senza problemi dal SO guest all'hypervisor, senza il sovraccarico di dover fingere che il SO guest abbia accesso diretto all'hardware.

Per una panoramica di alcune tecnologie di virtualizzazione, inclusi i dati dei test delle prestazioni, leggi questo rapporto . Parla solo di Linux, ma copre Linux-Vserver, Xen, OpenVZ, KVM, VirtualBox e QEMU. Linux-Vserver e Xen erano generalmente i migliori, ma leggi il rapporto per vedere i diversi carichi di lavoro.

Detto questo, alcune aree in cui VirtualBox supera Xen. Se il tuo SO guest ha un layer grafico a finestre, allora VirtualBox ne ha un buon supporto, in particolare se installi alcuni componenti speciali di VirtualBox nel SO guest.

E infine dovresti essere consapevole che Xen eseguirà solo un SO guest modificato. Non può eseguire un SO guest non modificato.


2
Nota che le macchine virtuali su xen che eseguono Windows possono usare solo un core!
Thomaschaaf,

29

La risposta di Hamish Downer si sbaglia sull'ultimo punto. Xen può eseguire guest non modificati, tuttavia devono essere eseguiti come guest HVM completamente virtualizzati. Per fare ciò è necessario che il computer host disponga del supporto per la virtualizzazione dell'hardware con CPU compatibili con VT VT Intel o AMD.

Xen e Virtualbox hanno ciascuno un posto ma sono due diversi tipi di hypervisor. Xen è un hypervisor di tipo 1 in cui Virtualbox è un hypervisor di tipo 2. Gli hypervisor di tipo 1 tendono ad essere ciò che trovi negli ambienti server in cui gli hypervisor di tipo 2 tendono ad essere più comuni per l'esecuzione di più sistemi operativi con cui interagisci come desktop. Penso che ciò sia dovuto principalmente alla loro semplicità e alla migliore integrazione desktop. Tuttavia, i guest con un hypervisor di tipo 2 sono più lontani dall'hardware sottostante e tendono ad essere più lenti degli guest con un hypervisor di tipo 1. Come per tutto, ci sarà sempre un'eccezione alla regola.


2
Hai perfettamente ragione :-) Quindi ottieni +1
Antoine Benkemoun,

3

Posso solo parlare di Xen, dato che ho sempre usato Virtualbox per virtualizzare un computer Windows sul mio desktop Mac.

Come altri hanno già detto, Xen (e XenServer, che si basa su Xen) utilizza kernel paravirtualizzati che migliorano notevolmente le caratteristiche prestazionali legate alla memoria e alla memoria. Tuttavia, questo è vero solo per host Linux con kernel specializzati. È necessario un kernel Xen- "abilitato" per poterlo sfruttare.

Inoltre - Windows non supporta la virtualizzazione in questo modo, ma le estensioni Intel VT e AMD-V sulle rispettive CPU "catturano" Windows e lo fanno comportare in modo paravirtualizzato. Windows 2003 e Windows 2000 non sono mai consapevoli del fatto che sono in esecuzione virtualizzati, mentre Windows 2008, invece, lo rileva e funziona nella cosiddetta modalità "illuminata", che può essere paragonata alla modalità "paravirtualizzata" di Linux.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.