Rust'ta yazılmış Intel Cloud Hypervisor 0.3 ve Amazon Firecracker 0.19 güncellemesi

Intel yayınlanan hipervizörün yeni sürümü Bulut Hiper Yönetici 0.3. Hipervizör bileşenler üzerine kurulmuştur
ortak proje Rust-VMMIntel'in yanı sıra Alibaba, Amazon, Google ve Red Hat'in de katıldığı. Rust-VMM, Rust dilinde yazılmıştır ve göreve özel hipervizörler oluşturmanıza olanak tanır. Cloud Hypervisor, KVM üzerinde çalışan ve bulutta yerel görevler için optimize edilmiş yüksek düzeyde bir sanal makine monitörü (VMM) sağlayan böyle bir hipervizördür. Proje kodu kullanılabilir Apache 2.0 altında lisanslanmıştır.

Cloud Hypervisor, sanal tabanlı paravirtualized cihazları kullanarak modern Linux dağıtımlarını çalıştırmaya odaklanmıştır. Bahsedilen temel hedefler arasında şunlar yer almaktadır: yüksek yanıt verme, düşük bellek tüketimi, yüksek performans, basitleştirilmiş yapılandırma ve olası saldırı vektörlerinin azaltılması.

Emülasyon desteği minimumda tutulur ve paravirtualizasyona odaklanılır. Şu anda yalnızca x86_64 sistemleri desteklenmektedir ancak AArch64 desteği planlanmaktadır. Konuk sistemler için şu anda yalnızca 64 bit Linux yapıları desteklenmektedir. CPU, bellek, PCI ve NVDIMM, montaj aşamasında yapılandırılır. Sanal makinelerin sunucular arasında taşınması mümkündür.

Yeni sürümde:

  • Parasanallaştırılmış G/Ç'yi ayrı süreçlere taşımaya yönelik çalışmalar devam etti. Blok cihazlarla etkileşime geçmek için arka uçları kullanma yeteneği eklendi sanal sunucu-kullanıcı-blk. Değişiklik, sanal ana bilgisayar kullanıcı modülünü temel alan blok cihazlarını Cloud Hypervisor'a bağlamanıza olanak tanır; SPDKpara sanallaştırılmış depolama için arka uçlar olarak;
  • Son sürümde sunulan ağ operasyonlarını arka uçlara taşıma desteği sanal sunucu-kullanıcı-net, sanal ağ sürücüsünü temel alan yeni bir arka uçla genişletildi TAP. Arka uç Rust'ta yazılmıştır ve artık Cloud Hypervisor'da ana para-sanallaştırılmış ağ mimarisi olarak kullanılmaktadır;
  • Ana bilgisayar ortamı ile konuk sistem arasındaki iletişimin verimliliğini ve güvenliğini artırmak için, virtio üzerinden çalışan, AF_VSOCK adreslemeli (sanal ağ soketleri) hibrit bir soket uygulaması önerilmektedir. Uygulama, projedeki gelişmelere dayanmaktadır fişek, Amazon tarafından geliştirildi. VSOCK, konuk ve ana bilgisayar tarafındaki uygulamalar arasındaki etkileşim için standart POSIX Soket API'sini kullanmanıza olanak tanır; bu, sıradan ağ programlarını bu tür etkileşim için uyarlamayı ve birkaç istemci programının etkileşimini tek bir sunucu uygulamasıyla gerçekleştirmeyi kolaylaştırır;
  • HTTP protokolünü kullanarak yönetim API'si için ilk destek sağlandı. Gelecekte bu API, kaynakların çalışırken takılması ve ortamların taşınması gibi konuk sistemler üzerinde eşzamansız işlemlerin başlatılmasını mümkün kılacaktır;
  • PCI veri yolu emülasyonu gerektirmeyen minimalist konuk sistemleri oluşturmak için kullanılabilecek, virtio MMIO'yu (Bellek eşlemeli virtio) temel alan bir taşıma uygulamasına sahip bir katman eklendi;
  • Yuvalanmış konuk sistemlerini çalıştırmaya yönelik desteği genişletme girişiminin bir parçası olarak Cloud Hypervisor, paravirtualize edilmiş IOMMU aygıtlarını virtio aracılığıyla iletme yeteneğini ekledi; bu, aygıtların yuvalanmış ve doğrudan iletilmesinin güvenliğini artırır.
  • Ubuntu 19.10 için destek sağlandı;
  • 64 GB'tan fazla RAM'e sahip konuk sistemlerini çalıştırma yeteneği eklendi.

