マシンでKVM仮想インスタンスを実行しています。 VirtualBoxをインストールしました。しかし、VirtualBox VMマシンを起動しようとすると、次のエラーが発生しました。
VERR_VMX_IN_VMX_ROOT_MODE
このエラーメッセージに基づいて検索しましたが、問題はKVMが既にインストールされていることです。
いくつかのモジュールを削除してからVirtualBoxを使用することで、それらを切り替えることができることを知っています。しかし、私の質問は、それらを同時に実行させる方法ですか?
あなたの唯一の本当のオプションは順序の問題です:
VirtualBoxマシンを起動して開く場合は、起動が完了するのを待ってからthenKVMマシンを(virt-managerまたはvirshから)動作させる必要があります正しく。反対の順序でマシンを起動すると、動作しません。
kvm
およびkvm_intel
モジュールのロードとアンロードは、VirtualBoxの要件を満たします。このためのよりスムーズなスクリプトベースの方法は、 here にあります。
EDIT:Ubuntu 13.10にアップグレードしてから、このソリューション(ブート順序)は機能しなくなったようです。 YMMV。
それらを一緒に機能させることはできません。どちらもCPUの仮想化機能にアクセスする必要がありますが、同時に複数のハイパーバイザーが使用するようには設計されていません。
try VirtualboxのVT-Xサポートを無効にして、ハードウェア仮想化を使用しないようにすることができます。仮想マシンの設定を編集し、システムタブで「vt-x/AMD-vを有効にする」チェックボックスを見つけてマークを解除します。私はそれが機能するとは約束していませんし、たとえそれができたとしても、virtualboxのソフトウェア仮想化を使用するので、VMは遅くなります。
可能であれば、ハイパーバイザーを1つだけ選択して、すべてのVMに使用することを強くお勧めします。
上記の回答ですでに述べたように、
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命令をエミュレートできるようになると予想できます!!!!!
VirtualBoxとKVMは同時に実行されません。しかしながら! VMWare Workstation willこれらのいずれかと同時に実行され、それは興味深いです。
Intel Sandy Bridge Xeonでは、VMWare WorkstationとKVMが同時に実行されます。 VMWareとVirtualBoxは同時に実行されます。 VirtualBoxとKVMが同時に実行されないだけです。
VMWareがこれを達成している場合、KVMおよびVirtualBoxでも可能な方法が必要です。たぶん、VMWareはこれを可能にする独自のIntel仕様にアクセスできますか? AMDでこれを試してみて、Intelのものかどうかを確認してください。
まあ、少なくとも今日は、VBoxとVMwareの両方がKVMと並行して実行されます。ただし、KVM以外のすべてに対してハードウェアアクセラレーションの使用を無効にする必要があります(VTを無効にし、バイナリ変換を設定します)。その後、他のハイパーバイザーはソフトウェアモードで再生され、KVMはVTファシリティのみを喜んで使用します。