Come selezionare l'interfaccia di paravirtualizzazione in VirtualBox?


89

Dato un sistema host Windows 8 (Intel Core i5) e un host Fedora Linux, vorrei determinare l'impostazione ottimale per l'interfaccia paravirtuale.

Le opzioni sono

  • nessuna
  • Predefinito
  • eredità
  • minimo
  • Hyper-V
  • KVM

Questa pagina suggerisce che la selezione si basa solo sul sistema guest:

Il più grande cambiamento in VirtualBox 5.0 è l'introduzione del supporto per la paravirtualizzazione, che offre prestazioni più elevate e precisione nel tempo ai sistemi operativi guest supportati (Hyper-V su Windows e KVM su Linux).

È corretto?

Risposte:


98

Il Manuale di VirtualBox , nella sezione intitolata Fornitori di paravirtualizzazione, spiega molto chiaramente quando ciascuno dovrebbe essere usato (enfasi aggiunta):

  • Minimo: annuncia la presenza di un ambiente virtualizzato. Inoltre, riporta la frequenza TSC e APIC al sistema operativo guest. Questo provider è obbligatorio per l'esecuzione di tutti i guest Mac OS X.

  • KVM: presenta un'interfaccia hypervisor KVM Linux riconosciuta dai kernel Linux a partire dalla versione 2.6.25. L'implementazione di VirtualBox attualmente supporta clock paravirtualizzati e spinlock SMP. Questo provider è consigliato per gli ospiti Linux.

  • Hyper-V: presenta un'interfaccia hypervisor Microsoft Hyper-V riconosciuta da Windows 7 e dai sistemi operativi più recenti. L'implementazione di VirtualBox attualmente supporta orologi paravirtualizzati, rapporti sulla frequenza APIC, debug degli ospiti, rapporti sugli arresti degli ospiti e controlli timer rilassati. Questo provider è consigliato per gli ospiti Windows.

Le altre opzioni nel menu a discesa eseguono le seguenti operazioni, come spiegato nei vboxmanagedocumenti :

  • Nessuna : se si specifica noneesplicitamente si disattiva l'esposizione di qualsiasi interfaccia di paravirtualizzazione.

  • Predefinito : L'opzione defaultsceglierà un'interfaccia appropriata a seconda del tipo di SO guest all'avvio della VM. Questa è l'opzione predefinita scelta durante la creazione di nuove macchine virtuali.

  • Legacy : l' legacyopzione è stata scelta per le VM create con versioni precedenti di VirtualBox e sceglierà un'interfaccia di paravirtualizzazione all'avvio della VM con VirtualBox 5.0 e versioni successive.


6
Testando la modalità KVM sul mio guest Ubuntu (usando OSX come host), ci sono stati diversi problemi relativi al tempo, incluso l'orologio che corre circa due volte più lento. (Impostarei l'ora usando ntp e in 10 minuti l'orologio subirebbe un ritardo di circa 5 minuti). Il sistema eseguiva effettivamente tutto più lentamente, ad es. Chiamare "sleep 5" avrebbe richiesto più di 5 secondi. Attualmente sono tornato in modalità "Legacy"
JBernardo il

@JBernardo Hai provato la modalità predefinita ?
Léo Léopold Hertz

@ LéoLéopoldHertz mode La modalità Default non sarebbe la stessa della KVM che hanno già provato?
endolith

@JBernardo Normalmente non dovrebbe usare ntp all'interno di una VM poiché è sincronizzato con l'host dalle utility guest. Potrebbe interferire.
Bachsau,

9

Siamo più precisi, perché avevo 4.3 VM migrate, e quelle sono "legacy", inoltre ero interessato a quale impostazione usare, se copio VM da Linux a Windows o viceversa:

