ProHoster > Blog > naidheachdan eadar-lìn > Ùrachadh gu hypervisors Intel Cloud Hypervisor 0.3 agus Amazon Firecracker 0.19 sgrìobhte ann an Rust
Ùrachadh gu hypervisors Intel Cloud Hypervisor 0.3 agus Amazon Firecracker 0.19 sgrìobhte ann an Rust
Intel foillsichte Luchdaich a-nuas an tionndadh ùr de hypervisor Cloud Hypervisor 0.3. Tha an hypervisor stèidhichte air co-phàirtean
co-phròiseact Meirge-VMM, anns a bheil, a bharrachd air Intel, Alibaba, Amazon, Google agus Red Hat cuideachd a’ gabhail pàirt. Tha Rust-VMM sgrìobhte ann an cànan Rust agus leigidh e leat hypervisors sònraichte a chruthachadh. Tha Cloud Hypervisor mar aon hypervisor mar sin a bheir seachad inneal sgrùdaidh inneal brìgheil àrd-ìre (VMM) a ’ruith air mullach KVM agus air a bharrrachadh airson gnìomhan dùthchasach sgòthan. Còd pròiseact a ri fhaighinn le cead fo Apache 2.0.
Tha Cloud Hypervisor ag amas air a bhith a ’ruith sgaoilidhean Linux an latha an-diugh a’ cleachdadh innealan paravirtualized stèidhichte air virtio. Am measg nam prìomh amasan a chaidh ainmeachadh tha: freagairteach àrd, caitheamh cuimhne ìosal, àrd-choileanadh, rèiteachadh nas sìmplidhe agus lughdachadh vectaran ionnsaigh a dh’ fhaodadh a bhith ann.
Tha taic emulation air a chumail aig an ìre as ìsle agus tha am fòcas air paravirtualization. An-dràsta chan eil ach siostaman x86_64 a’ faighinn taic, ach tha taic AArch64 san amharc. Airson siostaman aoighean, chan eil ach togail 64-bit de Linux a’ faighinn taic an-dràsta. Tha an CPU, cuimhne, PCI agus NVDIMM air an rèiteachadh aig ìre cruinneachaidh. Tha e comasach innealan brìgheil a ghluasad eadar frithealaichean.
Anns an dreach ùr:
Lean obair air gluasad I/O para-ghnèitheach gu pròiseasan eadar-dhealaichte. Chaidh an comas backends a chleachdadh a chuir ris gus eadar-obrachadh le innealan bloca vhost-user-blk. Leigidh an t-atharrachadh leat innealan bloca a cheangal stèidhichte air modal vhost-user gu Cloud Hypervisor, leithid SPdk, mar backends airson stòradh paravirtualized;
Taic airson gnìomhachd lìonra a ghluasad gu backends, air a thoirt a-steach san fhoillseachadh mu dheireadh vhost-user-net, air a leudachadh le backend ùr stèidhichte air draibhear lìonra brìgheil Tap. Tha an backend sgrìobhte ann an Rust agus tha e a-nis air a chleachdadh ann an Cloud Hypervisor mar phrìomh ailtireachd lìonra para-virtualized;
Gus èifeachdas agus tèarainteachd conaltraidh àrdachadh eadar an àrainneachd aoigheachd agus an siostam aoighean, thathas a’ moladh buileachadh tar-chinealach de socaidean le seòladh AF_VSOCK (socaidean lìonra mas-fhìor), ag obair tro virtio. Tha buileachadh stèidhichte air leasachaidhean a’ phròiseict Inneal-smàlaidh, air a leasachadh le Amazon. Leigidh VSOCK leat an API àbhaisteach POSIX Sockets a chleachdadh airson eadar-obrachadh eadar tagraidhean air an taobh aoighean agus aoigheachd, a tha ga dhèanamh furasta prògraman lìonra àbhaisteach atharrachadh airson an leithid de eadar-obrachadh agus eadar-obrachadh grunn phrògraman teachdaiche le aon iarrtas frithealaiche a chuir an gnìomh;
Thoir seachad taic tùsail don API riaghlaidh a’ cleachdadh protocol HTTP. Anns an àm ri teachd, bidh an API seo ga dhèanamh comasach gnìomhachd asyncronach a thòiseachadh air siostaman aoighean, leithid goireasan plug-teth agus àrainneachdan imrich;
Chaidh còmhdach a chuir ris le buileachadh còmhdhail stèidhichte air virtio MMIO (virtio le mapa cuimhne), a dh’ fhaodar a chleachdadh gus siostaman aoighean minimalist a chruthachadh nach eil feumach air aithris bus PCI;
Mar phàirt den iomairt gus taic a leudachadh airson a bhith a’ ruith siostaman aoighean neadachaidh, tha Cloud Hypervisor air an comas a chuir air adhart innealan IOMMU paravirtualized tro virtio, a leasaicheas tèarainteachd innealan neadachaidh agus gluasad dìreach.
Thoir seachad taic airson Ubuntu 19.10;
Chuir sinn ris a’ chomas air siostaman aoighean a ruith le barrachd air 64 GB de RAM.
A bharrachd air an sin, faodar a thoirt fa-near foillseachadh ùr ri taobh leasaichte inneal sgrùdaidh mas-fhìor Inneal-smàlaidh, cuideachd air a sgrìobhadh ann an Rust, stèidhichte air Rust-VMM agus a 'ruith air mullach KVM. Tha Firecracker na forc den phròiseact CrosVM, air a chleachdadh le Google gus tagraidhean a chuir air bhog Linux и Android ann an ChromeOS. Tha Firecracker ga leasachadh le Amazon Web Services gus coileanadh agus èifeachdas àrd-ùrlaran AWS Lambda agus AWS Fargate a leasachadh.
Tha an àrd-ùrlar air a dhealbhadh gus innealan brìgheil a ruith le glè bheag de chosgais os cionn agus a’ toirt seachad innealan airson àrainneachdan iomallach agus seirbheisean a chruthachadh agus a riaghladh a ’cleachdadh modal leasachaidh gun fhrithealaiche (gnìomh mar sheirbheis). Bidh Firecracker a ’tabhann innealan brìgheil aotrom, ris an canar microVMs, a bhios a’ cleachdadh teicneòlasan virtualization bathar-cruaidh gus aonaranachd iomlan a thoirt seachad fhad ‘s a tha iad a’ lìbhrigeadh coileanadh agus sùbailteachd shoithichean traidiseanta. Mar eisimpleir, nuair a bhios tu a’ cleachdadh Firecracker, chan eil an ùine bhon mhionaid a thèid microVM a chuir air bhog gu toiseach coileanadh an tagraidh nas àirde na 125ms, a leigeas leat innealan brìgheil ùra a chuir air bhog le dian suas ri 150 àrainneachdan gach diog.
Bidh an sgaoileadh ùr de Firecracker a ’cur modh obrachaidh ris gun a bhith a’ cur air bhog inneal-làimhseachaidh API (“-no-api”), a’ cuingealachadh na h-àrainneachd a-mhàin gu na roghainnean le còd cruaidh anns an fhaidhle rèiteachaidh. Tha an rèiteachadh statach air a shònrachadh tron roghainn “--config-file” agus tha e air a mhìneachadh ann an cruth JSON. Bho na roghainnean loidhne-àithne, chaidh taic airson an dealaiche “—” a chuir ris cuideachd, agus thèid na brataichean a chaidh a shònrachadh às deidh sin a thoirt seachad air an t-seine gun ghiollachd.
Amazon, a bhios a’ leasachadh Firecracker, cuideachd ainmeachadh air taic-airgid a thoirt do luchd-leasachaidh cànan prògramadh Rust. Thathas a’ toirt fa-near gu bheil Rust air a chleachdadh barrachd is barrachd ann am pròiseactan na companaidh agus chaidh leasachaidhean air a chuir an gnìomh mar-thà ann an seirbheisean leithid Lambda, EC2 agus S3. Tha Amazon air bun-structar a thoirt don phròiseact Rust gus fiosan a stòradh agus togail ann an S3, deuchainnean ais-tharraing a ruith ann an EC2, agus làrach docs.rs a chumail le sgrìobhainnean airson a h-uile pasgan bhon stòr crates.io.
Amazon cuideachd toirt a-steach am prògram Creideas brosnachaidh AWS, far am faigh pròiseactan stòr fosgailte cothrom an-asgaidh air seirbheisean AWS a ghabhas cleachdadh airson stòradh ghoireasan, togail, amalachadh leantainneach agus deuchainn. Am measg nam pròiseactan a chaidh aontachadh mar-thà airson com-pàirteachadh sa phrògram, a bharrachd air Rust, chaidh AdoptOpenJDK, Maven Central, Kubernetes, Prometheus, Envoy agus Julia a thoirt fa-near. Thathas a’ gabhail ri tagraidhean bho phròiseact stòr fosgailte sam bith air a lìbhrigeadh fo cheadan aontaichte le OSI.