web-dev-qa-db-ja.com

IOMMUとは何ですか?VMパフォーマンスを改善しますか?

マザーボードのチップセットはこの機能をサポートしています IOMMU 、VMをVM仮想ハードウェアの代わりに実際の物理ハードウェアを使用します。

これにより、VMのパフォーマンスが本当に向上しますか?そして、もしそれがどうすればVirtualboxにその恩恵をもたらすことができますか?.

26
Uri Herrera

要するに、IOMMUが役立つ唯一の方法は、HWリソースをVMに直接割り当て始めることです。それを持っているだけでは物事が速くなりません。

マザーボード/ CPUがこの機能を宣伝しているものを正確に知ることは役立ちます。 IOMMUはシステム固有のIOマッピングメカニズムであり、ほとんどのデバイスで使用できます。

IOMMUは、 Intel VT-d およびAMD IOVの一般的な名前のように聞こえます。この場合、デバイスを多重化できるとは思わないが、これらのすべての凝った仮想化命令が存在する前のPCIパススルーによく似ている:)。 SR-IOV は異なり、周辺機器自体がサポートを提供する必要があります。 HWは、仮想化されていることを認識しており、HWsliceをVMに委任できます。多くのVMは、非常に低いオーバーヘッドで同時にSR-IOVデバイスと通信できます。

SR-IOVよりも高速なのはPCIパススルーだけです。ただし、その場合、そのデバイスを使用できるのは1つのVMだけであり、ホストオペレーティングシステムでも使用できません。 PCIパススルーは、たとえば、FibreChannel SANに接続することでメリットが得られる強力なデータベースを実行するVMに役立ちます。

HWに近づくと制限がありますが、たとえばライブマイグレーションを必要とする展開ではVMの移植性が低下します。これは、SR-IOVとPCIパススルーの両方に適用されます。

デフォルトの仮想化されたLinux展開では、通常 VirtIO を使用します。

21
ppetraki