Rust で曞かれた Intel Cloud Hypervisor 0.3 および Amazon Firecracker 0.19 のアップデヌト

むンテル ПпублОкПвала 新しいバヌゞョンのハむパヌバむザヌ クラりドハむパヌバむザヌ0.3。 ハむパヌバむザヌはコンポヌネントを䞭心に構築されおいたす
共同プロゞェクト Rust-VMM、Intelに加えお、Alibaba、Amazon、Google、Red Hatも参加しおいたす。 Rust-VMM は Rust 蚀語で曞かれおおり、タスク固有のハむパヌバむザヌを䜜成できたす。 クラりド ハむパヌバむザヌは、KVM 䞊で実行され、クラりド ネむティブ タスク甚に最適化された高レベルの仮想マシン モニタヌ (VMM) を提䟛するハむパヌバむザヌの XNUMX ぀です。 プロゞェクトコヌド 利甚可胜です Apache 2.0 に基づいおラむセンスされおいたす。

Cloud Hypervisor は、virtio ベヌスの準仮想化アプラむアンスを䜿甚しお最新の Linux ディストリビュヌションを実行するこずに重点を眮いおいたす。 䞻なタスクずしおは、高い応答性、䜎メモリ消費、高いパフォヌマンス、簡玠化された構成、および考えられる攻撃ベクトルの削枛などが挙げられたす。

゚ミュレヌションのサポヌトは最小限に抑えられ、準仮想化に重点が眮かれおいたす。 珟圚、x86_64 システムのみがサポヌトされおいたすが、AArch64 のサポヌトも準備䞭です。 ゲスト システムのうち、珟圚サポヌトされおいるのは 64 ビット Linux ビルドのみです。 CPU、メモリ、PCI、NVDIMM の蚭定はビルド段階で行われたす。 サヌバヌ間で仮想マシンを移行するこずが可胜です。

収録曲:

  • 準仮想化 I/O を別のプロセスに移動する䜜業が続けられたした。 バック゚ンドを䜿甚しおブロックデバむスず察話する機胜を远加したした vhost-user-blk。 この倉曎により、vhost-user モゞュヌルに基づいおブロック デバむスを Cloud Hypervisor に接続できるようになりたす。 SPDK、準仮想化ストレヌゞのバック゚ンドずしお。
  • 前回のリリヌスで導入された、ネットワヌク操䜜のバック゚ンドぞの移行のサポヌト 仮想ホストナヌザヌネット、仮想ネットワヌクドラむバヌに基づいた新しいバック゚ンドで拡匵 TAP。 バック゚ンドは Rust で曞かれおおり、珟圚はメむンの準仮想化ネットワヌク アヌキテクチャずしお Cloud Hypervisor で䜿甚されおいたす。
  • ホスト環境ずゲスト システム間の通信の効率ずセキュリティを向䞊させるために、virtio を介しお動䜜する AF_VSOCK アドレス指定を備えた゜ケット (仮想ネットワヌク ゜ケット) のハむブリッド実装が提案されおいたす。 実装はプロゞェクトの発展に基づいお行われたす 爆竹アマゟンによっお開発されたした。 VSOCK を䜿甚するず、ゲスト システム偎のアプリケヌションずホスト間の察話に暙準の POSIX ゜ケット API を䜿甚できたす。これにより、通垞のネットワヌク プログラムをそのような察話に適応させたり、耇数のクラむアント プログラムず XNUMX ぀のサヌバヌ アプリケヌションの察話を実装したりするこずが容易になりたす。
  • HTTP プロトコルを䜿甚した管理 API の初期サポヌトが提䟛されおいたす。 将来的には、この API により、リ゜ヌスのホットプラグや環境の移行など、ゲスト システム䞊で非同期操䜜を開始できるようになりたす。
  • virtio MMIO (メモリ マップド virtio) に基づくトランスポヌト実装局を远加したした。これを䜿甚するず、PCI バス ゚ミュレヌションを必芁ずしない最小限のゲスト システムを䜜成できたす。
  • Cloud Hypervisor でネストされたゲスト システムを実行するためのサポヌトを拡匵する取り組みの䞀環ずしお、virtio を介しお準仮想化 IOMMU デバむスを転送する機胜が远加されたした。これにより、ネストされた盎接デバむス転送のセキュリティを向䞊させるこずができたす。
  • Ubuntu 19.10のサポヌトを提䟛したした。
  • 64 GB を超える RAM を搭茉したゲスト システムを実行する機胜が远加されたした。

さらに、泚目できるのは、 新刊 隣接 発展した 仮想マシンモニタヌ 爆竹、これも Rust で曞かれおおり、Rust-VMM に基づいおおり、KVM 䞊で実行されたす。 Firecracker はプロゞェクトのフォヌクです CrossVMGoogle がアプリケヌションを実行するために䜿甚 Linux О Android ChromeOSでは。 Firecracker は、AWS Lambda および AWS Fargate プラットフォヌムのパフォヌマンスず効率を向䞊させるために、アマゟン りェブ サヌビスによっお開発されおいたす。

このプラットフォヌムは、最小限のオヌバヌヘッドで仮想マシンを実行するように蚭蚈されおおり、サヌバヌレス開発モデル (サヌビスずしおの機胜) を䜿甚しお構築された分離環境ずサヌビスを䜜成および管理するためのツヌルを提䟛したす。 Firecracker は、ハヌドりェア仮想化テクノロゞを䜿甚しお仮想マシンを完党に分離しながら、埓来のコンテナのパフォヌマンスず柔軟性を提䟛する microVM ず呌ばれる軜量の仮想マシンを提䟛したす。 たずえば、Firecracker を䜿甚する堎合、microVM の開始からアプリケヌションの開始たでの時間は 125 ミリ秒を超えないため、150 秒あたり最倧 XNUMX 環境の匷床で新しい仮想マシンを起動できたす。

Firecracker の新しいリリヌスでは、API ハンドラヌを実行しない操䜜モヌド (「--no-api」) が远加され、環境が構成ファむル内のハヌドコヌディングされた蚭定のみに制限されたす。 静的構成は「--config-file」オプションで指定され、JSON 圢匏で定矩されたす。 コマンド ラむン オプションのうち、「—」区切り文字のサポヌトも远加されたした。その埌、フラグは凊理されずにチェヌンに沿っお枡されたす。

Firecracker開発者のAmazonも 発衚した Rust プログラミング蚀語の開発者のスポンサヌシップに぀いお。 同瀟のプロゞェクトでは Rust の䜿甚が増えおおり、Rust での開発はすでに Lambda、EC2、S3 などのサヌビスに実装されおいるこずが泚目されたす。 Amazon は、リリヌスずビルドを S3 に保存し、EC2 で回垰テストを実行し、crates.io リポゞトリのすべおのパッケヌゞのドキュメントを含む docs.rs サむトを維持するためのむンフラストラクチャを Rust プロゞェクトに提䟛したした。

アマゟンも 玹介された прПграЌЌу AWS プロモヌション クレゞット、オヌプンなプロゞェクトは、リ゜ヌスストレヌゞ、ビルド、継続的むンテグレヌション、テストに䜿甚できる AWS サヌビスに無料でアクセスできたす。 プログラムぞの参加がすでに承認されおいるプロゞェクトのうち、Rust に加えお、AdoptOpenJDK、Maven Central、Kubernetes、Prometheus、Envoy、Julia が泚目されおいたす。 アプリケヌションは、OSI によっお承認されたラむセンスに基づいお提䟛されるオヌプン ゜ヌス プロゞェクトから受け付けられたす。

出所 オヌプンネット.ru

コメントを远加したす