Rust tilida yozilgan Intel Cloud Hypervisor 0.3 va Amazon Firecracker 0.19 gipervisorlarini yangilang

Intel e'lon qilindi hypervisor yangi versiyasi Cloud Hypervisor 0.3. Gipervisor komponentlar asosida qurilgan
qo'shma loyiha Rust-VMM, unda Inteldan tashqari, Alibaba, Amazon, Google va Red Hat ham ishtirok etadi. Rust-VMM Rust tilida yozilgan bo'lib, sizga topshiriq uchun maxsus gipervizorlarni yaratish imkonini beradi. Cloud Hypervisor - bu KVM tepasida ishlaydigan va bulutdagi mahalliy vazifalar uchun optimallashtirilgan yuqori darajadagi virtual mashina monitorini (VMM) ta'minlaydigan shunday gipervizorlardan biridir. Loyiha kodi mavjud Apache 2.0 ostida litsenziyalangan.

Cloud Hypervisor virtio-asosidagi paravirtuallashtirilgan qurilmalar yordamida zamonaviy Linux distributivlarini ishga tushirishga qaratilgan. Qayd etilgan asosiy maqsadlar qatoriga quyidagilar kiradi: yuqori sezgirlik, past xotira iste'moli, yuqori ishlash, soddalashtirilgan konfiguratsiya va mumkin bo'lgan hujum vektorlarini kamaytirish.

Emulyatsiyani qo'llab-quvvatlash minimal darajada saqlanadi va asosiy e'tibor paravirtualizatsiyaga qaratilgan. Hozirda faqat x86_64 tizimlari qo'llab-quvvatlanadi, ammo AArch64 qo'llab-quvvatlashi rejalashtirilgan. Mehmon tizimlari uchun hozirda Linuxning faqat 64-bitli tuzilmalari qo'llab-quvvatlanadi. Protsessor, xotira, PCI va NVDIMM yig'ish bosqichida sozlangan. Serverlar o'rtasida virtual mashinalarni ko'chirish mumkin.

Yangi versiyada:

  • Paravirtuallashtirilgan kiritish-chiqarishni alohida jarayonlarga o'tkazish bo'yicha ishlar davom ettirildi. Blok qurilmalari bilan o‘zaro aloqada bo‘lish uchun backendlardan foydalanish imkoniyati qo‘shildi vhost-user-blk. O'zgartirish vhost-foydalanuvchi moduliga asoslangan blokli qurilmalarni Cloud Hypervisor-ga ulash imkonini beradi, masalan SPDK, paravirtuallashtirilgan saqlash uchun backends sifatida;
  • Oxirgi versiyada kiritilgan tarmoq operatsiyalarini backendlarga ko'chirishni qo'llab-quvvatlash vhost-user-net, virtual tarmoq drayveriga asoslangan yangi backend bilan kengaytirildi tAP. Backend Rust-da yozilgan va endi Cloud Hypervisor-da asosiy paravirtuallashtirilgan tarmoq arxitekturasi sifatida foydalaniladi;
  • Xost muhiti va mehmon tizimi o'rtasidagi aloqa samaradorligi va xavfsizligini oshirish uchun virtio orqali ishlaydigan AF_VSOCK manzilli rozetkalarni (virtual tarmoq rozetkalari) gibrid amalga oshirish taklif etiladi. Amalga oshirish loyiha ishlanmalariga asoslanadi Firecracker, Amazon tomonidan ishlab chiqilgan. VSOCK mehmon va xost tomonidagi ilovalar oʻrtasida oʻzaro aloqada boʻlish uchun standart POSIX Sockets API-dan foydalanish imkonini beradi, bu esa oddiy tarmoq dasturlarini bunday oʻzaro taʼsirga moslashtirish va bir nechta mijoz dasturlarini bitta server ilovasi bilan oʻzaro aloqasini amalga oshirishni osonlashtiradi;
  • HTTP protokoli yordamida boshqaruv API uchun dastlabki yordam ko'rsatildi. Kelajakda ushbu API mehmon tizimlarida, masalan, issiq ulanish manbalari va ko'chish muhitlari kabi asinxron operatsiyalarni boshlash imkonini beradi;
  • PCI avtobus emulyatsiyasini talab qilmaydigan minimalistik mehmon tizimlarini yaratish uchun ishlatilishi mumkin bo'lgan virtio MMIO (Memory mapped virtio) asosida transportni amalga oshirishga ega qatlam qo'shildi;
  • Ichki o'rnatilgan mehmon tizimlarini qo'llab-quvvatlashni kengaytirish tashabbusi doirasida Cloud Hypervisor paravirtuallashtirilgan IOMMU qurilmalarini virtio orqali yo'naltirish qobiliyatini qo'shdi, bu esa qurilmalarning o'rnatilgan va to'g'ridan-to'g'ri yo'naltirilishi xavfsizligini yaxshilaydi.
  • Ubuntu 19.10 uchun yordam ko'rsatilgan;
  • 64 Gb dan ortiq operativ xotira bilan mehmon tizimlarini ishga tushirish imkoniyati qo‘shildi.