--paravirtprovider none | default | legacy | minimal | hyperv | kvm: questa impostazione specifica quale interfaccia di paravirtualizzazione fornire al sistema operativo guest.

  • Se non si specifica nessuno, viene esplicitamente disattivata l'esposizione di qualsiasi interfaccia di paravirtualizzazione.
  • L'opzione predefinita , sceglierà un'interfaccia appropriata a seconda del tipo di sistema operativo guest all'avvio della VM. Questa è l'opzione predefinita scelta durante la creazione di nuove macchine virtuali.
  • L' opzione legacy viene scelta per le macchine virtuali che sono state create con versioni precedenti di VirtualBox e sceglierà un'interfaccia di paravirtualizzazione all'avvio della macchina virtuale con VirtualBox 5.0 e versioni successive.
  • Il provider minimo è obbligatorio per gli ospiti di Mac OS X ,
  • kvm : consigliato per i guest Linux
  • e hyperv : consigliato per gli ospiti Windows

Queste opzioni sono spiegate in dettaglio nella Sezione 10.4, " Fornitori di paravirtualizzazione ".

Dal manuale capitolo 8 .

Quindi, se hai aggiornato VirtualBox alla versione 5 in Linux, seleziona kvm o default , avvia VM e verifica che funzioni correttamente. Se sì, lascia una nuova impostazione.

Se stai migrando / spostando VM da Linux a Windows, ti consiglio di avere un'opzione predefinita , che rende la selezione automatica della migliore interfaccia di virtualizzazione.


0

Solo pochi centesimi, in base ai miei test.

Avevo provato con un guest Windows 10, in esecuzione su un host Windows 10 e su un host Linux (o almeno ci avevo provato).

Per non parlare del fatto che tutti i dischi virtuali che utilizzo sono immutabili (per garantire test identici).

Sull'host di Windows 10, il guest funziona normalmente (forse un po 'lento) ma si avvia e viene mostrato il desktop ... la paravirtualizzazione è "predefinita".

Se provo la stessa macchina virtuale su un host Linux con paravirtualizzazione "predefinita", l'ospite di Windows 10 non si avvia, si avvia fino a quando i punti si muovono in un cerchio, quindi dopo un po 'si blocca ... non c'è modo di accedere al login, né al desktop. .. ricorda che tutti i dischi sono immutabili.

Ma non appena imposto la paravirtualizzazione su "Heredada" (è in spagnolo) si avvia e raggiunge il desktop, ma a volte (ricorda che tutti i dischi non sono modificabili) si riavvia, mentre altre volte posso usarlo (molto, molto lentamente) .. quindi ci deve essere una gara contesa da qualche parte, peccato con dischi immutabili che non fa sempre lo stesso.

Ah, a proposito, l'ospite di Windows non ha accesso a Internet per essere sicuro che nessuna connessione a Internet possa far funzionare le cose diversamente tra i cold boot.

Ricorda:

  • Tutti i dischi sono immutabili
  • Tutti vengono ripristinati ad ogni avvio a freddo
  • Il guest Windows non funziona sempre
  • Con la paravirtualizzazione su "default" non si avvia nemmeno sull'host Linux, ma si avvia bene sull'host Windows.
  • Con la paravirtualizzazione su "Heredada" si avvia sull'host Linux (ma non è sempre stabile lasciarti usare)

Avevo anche provato ad abilitare / disabilitare 2D e 3D (anche PAE / NX) perché voglio che lo stesso guest (HDD virtuali copiati da un host all'altro) sia stabile su due host diversi; voglio anche essere in grado di copiare i dischi rigidi virtuali da un host a un altro host dopo aver effettuato qualsiasi aggiornamento (prima di eseguire un avvio a freddo, unire il disco inmutabile con il suo genitore per rendere permanenti le modifiche e non perdersi, anche usando CloneVDI); non utilizzo snapshot, ma solo dischi immutabili.

Questo è quello che avevo visto, devo fare più test con altri valori di paravirtualizzazione, nel caso in cui qualcuno funzioni meglio sull'host Linux. Non utilizzo MAC, né OS / 2, solo host Windows e host Linux (entrambi gli host sono su hardware fisico diverso).

VERSIONE: l'ospite di Windows 10 è HOME 64 bit e la versione è 1809.17763.379

Spero che questo aiuti gli altri, testare e testare e ripetere il test (meglio con i dischi non modificabili) qualsiasi combinazione di valori fino a trovare una combinazione che funzioni, sembra che sia l'unico modo per far funzionare un guest su diversi tipi di host (Windows / 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.