NetBSD projesi yeni bir NVMM hipervizörü geliştiriyor

NetBSD Proje Geliştiricileri ilan ettiler Halihazırda deneysel NetBSD güncel dalına dahil olan ve NetBSD 9'un kararlı sürümünde sunulacak olan yeni bir hipervizörün ve ilgili sanallaştırma yığınının oluşturulması hakkında. NVMM şu anda x86_64 mimarisini desteklemekle sınırlıdır ve iki arka uç sağlar. donanım sanallaştırma mekanizmalarının etkinleştirilmesi: AMD desteğine sahip x86-SVM ve Intel CPU'lar için x86-VMX CPU sanallaştırma uzantıları. Mevcut haliyle, bir ana bilgisayar üzerinde her biri 128'ya kadar sanal işlemci çekirdeği (VCPU) ve 256 GB RAM'e kadar tahsis edilebilen 128'e kadar sanal makine çalıştırmak mümkündür.

NVMM, sistem çekirdeği düzeyinde çalışan ve donanım sanallaştırma mekanizmalarına erişimi koordine eden bir sürücü ve kullanıcı alanında çalışan bir Libnvmm yığını içerir. Çekirdek bileşenleri ile kullanıcı alanı arasındaki etkileşim IOCTL aracılığıyla gerçekleştirilir. NVMM'yi KVM gibi hipervizörlerden ayıran bir özelliği de HAXM ve Bhyve, çekirdek seviyesinde donanım sanallaştırma mekanizmaları çevresinde yalnızca gereken minimum bağlama kümesinin gerçekleştirilmesi ve tüm donanım öykünme kodunun çekirdekten kullanıcı alanına taşınmasıdır. Bu yaklaşım, yükseltilmiş ayrıcalıklarla yürütülen kod miktarını azaltmanıza ve hipervizördeki güvenlik açıklarına yönelik saldırılar durumunda tüm sistemin tehlikeye girme riskini azaltmanıza olanak tanır. Ek olarak, projenin hata ayıklama ve bulanıklaştırma testi de gözle görülür şekilde basitleştirilmiştir.

Bununla birlikte, Libnvmm'nin kendisi öykünücü işlevleri içermez, ancak yalnızca NVMM desteğini mevcut öykünücülere, örneğin QEMU'ya entegre etmenize olanak tanıyan bir API sağlar. API, sanal makine oluşturma ve başlatma, konuk sisteme bellek ayırma ve VCPU'ları ayırma gibi işlevleri kapsar. Güvenliği artırmak ve olası saldırı vektörlerini azaltmak için libnvmm yalnızca açıkça talep edilen işlevleri sağlar; varsayılan olarak karmaşık işleyiciler otomatik olarak çağrılmaz ve bunlardan kaçınılabiliyorsa hiç kullanılmayabilir. NVMM, işleri çok karmaşık hale getirmeden basit tutmaya çalışır ve işinizin mümkün olduğu kadar çok yönünü kontrol etmenize olanak tanır.

NetBSD projesi yeni bir NVMM hipervizörü geliştiriyor

NVMM'nin çekirdek düzeyindeki kısmı NetBSD çekirdeğiyle oldukça sıkı bir şekilde bütünleştirilmiştir ve konuk işletim sistemi ile ana bilgisayar ortamı arasındaki bağlam anahtarlarının sayısını azaltarak performansın iyileştirilmesine olanak tanır. Kullanıcı alanı tarafında libnvmm, ortak G/Ç işlemlerini birleştirmeye ve gereksiz sistem çağrıları yapmaktan kaçınmaya çalışır. Bellek ayırma sistemi, sistemde bellek yetersizliği durumunda konuk bellek sayfalarını takas bölümüne çıkarmanıza olanak tanıyan pmap alt sistemini temel alır. NVMM, küresel kilitlerden ve ölçeklendirmelerden arındırılmış olup, farklı konuk sanal makineleri çalıştırmak için aynı anda farklı CPU çekirdeklerini kullanmanıza olanak tanır.

Donanım sanallaştırma mekanizmalarını etkinleştirmek için NVMM'yi kullanan QEMU tabanlı bir çözüm hazırlandı. Hazırlanan yamaların QEMU ana yapısına dahil edilmesi için çalışmalar sürdürülmektedir. QEMU+NVMM kombinasyonu zaten verir AMD ve Intel işlemcili x7_8.1 sistemlerinde FreeBSD, OpenBSD, Linux, Windows XP/10/86/64 ve diğer işletim sistemlerine sahip konuk sistemlerini başarıyla çalıştırın (örneğin, uygun arka uç oluşturulduysa NVMM'nin kendisi belirli bir mimariye bağlı değildir) ARM64 sistemlerinde çalışabilecektir). NVMM'nin daha ileri uygulama alanları arasında, bireysel uygulamaların sanal alan izolasyonu da belirtilmektedir.

NetBSD projesi yeni bir NVMM hipervizörü geliştiriyor

Kaynak: opennet.ru

Yorum ekle