Aktualizace pro Intel Cloud Hypervisor 0.3 a Amazon Firecracker 0.19 napsaný v Rustu

Intel publikováno nová verze hypervizoru Cloud Hypervisor 0.3. Hypervizor je postaven na komponentách
společný projekt Rust-VMM, na kterém se kromě Intelu podílí také Alibaba, Amazon, Google a Red Hat. Rust-VMM je napsán v jazyce Rust a umožňuje vytvářet hypervizory specifické pro úkoly. Cloud Hypervisor je jedním z takových hypervizorů, který poskytuje vysokoúrovňový monitor virtuálních strojů (VMM) běžící nad KVM a optimalizovaný pro úlohy nativní cloudu. Kód projektu k dispozici licencováno pod Apache 2.0.

Cloud Hypervisor je zaměřen na provoz moderních linuxových distribucí pomocí paravirtualizovaných zařízení založených na virtio. Mezi zmiňované klíčové cíle patří: vysoká odezva, nízká spotřeba paměti, vysoký výkon, zjednodušená konfigurace a snížení možných útočných vektorů.

Podpora emulace je omezena na minimum a důraz je kladen na paravirtualizaci. V současné době jsou podporovány pouze systémy x86_64, ale plánuje se podpora AArch64. U hostujících systémů jsou aktuálně podporována pouze 64bitová sestavení Linuxu. CPU, paměť, PCI a NVDIMM se konfigurují ve fázi montáže. Je možné migrovat virtuální stroje mezi servery.

V nové verzi:

  • Pokračovaly práce na přesunu paravirtualizovaných I/O do samostatných procesů. Byla přidána možnost používat backendy pro interakci s blokovými zařízeními vhost-user-blk. Změna umožňuje ke Cloud Hypervisoru připojit bloková zařízení založená na modulu vhost-user, jako např SPDK, jako backendy pro paravirtualizované úložiště;
  • V posledním vydání byla představena podpora pro přesun síťových operací do backendů vhost-user-net, rozšířený o nový backend založený na ovladači virtuální sítě TAP. Backend je napsán v Rustu a nyní se používá v Cloud Hypervisor jako hlavní paravirtualizovaná síťová architektura;
  • Pro zvýšení efektivity a bezpečnosti komunikace mezi hostitelským prostředím a hostujícím systémem je navržena hybridní implementace soketů s adresováním AF_VSOCK (virtuální síťové sokety), pracující prostřednictvím virtio. Realizace je založena na vývoji projektu žabky, vyvinutý společností Amazon. VSOCK vám umožňuje používat standardní POSIX Sockets API pro interakci mezi aplikacemi na straně hosta a hostitele, což usnadňuje přizpůsobení běžných síťových programů pro takovou interakci a implementaci interakce několika klientských programů s jednou serverovou aplikací;
  • Poskytnuta počáteční podpora pro rozhraní API pro správu pomocí protokolu HTTP. V budoucnu toto API umožní iniciovat asynchronní operace na hostovaných systémech, jako jsou hot-pluging zdroje a migrace prostředí;
  • Přidána vrstva s implementací transportu založenou na virtio MMIO (Memory mapped virtio), kterou lze použít k vytvoření minimalistických hostujících systémů, které nevyžadují emulaci sběrnice PCI;
  • V rámci iniciativy na rozšíření podpory pro provozování vnořených hostujících systémů přidal Cloud Hypervisor možnost předávat paravirtualizovaná zařízení IOMMU prostřednictvím virtio, což zlepšuje zabezpečení vnořených a přímých předávání zařízení.
  • Poskytovaná podpora pro Ubuntu 19.10;
  • Přidána možnost spouštět hostující systémy s více než 64 GB RAM.

Navíc lze poznamenat nový problém přilehlý rozvinutý monitor virtuálního stroje žabky, také napsaný v Rustu, založený na Rust-VMM a běžící nad KVM. Firecracker je vidlička projektu CrosVM, který Google používá ke spouštění aplikací Linux и Android v systému ChromeOS. Firecracker je vyvíjen společností Amazon Web Services s cílem zlepšit výkon a efektivitu platforem AWS Lambda a AWS Fargate.

Platforma je navržena pro provoz virtuálních strojů s minimální režií a poskytuje nástroje pro vytváření a správu izolovaných prostředí a služeb vytvořených pomocí bezserverového vývojového modelu (funkce jako služba). Firecracker nabízí odlehčené virtuální stroje zvané microVM, které využívají technologie hardwarové virtualizace k zajištění úplné izolace a zároveň poskytují výkon a flexibilitu tradičních kontejnerů. Například při použití Firecrackeru nepřesáhne doba od spuštění microVM do zahájení spouštění aplikace 125 ms, což umožňuje spouštět nové virtuální stroje s intenzitou až 150 prostředí za sekundu.

Nové vydání Firecracker přidává režim provozu bez spouštění obslužného programu API („—no-api“), což omezuje prostředí pouze na nastavení pevně zakódovaná v konfiguračním souboru. Statická konfigurace je specifikována pomocí volby „--config-file“ a je definována ve formátu JSON. Z možností příkazového řádku byla také přidána podpora pro oddělovač „—“, po kterém jsou zadané příznaky předávány v řetězci bez zpracování.

Amazon, který vyvíjí Firecracker, také oznámil o poskytování sponzorství vývojářům programovacího jazyka Rust. Je třeba poznamenat, že Rust je stále více používán v projektech společnosti a vývoj na něm již byl implementován ve službách, jako je Lambda, EC2 a S3. Amazon poskytl projektu Rust infrastrukturu pro ukládání vydání a sestavení v S3, spouštění regresních testů v EC2 a údržbu webu docs.rs s dokumentací pro všechny balíčky z úložiště crates.io.

Amazon také představen program Propagační kredit AWS, kde projekty s otevřeným zdrojovým kódem mohou získat bezplatný přístup ke službám AWS, které lze použít pro ukládání zdrojů, sestavování, nepřetržitou integraci a testování. Mezi projekty, které již byly schváleny pro účast v programu, byly kromě Rust zaznamenány také AdoptOpenJDK, Maven Central, Kubernetes, Prometheus, Envoy a Julia. Příspěvky jsou přijímány z jakéhokoli open source projektu dodávaného na základě licencí schválených OSI.

Zdroj: opennet.ru

Přidat komentář