Bundan tashqari, buni ta'kidlash mumkin yangi nashr qo'shni rivojlangan virtual mashina monitori Firecracker, shuningdek Rust-da yozilgan, Rust-VMM asosida va KVM tepasida ishlaydi. Firecracker - bu loyihaning vilkalari CrosVM, Google tomonidan ilovalarni ishga tushirish uchun foydalaniladi Linux и Android ChromeOS'da. Firecracker AWS Lambda va AWS Fargate platformalarining ishlashi va samaradorligini oshirish uchun Amazon Web Services tomonidan ishlab chiqilmoqda.

Platforma virtual mashinalarni minimal yuk bilan ishlatish uchun mo'ljallangan va serversiz ishlab chiqish modeli (xizmat sifatida funktsiya) yordamida qurilgan izolyatsiyalangan muhit va xizmatlarni yaratish va boshqarish vositalarini taqdim etadi. Firecracker an'anaviy konteynerlarning ishlashi va moslashuvchanligini ta'minlashda to'liq izolyatsiyani ta'minlash uchun apparat virtualizatsiya texnologiyalaridan foydalanadigan microVM deb nomlangan engil virtual mashinalarni taklif etadi. Misol uchun, Firecracker-dan foydalanganda, microVM ishga tushirilgan paytdan boshlab dasturni bajarish boshlanishigacha bo'lgan vaqt 125 ms dan oshmaydi, bu sizga sekundiga 150 muhitgacha intensivlikdagi yangi virtual mashinalarni ishga tushirish imkonini beradi.

Firecracker-ning yangi versiyasi API ishlov beruvchisini (“—no-api”) ishga tushirmasdan ishlash rejimini qo'shib, muhitni faqat konfiguratsiya faylida qattiq kodlangan sozlamalar bilan cheklaydi. Statik konfiguratsiya “--config-file” opsiyasi orqali belgilanadi va JSON formatida aniqlanadi. Buyruqlar qatori opsiyalaridan "—" ajratgichni qo'llab-quvvatlash ham qo'shildi, shundan so'ng belgilangan bayroqlar qayta ishlanmasdan zanjir bo'ylab uzatiladi.

Firecracker-ni ishlab chiqadigan Amazon ham e'lon qildi Rust dasturlash tilini ishlab chiquvchilarga homiylik ko'rsatish bo'yicha. Ta'kidlanishicha, Rust kompaniyaning loyihalarida tobora ko'proq foydalanilmoqda va u bo'yicha ishlanmalar allaqachon Lambda, EC2 va S3 kabi xizmatlarda joriy etilgan. Amazon Rust loyihasini S3-da relizlar va tuzilmalarni saqlash, EC2-da regressiya testlarini o'tkazish va crates.io omboridagi barcha paketlar uchun hujjatlar bilan docs.rs saytini saqlash uchun infratuzilma bilan ta'minladi.

Amazon ham tanishtirdi dasturi AWS reklama krediti, bu erda ochiq kodli loyihalar resurslarni saqlash, qurish, uzluksiz integratsiya va sinovdan o'tkazish uchun ishlatilishi mumkin bo'lgan AWS xizmatlaridan bepul foydalanishi mumkin. Dasturda ishtirok etish uchun allaqachon tasdiqlangan loyihalar orasida Rustdan tashqari, AdoptOpenJDK, Maven Central, Kubernetes, Prometey, Elchi va Yuliya qayd etildi. Taqdimotlar OSI tomonidan tasdiqlangan litsenziyalar ostida taqdim etilgan har qanday ochiq kodli loyihadan qabul qilinadi.

Manba: opennet.ru

a Izoh qo'shish