Kwidziridzo yeIntel Cloud Hypervisor 0.3 uye Amazon Firecracker 0.19 yakanyorwa muRust

Intel yakabudiswa shanduro itsva ye hypervisor Cloud Hypervisor 0.3. Iyo hypervisor yakavakirwa pazvikamu
joint project Rust-VMM, umo, kuwedzera kune Intel, Alibaba, Amazon, Google uye Red Hat zvakare vanotora chikamu. Rust-VMM yakanyorwa mumutauro weRust uye inobvumidza iwe kugadzira basa-chaiwo hypervisors. Cloud Hypervisor imwe yakadaro hypervisor inopa yakakwira-level virtual muchina chekutarisa (VMM) inomhanya pamusoro peKVM uye yakagadziridzwa yegore-yekuzvarwa mabasa. Project code inowanikwa ine rezinesi pasi peApache 2.0.

Cloud Hypervisor yakatarisana nekumhanyisa Linux yemazuva ano kugovera uchishandisa virtio-based paravirtualized zvishandiso. Pakati pezvinangwa zvakakosha zvakataurwa ndezvi: kupindurwa kwepamusoro, kuderedzwa kwendangariro, kuita kwepamusoro, kugadziridzwa kwakareruka uye kuderedzwa kweanogona kurwisa mavector.

Tsigiro yekutevedzera inochengetwa iri shoma uye chinotariswa chiri paparavirtualization. Parizvino chete x86_64 masisitimu anotsigirwa, asi AArch64 rutsigiro rwakarongwa. Kune masisitimu evaenzi, chete 64-bit inovaka yeLinux parizvino inotsigirwa. Iyo CPU, ndangariro, PCI uye NVDIMM inogadziriswa padanho regungano. Zvinokwanisika kutamisa machina chaiwo pakati pemaseva.

Mushanduro itsva:

  • Basa rakaenderera mberi nekufambisa paravirtualized I/O kuparadzanisa maitiro. Iko kugona kushandisa backends kwakawedzerwa kuti iwirirane ne block zvishandiso vhost-mushandisi-blk. Shanduko inokubvumira kuti ubatanidze zvidzitiro zvevhavha zvichibva pane vhost-mushandisi module kuCloud Hypervisor, senge SPDK, semashure ekuchengetera paravirtualized;
  • Tsigiro yekufambisa network mashandiro kune backends, yakaunzwa mukuburitswa kwekupedzisira vhost-mushandisi-net, yakawedzerwa nebackend nyowani yakavakirwa pane virtual network driver pombi. Iyo yekumashure yakanyorwa muRust uye ikozvino inoshandiswa muCloud Hypervisor seyakanyanya para-virtualized network architecture;
  • Kuti uwedzere kushanda uye kuchengetedzeka kwekutaurirana pakati penzvimbo yevaenzi uye yevaenzi sisitimu, yakasanganiswa kusevenzeswa kwezvigadziko neAF_VSOCK addressing (virtual network sockets), kushanda kuburikidza nevirtio, inokurudzirwa. Kuzadzikiswa kunoenderana nebudiriro yeprojekiti firecracker, yakagadzirwa neAmazon. VSOCK inokutendera kuti ushandise yakajairwa POSIX Sockets API yekudyidzana pakati pezvishandiso kune muenzi uye mativi evaenzi, izvo zvinoita kuti zvive nyore kugadzirisa zvakajairwa network zvirongwa zvekudyidzana kwakadaro uye kuita kupindirana kwe akati wandei mapurogiramu evatengi neamwe server application;
  • Yakapa rubatsiro rwekutanga kune manejimendi API uchishandisa iyo HTTP protocol. Mune ramangwana, API iyi ichaita kuti zvikwanise kutanga mashandiro easynchronous pane masisitimu evaenzi, senge zvinopisa-plugging zviwanikwa uye nharaunda dzinotama;
  • Yakawedzera dhizaini ine yekufambisa yekufambisa yakavakirwa pavirtio MMIO (Memory mapped virtio), iyo inogona kushandiswa kugadzira minimalistic yevaenzi masisitimu ayo asingade PCI bhazi emulation;
  • Sechikamu chedanho rekuwedzera rutsigiro rwekushandisa nested vashanyi masisitimu, Cloud Hypervisor yakawedzera kugona kuendesa paravirtualized IOMMU zvishandiso kuburikidza nevirtio, iyo inovandudza kuchengetedzeka kweiyo nested uye yakananga kutumira kwemidziyo.
  • Yakapihwa rutsigiro rweUbuntu 19.10;
  • Yakawedzera kugona kumhanyisa masisitimu evaenzi ane anopfuura 64 GB ye RAM.

