web-dev-qa-db-fra.com

VirtualBox et KVM peuvent-ils fonctionner côte à côte?

J'ai une instance virtuelle KVM en cours d'exécution sur ma machine. J'ai installé VirtualBox; mais, lorsque j'ai essayé de démarrer la machine VirtualBox VM, l'erreur suivante s'est produite:

VERR_VMX_IN_VMX_ROOT_MODE

J'ai cherché sur la base de ce message d'erreur et le problème est que KVM est déjà installé.

Je sais que je peux basculer entre eux en supprimant certains modules puis utiliser VirtualBox. Cependant, ma question est de savoir comment les faire fonctionner simultanément.

5
Maythux

Votre seule véritable option est une question d'ordre:

Si vous démarrez et ouvrez la machine VirtualBox, attendez la fin de son démarrage et , puis démarrez la machine KVM (de virt-manager ou virsh), elle devrait fonctionner correctement. Le démarrage des machines dans l’ordre inverse ne fonctionnera pas .

Le chargement et le déchargement des modules kvm et kvm_intel satisferont aux exigences de VirtualBox. Une méthode plus fluide, basée sur un script, peut être trouvée here .

EDIT: cette solution (ordre de démarrage) ne semble plus fonctionner pour moi depuis la mise à niveau vers Ubuntu 13.10. YMMV.

7
agc93

Vous ne pouvez pas les faire travailler ensemble. Ils ont tous deux besoin d'accéder aux fonctions de virtualisation de la CPU, mais elles ne sont pas conçues pour être utilisées simultanément par plusieurs hyperviseurs.

Vous pouvez essayer désactiver le support VT-X de Virtualbox pour qu'il n'essaie pas d'utiliser la virtualisation matérielle. Modifiez les paramètres de la machine virtuelle. Dans l'onglet Système, recherchez la case à cocher "enable vt-x/AMD-v" et décochez-la. Je ne promets pas que cela fonctionnera, et même si cela fonctionne, il utilisera la virtualisation logicielle pour virtualbox afin que vos machines virtuelles soient plus lentes.

Si possible, je vous recommande fortement de ne choisir qu'un seul hyperviseur et de l'utiliser pour tous vos ordinateurs virtuels.

5
roadmr

Comme déjà dit dans les réponses ci-dessus,

Dans un environnement Linux, l’installation de Qemu/KVM, d’une station de travail VMware et de Virtualbox SUR LE MÊME HYPERVISOR est possible.

Donc, le problème IS PAS dans INSTALLATION

Une fois que tous sont installés, vous avez ceci:

lsmod | egrep 'vm[nmw]|vbox|kvm'

    vboxpci                28672  0
    vboxnetadp             28672  0
    vboxnetflt             32768  0
    vboxdrv               483328  3 vboxnetadp,vboxnetflt,vboxpci
    vmnet                  61440  13
    vmw_vsock_vmci_transport    32768  0
    vmw_vmci               81920  1 vmw_vsock_vmci_transport
    vmmon                 102400  0
    vsock                  40960  1 vmw_vsock_vmci_transport
    kvm_AMD                94208  9
    kvm                   700416  1 kvm_AMD
    irqbypass              16384  1 kvm

===

Toutes les lignes, y compris kvm -> utilisées par Qemu/KVM

Toutes les lignes, y compris vbox -> utilisées par VirtualBox

