Intel Cloud Hypervisor 0.3 ja Amazon Firecracker 0.19 värskendus, mis on kirjutatud Rust keeles

Intel опубликовала hüpervisori uus versioon Cloud Hypervisor 0.3. Hüpervisor on üles ehitatud komponentidele
ühisprojekt Rooste-VMM, milles osalevad lisaks Intelile ka Alibaba, Amazon, Google ja Red Hat. Rust-VMM on kirjutatud Rust keeles ja võimaldab teil luua ülesandepõhiseid hüperviisoreid. Cloud Hypervisor on üks selline hüperviisor, mis pakub kõrgetasemelist virtuaalmasina monitori (VMM), mis töötab KVM-i peal ja on optimeeritud pilvepõhiste toimingute jaoks. Projekti kood saadaval litsentsitud Apache 2.0 alusel.

Cloud Hypervisor on keskendunud kaasaegsete Linuxi distributsioonide käitamisele, kasutades virtio-põhiseid paravirtualiseeritud seadmeid. Mainitud põhieesmärkide hulgas on: kõrge reageerimisvõime, väike mälutarbimine, kõrge jõudlus, lihtsustatud konfiguratsioon ja võimalike ründevektorite vähendamine.

Emulatsiooni tugi on viidud miinimumini ja keskendutakse paravirtualiseerimisele. Praegu toetatakse ainult x86_64 süsteeme, kuid plaanis on AArch64 tugi. Külalissüsteemide puhul toetatakse praegu ainult 64-bitiseid Linuxi järge. Protsessor, mälu, PCI ja NVDIMM konfigureeritakse kokkupaneku etapis. Virtuaalseid masinaid on võimalik serverite vahel migreerida.

Uues versioonis:

  • Jätkus töö paravirtualiseeritud I/O teisaldamisega eraldi protsessidesse. Plokkseadmetega suhtlemiseks on lisatud taustprogrammide kasutamise võimalus vhost-user-blk. Muudatus võimaldab ühendada Cloud Hypervisoriga vhost-user moodulil põhinevaid plokkseadmeid, nt. SPDK, paravirtualiseeritud salvestamise taustaprogrammidena;
  • Võrgutoimingute taustaprogrammidesse teisaldamise tugi, mis tutvustati viimases versioonis vhost-user-net, mida on laiendatud uue taustaprogrammiga, mis põhineb virtuaalsel võrgudraiveril TAP. Taustaprogramm on kirjutatud Rustis ja seda kasutatakse nüüd Cloud Hypervisoris peamise paravirtualiseeritud võrguarhitektuurina;
  • Hostkeskkonna ja külalissüsteemi vahelise side tõhususe ja turvalisuse suurendamiseks pakutakse välja virtio kaudu töötavate AF_VSOCK-aadressiga pesade (virtuaalsed võrgupesad) hübriidrakendus. Rakendamine põhineb projekti arengutel Paukkompvek, mille on välja töötanud Amazon. VSOCK võimaldab kasutada standardset POSIX Sockets API-t rakenduste interaktsiooniks külalise ja hosti poolel, mis muudab tavaliste võrguprogrammide selliseks interaktsiooniks kohandamise lihtsaks ja mitme klientprogrammi interaktsiooni rakendamise ühe serverirakendusega;
  • Pakkus esialgset tuge HTTP-protokolli kasutavale haldus-API-le. Tulevikus võimaldab see API-ga käivitada külaliste süsteemides asünkroonseid toiminguid, nagu ressursside hot-plugging ja migreeruvad keskkonnad;
  • Lisatud on virtio MMIO-l (Memory Mapped virtio) põhineva transpordirakendusega kiht, mille abil saab luua minimalistlikke külalissüsteeme, mis ei vaja PCI siini emuleerimist;
  • Osana algatusest laiendada pesastatud külalissüsteemide käitamise toetust, on Cloud Hypervisor lisanud võimaluse edastada paravirtualiseeritud IOMMU seadmeid virtio kaudu, mis parandab pesastatud ja seadmete otseedastuse turvalisust.
  • Pakkus tuge Ubuntu 19.10 jaoks;
  • Lisati võimalus käitada külalissüsteeme rohkem kui 64 GB muutmäluga.

Lisaks võib märkida uus number külgnevad arenenud virtuaalmasina monitor Paukkompvek, kirjutatud ka Rustis, põhineb Rust-VMM-il ja töötab KVM-i peal. Firecracker on projekti kahvel CrosVM, mida Google kasutab rakenduste käivitamiseks Linux и Android ChromeOS-is. Firecrackerit arendab Amazon Web Services, et parandada AWS Lambda ja AWS Fargate platvormide jõudlust ja tõhusust.

Platvorm on loodud virtuaalmasinate käitamiseks minimaalse üldkuluga ning pakub tööriistu isoleeritud keskkondade ja teenuste loomiseks ja haldamiseks, mis on ehitatud kasutades serverita arendusmudelit (funktsioonina teenusena). Firecracker pakub kergeid virtuaalmasinaid, mida nimetatakse microVM-ideks, mis kasutavad riistvara virtualiseerimistehnoloogiaid, et tagada täielik isolatsioon, pakkudes samal ajal traditsiooniliste konteinerite jõudlust ja paindlikkust. Näiteks Firecrackeri kasutamisel ei ületa aeg microVM-i käivitamisest kuni rakenduse täitmise alguseni 125 ms, mis võimaldab käivitada uusi virtuaalmasinaid intensiivsusega kuni 150 keskkonda sekundis.

Firecrackeri uus väljalase lisab töörežiimi ilma API töötlejat („—no-api“) käivitamata, piirates keskkonda ainult konfiguratsioonifailis kõvasti kodeeritud sätetega. Staatiline konfiguratsioon määratakse suvandi „--config-file” kaudu ja see on määratletud JSON-vormingus. Käsurea valikutest on lisatud ka eraldaja “—” tugi, mille järel määratud lipud edastatakse ahelas ilma töötlemata.

Amazon, mis arendab ka Firecrackerit kuulutas välja Rusti programmeerimiskeele arendajatele sponsorluse pakkumise kohta. Märgitakse, et Rusti kasutatakse ettevõtte projektides üha enam ja selle arendusi on juba rakendatud sellistes teenustes nagu Lambda, EC2 ja S3. Amazon on varustanud projekti Rust infrastruktuuriga, et salvestada väljalaskeid ja järge S3-s, käitada regressiooniteste EC2-s ja hooldada saiti docs.rs koos dokumentatsiooniga kõigi crates.io hoidlast pärit pakettide jaoks.

Amazon ka tutvustatud programmi AWS-i sooduskrediit, kus avatud lähtekoodiga projektid saavad tasuta juurdepääsu AWS-i teenustele, mida saab kasutada ressursside salvestamiseks, ehitamiseks, pidevaks integreerimiseks ja testimiseks. Programmis osalemiseks juba heaks kiidetud projektide hulgas märgiti lisaks Rustile AdoptOpenJDK, Maven Central, Kubernetes, Prometheus, Envoy ja Julia. Kaastööd võetakse vastu kõigist avatud lähtekoodiga projektidest, mis on tarnitud OSI poolt heaks kiidetud litsentside alusel.

Allikas: opennet.ru

Lisa kommentaar