Comment sélectionner l'interface de paravirtualisation dans VirtualBox?


89

Étant donné un système hôte Windows 8 (Intel Core i5) et un hôte Linux Fedora, j'aimerais déterminer le paramètre optimal pour l'interface paravirtuelle.

Les options sont

  • aucun
  • Défaut
  • Héritage
  • minimal
  • Hyper-V
  • KVM

Cette page suggère que la sélection est uniquement basée sur le système invité:

Le changement le plus important dans VirtualBox 5.0 est l’introduction de la prise en charge de la paravirtualisation, qui permet aux systèmes d’exploitation invités pris en charge (Hyper-V sous Windows et KVM sous Linux) d’accroître les performances et la précision de la gestion du temps.

Est-ce exact?

Réponses:


98

Le Manuel de VirtualBox , dans la section intitulée « Fournisseurs de paravirtualisation», explique très clairement quand il convient de les utiliser (accentuation ajoutée):

  • Minimal: annonce la présence d'un environnement virtualisé. En outre, signale la fréquence TSC et APIC au système d'exploitation invité. Ce fournisseur est obligatoire pour exécuter des invités Mac OS X.

  • KVM: présente une interface d'hyperviseur KVM Linux reconnue par les noyaux Linux à partir de la version 2.6.25. L'implémentation de VirtualBox prend actuellement en charge les horloges paravirtualisées et les spinlocks SMP. Ce fournisseur est recommandé pour les invités Linux.

  • Hyper-V: Présente une interface d'hyperviseur Microsoft Hyper-V reconnue par Windows 7 et les systèmes d'exploitation plus récents. L'implémentation de VirtualBox prend actuellement en charge les horloges paravirtualisées, le rapport de fréquence APIC, le débogage invité, le rapport d'incident invité et les vérifications assouplies du minuteur. Ce fournisseur est recommandé pour les invités Windows.

Les autres options du menu déroulant procèdent comme suit, comme expliqué dans la vboxmanagedocumentation :

  • Aucun : la spécification nonedésactive explicitement l'exposition de toute interface de paravirtualisation.

  • Valeur par défaut : l'option defaultchoisira une interface appropriée en fonction du type de système d'exploitation invité lors du démarrage de la machine virtuelle. C'est l'option par défaut choisie lors de la création de nouveaux ordinateurs virtuels.

  • Héritage : l' legacyoption est choisie pour les machines virtuelles créées avec les anciennes versions de VirtualBox et choisira une interface de paravirtualisation lors du démarrage de la machine virtuelle avec VirtualBox 5.0 et versions ultérieures.


