Aktualizácia na hypervízory Intel Cloud Hypervisor 0.3 a Amazon Firecracker 0.19 napísané v jazyku Rust

Intel опубликовала nová verzia hypervízora Cloud Hypervisor 0.3. Hypervízor je postavený na komponentoch
spoločný projekt Rust-VMM, na ktorej sa okrem Intelu podieľajú aj Alibaba, Amazon, Google a Red Hat. Rust-VMM je napísaný v jazyku Rust a umožňuje vám vytvárať hypervízory špecifické pre úlohy. Cloud Hypervisor je jedným z takýchto hypervízorov, ktorý poskytuje vysokoúrovňový monitor virtuálneho stroja (VMM), ktorý beží nad KVM a je optimalizovaný pre úlohy natívne v cloude. Kód projektu k dispozícii licencovaný pod Apache 2.0.

Cloud Hypervisor je zameraný na prevádzku moderných linuxových distribúcií pomocou paravirtualizovaných zariadení založených na virtio. Medzi spomenuté kľúčové ciele patrí: vysoká odozva, nízka spotreba pamäte, vysoký výkon, zjednodušená konfigurácia a redukcia možných vektorov útoku.

Podpora emulácie je obmedzená na minimum a dôraz sa kladie na paravirtualizáciu. V súčasnosti sú podporované iba systémy x86_64, ale plánuje sa podpora AArch64. Pre hosťujúce systémy sú v súčasnosti podporované iba 64-bitové zostavy Linuxu. CPU, pamäť, PCI a NVDIMM sú nakonfigurované vo fáze montáže. Je možné migrovať virtuálne stroje medzi servermi.

V novej verzii:

  • Pokračovali práce na presune paravirtualizovaných I/O do samostatných procesov. Bola pridaná možnosť používať backendy na interakciu s blokovými zariadeniami vhost-user-blk. Zmena umožňuje pripojiť blokové zariadenia na báze vhost-user modulu do Cloud Hypervisor, ako napr SPDK, ako backendy pre paravirtualizované úložisko;
  • Podpora presunu sieťových operácií do backendov, predstavená v poslednom vydaní vhost-user-net, rozšírený o nový backend založený na ovládači virtuálnej siete TAP. Backend je napísaný v jazyku Rust a teraz sa používa v Cloud Hypervisor ako hlavná paravirtualizovaná sieťová architektúra;
  • Na zvýšenie efektívnosti a bezpečnosti komunikácie medzi hostiteľským prostredím a hosťujúcim systémom sa navrhuje hybridná implementácia soketov s adresovaním AF_VSOCK (virtuálne sieťové sokety), fungujúce prostredníctvom virtio. Implementácia je založená na vývoji projektu žabky, vyvinutý spoločnosťou Amazon. VSOCK vám umožňuje používať štandardné POSIX Sockets API na interakciu medzi aplikáciami na strane hosťa a hostiteľa, čo uľahčuje prispôsobenie bežných sieťových programov na takúto interakciu a implementáciu interakcie viacerých klientskych programov s jednou serverovou aplikáciou;
  • Poskytnutá počiatočná podpora pre rozhranie API na správu pomocou protokolu HTTP. V budúcnosti toto API umožní iniciovať asynchrónne operácie na hosťujúcich systémoch, ako sú napríklad hot-pluging zdroje a migrujúce prostredia;
  • Pridaná vrstva s implementáciou transportu založenou na virtio MMIO (Memory mapped virtio), ktorú možno použiť na vytvorenie minimalistických hosťujúcich systémov, ktoré nevyžadujú emuláciu zbernice PCI;
  • V rámci iniciatívy na rozšírenie podpory pre prevádzkovanie vnorených hosťujúcich systémov pridal Cloud Hypervisor možnosť preposielať paravirtualizované zariadenia IOMMU prostredníctvom virtio, čo zlepšuje bezpečnosť vnoreného a priameho preposielania zariadení.
  • Poskytnutá podpora pre Ubuntu 19.10;
  • Pridaná možnosť spúšťať hosťujúce systémy s viac ako 64 GB RAM.

Okrem toho je možné poznamenať nové číslo priľahlé vyvinuté monitor virtuálneho stroja žabky, tiež napísaný v Ruste, založený na Rust-VMM a bežiaci nad KVM. Firecracker je vidlička projektu CrosVM, ktorý Google používa na spúšťanie aplikácií Linux и Android v systéme ChromeOS. Firecracker vyvíja Amazon Web Services s cieľom zlepšiť výkon a efektivitu platforiem AWS Lambda a AWS Fargate.

Platforma je navrhnutá tak, aby prevádzkovala virtuálne stroje s minimálnou réžiou a poskytuje nástroje na vytváranie a správu izolovaných prostredí a služieb vytvorených pomocou bezserverového vývojového modelu (funkcia ako služba). Firecracker ponúka ľahké virtuálne stroje nazývané microVM, ktoré využívajú technológie hardvérovej virtualizácie na zabezpečenie úplnej izolácie a zároveň poskytujú výkon a flexibilitu tradičných kontajnerov. Napríklad pri používaní Firecracker čas od spustenia microVM do spustenia aplikácie nepresiahne 125 ms, čo umožňuje spúšťať nové virtuálne stroje s intenzitou až 150 prostredí za sekundu.

Nové vydanie Firecracker pridáva režim prevádzky bez spustenia obslužného programu API („—no-api“), čo obmedzuje prostredie iba na nastavenia pevne zakódované v konfiguračnom súbore. Statická konfigurácia sa zadáva cez voľbu „--config-file“ a je definovaná vo formáte JSON. Z možností príkazového riadku bola pridaná aj podpora pre oddeľovač „-“, pričom zadané príznaky sa prenesú do reťazca bez spracovania.

Amazon, ktorý vyvíja Firecracker, tiež oznámila, o poskytovaní sponzorstva vývojárom programovacieho jazyka Rust. Je potrebné poznamenať, že hrdza sa čoraz viac používa v projektoch spoločnosti a vývoj na nej už bol implementovaný v službách ako Lambda, EC2 a S3. Amazon poskytol projektu Rust infraštruktúru na ukladanie vydaní a zostavení v S3, spúšťanie regresných testov v EC2 a udržiavanie stránky docs.rs s dokumentáciou pre všetky balíky z úložiska crates.io.

Amazon tiež predložené program Propagačný kredit AWS, kde projekty s otvoreným zdrojovým kódom môžu získať bezplatný prístup k službám AWS, ktoré možno použiť na ukladanie zdrojov, zostavovanie, nepretržitú integráciu a testovanie. Medzi projektmi, ktoré už boli schválené na účasť v programe, boli okrem Rust zaznamenané aj AdoptOpenJDK, Maven Central, Kubernetes, Prometheus, Envoy a Julia. Príspevky sú akceptované z akéhokoľvek open source projektu dodávaného na základe licencií schválených OSI.

Zdroj: opennet.ru

Pridať komentár