„Intel Cloud Hypervisor 0.3“ ir „Amazon Firecracker 0.19“ hipervizorių atnaujinimas, parašytas Rust

Intel опубликовала nauja hipervizoriaus versija Cloud Hypervisor 0.3. Hipervizorius yra sukurtas iš komponentų
bendras projektas Rūdys-VMM, kuriame, be Intel, taip pat dalyvauja Alibaba, Amazon, Google ir Red Hat. Rust-VMM parašytas Rust kalba ir leidžia kurti konkrečioms užduotims būdingus hipervizorius. „Cloud Hypervisor“ yra vienas iš tokių hipervizorių, teikiantis aukšto lygio virtualiosios mašinos monitorių (VMM), veikiantį KVM viršuje ir optimizuotą debesies užduotims atlikti. Projekto kodas prieinama licencijuota pagal Apache 2.0.

„Cloud Hypervisor“ yra orientuota į šiuolaikinių „Linux“ paskirstymų paleidimą naudojant virtio pagrindu sukurtus paravirtualizuotus įrenginius. Tarp pagrindinių paminėtų tikslų yra šie: didelis reagavimas, mažas atminties suvartojimas, didelis našumas, supaprastinta konfigūracija ir galimų atakų vektorių sumažinimas.

Emuliacijos palaikymas yra minimalus, o dėmesys sutelkiamas į paravirtualizaciją. Šiuo metu palaikomos tik x86_64 sistemos, tačiau planuojamas AArch64 palaikymas. Svečių sistemose šiuo metu palaikomos tik 64 bitų Linux versijos. CPU, atmintis, PCI ir NVDIMM sukonfigūruojami surinkimo etape. Galima perkelti virtualias mašinas tarp serverių.

Naujoje versijoje:

  • Buvo tęsiamas darbas perkeliant paravirtualizuotą I/O į atskirus procesus. Buvo pridėta galimybė naudoti užpakalines programas, kad būtų galima sąveikauti su blokiniais įrenginiais vhost-user-blk. Pakeitimas leidžia prijungti blokinius įrenginius, pagrįstus „vhost-user“ moduliu, prie „Cloud Hypervisor“, pvz. SPDK, kaip paravirtualizuotos saugyklos užpakalinės programos;
  • Tinklo operacijų perkėlimo į pagrindines programas palaikymas, pristatytas paskutiniame leidime vhost-user-net, išplėsta su nauja galine programa, pagrįsta virtualia tinklo tvarkykle TAP. Užpakalinė programa parašyta „Rust“ kalba ir dabar naudojama „Cloud Hypervisor“ kaip pagrindinė paravirtualizuota tinklo architektūra;
  • Ryšių tarp priimančiosios aplinkos ir svečių sistemos efektyvumui ir saugumui padidinti siūlomas hibridinis lizdų su AF_VSOCK adresavimu (virtualiųjų tinklo lizdų), veikiančių per virtio, diegimas. Įgyvendinimas pagrįstas projekto raida Fejerverkas, sukurta Amazon. VSOCK leidžia naudoti standartinį POSIX Sockets API sąveikai tarp taikomųjų programų svečio ir šeimininko pusėse, todėl tokiai sąveikai lengva pritaikyti įprastas tinklo programas ir įgyvendinti kelių kliento programų sąveiką su viena serverio programa;
  • Teiktas pradinis valdymo API palaikymas naudojant HTTP protokolą. Ateityje ši API leis inicijuoti asinchronines operacijas svečių sistemose, pvz., karštojo prijungimo išteklius ir migruojančias aplinkas;
  • Pridėtas sluoksnis su transportavimo įgyvendinimu, pagrįstu virtio MMIO (Memory Mapped virtio), kuris gali būti naudojamas kuriant minimalistines svečių sistemas, kurioms nereikia PCI magistralės emuliacijos;
  • Vykdydama iniciatyvą išplėsti įdėtųjų svečių sistemų palaikymą, „Cloud Hypervisor“ pridėjo galimybę persiųsti paravirtualizuotus IOMMU įrenginius per „virtio“, o tai pagerina įdėtųjų ir tiesioginio įrenginių persiuntimo saugumą.
  • Suteiktas palaikymas Ubuntu 19.10;
  • Pridėta galimybė paleisti svečių sistemas su daugiau nei 64 GB RAM.

Be to, galima pažymėti naujas numeris gretimas išvystyta virtualios mašinos monitorius Fejerverkas, taip pat parašyta Rust, pagrįsta Rust-VMM ir veikia KVM. „Frecracker“ yra projekto šakutė CrosVM, kurį „Google“ naudoja programoms paleisti Linux и Android „ChromeOS“. „Firecracker“ kuria „Amazon Web Services“, siekdama pagerinti AWS Lambda ir AWS Fargate platformų našumą ir efektyvumą.

Platforma skirta paleisti virtualias mašinas su minimaliomis papildomomis sąnaudomis ir suteikia įrankius izoliuotoms aplinkoms ir paslaugoms, sukurtoms naudojant be serverio kūrimo modelį, kurti ir valdyti (funkcija kaip paslauga). „Firecracker“ siūlo lengvas virtualias mašinas, vadinamas „microVM“, kurios naudoja aparatinės įrangos virtualizacijos technologijas, kad užtikrintų visišką izoliaciją ir tradicinių konteinerių našumą bei lankstumą. Pavyzdžiui, naudojant „Firecracker“, laikas nuo „microVM“ paleidimo momento iki programos vykdymo pradžios neviršija 125 ms, o tai leidžia paleisti naujas virtualias mašinas, kurių intensyvumas siekia iki 150 aplinkų per sekundę.

Naujasis „Firecracker“ leidimas prideda veikimo režimą nepaleidžiant API tvarkyklės („-no-api“), apribojant aplinką tik konfigūracijos faile užkoduotais parametrais. Statinė konfigūracija nurodoma naudojant parinktį „--config-file“ ir apibrėžiama JSON formatu. Iš komandinės eilutės parinkčių taip pat buvo pridėtas skyriklio „—“ palaikymas, po kurio nurodytos vėliavėlės perduodamos grandinėje neapdorojus.

„Amazon“, kurianti „Firecracker“, taip pat paskelbė dėl rėmimo „Rust“ programavimo kalbos kūrėjams. Pažymima, kad „Rust“ vis dažniau naudojama įmonės projektuose, o jos patobulinimai jau buvo įgyvendinti tokiose paslaugose kaip „Lambda“, „EC2“ ir „S3“. „Amazon“ suteikė „Rust“ projektui infrastruktūrą, skirtą saugoti leidimus ir versijas S3, vykdyti regresijos testus EC2 ir prižiūrėti docs.rs svetainę su visų paketų iš crates.io saugyklos dokumentacija.

Amazon taip pat pristatė programa AWS reklaminis kreditas, kur atvirojo kodo projektai gali gauti nemokamą prieigą prie AWS paslaugų, kurios gali būti naudojamos išteklių saugojimui, kūrimui, nuolatiniam integravimui ir testavimui. Tarp jau patvirtintų projektų dalyvauti programoje, be „Rust“, „AdoptOpenJDK“, „Maven Central“, „Kubernetes“, „Prometheus“, „Envoy“ ir „Julia“. Pateikimai priimami iš bet kurio atvirojo kodo projekto, pateikto pagal OSI patvirtintas licencijas.

Šaltinis: opennet.ru

Добавить комментарий