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

コメントを追加します