Uyezve, inogona kucherechedzwa nyaya itsva pedyo developed virtual machine monitor firecracker, zvakare yakanyorwa muRust, yakavakirwa paRust-VMM uye inomhanya pamusoro peKVM. Firecracker iforogo yeprojekti CrosVM, inoshandiswa neGoogle kuvhura maapplication Linux ΠΈ Android muChromeOS. Firecracker iri kuvandudzwa neAmazon Web Services kuvandudza mashandiro uye kugona kweAWS Lambda uye AWS Fargate mapuratifomu.

Iyi puratifomu yakagadzirirwa kumhanyisa machina ane mashoma pamusoro uye inopa maturusi ekugadzira uye kugadzirisa ega nharaunda uye masevhisi akavakwa uchishandisa serverless kusimudzira modhi (basa sevhisi). Firecracker inopa lightweight virtual machines, inonzi microVMs, inoshandisa hardware virtualization tekinoroji kuti ipe kuzviparadzanisa nevamwe uku uchiendesa kuita uye kuchinjika kwemidziyo yechinyakare. Semuenzaniso, kana uchishandisa Firecracker, nguva kubva panguva iyo microVM yatangwa kusvika pakutanga kwekushandisa application haipfuure 125ms, iyo inokutendera iwe kuvhura mitsva yemachina ine kusimba kwekusvika zana nemakumi mashanu enzvimbo pasekondi.

Kuburitswa kutsva kweFirecracker kunowedzera maitiro ekushanda pasina kuvhura API mubato ("-no-api"), inodzikamisa nharaunda chete kune zvigadziriso zvakaoma-coded mufaira rekugadzirisa. Iyo static gadziriso inotsanangurwa kuburikidza ne "--config-faira" sarudzo uye inotsanangurwa muJSON fomati. Kubva pamasarudzo emutsara wemirairo, tsigiro ye "-" yekuparadzanisa yawedzerwawo, mireza yakatsanangurwa mushure meiyo inopfuudzwa neketani pasina kugadzirisa.

Amazon, iyo inogadzira Firecracker, zvakare yakaziviswa pakupa rubatsiro kuvagadziri veRust programming language. Zvinocherechedzwa kuti Rust iri kuwedzera kushandiswa mumapurojekiti ekambani uye budiriro pairi yakatoitwa mumasevhisi akadai seLambda, EC2 uye S3. Amazon yakapa iyo Rust purojekiti ine zvivakwa zvekuchengetera kuburitswa uye kuvaka muS3, mhanyisa bvunzo dzeEC2, uye chengetedza docs.rs saiti ine magwaro emapakeji ese kubva ku crates.io repository.

Amazon zvakare kuunzwa chirongwa AWS Promotional Chikwereti, uko mapurojekiti akavhurika sosi anogona kuwana mahara kuAWS masevhisi anogona kushandiswa kuchengetedza zviwanikwa, kuvaka, kuenderera kusanganisa, uye kuyedza. Pakati pemapurojekiti akatotenderwa kutora chikamu muchirongwa, kuwedzera kune Rust, AdoptOpenJDK, Maven Central, Kubernetes, Prometheus, Envoy naJulia vakacherechedzwa. Kutumirwa kunogamuchirwa kubva kune chero yakavhurika sosi purojekiti inounzwa pasi peOSI-inotenderwa marezinesi.

Source: opennet.ru

Voeg