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

Intel опубликовала ny versjon av hypervisor Cloud Hypervisor 0.3. Hypervisoren er bygget på komponenter
felles prosjekt Rust-VMM, der i tillegg til Intel også Alibaba, Amazon, Google og Red Hat deltar. Rust-VMM er skrevet på Rust-språket og lar deg lage oppgavespesifikke hypervisorer. Cloud Hypervisor er en slik hypervisor som gir en høynivå virtuell maskinmonitor (VMM) som kjører på toppen av KVM og er optimalisert for skybaserte oppgaver. Prosjektkode tilgjengelig lisensiert under Apache 2.0.

Cloud Hypervisor er fokusert på å kjøre moderne Linux-distribusjoner ved bruk av virtiobaserte paravirtualiserte enheter. Blant de nevnte hovedmålene er: høy respons, lavt minneforbruk, høy ytelse, forenklet konfigurasjon og reduksjon av mulige angrepsvektorer.

Støtte for emulering holdes på et minimum og fokus er på paravirtualisering. For øyeblikket støttes bare x86_64-systemer, men AArch64-støtte er planlagt. For gjestesystemer støttes for øyeblikket kun 64-bits versjoner av Linux. CPU, minne, PCI og NVDIMM konfigureres på monteringsstadiet. Det er mulig å migrere virtuelle maskiner mellom servere.

I den nye versjonen:

  • Arbeidet fortsatte med å flytte paravirtualisert I/O til separate prosesser. Muligheten til å bruke backends er lagt til for å samhandle med blokkenheter vhost-bruker-blk. Endringen lar deg koble blokkenheter basert på vhost-brukermodulen til Cloud Hypervisor, som f.eks SPDK, som backends for paravirtualisert lagring;
  • Støtte for flytting av nettverksoperasjoner til backends, introdusert i siste utgivelse vhost-bruker-nett, utvidet med en ny backend basert på en virtuell nettverksdriver TAP. Backend er skrevet i Rust og brukes nå i Cloud Hypervisor som den viktigste para-virtualiserte nettverksarkitekturen;
  • For å øke effektiviteten og sikkerheten til kommunikasjonen mellom vertsmiljøet og gjestesystemet, foreslås en hybrid implementering av sockets med AF_VSOCK-adressering (virtuelle nettverkssockets), som fungerer gjennom virtio. Gjennomføringen er basert på prosjektets utvikling firecracker, utviklet av Amazon. VSOCK lar deg bruke standard POSIX Sockets API for interaksjon mellom applikasjoner på gjeste- og vertssiden, noe som gjør det enkelt å tilpasse vanlige nettverksprogrammer for slik interaksjon og implementere interaksjonen av flere klientprogrammer med én serverapplikasjon;
  • Gir innledende støtte for administrasjons-API ved bruk av HTTP-protokollen. I fremtiden vil denne API-en gjøre det mulig å initiere asynkrone operasjoner på gjestesystemer, for eksempel hot-plugging-ressurser og migreringsmiljøer;
  • Lagt til et lag med en transportimplementering basert på virtio MMIO (Memory mapped virtio), som kan brukes til å lage minimalistiske gjestesystemer som ikke krever PCI-bussemulering;
  • Som en del av initiativet for å utvide støtten for å kjøre nestede gjestesystemer, har Cloud Hypervisor lagt til muligheten til å videresende paravirtualiserte IOMMU-enheter gjennom virtio, noe som forbedrer sikkerheten for nestede og direkte videresending av enheter.
  • Gir støtte for Ubuntu 19.10;
  • Lagt til muligheten til å kjøre gjestesystemer med mer enn 64 GB RAM.

I tillegg kan det bemerkes nytt nummer ved siden av utviklet virtuell maskinmonitor firecracker, også skrevet i Rust, basert på Rust-VMM og kjører på toppen av KVM. Firecracker er en gaffel av prosjektet CrosVM, brukt av Google til å starte applikasjoner Linux и Android i ChromeOS. Firecracker utvikles av Amazon Web Services for å forbedre ytelsen og effektiviteten til AWS Lambda- og AWS Fargate-plattformene.

Plattformen er designet for å kjøre virtuelle maskiner med minimal overhead og gir verktøy for å lage og administrere isolerte miljøer og tjenester bygget ved hjelp av en serverløs utviklingsmodell (funksjon som en tjeneste). Firecracker tilbyr lette virtuelle maskiner, kalt microVMs, som bruker maskinvarevirtualiseringsteknologier for å gi fullstendig isolasjon samtidig som de leverer ytelsen og fleksibiliteten til tradisjonelle containere. For eksempel, når du bruker Firecracker, overstiger ikke tiden fra øyeblikket microVM startes til starten av applikasjonskjøringen 125ms, noe som lar deg starte nye virtuelle maskiner med en intensitet på opptil 150 miljøer per sekund.

Den nye utgivelsen av Firecracker legger til en driftsmodus uten å starte API-behandleren ("—no-api"), og begrenser miljøet bare til innstillingene som er hardkodet i konfigurasjonsfilen. Den statiske konfigurasjonen er spesifisert via alternativet "--config-file" og er definert i JSON-format. Fra kommandolinjealternativene er det også lagt til støtte for "—"-separatoren, flaggene spesifisert etter som sendes langs kjeden uten behandling.

Amazon, som utvikler Firecracker, også kunngjort på å gi sponsing til utviklerne av programmeringsspråket Rust. Det bemerkes at Rust i økende grad brukes i selskapets prosjekter, og utviklingen på den er allerede implementert i tjenester som Lambda, EC2 og S3. Amazon har gitt Rust-prosjektet infrastrukturen til å lagre utgivelser og bygg i S3, kjøre regresjonstester i EC2 og vedlikeholde et docs.rs-nettsted med dokumentasjon for alle pakker fra crates.io-depotet.

Amazon også innsendt programmet AWS-kampanjekreditt, hvor åpen kildekode-prosjekter kan få gratis tilgang til AWS-tjenester som kan brukes til ressurslagring, bygging, kontinuerlig integrasjon og testing. Blant prosjektene som allerede er godkjent for deltakelse i programmet, i tillegg til Rust, ble AdoptOpenJDK, Maven Central, Kubernetes, Prometheus, Envoy og Julia notert. Innleveringer aksepteres fra alle åpen kildekode-prosjekter levert under OSI-godkjente lisenser.

Kilde: opennet.ru

Legg til en kommentar