Jardines de Viveros XCP-NG projesinin geliştiricileri açıklandı Son zamanlarda ismiyle yeni bir proje üzerinde çalışıyorlar. «PV-IOMMU» ve bu, konuk sistemlerin, Xen ortamında parasanallaştırma yoluyla uygulanan IOMMU'nun sınırlı işlevlerine erişmesine olanak tanır.
Temel olarak PV-IOMMU Dom0'ın parasanallaştırılmış bir IOMMU kullanmasını sağlamayı vaat ediyorDom0 için DMA koruması ve Linux VFIO desteği gibi çeşitli avantajlar sunan.
IOMMU nedir?
Üreticiye bağlı olarak farklı isimlerle bilinen IOMMU (diğerlerinin yanı sıra Intel'de VT-d, AMD'de AMD-Vi, ARM'de SMMU), Uygulanan özel bir cihazdır kimin asıl işlevi DMA isteklerini tercüme edin veya filtreleyin (Doğrudan Bellek Erişimi) cihazlardan makinenin fiziksel belleğine. Sanallaştırmada konuk sistemlerin Ethernet bağdaştırıcıları, grafik kartları ve depolama denetleyicileri gibi çevresel aygıtlara doğrudan erişmesine olanak sağlamak için kullanılır.
IOMMU paraviralizasyonuyla ne gibi faydalar elde edilir?
Önceden, Xen hipervizörü erişimi yeniden yönlendirmek için IOMMU'yu kullandı PCI cihazlarının ve bu cihazların belleğe erişiminin kontrol edilmesi. Fakat, İstikrar ve güvenlik nedeniyle konuklar IOMMU bloğuna doğrudan erişemedi donanım tarafından sağlanır.
Basitçe PV-IOMMU olarak adlandırılan yeni bir parasanallaştırılmış IOMMU sunuyoruz. Temel olarak misafirin bir IOMMU'dan beklediği özellikleri, donanımın tüm dahili ayrıntılarını soyutlayarak uygular. Xen'de, bu tür işlemler için konuğun (izin veriliyorsa) kullanabileceği çeşitli IOMMU işlemleri sağlayan yeni bir hiper çağrı (HYPERVISOR_iommu_op) ekledik.
Buna rağmen Konuğa bir arayüz sunmak mümkün oldu IOMMU'ya erişmenize izin vermek için, basitleştirilmiş bir Xen paravirtualized altyapısının kullanılması, düşük seviyeli donanım ayrıntılarını gizlerken. PV-IOMMU adı verilen bu arayüz, donanımın tüm dahili ayrıntılarını özetler ve izin verildiği takdirde misafirin erişebileceği bir dizi IOMMU işlemi sağlar. PV-IOMMU'daki işlemler, HYPERVISOR_iommu_op hiper çağrısında alt işlemler olarak gösterilir ve konuk için uygun olacak şekilde tasarlanmıştır.
Ana bilgisayarın bir IOMMU'dan beklediği ana özelliklerden biri, bellek bağlamını oluşturan ve bir aygıta (veya birden fazla aygıta) uygulanabilen bir dizi çeviri olan "IOMMU Etki Alanlarını" oluşturma ve değiştirme yeteneğidir. Bu etki alanlarına, sanal makineler olan Xen etki alanlarıyla karışıklığı önlemek için Xen'de "IOMMU Bağlamları" adı verilir.
IOMMU parasanallaştırmanın öne çıkan farklı faydaları arasında şunlar yer almaktadır:
- Dom0 için DMA koruması: IOMMU paravirtualization, sanallaştırma ortamlarında yönetim etki alanı (Dom0) için doğrudan bellek erişimi (DMA) koruması sağlar. Bu, Dom0'ın bütünlüğünü tehlikeye atabilecek cihazların sistem belleğine doğrudan erişmesini önleyerek sistem güvenliğinin ve kararlılığının iyileştirilmesine yardımcı olur.
- Linux VFIO Desteği: IOMMU paravirtualization, sanallaştırma ortamlarındaki kullanıcı cihazları (VFIO) için sanallaştırılmış esnek I/O altyapısı desteğini kolaylaştırarak kullanıcı uygulamalarının ve sanal makinelerin donanım cihazlarına doğrudan erişmesine olanak tanır.
- Xen ile SPDK'nın uygulanmasını kolaylaştırır: IOMMU parasanallaştırma aynı zamanda SPDK'yı Xen ile desteklemeye yönelik devam eden çabaların bir parçasıdır. Bu, sanallaştırılmış ortamlarda depolama performansını potansiyel olarak artırabilecek sanal makine depolaması için yeni bir hızlı veri yolunun kapısını açar.
Buna ek olarak, ayrıca Xen'in sorunlarından birinin IOMMU ile çözülmesi planlanıyorşu andan itibarenveya tek bir Xen etki alanında birden fazla IOMMU bağlamının varlığına izin verir. Bununla birlikte, birden fazla IOMMU bağlamını hesaba katacak ve mevcut özellikleri bunlardan faydalanacak şekilde değiştirecek şekilde Xen IOMMU alt sisteminin yeniden tasarlanması düşünülmektedir. Her ne kadar ilk yaklaşımı uygulayan işlevsel bir PoC, belirli sınırlamalar ve eksik destekle uygulanmış olsa da, gelecek için alt sistemin tamamen yeniden tasarlanması üzerinde çalışıldığından bahsediliyor.
Son olarak belirtilmelidir ki Mevcut geliştirme aşamasında PV-IOMMU yalnızca Intel VT-d'yi desteklerancak AMD-Vi ve SMMUv3 desteğinin yakında eklenmesi planlanıyor. Bu konuda daha fazla bilgi edinmek istiyorsanız, ayrıntılara başvurabilirsiniz. aşağıdaki bağlantı.