Posodobitev na hipervizorja Intel Cloud Hypervisor 0.3 in Amazon Firecracker 0.19, napisana v Rust

Intel objavljeno nova različica hipervizorja Hypervisor v oblaku 0.3. Hipervizor je zgrajen na komponentah
skupni projekt Rust-VMM, v katerem poleg Intela sodelujejo še Alibaba, Amazon, Google in Red Hat. Rust-VMM je napisan v jeziku Rust in vam omogoča ustvarjanje hipervizorjev, specifičnih za opravila. Cloud Hypervisor je eden takšnih hipervizorjev, ki zagotavlja nadzornik navideznega stroja na visoki ravni (VMM), ki deluje na vrhu KVM in je optimiziran za naloge, ki izvirajo iz oblaka. Koda projekta na voljo licenciran pod Apache 2.0.

Cloud Hypervisor je osredotočen na izvajanje sodobnih distribucij Linuxa z uporabo paravirtualiziranih naprav, ki temeljijo na virtu. Med ključnimi cilji so navedeni: visoka odzivnost, nizka poraba pomnilnika, visoka zmogljivost, poenostavljena konfiguracija in zmanjšanje možnih vektorjev napadov.

Podpora za emulacijo je minimalna, poudarek pa je na paravirtualizaciji. Trenutno so podprti samo sistemi x86_64, vendar je podpora za AArch64 načrtovana. Za sisteme za goste so trenutno podprte samo 64-bitne različice Linuxa. CPU, pomnilnik, PCI in NVDIMM so konfigurirani v fazi sestavljanja. Možna je selitev virtualnih strojev med strežniki.

V novi različici:

  • Nadaljevalo se je delo pri premikanju paravirtualiziranega V/I v ločene procese. Za interakcijo z blokovnimi napravami je bila dodana možnost uporabe ozadij vhost-user-blk. Sprememba omogoča povezavo blokovnih naprav, ki temeljijo na modulu vhost-user, na Cloud Hypervisor, kot je npr SPDK, kot zaledja za paravirtualizirano shranjevanje;
  • Podpora za premikanje omrežnih operacij v zaledja, predstavljena v zadnji izdaji vhost-user-net, razširjen z novim zaledjem, ki temelji na virtualnem omrežnem gonilniku TAP. Zaledje je napisano v Rustu in se zdaj uporablja v oblaku Hypervisor kot glavna para-virtualizirana omrežna arhitektura;
  • Za povečanje učinkovitosti in varnosti komunikacij med gostiteljskim okoljem in gostujočim sistemom je predlagana hibridna izvedba vtičnic z naslavljanjem AF_VSOCK (navidezne omrežne vtičnice), ki delujejo prek virtio. Izvedba temelji na razvoju projekta petarda, ki ga je razvil Amazon. VSOCK vam omogoča uporabo standardnega API-ja POSIX Sockets za interakcijo med aplikacijami na gostujoči in gostiteljski strani, kar olajša prilagoditev običajnih omrežnih programov za takšno interakcijo in implementacijo interakcije več odjemalskih programov z eno strežniško aplikacijo;
  • Zagotovljena začetna podpora za API za upravljanje z uporabo protokola HTTP. V prihodnosti bo ta API omogočil sprožitev asinhronih operacij na gostujočih sistemih, kot so viri za vročo priključitev in selitvena okolja;
  • Dodana plast s transportno implementacijo, ki temelji na virtio MMIO (Memory mapped virtio), ki se lahko uporablja za ustvarjanje minimalističnih sistemov za goste, ki ne zahtevajo emulacije vodila PCI;
  • Kot del pobude za razširitev podpore za izvajanje ugnezdenih sistemov za goste je Cloud Hypervisor dodal možnost posredovanja paravirtualiziranih naprav IOMMU prek virtia, kar izboljša varnost ugnezdenih in neposrednih posredovanj naprav.
  • Zagotovljena podpora za Ubuntu 19.10;
  • Dodana je možnost zagona sistemov za goste z več kot 64 GB RAM-a.

Poleg tega je mogoče opozoriti nova številka sosednji razviti monitor virtualnega stroja petarda, prav tako napisan v Rustu, ki temelji na Rust-VMM in deluje na vrhu KVM. Firecracker je fork projekta CrosVM, ki ga Google uporablja za zagon aplikacij Linux и Android v sistemu ChromeOS. Firecracker razvija Amazon Web Services za izboljšanje zmogljivosti in učinkovitosti platform AWS Lambda in AWS Fargate.

Platforma je zasnovana za poganjanje virtualnih strojev z minimalnimi stroški in ponuja orodja za ustvarjanje in upravljanje izoliranih okolij in storitev, zgrajenih z razvojnim modelom brez strežnika (funkcija kot storitev). Firecracker ponuja lahke virtualne stroje, imenovane microVM, ki uporabljajo tehnologije za virtualizacijo strojne opreme, da zagotovijo popolno izolacijo, hkrati pa zagotavljajo zmogljivost in prilagodljivost tradicionalnih vsebnikov. Na primer, pri uporabi Firecrackerja čas od trenutka zagona microVM do začetka izvajanja aplikacije ne presega 125 ms, kar vam omogoča zagon novih virtualnih strojev z intenzivnostjo do 150 okolij na sekundo.

Nova izdaja Firecrackerja dodaja način delovanja brez zagona upravljalnika API-ja (»—no-api«), pri čemer omeji okolje samo na nastavitve, ki so trdo kodirane v konfiguracijski datoteki. Statična konfiguracija je podana prek možnosti »--config-file« in je definirana v formatu JSON. Iz možnosti ukazne vrstice je bila dodana tudi podpora za ločilo »—«, zastavice, podane za njimi, pa se posredujejo po verigi brez obdelave.

Tudi Amazon, ki razvija Firecracker napovedal o zagotavljanju sponzorstva razvijalcem programskega jezika Rust. Opozoriti je treba, da se Rust vedno pogosteje uporablja v projektih podjetja, razvoj na njem pa je že implementiran v storitve, kot so Lambda, EC2 in S3. Amazon je projektu Rust zagotovil infrastrukturo za shranjevanje izdaj in gradenj v S3, izvajanje regresijskih testov v EC2 in vzdrževanje spletnega mesta docs.rs z dokumentacijo za vse pakete iz repozitorija crates.io.

Amazon tudi uveden program Promocijski kredit AWS, kjer lahko odprtokodni projekti dobijo brezplačen dostop do storitev AWS, ki se lahko uporabljajo za shranjevanje virov, gradnjo, stalno integracijo in testiranje. Med projekti, ki so že bili odobreni za sodelovanje v programu, so poleg Rust opazili še AdoptOpenJDK, Maven Central, Kubernetes, Prometheus, Envoy in Julia. Sprejemajo se prispevki iz katerega koli odprtokodnega projekta, dostavljenega pod licencami, ki jih je odobril OSI.

Vir: opennet.ru

Dodaj komentar