Ntlafatso ea Intel Cloud Hypervisor 0.3 le Amazon Firecracker 0.19 hypervisors e ngotsoeng ho Rust

Intel e phatlalalitsoeng mofuta o mocha oa hypervisor Cloud Hypervisor 0.3. Hypervisor e hahiloe holim'a likarolo
morero o kopanetsoeng Rust-VMM, eo ho eona, ho phaella ho Intel, Alibaba, Amazon, Google le Red Hat le tsona li kopanela. Rust-VMM e ngotsoe ka puo ea Rust 'me e u lumella ho etsa li-hypervisors tse khethehileng. Cloud Hypervisor ke e 'ngoe ea li-hypervisor tse joalo tse fanang ka mochine oa boemo bo holimo oa mochine (VMM) o sebetsang ka holim'a KVM mme o lokiselitsoe mesebetsi ea maruo. Khoutu ea morero fumaneha e nang le tumello tlas'a Apache 2.0.

Cloud Hypervisor e tsepamisitse maikutlo ho tsamaiseng liphaello tsa Linux tsa sejoale-joale ho sebelisa lisebelisoa tsa paravirtualized tse thehiloeng ho virtio. Har'a merero e ka sehloohong e boletsoeng ke: ho arabela ho phahameng, tšebeliso e tlaase ea mohopolo, ts'ebetso e phahameng, tlhophiso e nolofalitsoeng le phokotso ea li-vector tse ka bang teng tsa tlhaselo.

Tšehetso ea ho etsisa ha e fokotsehe 'me ho tsepamisitsoe maikutlo holim'a paravirtualization. Hajoale ke litsamaiso tsa x86_64 feela tse tšehetsoeng, empa tšehetso ea AArch64 e reriloe. Bakeng sa litsamaiso tsa baeti, ke meaho ea 64-bit feela ea Linux e tšehetsoang hajoale. CPU, memori, PCI le NVDIMM li hlophisitsoe sethaleng sa kopano. Hoa khoneha ho falla mechine ea sebele pakeng tsa li-server.

Khatisong e ncha:

  • Mosebetsi o ile oa tsoela pele ho tsamaisa I/O ea paravirtualized ho arola lits'ebetso. Bokhoni ba ho sebelisa li-backend bo kentsoe ho sebelisana le lisebelisoa tsa block vhost-user-blk. Phetoho e u lumella ho hokahanya lisebelisoa tsa thibela ho latela mochine oa vhost-user ho Cloud Hypervisor, joalo ka SPDK, e le li-backends bakeng sa polokelo ea paravirtualized;
  • Ts'ehetso ea ho tsamaisa lits'ebetso tsa marang-rang ho li-backends, tse hlahisitsoeng tokollong ea ho qetela vhost-user-net, e atolositsoeng ka backend e ncha e thehiloeng ho mokhanni oa marang-rang oa sebele Tlanya. The backend e ngotsoe ka Rust 'me hona joale e sebelisoa Cloud Hypervisor e le mohaho o ka sehloohong oa para-virtualized network;
  • Ho eketsa ts'ebetso le ts'ireletso ea puisano pakeng tsa tikoloho ea moeti le tsamaiso ea baeti, ts'ebetsong e nyalisitsoeng ea li-sockets tse nang le AF_VSOCK addressing (virtual network sockets), e sebetsang ka virtio, e hlahisoa. Ts'ebetsong e ipapisitse le nts'etsopele ea morero Firecracker, e ntlafalitsoeng ke Amazon. VSOCK e u lumella ho sebelisa POSIX Sockets API e tloaelehileng bakeng sa ho sebelisana pakeng tsa likopo ho baeti le mahlakoreng a baeti, e leng se etsang hore ho be bonolo ho fetola mananeo a tloaelehileng a marang-rang bakeng sa tšebelisano e joalo le ho kenya ts'ebetsong ho sebelisana ha mananeo a mangata a bareki ka kopo e le 'ngoe ea seva;
  • E fane ka ts'ehetso ea pele bakeng sa tsamaiso ea API ho sebelisa protocol ea HTTP. Nakong e tlang, API ena e tla etsa hore ho khonehe ho qala ts'ebetso ea asynchronous ho litsamaiso tsa baeti, tse kang lisebelisoa tse chesang tse chesang le libaka tse fallang;
  • E kentse lera le ts'ebetsong ea lipalangoang e thehiloeng ho virtio MMIO (Memory mapped virtio), e ka sebelisoang ho theha mekhoa e fokolang ea baeti e sa hlokeng mohlala oa libese tsa PCI;
  • E le karolo ea morero oa ho atolosa tšehetso bakeng sa ho tsamaisa mekhoa ea baeti ba sehlaha, Cloud Hypervisor e ekelitse bokhoni ba ho fetisetsa lisebelisoa tsa IOMMU tse nang le paravirtualized ka virtio, e leng ho ntlafatsang ts'ireletso ea lisebelisoa tsa sehlaha le ka ho toba.
  • E fane ka tšehetso bakeng sa Ubuntu 19.10;
  • E ekelitse bokhoni ba ho tsamaisa litsamaiso tsa baeti ka ho feta 64 GB ea RAM.

