web-dev-qa-db-ja.com

VirtualBoxとKVMは同時に実行できますか?

マシンでKVM仮想インスタンスを実行しています。 VirtualBoxをインストールしました。しかし、VirtualBox VMマシンを起動しようとすると、次のエラーが発生しました。

VERR_VMX_IN_VMX_ROOT_MODE

このエラーメッセージに基づいて検索しましたが、問題はKVMが既にインストールされていることです。

いくつかのモジュールを削除してからVirtualBoxを使用することで、それらを切り替えることができることを知っています。しかし、私の質問は、それらを同時に実行させる方法ですか?

5
Maythux

あなたの唯一の本当のオプションは順序の問題です:

VirtualBoxマシンを起動して開く場合は、起動が完了するのを待ってからthenKVMマシンを(virt-managerまたはvirshから)動作させる必要があります正しく。反対の順序でマシンを起動すると、動作しません

kvmおよびkvm_intelモジュールのロードとアンロードは、VirtualBoxの要件を満たします。このためのよりスムーズなスクリプトベースの方法は、 here にあります。

EDIT:Ubuntu 13.10にアップグレードしてから、このソリューション(ブート順序)は機能しなくなったようです。 YMMV。

7
agc93

それらを一緒に機能させることはできません。どちらもCPUの仮想化機能にアクセスする必要がありますが、同時に複数のハイパーバイザーが使用するようには設計されていません。

try VirtualboxのVT-Xサポートを無効にして、ハードウェア仮想化を使用しないようにすることができます。仮想マシンの設定を編集し、システムタブで「vt-x/AMD-vを有効にする」チェックボックスを見つけてマークを解除します。私はそれが機能するとは約束していませんし、たとえそれができたとしても、virtualboxのソフトウェア仮想化を使用するので、VMは遅くなります。

可能であれば、ハイパーバイザーを1つだけ選択して、すべてのVMに使用することを強くお勧めします。

5
roadmr

上記の回答ですでに述べたように、

Qemu/KVM、VMwareワークステーション、VirtualboxをインストールするLinux環境では、同じハイパーバイザー上が可能です。

したがって、問題ISはインストールされていません

それらのすべてがインストールされたら、これがあります:

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

===

Kvmを含むすべての行-> Qemu/KVMで使用

Vboxを含むすべての行-> VirtualBoxで使用

VMwareによるその他(以下を参照:

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

ソース:インストール時にコンパイルされたモジュール)

=======

そして今、この使用法:

AS SAID by roadmr(上記の2番目の回答)一度にIntel-VTまたはAMD-Vを使用できるのは1人だけです。64ビット仮想マシンでQemu/KVMの使用を開始する場合は、 VirtualBoxは64ビットVMのハードウェアアクセラレーションを必要とするため、同時に64ビットマシンを実行することはできません。

David Baird上記による回答についていくつかの光を与えるには:

AMD Atlon X2またはX4、またはAMD FX 8コア、またはIntel Core I5またはI7(試してみることができるマシン)

  ==>   VirtualBox 5.2.10

KVMがIntel-VTまたはAMD-Vアクセスと余分な64ビット仮想マシンをロックした後、Linux上で同時に実行することはできません!!!

しながら

  ==>  VMware player or workstation 14.1

intel-VTまたはAMD-Vの使用法のチェックを外してください。

Qemu/KVMを忘れて、VirtualBoxで64ビットVMを開始しようとし、VMwareで64ビットVMを同時に、または逆の順序で開始しようとしました。

最初のものだけがデフォルト設定で実行できます!!!!

しかし、ハードウェアアクセラレーションを無効にすることは、MiGrieves ???

VirtualBox-5.1では:

VMプロパティ->システム->加速:ハードウェアアクセラレーションを無効にします。 64ビットVMマシンでは不可能です:

たとえば、特定の64ビットVMマシンの構成メニューで「ハードウェアアクセラレーション」を確認すると、VirtualBoxコンフィギュレーターが抗議し、自動的に「ハードウェアアクセラレーション」を再度有効にします。同じメニュー!!)

VMware 14の場合:

仮想マシン->ハードウェア:プロセッサ->仮想化エンジンを起動できます

そして、Intel-VTまたはAMD-V CPU機能がVMまたはVirtualBoxによってロックされている場合でも、64ビットKVMを開始できます

したがって、今日のリリースのVMwareは、20年以上前に32ビットマシンで行っていたように、64ビット仮想マシンでリング0命令をエミュレートできます!!!!正直なところ、ベンチマークなしでハードウェアアクセラレーションを使用して、または使用せずに実行される64ビットVM VMwareマシンのパフォーマンスの違いに気付くことは困難です。

===

数日、kvmとVirtualBoxも、64ビットマシン用のリング0 CPU命令をエミュレートできるようになると予想できます!!!!!

1
erwan-l

VirtualBoxとKVMは同時に実行されません。しかしながら! VMWare Workstation willこれらのいずれかと同時に実行され、それは興味深いです。

Intel Sandy Bridge Xeonでは、VMWare WorkstationとKVMが同時に実行されます。 VMWareとVirtualBoxは同時に実行されます。 VirtualBoxとKVMが同時に実行されないだけです。

VMWareがこれを達成している場合、KVMおよびVirtualBoxでも可能な方法が必要です。たぶん、VMWareはこれを可能にする独自のIntel仕様にアクセスできますか? AMDでこれを試してみて、Intelのものかどうかを確認してください。

0
David Baird

まあ、少なくとも今日は、VBoxとVMwareの両方がKVMと並行して実行されます。ただし、KVM以外のすべてに対してハードウェアアクセラレーションの使用を無効にする必要があります(VTを無効にし、バイナリ変換を設定します)。その後、他のハイパーバイザーはソフトウェアモードで再生され、KVMはVTファシリティのみを喜んで使用します。

0
MiGrieves