Pembaruan untuk Intel Cloud Hypervisor 0.3 dan Amazon Firecracker 0.19 ditulis dalam Rust

Intel ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»Π° versi baru dari hypervisor Cloud Hypervisor 0.3. Hypervisor dibangun di atas komponen
proyek bersama Karat-VMM, di mana selain Intel, Alibaba, Amazon, Google dan Red Hat juga berpartisipasi. Rust-VMM ditulis dalam bahasa Rust dan memungkinkan Anda membuat hypervisor khusus tugas. Cloud Hypervisor adalah salah satu hypervisor yang menyediakan monitor mesin virtual (VMM) tingkat tinggi yang berjalan di atas KVM dan dioptimalkan untuk tugas-tugas cloud-native. Kode proyek tersedia berlisensi di bawah Apache 2.0.

Cloud Hypervisor difokuskan untuk menjalankan distribusi Linux modern menggunakan perangkat paravirtualisasi berbasis virtio. Di antara tujuan utama yang disebutkan adalah: daya tanggap yang tinggi, konsumsi memori yang rendah, kinerja tinggi, konfigurasi yang disederhanakan, dan pengurangan kemungkinan vektor serangan.

Dukungan emulasi dijaga agar tetap minimum dan fokusnya adalah pada paravirtualisasi. Saat ini hanya sistem x86_64 yang didukung, tetapi dukungan AArch64 direncanakan. Untuk sistem tamu, saat ini hanya Linux versi 64-bit yang didukung. CPU, memori, PCI dan NVDIMM dikonfigurasi pada tahap perakitan. Dimungkinkan untuk memigrasikan mesin virtual antar server.

ΠΎΠ²ΠΎΠΉ Срсии:

  • Pekerjaan dilanjutkan untuk memindahkan I/O yang diparavirtualisasi ke proses terpisah. Kemampuan untuk menggunakan backend telah ditambahkan untuk berinteraksi dengan perangkat blok vhost-pengguna-blk. Perubahan ini memungkinkan Anda menghubungkan perangkat blok berdasarkan modul vhost-user ke Cloud Hypervisor, seperti SPDK, sebagai backend untuk penyimpanan paravirtualisasi;
  • Dukungan untuk memindahkan operasi jaringan ke backend, diperkenalkan pada rilis terakhir vhost-user-net, diperluas dengan backend baru berdasarkan driver jaringan virtual TAP. Backendnya ditulis dalam Rust dan sekarang digunakan di Cloud Hypervisor sebagai arsitektur jaringan para-virtual utama;
  • Untuk meningkatkan efisiensi dan keamanan komunikasi antara lingkungan host dan sistem tamu, diusulkan implementasi soket hybrid dengan pengalamatan AF_VSOCK (soket jaringan virtual), yang bekerja melalui virtio. Implementasinya didasarkan pada perkembangan proyek Petasan, dikembangkan oleh Amazon. VSOCK memungkinkan Anda menggunakan POSIX Sockets API standar untuk interaksi antara aplikasi di sisi tamu dan host, yang memudahkan untuk mengadaptasi program jaringan biasa untuk interaksi tersebut dan mengimplementasikan interaksi beberapa program klien dengan satu aplikasi server;
  • Memberikan dukungan awal untuk API manajemen menggunakan protokol HTTP. Di masa depan, API ini akan memungkinkan untuk memulai operasi asinkron pada sistem tamu, seperti sumber daya hot-plugging dan lingkungan migrasi;
  • Menambahkan lapisan dengan implementasi transport berdasarkan virtio MMIO (Memory mapped virtio), yang dapat digunakan untuk membuat sistem tamu minimalis yang tidak memerlukan emulasi bus PCI;
  • Sebagai bagian dari inisiatif untuk memperluas dukungan untuk menjalankan sistem tamu bersarang, Cloud Hypervisor telah menambahkan kemampuan untuk meneruskan perangkat IOMMU yang diparavirtualisasi melalui virtio, yang meningkatkan keamanan perangkat yang disarangkan dan penerusan langsung.
  • Memberikan dukungan untuk Ubuntu 19.10;
  • Menambahkan kemampuan untuk menjalankan sistem tamu dengan RAM lebih dari 64 GB.

Selain itu, dapat diperhatikan rilis baru bersebelahan dikembangkan monitor mesin virtual Petasan, juga ditulis dalam Rust, berdasarkan Rust-VMM dan berjalan di atas KVM. Petasan adalah cabang dari proyek ini CrosVM, digunakan oleh Google untuk meluncurkan aplikasi Linux ΠΈ Android di ChromeOS. Firecracker sedang dikembangkan oleh Amazon Web Services untuk meningkatkan kinerja dan efisiensi platform AWS Lambda dan AWS Fargate.

Platform ini dirancang untuk menjalankan mesin virtual dengan overhead minimal dan menyediakan alat untuk membuat dan mengelola lingkungan dan layanan terisolasi yang dibangun menggunakan model pengembangan tanpa server (berfungsi sebagai layanan). Firecracker menawarkan mesin virtual ringan, yang disebut microVM, yang menggunakan teknologi virtualisasi perangkat keras untuk menyediakan isolasi lengkap sekaligus memberikan kinerja dan fleksibilitas kontainer tradisional. Misalnya, saat menggunakan Firecracker, waktu dari saat microVM diluncurkan hingga awal eksekusi aplikasi tidak melebihi 125 md, yang memungkinkan Anda meluncurkan mesin virtual baru dengan intensitas hingga 150 lingkungan per detik.

Rilis baru Firecracker menambahkan mode operasi tanpa meluncurkan pengendali API (β€œβ€”no-api”), sehingga membatasi lingkungan hanya pada pengaturan yang dikodekan dalam file konfigurasi. Konfigurasi statis ditentukan melalui opsi β€œ--config-file” dan ditentukan dalam format JSON. Dari opsi baris perintah, dukungan untuk pemisah β€œβ€”β€ juga telah ditambahkan, flag yang ditentukan setelahnya diteruskan sepanjang rantai tanpa pemrosesan.

Amazon, yang juga mengembangkan Firecracker mengumumkan tentang memberikan sponsor kepada pengembang bahasa pemrograman Rust. Perlu dicatat bahwa Rust semakin banyak digunakan dalam proyek-proyek perusahaan dan pengembangannya telah diterapkan di layanan seperti Lambda, EC2 dan S3. Amazon telah menyediakan proyek Rust infrastruktur untuk menyimpan rilis dan build di S3, menjalankan tes regresi di EC2, dan memelihara situs docs.rs dengan dokumentasi untuk semua paket dari repositori crates.io.

Amazon juga diperkenalkan programnya Kredit Promosi AWS, di mana proyek sumber terbuka bisa mendapatkan akses gratis ke layanan AWS yang dapat digunakan untuk penyimpanan sumber daya, pembangunan, integrasi berkelanjutan, dan pengujian. Di antara proyek yang telah disetujui untuk berpartisipasi dalam program ini, selain Rust, AdoptOpenJDK, Maven Central, Kubernetes, Prometheus, Envoy, dan Julia juga dicatat. Pengajuan diterima dari proyek sumber terbuka mana pun yang dikirimkan berdasarkan lisensi yang disetujui OSI.

Sumber: opennet.ru

Tambah komentar