IOMMU nedir ve VM performansımı artıracak mı?


28

Anakartımın yonga seti bu özelliği destekliyor IOMMU , VM'nin Sanal donanım yerine asıl fiziksel donanımı kullanmasına izin vererek VM performansını artırdığını okudum (ama gerçekten anlamadım).

Bu gerçekten Sanal Makinede performans artışı sağlıyor mu? ve bunu yaparsa, Virtualbox’dan bundan nasıl faydalanabilirim?

Yanıtlar:


21

Uzun lafın kısası, bir IOMMU'nun size yardımcı olacağı tek yol, HW kaynaklarını doğrudan VM'ye atamaya başlamanızdır. Sadece ona sahip olmak işleri daha hızlı yapmaz.

Bu özelliğin reklamını yapan anakart / CPU'nun tam olarak ne olduğunu bilmek yardımcı olacaktır. IOMMU sisteme özgü bir IO haritalama mekanizmasıdır ve çoğu cihazla kullanılabilir.

IOMMU Intel VT-d ve AMD IOV için genel bir ad gibi ses çıkarır. Bu durumda aygıtları çoğaltabileceğinizi sanmıyorum, tüm bu süslü sanallaştırma talimatları mevcut olmadan önce PCI geçişi gibi bir şey :). SR-IOV farklıdır, çevresel birimin desteği taşıması gerekir. HW sanallaştırıldığını bilir ve HW dilimini VM'ye devredebilir . Birçok VM, bir SR-IOV cihazıyla aynı anda çok düşük ek yük ile konuşabilir.

SR-IOV'den daha hızlı olan tek şey, PCI geçişidir, ancak bu durumda sadece bir VM bu cihazı kullanabilir, hatta ana bilgisayar işletim sistemi bile kullanamaz. PCI geçidi, bir FiberChannel SAN'a eklenmesinden fayda sağlayacak yoğun bir veritabanını çalıştıran bir VM için faydalı olacaktır.

Ancak, HW'ye yaklaşmanın sınırlamaları var, VM'lerinizi örneğin canlı geçiş gerektiren dağıtımlar için daha az taşınabilir hale getiriyor. Bu hem SR-IOV hem de PCI geçidi için geçerlidir.

Varsayılan sanallaştırılmış Linux dağıtımları genellikle başlamak için oldukça hızlı olan VirtIO'yu kullanır .


Anakartımın Kullanım kılavuzundan, Chipset destekliyorsa Host donanımına bir tür fiziksel erişim sağlayabileceğini söyleyerek okudum.
Uri Herrera

Sadece Xen Wiki'yi okudum, IOMMU SR-IOV'un da yaptığını yapıyor gibi görünüyor, fakat Xen kullanmıyorum ve görünüşe göre Virtualbox bunu iyi kullanmıyor.
Uri Herrera

Hayır, çoğu bilgisayarda IOMMU yoktur. Belki de IO-APIC'i düşünüyorsunuz?
psusi

1
Aslında bu Wikipedia makalesi oldukça iyi açıklıyor: en.wikipedia.org/wiki/X86_virtualization . IOMMU desteğinin büyük kazancı, çalışma zamanında hangi cihazları geçeceğimizi değiştirebilmemiz. Çekirdek arg listesinde bir dizi aygıt belirtmek zorunda kalmadan önce ve sadece bu çevre birimleri geçit için uygun idi. IOMMU, uygun gördüğünüz cihazları yeniden eşleştirmenize izin verir. Yine bu özel erişimdir, ana makineniz kullanıyordur veya VM'lerden biri. Bu gerçekten sunucu merkezli bir özelliktir.
ppetraki

1
@UriHerrera Intel'in ve AMD'nin sanallaştırma uzantılarını da destekleyen KVM'yi kullanmanızı öneririm. Daha esnek ve VirtualBox'da bulunanlar dahil daha fazla özelliğe sahip.
Oxwivi
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.