Ho phaella moo, e ka hlokomeloa tokollo e ncha haufi ntlafala mochine oa sebele oa mochine Firecracker, hape e ngotsoe ka Rust, e thehiloeng ho Rust-VMM le ho sebetsa ka holim'a KVM. Firecracker ke fereko ea morero CrosVM, e sebelisoang ke Google ho qala lits'ebetso Linux и Android ho ChromeOS. Firecracker e ntse e ntlafatsoa ke Amazon Web Services ho ntlafatsa ts'ebetso le katleho ea liforomo tsa AWS Lambda le AWS Fargate.

Sethala se etselitsoe ho tsamaisa mechine ea sebele e nang le holimo e fokolang 'me e fana ka lisebelisoa tsa ho theha le ho laola libaka tse ka thōko le lits'ebeletso tse hahiloeng ho sebelisoa mohlala oa ntlafatso o se nang seva (mosebetsi e le tšebeletso). Firecracker e fana ka mechini e bobebe e bobebe, e bitsoang li-microVM, tse sebelisang mahlale a virtualization a hardware ho fana ka ho itšehla thajana ha ho ntse ho fana ka ts'ebetso le maemo a bonolo a lijana tsa setso. Ka mohlala, ha u sebelisa Firecracker, nako ea ho tloha ha microVM e qala ho qala ts'ebetsong ea kopo ha e fete 125ms, e leng se u lumellang ho qala mechine e mecha e nang le matla a ho fihlela ho 150 ka motsotsoana.

Tokollo e ncha ea Firecracker e eketsa mokhoa oa ts'ebetso ntle le ho qala sesebelisoa sa API ("-no-api"), ho fokotsa tikoloho feela ho litlhophiso tse kentsoeng ka thata faeleng ea tlhophiso. Sebopeho sa static se hlalositsoe ka khetho ea "--config-file" 'me e hlalosoa ka mokhoa oa JSON. Ho tsoa likhethong tsa mela ea taelo, tšehetso ea "-" karohano e boetse e kentsoe, lifolakha tse boletsoeng ka mor'a moo li fetisoa ka ketane ntle le ts'ebetso.

Amazon, e hlahisang Firecracker, le eona e phatlalalitse mabapi le ho fana ka tšehetso ho baetsi ba puo ea lenaneo la Rust. Hoa hlokomeleha hore Rust e ntse e sebelisoa ka ho eketsehileng mererong ea k'hamphani le tsoelo-pele ho eona e se e sebelisitsoe litšebeletsong tse kang Lambda, EC2 le S3. Amazon e fane ka morero oa Rust ka lisebelisoa tsa ho boloka litokollo le ho haha ​​​​ka S3, ho tsamaisa liteko tsa ho khutlela morao ho EC2, le ho boloka sebaka sa docs.rs se nang le litokomane bakeng sa liphutheloana tsohle tse tsoang polokelong ea crates.io.

Amazon hape tsebisoa lenaneo Mokitlane oa Phatlalatso oa AWS, moo merero ea mohloli o bulehileng o ka fumanang phihlello ea mahala ea lits'ebeletso tsa AWS tse ka sebelisetsoang ho boloka lisebelisoa, ho haha, ho kopanya ho tsoelang pele, le liteko. Har'a merero e seng e amohelehile bakeng sa ho kenya letsoho lenaneong, ho phaella ho Rust, AdoptOpenJDK, Maven Central, Kubernetes, Prometheus, Envoy le Julia. Litlhahiso li amoheloa ho tsoa morerong ofe kapa ofe o bulehileng oa mohloli o fanoeng tlas'a laesense e amohetsoeng ke OSI.

Source: opennet.ru

Eketsa ka tlhaloso