Uppdatering till Intel Cloud Hypervisor 0.3 och Amazon Firecracker 0.19 hypervisorer skrivna i Rust

Intel опубликовала ny version av hypervisor Cloud Hypervisor 0.3. Hypervisorn är byggd på komponenter
samarbetsprojekt Rust-VMM, där förutom Intel även Alibaba, Amazon, Google och Red Hat deltar. Rust-VMM är skrivet på språket Rust och låter dig skapa uppgiftsspecifika hypervisorer. Cloud Hypervisor är en sådan hypervisor som tillhandahåller en virtuell maskinövervakare på hög nivå (VMM) som körs ovanpå KVM och är optimerad för molnbaserade uppgifter. Projektkod tillgängliga licensierad under Apache 2.0.

Cloud Hypervisor är inriktat på att köra moderna Linux-distributioner med virtiobaserade paravirtualiserade enheter. Bland de viktigaste målen som nämns är: hög respons, låg minnesförbrukning, hög prestanda, förenklad konfiguration och minskning av möjliga attackvektorer.

Emuleringsstödet hålls till ett minimum och fokus ligger på paravirtualisering. För närvarande stöds endast x86_64-system, men AArch64-stöd är planerat. För gästsystem stöds för närvarande endast 64-bitars versioner av Linux. CPU, minne, PCI och NVDIMM konfigureras vid monteringsstadiet. Det är möjligt att migrera virtuella maskiner mellan servrar.

I den nya versionen:

  • Arbetet fortsatte med att flytta paravirtualiserad I/O till separata processer. Möjligheten att använda backends har lagts till för att interagera med blockenheter vhost-user-blk. Ändringen gör att du kan ansluta blockenheter baserade på vhost-användarmodulen till Cloud Hypervisor, som t.ex SPDK, som backends för paravirtualiserad lagring;
  • Stöd för att flytta nätverksoperationer till backends, introducerades i den senaste utgåvan vhost-user-net, utökat med en ny backend baserad på en virtuell nätverksdrivrutin KLAPP. Backend är skrivet i Rust och används nu i Cloud Hypervisor som den huvudsakliga para-virtualiserade nätverksarkitekturen;
  • För att öka effektiviteten och säkerheten i kommunikationen mellan värdmiljön och gästsystemet, föreslås en hybridimplementering av sockets med AF_VSOCK-adressering (virtuella nätverkssockets), som fungerar genom virtio. Genomförandet baseras på projektets utveckling Smällare, utvecklad av Amazon. VSOCK låter dig använda standard POSIX Sockets API för interaktion mellan applikationer på gäst- och värdsidan, vilket gör det enkelt att anpassa vanliga nätverksprogram för sådan interaktion och implementera interaktionen av flera klientprogram med en serverapplikation;
  • Tillhandahöll initialt stöd för administrations-API:et med hjälp av HTTP-protokollet. I framtiden kommer detta API att göra det möjligt att initiera asynkrona operationer på gästsystem, såsom hot-plugging-resurser och migreringsmiljöer;
  • Lade till ett lager med en transportimplementering baserad på virtio MMIO (Memory mapped virtio), som kan användas för att skapa minimalistiska gästsystem som inte kräver PCI-bussemulering;
  • Som en del av initiativet för att utöka stödet för att köra kapslade gästsystem har Cloud Hypervisor lagt till möjligheten att vidarebefordra paravirtualiserade IOMMU-enheter genom virtio, vilket förbättrar säkerheten för kapslade och direkt vidarebefordran av enheter.
  • Tillhandahöll stöd för Ubuntu 19.10;
  • Lade till möjligheten att köra gästsystem med mer än 64 GB RAM.

Dessutom kan det noteras nya utgåvan intilliggande tagit fram virtuell maskinövervakare Smällare, även skrivet i Rust, baserat på Rust-VMM och körs ovanpå KVM. Smällare är en gaffel i projektet CrosVM, som används av Google för att starta applikationer Linux и Android i ChromeOS. Firecracker utvecklas av Amazon Web Services för att förbättra prestanda och effektivitet hos AWS Lambda och AWS Fargate-plattformarna.

Plattformen är designad för att köra virtuella maskiner med minimal overhead och tillhandahåller verktyg för att skapa och hantera isolerade miljöer och tjänster byggda med hjälp av en serverlös utvecklingsmodell (function as a service). Firecracker erbjuder lätta virtuella maskiner, kallade microVMs, som använder hårdvaruvirtualiseringstekniker för att ge fullständig isolering samtidigt som de levererar prestanda och flexibilitet hos traditionella behållare. Till exempel, när du använder Firecracker, överstiger inte tiden från det ögonblick microVM startas till start av applikationskörning 125ms, vilket gör att du kan starta nya virtuella maskiner med en intensitet på upp till 150 miljöer per sekund.

Den nya versionen av Firecracker lägger till ett driftläge utan att starta API-hanteraren ("—no-api"), vilket begränsar miljön endast till inställningarna som är hårdkodade i konfigurationsfilen. Den statiska konfigurationen specificeras via alternativet "--config-file" och definieras i JSON-format. Från kommandoradsalternativen har även stöd för "—"-separatorn lagts till, varefter de angivna flaggorna skickas längs kedjan utan bearbetning.

Amazon, som utvecklar Firecracker, också tillkännagav om att tillhandahålla sponsring till utvecklarna av programmeringsspråket Rust. Det noteras att Rust används i allt större utsträckning i företagets projekt och utvecklingen av den har redan implementerats i tjänster som Lambda, EC2 och S3. Amazon har försett Rust-projektet med infrastrukturen för att lagra utgåvor och builds i S3, köra regressionstester i EC2 och underhålla en docs.rs-webbplats med dokumentation för alla paket från crates.io-förvaret.

Amazon också lämnats programmet AWS reklamkredit, där projekt med öppen källkod kan få gratis tillgång till AWS-tjänster som kan användas för resurslagring, byggande, kontinuerlig integration och testning. Bland de projekt som redan godkänts för deltagande i programmet, förutom Rust, noterades AdoptOpenJDK, Maven Central, Kubernetes, Prometheus, Envoy och Julia. Bidrag accepteras från alla open source-projekt som levereras under OSI-godkända licenser.

Källa: opennet.ru

Lägg en kommentar