Ĝisdatigo por Intel Cloud Hypervisor 0.3 kaj Amazon Firecracker 0.19 skribita en Rust

Intel eldonita nova versio de hiperviziero Nuba Hypervisor 0.3. La hiperviziero estas konstruita sur komponantoj
komuna projekto Rusto-VMM, en kiu, krom Intel, partoprenas ankaŭ Alibaba, Amazon, Google kaj Red Hat. Rust-VMM estas skribita en la Rust-lingvo kaj ebligas al vi krei taskospecifajn hipervizilojn. Cloud Hypervisor estas unu tia hiperviziero, kiu disponigas altnivelan virtualan maŝinan monitoron (VMM) funkciantan sur KVM kaj optimumigita por nub-denaskaj taskoj. Projekta kodo disponebla licencita sub Apache 2.0.

Cloud Hypervisor fokusiĝas pri funkciado de modernaj Linukso-distribuoj uzante virtio-bazitajn paravirtualigitajn aparatojn. Inter la ĉefaj celoj menciitaj estas: alta respondeco, malalta memorkonsumo, alta rendimento, simpligita agordo kaj redukto de eblaj atakvektoroj.

Emuladsubteno estas minimumigita kaj la fokuso estas sur paravirtualigo. Nuntempe nur x86_64-sistemoj estas subtenataj, sed AArch64-subteno estas planita. Por gastsistemoj, nur 64-bitaj konstruoj de Linukso estas nuntempe subtenataj. La CPU, memoro, PCI kaj NVDIMM estas agorditaj ĉe la kunvenstadio. Eblas migri virtualajn maŝinojn inter serviloj.

En la nova versio:

  • Laboro daŭris pri movi paravirtualigitan I/O al apartaj procezoj. La kapablo uzi backends estis aldonita por interagi kun blokaj aparatoj vhost-uzanto-blk. La ŝanĝo permesas vin konekti blokajn aparatojn bazitajn sur la vhost-uzanto-modulo al Cloud Hypervisor, kiel ekzemple SPDK, kiel backends por paravirtualigita stokado;
  • Subteno por movi retajn operaciojn al backends, prezentita en la lasta eldono vhost-uzanto-reto, vastigita kun nova backend bazita sur virtuala retpelilo TAP. La backend estas skribita en Rust kaj nun estas uzata en Cloud Hypervisor kiel la ĉefa paravirtualigita reta arkitekturo;
  • Por pliigi la efikecon kaj sekurecon de komunikadoj inter la gastiga medio kaj la gastsistemo, hibrida efektivigo de ingoj kun AF_VSOCK-adresado (virtualaj retaj ingoj), laborantaj per virtio, estas proponita. Efektivigo estas bazita sur la evoluoj de la projekto Tranĉilo, evoluigita fare de Amazon. VSOCK ebligas al vi uzi la norman POSIX Sockets API por interagado inter aplikaĵoj ĉe la gasto kaj gastiganto, kio faciligas adapti ordinarajn retajn programojn por tia interago kaj efektivigi la interagadon de pluraj klientprogramoj kun unu servila aplikaĵo;
  • Provizis komencan subtenon por la administrada API per la HTTP-protokolo. En la estonteco, ĉi tiu API ebligos komenci nesinkronajn operaciojn sur gastsistemoj, kiel varme ŝtopantaj rimedojn kaj migrantajn mediojn;
  • Aldonita tavolo kun transporta efektivigo bazita sur virtio MMIO (Memory mapped virtio), kiu povas esti uzata por krei minimumismajn gastsistemojn, kiuj ne postulas PCI-busan emuladon;
  • Kiel parto de la iniciato vastigi subtenon por funkcii nestitajn gastsistemojn, Cloud Hypervisor aldonis la kapablon plusendi paravirtualigitajn IOMMU-aparatojn per virtio, kiu plibonigas la sekurecon de nestita kaj rekta plusendado de aparatoj.
  • Provizita subteno por Ubuntu 19.10;
  • Aldonis la kapablon funkciigi gastsistemojn kun pli ol 64 GB da RAM.

Aldone, ĝi povas esti notita nova temo apuda evoluinta virtuala maŝina monitoro Tranĉilo, ankaŭ skribita en Rust, surbaze de Rust-VMM kaj kuranta aldone al KVM. Petardo estas forko de la projekto CrosVM, uzata de Guglo por lanĉi aplikojn linux и android en ChromeOS. Firecracker estas disvolvita de Amazon Web Services por plibonigi la rendimenton kaj efikecon de la AWS Lambda kaj AWS Fargate-platformoj.

La platformo estas desegnita por funkcii virtualajn maŝinojn kun minimuma ŝarĝo kaj provizas ilojn por krei kaj administri izolitajn mediojn kaj servojn konstruitajn per senservila evolumodelo (funkcio kiel servo). Firecracker ofertas malpezajn virtualajn maŝinojn, nomitajn mikroVMs, kiuj uzas aparatajn virtualigajn teknologiojn por provizi kompletan izolitecon dum livero de la rendimento kaj fleksebleco de tradiciaj ujoj. Ekzemple, kiam vi uzas Firecracker, la tempo de la momento de la lanĉo de microVM ĝis la komenco de aplikaĵo ekzekuto ne superas 125ms, kio ebligas al vi lanĉi novajn virtualajn maŝinojn kun intenseco de ĝis 150 medioj sekundo.

La nova eldono de Firecracker aldonas operacion sen lanĉi la API-traktilon ("—no-api"), limigante la medion nur al la agordoj malmola kodigitaj en la agorda dosiero. La statika agordo estas specifita per la opcio "--config-file" kaj estas difinita en JSON-formato. De la komandliniaj opcioj, subteno por la "—" apartigilo ankaŭ estis aldonita, la flagoj specifitaj post kiuj estas pasitaj laŭ la ĉeno sen prilaborado.

Amazon, kiu disvolvas Firecracker, ankaŭ anoncita pri disponigado de sponsorado al la programistoj de la Rust programlingvo. Oni rimarkas, ke Rust estas ĉiam pli uzata en la projektoj de la kompanio kaj evoluoj pri ĝi jam estis efektivigitaj en servoj kiel Lambda, EC2 kaj S3. Amazon provizis la Rust-projekton per la infrastrukturo por stoki eldonojn kaj konstruaĵojn en S3, fari regrestestojn en EC2 kaj konservi docs.rs-ejon kun dokumentado por ĉiuj pakaĵoj el la deponejo crates.io.

Amazono ankaŭ enkondukita la programo AWS Promocia Kredito, kie malfermfontaj projektoj povas ricevi senpagan aliron al AWS-servoj, kiuj povas esti uzataj por stokado de rimedoj, konstruado, kontinua integriĝo kaj testado. Inter la projektoj jam aprobitaj por partopreno en la programo, krom Rust, estis notitaj AdoptOpenJDK, Maven Central, Kubernetes, Prometheus, Envoy kaj Julia. Submetadoj estas akceptitaj de iu ajn malfermfonta projekto liverita sub OSI-aprobitaj permesiloj.

fonto: opennet.ru

Aldoni komenton