Ek olarak, not edilebilir Yeni sürüm bitişik gelişmiş sanal makine monitörü fişek, ayrıca Rust'ta yazılmış, Rust-VMM'yi temel alan ve KVM'nin üzerinde çalışan. Havai fişek projenin bir çatalıdır ÇaprazVMGoogle tarafından uygulamaları başlatmak için kullanılır Linux и Android ChromeOS'ta. Firecracker, AWS Lambda ve AWS Fargate platformlarının performansını ve verimliliğini artırmak için Amazon Web Services tarafından geliştirilmektedir.

Platform, sanal makineleri minimum düzeyde ek yük ile çalıştıracak şekilde tasarlanmıştır ve sunucusuz bir geliştirme modeli (hizmet olarak işlev) kullanılarak oluşturulan izole ortamlar ve hizmetler oluşturmaya ve yönetmeye yönelik araçlar sağlar. Firecracker, geleneksel konteynerlerin performansını ve esnekliğini sunarken tam izolasyon sağlamak için donanım sanallaştırma teknolojilerini kullanan, microVM adı verilen hafif sanal makineler sunar. Örneğin, Firecracker'ı kullanırken, microVM'nin başlatıldığı andan uygulama yürütmenin başlangıcına kadar geçen süre 125 ms'yi aşmaz; bu, saniyede 150 ortama kadar yoğunluğa sahip yeni sanal makineleri başlatmanıza olanak tanır.

Firecracker'ın yeni sürümü, API işleyicisini ("—no-api") başlatmadan bir çalışma modu ekleyerek ortamı yalnızca yapılandırma dosyasında sabit kodlanmış ayarlarla sınırlandırır. Statik konfigürasyon “--config-file” seçeneği aracılığıyla belirtilir ve JSON formatında tanımlanır. Komut satırı seçeneklerinden “—” ayırıcı desteği de eklendi, ardından belirtilen bayraklar işlenmeden zincir boyunca iletildi.

Firecracker'ı geliştiren Amazon da açıkladı Rust programlama dilinin geliştiricilerine sponsorluk sağlanması konusunda. Rust'un şirketin projelerinde giderek daha fazla kullanıldığı ve üzerinde yapılan geliştirmelerin halihazırda Lambda, EC2 ve S3 gibi servislerde hayata geçirildiği belirtiliyor. Amazon, Rust projesine sürümleri ve derlemeleri S3'te depolamak, EC2'de regresyon testleri yürütmek ve Crates.io deposundaki tüm paketlere ilişkin belgeleri içeren bir docs.rs sitesi sağlamak için gereken altyapıyı sağladı.

Amazon da gönderilen program AWS Promosyon KredisiAçık kaynaklı projelerin kaynak depolama, derleme, sürekli entegrasyon ve test için kullanılabilecek AWS hizmetlerine ücretsiz erişim sağlayabileceği yer. Programa katılımı halihazırda onaylanan projeler arasında Rust'un yanı sıra AdoptOpenJDK, Maven Central, Kubernetes, Prometheus, Envoy ve Julia da yer aldı. OSI onaylı lisanslar kapsamında sunulan herhangi bir açık kaynak projeden başvurular kabul edilir.

Kaynak: opennet.ru

Yorum ekle