Les autres de VMware (regardez dans:

ll /lib/vmware/modules/source/

     total 5460
     -rw-r--r--. 1 root root  870400 Mar 30 20:19 vmblock.tar
     -rw-r--r--. 1 root root 1341440 Mar 30 20:20 vmci.tar
     -rw-r--r--. 1 root root 1443840 Mar 30 20:20 vmmon.tar
     -rw-r--r--. 1 root root  768000 Mar 30 20:20 vmnet.tar
     -rw-r--r--. 1 root root 1136640 Mar 30 20:20 vsock.tar

pour la source: module compilé à l'installation)

=======

ET MAINTENANT L'UTILISATION DE CECI:

AS SAID by roadmr (la deuxième réponse ci-dessus) Un seul peut utiliser Intel-VT ou AMD-V en même temps. Si vous commencez à utiliser Qemu/KVM pour une machine virtuelle 64 bits, VirtualBox à la en même temps, NE PEUT PAS faire fonctionner un ordinateur 64 bits, car VirtualBox EXIGE une accélération matérielle pour les ordinateurs virtuels 64 bits.

Pour éclaircir la réponse par David Baird ci-dessus:

Avec AMD Atlon X2 ou X4, ou AMD FX 8-core, ou avec Intel Core I5 ​​ou I7 (machines sur lesquelles je pourrais essayer),

  ==>   VirtualBox 5.2.10

n'est pas capable de fonctionner en même temps sous Linux, après que KVM a verrouillé l'accès Intel-VT ou AMD-V et la machine virtuelle supplémentaire à 64 bits !!!

tandis que

  ==>  VMware player or workstation 14.1

sera fourni, vous avez décoché l'utilisation d'Intel-VT ou AMD-V !!!

Maintenant, oubliez Qemu/KVM, et j'ai essayé de démarrer un VM 64 bits dans VirtualBox, et après un second VM 64 bits en même temps dans VMware, ou dans l'ordre inverse:

SEUL le premier est capable de fonctionner avec une configuration par défaut !!!!

Mais la désactivation de l'accélération matérielle est-elle possible, comme suggéré dans la réponse par MiGrieves ???

Dans VirtualBox-5.1:

Propriétés de la VM -> Système -> Accélération: désactivation de l'accélération matérielle. est impossible pour une machine VM 64 bits:

Par exemple, si vous décochez "Accélération matérielle", dans le menu de configuration d'une machine 64bits VM donnée, le configurateur VirtualBox proteste et réactive automatiquement "Accélération matérielle" (vérifiez-le en revenant dans le même menu. !!)

Dans VMware 14:

Machine virtuelle -> Matériel: Processeur -> vous pouvez libérer le moteur de virtualisation

ET ALORS, vos 64bits VM peuvent démarrer, même si votre fonction de processeur Intel-VT ou AMD-V est verrouillée par KVM ou par VirtualBox

Ainsi, dans la dernière version d’aujourd’hui, VMware est capable d’émuler l’instruction Ring 0 pour les machines virtuelles 64 bits, comme elle le faisait pour les machines 32 bits, il ya plus de vingt ans maintenant !!!! Et honnêtement, il est difficile de remarquer la différence de performances entre les machines VMware 64 bits VM fonctionnant avec ou sans accélération matérielle, sans référence!

===

Maintenant, nous pouvons nous attendre à ce que certains jours, kvm et VirtualBox, puissent également émuler les instructions du processeur Ring 0 pour une machine 64 bits !!!!!

1
erwan-l

VirtualBox et KVM ne fonctionneront pas en même temps. Toutefois! VMWare Workstation will s'exécute en même temps que l'un ou l'autre, et c'est intéressant.

Sur un Intel Sandy Bridge Xeon, VMWare Workstation et KVM s'exécutent simultanément. VMWare et VirtualBox s'exécuteront en même temps. C'est juste que VirtualBox et KVM ne fonctionneront pas en même temps.

Si VMWare y parvient, il doit exister un moyen que KVM et VirtualBox peuvent également. Peut-être que VMWare a accès aux spécifications propriétaires d’Intel qui rendent cela possible? J'aimerais pouvoir essayer ceci sur AMD, pour voir si c'est juste un truc d'Intel.

0
David Baird

Eh bien, la VBox et VMware fonctionneront en parallèle de KVM, du moins aujourd'hui. Cependant, vous devez désactiver l'utilisation de l'accélération matérielle (désactiver VT, mettre la traduction binaire) sur tous, à l'exception de KVM. Ensuite, les autres hyperviseurs seront lus en mode logiciel et KVM utilisera volontiers toutes les installations VT.

0
MiGrieves