Xen
è un hypervisor che gira su metal (il pc / server) e quindi ospita macchine virtuali chiamate domini.
Un Xen PV
dominio è un dominio paravirtualizzato , ciò significa che il sistema operativo (di solito stiamo parlando di Linux qui) è stato modificato per funzionare con Xen e non è necessario emulare effettivamente l'hardware. Questo dovrebbe essere il modo più efficiente di andare, per quanto riguarda le prestazioni.
Un Xen HVM
dominio è un dominio emulato dall'hardware , ciò significa che il sistema operativo (potrebbe essere Linux, Windows, qualunque cosa) non è stato modificato in alcun modo e l'hardware viene emulato. Questo è piuttosto lento, quindi di solito installi i driver PV nel sistema operativo guest per l'hardware critico (di solito su disco e rete), quindi il guest nel suo insieme verrà completamente virtualizzato ma i componenti hardware più critici verranno eseguiti in modo paravirtualizzato. I sistemi Linux recenti hanno driver pv sia per il disco che per la rete nel kernel, e esistono anche vari driver PV per Windows. Con tutto lo sviluppo su HVM negli ultimi anni, di solito c'è poca differenza nelle prestazioni tra HVM e PV per carichi di lavoro standard.
KVM
non è Xen, è un'altra piattaforma di virtualizzazione costruita all'interno del kernel Linux. Dal punto di vista dell'ospite assomiglia a Xen HVM: l'ospite viene eseguito completamente virtualizzato e ci sono driver specifici per eseguire alcune parti paravirtualizzate (di nuovo, disco e rete).
Sia Xen HVM che Linux KVM necessitano del supporto di virtualizzazione assistita da hardware (Intel VT-x, AMD AMD-V), mentre Xen PV non funziona ma non può eseguire sistemi operativi senza supporto PV (non è possibile eseguire Windows su Xen PV).
Sia Xen HVM che Linux KVM utilizzeranno parti del software di virtualizzazione qemu per emulare l'hardware effettivo per i dispositivi che non utilizzano i driver PV nel sistema guest.
Xen (sia PV che HVM) può eseguire la migrazione in tempo reale di un guest in esecuzione da un server fisico a un altro, non so se anche KVM può farlo.
Sia Xen che KVM non possono sovraccaricare la memoria, quindi di solito ottieni "vera RAM", mentre altre piattaforme come VMware possono scambiare parte del ram guest su disco.
Esistono differenze, ma in genere si applicano a installazioni specifiche e non al server privato virtuale generico in vendita ad altre persone. Ad esempio, i recenti hypervisor Xen supportano la memoria trascendente che potrebbe migliorare l'utilizzo della memoria e le prestazioni del guest se il guest ha il supporto (kernel Linux> = 3.qualcosa).
Tutte queste tecnologie ti daranno un'ottima esperienza se implementate correttamente e non faranno una grande differenza dal tuo punto di vista. Naturalmente, ci sono mille modi in cui le cose possono andare storte e non sono correlate alla soluzione di virtualizzazione specifica (ad esempio, il tuo guest potrebbe essere archiviato su dischi lenti e ciò danneggerebbe le tue prestazioni).