Opdatering til Intel Cloud Hypervisor 0.3 og Amazon Firecracker 0.19 skrevet i Rust

Intel опубликовала ny version af hypervisor Cloud Hypervisor 0.3. Hypervisoren er bygget på komponenter
fælles projekt Rust-VMM, hvori udover Intel også Alibaba, Amazon, Google og Red Hat deltager. Rust-VMM er skrevet på Rust-sproget og giver dig mulighed for at oprette opgavespecifikke hypervisorer. Cloud Hypervisor er en sådan hypervisor, der giver en virtuel maskinemonitor på højt niveau (VMM), der kører oven på KVM og er optimeret til cloud-native opgaver. Projektkode ledig licenseret under Apache 2.0.

Cloud Hypervisor er fokuseret på at køre moderne Linux-distributioner ved hjælp af virtio-baserede paravirtualiserede enheder. Blandt de nævnte nøglemål er: høj reaktionsevne, lavt hukommelsesforbrug, høj ydeevne, forenklet konfiguration og reduktion af mulige angrebsvektorer.

Emuleringsstøtte er holdt på et minimum, og fokus er på paravirtualisering. I øjeblikket understøttes kun x86_64-systemer, men AArch64-understøttelse er planlagt. For gæstesystemer understøttes i øjeblikket kun 64-bit builds af Linux. CPU'en, hukommelsen, PCI og NVDIMM konfigureres på monteringsstadiet. Det er muligt at migrere virtuelle maskiner mellem servere.

I den nye version:

  • Arbejdet fortsatte med at flytte paravirtualiseret I/O til separate processer. Muligheden for at bruge backends er blevet tilføjet til at interagere med blokenheder vhost-bruger-blk. Ændringen giver dig mulighed for at forbinde blokenheder baseret på vhost-brugermodulet til Cloud Hypervisor, som f.eks SPDK, som backends til paravirtualiseret lagring;
  • Support til flytning af netværksoperationer til backends, introduceret i den seneste udgivelse vhost-bruger-net, udvidet med en ny backend baseret på en virtuel netværksdriver TAP. Backend er skrevet i Rust og bruges nu i Cloud Hypervisor som den vigtigste para-virtualiserede netværksarkitektur;
  • For at øge effektiviteten og sikkerheden af ​​kommunikationen mellem værtsmiljøet og gæstesystemet foreslås en hybrid implementering af sockets med AF_VSOCK-adressering (virtuelle netværkssockets), der arbejder gennem virtio. Implementeringen er baseret på projektets udvikling Firecracker, udviklet af Amazon. VSOCK giver dig mulighed for at bruge standard POSIX Sockets API til interaktion mellem applikationer på gæste- og værtssiden, hvilket gør det nemt at tilpasse almindelige netværksprogrammer til sådan interaktion og implementere interaktionen af ​​flere klientprogrammer med én serverapplikation;
  • Leverede indledende support til administrations-API'en ved hjælp af HTTP-protokollen. I fremtiden vil denne API gøre det muligt at starte asynkrone operationer på gæstesystemer, såsom hot-plugging ressourcer og migreringsmiljøer;
  • Tilføjet et lag med en transportimplementering baseret på virtio MMIO (Memory mapped virtio), som kan bruges til at skabe minimalistiske gæstesystemer, der ikke kræver PCI-busemulering;
  • Som en del af initiativet til at udvide supporten til at køre indlejrede gæstesystemer, har Cloud Hypervisor tilføjet muligheden for at videresende paravirtualiserede IOMMU-enheder gennem virtio, hvilket forbedrer sikkerheden ved indlejrede og direkte videresendelser af enheder.
  • Leverede support til Ubuntu 19.10;
  • Tilføjet muligheden for at køre gæstesystemer med mere end 64 GB RAM.

Derudover kan det bemærkes ny udgivelse tilstødende udviklede sig virtuel maskine monitor Firecracker, også skrevet i Rust, baseret på Rust-VMM og kører oven på KVM. Firecracker er en forgrening af projektet CrosVM, brugt af Google til at starte applikationer Linux и Android i ChromeOS. Firecracker udvikles af Amazon Web Services for at forbedre ydeevnen og effektiviteten af ​​AWS Lambda- og AWS Fargate-platformene.

Platformen er designet til at køre virtuelle maskiner med minimal overhead og giver værktøjer til at skabe og administrere isolerede miljøer og tjenester bygget ved hjælp af en serverløs udviklingsmodel (funktion som en tjeneste). Firecracker tilbyder lette virtuelle maskiner, kaldet microVM'er, der bruger hardware-virtualiseringsteknologier til at give fuldstændig isolation, mens de leverer ydeevnen og fleksibiliteten af ​​traditionelle containere. For eksempel, når du bruger Firecracker, overstiger tiden fra det øjeblik, microVM lanceres til starten af ​​applikationsudførelsen, ikke 125ms, hvilket giver dig mulighed for at starte nye virtuelle maskiner med en intensitet på op til 150 miljøer i sekundet.

Den nye udgivelse af Firecracker tilføjer en driftstilstand uden at starte API-handleren ("—no-api"), hvilket begrænser miljøet kun til indstillingerne, der er hårdkodet i konfigurationsfilen. Den statiske konfiguration er angivet via "--config-file"-indstillingen og er defineret i JSON-format. Fra kommandolinjeindstillingerne er der også tilføjet understøttelse af "—"-separatoren, hvorefter de angivne flag sendes langs kæden uden behandling.

Amazon, der udvikler Firecracker, også annonceret om at give sponsorater til udviklerne af programmeringssproget Rust. Det bemærkes, at Rust i stigende grad bruges i virksomhedens projekter, og udviklingen på det er allerede implementeret i tjenester som Lambda, EC2 og S3. Amazon har forsynet Rust-projektet med infrastrukturen til at gemme udgivelser og builds i S3, køre regressionstest i EC2 og vedligeholde et docs.rs-websted med dokumentation for alle pakker fra crates.io-lageret.

Amazon også indsendt programmet AWS salgsfremmende kredit, hvor open source-projekter kan få gratis adgang til AWS-tjenester, der kan bruges til ressourcelagring, build, kontinuerlig integration og test. Blandt de projekter, der allerede er godkendt til deltagelse i programmet, blev der foruden Rust noteret AdoptOpenJDK, Maven Central, Kubernetes, Prometheus, Envoy og Julia. Indsendelser accepteres fra ethvert open source-projekt leveret under OSI-godkendte licenser.

Kilde: opennet.ru

Tilføj en kommentar