6
Lors du test du mode KVM sur mon invité Ubuntu (sous OSX en tant qu'hôte), plusieurs problèmes liés au temps se sont produits, notamment le fait que l'horloge tourne environ deux fois plus lentement. (Je voudrais régler l'heure en utilisant NTP et dans 10 minutes, l'horloge serait d'environ 5 minutes en retard). En réalité, le système fonctionnait plus lentement. Par exemple, l'appel de "sommeil 5" prendrait beaucoup plus de 5 secondes. Actuellement, je suis de retour en mode "Legacy"
JBernardo

@JBernardo Avez-vous testé le mode par défaut ?
Léo Léopold Hertz 준영

@ LéoLéopoldHertz 준영 Le mode par défaut ne serait-il pas le même que celui du KVM déjà essayé?
endolith

@JBernardo Normalement, n'utilisez pas ntp dans une machine virtuelle, car celle-ci est synchronisée avec l'hôte par les utilitaires invités. Cela pourrait interférer.
Bachsau

9

Soyons plus précis, car j'avais des machines virtuelles migrées 4.3, et celles-ci sont "héritées". Je voulais aussi savoir quel paramètre utiliser, si je copie une machine virtuelle de Linux à Windows ou inversement:

--paravirtprovider none | default | legacy | minimal | hyperv | kvm: ce paramètre spécifie l'interface de paravirtualisation à fournir au système d'exploitation invité.

  • Spécifier aucun désactive explicitement l'exposition de toute interface de paravirtualisation.
  • L'option par défaut choisira une interface appropriée en fonction du type de système d'exploitation invité lors du démarrage de la machine virtuelle. C'est l'option par défaut choisie lors de la création de nouveaux ordinateurs virtuels.
  • L' option héritée est choisie pour les machines virtuelles créées avec les anciennes versions de VirtualBox et choisira une interface de paravirtualisation lors du démarrage de la machine virtuelle avec VirtualBox 5.0 et versions ultérieures.
  • Le fournisseur minimal est obligatoire pour les invités Mac OS X ,
  • kvm - recommandé pour les invités Linux
  • et hyperv - recommandés pour les invités Windows

Ces options sont expliquées en détail à la Section 10.4, « Fournisseurs de paravirtualisation ».

Tiré du chapitre 8 du manuel .

Donc, si vous avez mis à niveau VirtualBox vers la version 5 sous Linux, sélectionnez simplement kvm ou par défaut , démarrez VM et vérifiez si cela fonctionne correctement. Si oui, laissez simplement le nouveau paramètre.

Si vous migrez / déplacez des machines virtuelles de Linux vers Windows, je vous recommande d’avoir l’ option par défaut , qui permet la sélection automatique de la meilleure interface de virtualisation.


0

Juste mu pour cent, basé sur mes propres tests.

J'avais testé avec un invité Windows 10, fonctionnant sur un hôte Windows 10 et sur un hôte Linux (ou du moins, j'avais essayé).

Sans oublier que tous les disques virtuels que j'utilise sont immuables (pour garantir des tests identiques).

Sur l'hôte Windows 10, l'invité s'exécute normalement (peut-être un peu lentement), mais il démarre et le bureau est affiché ... la paravirtualisation est "par défaut".

Si j'essaie la même machine virtuelle sur un hôte Linux avec la paravirtualisation "par défaut", l'invité Windows 10 ne démarre pas, il démarre jusqu'à ce que les points bougent en cercle, puis après un certain temps, il se fige ... aucun moyen d'atteindre la connexion, ni le bureau. .. rappelez-vous que tous les disques sont immuables.

Mais dès que je mets la paravirtualisation sur "Heredada" (il est en espagnol), il démarre et atteint le bureau, mais parfois (rappelez-vous que tous les disques sont immuables), il redémarre, tandis que d'autres fois, je peux l'utiliser (très, très lentement). il doit donc y avoir une compétition raciale quelque part, car avec des disques immuables, il ne fait pas toujours la même chose.

Ah, au fait, l’invité Windows n’a pas accès à Internet pour s’assurer qu’aucune connexion Internet ne peut rendre les choses différentes les unes des autres.

Rappelles toi:

  • Tous les disques sont immuables
  • Tous sont retournés à chaque démarrage à froid
  • Invité Windows ne fonctionne pas toujours
  • Avec la paravirtualisation sur "default", il ne démarre même pas sur l'hôte Linux, mais démarre correctement sur l'hôte Windows.
  • Avec la paravirtualisation sur "Heredada", il démarre sur l'hôte Linux (mais il n'est pas toujours stable pour vous permettre de l'utiliser).

J'avais également essayé d'activer / désactiver les modes 2D et 3D (également PAE / NX) car je souhaitais qu'un même invité (disques durs virtuels copiés d'un hôte à l'autre) soit stable sur deux hôtes différents; Je souhaite également pouvoir copier des disques durs virtuels d'un hôte à un autre après toute mise à jour (avant de procéder à un démarrage à froid, fusionnez un disque immuable avec son parent afin de rendre les modifications permanentes et de ne pas vous perdre, c'est-à-dire avec CloneVDI); Je n'utilise pas d'instantanés, mais uniquement des disques immuables.

C’est ce que j’avais vu. Je dois faire plus de tests avec d’autres valeurs de paravirtualisation, juste au cas où l’un fonctionnerait mieux sur l’hôte Linux. Je n'utilise ni MAC, ni OS / 2, mais uniquement hôte Windows et hôte Linux (les deux hôtes sont sur un matériel physique différent).

VERSION: Invité Windows 10 est HOME 64Bits et la version est 1809.17763.379

J'espère que cela aidera les autres, test & test & retest (mieux avec des disques immuables) toute combinaison de valeurs jusqu'à trouver une combinaison qui fonctionne, il semble que ce soit le seul moyen de faire en sorte qu'un invité s'exécute sur différents types d'hôtes (Windows / Linux)! !!

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.