Ubuntuでネストされた仮想化を有効にする方法


28

私のOSでlibテストを行いたいです。したがって、KVMを実行するにはいくつかの環境が必要です。そして、ゲストマシンでKVMを実行できないことがわかりました。

virtualbox 4.2を使用していました。


それらが適切な代替品であるかどうかはわかりませんが、 ユーザーモードlinuxその他のリンク)-LXC(Linuxコンテナー)-chroot- Linuxネームスペース(カーネル3.8以降でサポート)
-ignis

回答:


34

KVMにはVT-X / AMD-Vが必要ですが、VirtualBox はVT-X / AMD-Vをゲストオペレーティングシステムに渡しません

したがって、KVMはVirtualBoxで実行できません(まだ)。バグチケット#4032を追跡してください。

VT-XおよびAMD-V(いわゆる仮想化拡張機能)は、ゲストオペレーティングシステムをCPUでネイティブに実行します。それらがなければ、仮想化ソフトウェアはソフトウェアのオペレーティングシステムのオペコードを解釈する必要があり、非常に遅いです。

今のところ、次のいずれかを行うことができます

  • 仮想化拡張機能をゲストに渡すハイパーバイザー内でKVMを実行します(VMware Workstation 8内のKVMなど)、または
  • VirtualBox内で別のハイパーバイザーを実行します(VirtualBox内のVirtualBoxなど)。ゲストはVT-X / AMD-Vを見逃すため、このオプションは非常に遅くなります。

ホストで実行する可能性はどうですか?たとえば、ゲストでテストするフォルダーを共有し、ホストでAndroidエミュレーションを実行しますか?そのパフォーマンスはどうですか?
トスカン

3
CPUがKVMをサポートしているかどうかを確認するコマンド:egrep -c "(svm|vmx)" /proc/cpuinfo。0はいいえを意味します。
Woeitg

10

Virtualboxがリリースされた(2018年12月18日)バージョン6では、ネストされた仮想化が期待されています。ただし、現時点では、Intel procではまだ使用できないようです。 https://www.virtualbox.org/wiki/Downloads

主な質問(Ubuntuでネストされた仮想化を有効にする)について-KVMモジュールはUbuntu 16以降でのネストされた仮想化をサポートしています(おそらくそれよりも低いバージョンもあります)。ホストでXENを使用するかどうかはわかりませんが、KVMでXENを確実にネストできます。


2
vboxmanage modifyvm yournestedvmname --nested-hw-virt onを使用するか、.vboxファイルのCPUセクションに<NestedHWVirt enabled = "true" />を追加することで、ネストされた仮想化を「アクティブ化」できますが、唯一の効果は、 UIの対応するチェックボックスのアクティブ化。ゲスト上のcat / proc / cpuinfo、まだvmxはありません。
ジョージブンガルゼスク
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.