[51CTO.com クイック翻訳] rust-vmm は、Rust 仮想マシン モニター間でコア仮想化コンポーネントを共有するのに役立ちます。 1年ちょっと前、私たちはKVM(カーネルベースの仮想マシン)上で動作する仮想マシンモニター(VMM)であるFirecrackerの開発を開始しました。仮想マシンを素早く起動でき、メモリフットプリントが小さい軽量の VMM を作成し、高密度のクラウド環境を構築したいと考えています。 私たちは Chrome OS VMM (CrosVM) をフォークして Firecracker の開発を開始しましたが、異なる顧客ユースケースをターゲットにしていたため、2 つが分岐するのにそれほど時間はかかりませんでした。 CrosVM は ChromeOS で Linux アプリケーションの分離を提供し、Firecracker は大規模なマルチテナント ワークロードを実行するために使用されます。私たちは現在、異なる道を歩んでいますが、KVM 入出力制御 (ioctl) のラッパー、最小限のカーネル ローダー、Virtio デバイス モデルの使用など、共通の仮想化コンポーネントはまだあります。 これを念頭に置いて、共通コードを共有するための最善の方法について考え始めました。コードベースを共有することで、両方のプロジェクトのセキュリティと品質基準が向上します。現在、セキュリティの脆弱性を修正するには、あるプロジェクトから別のプロジェクトに変更を移植し、さまざまなレビュー プロセスを経て変更をマージするなど、作業の重複が必要です。 Firecracker をオープンソース化した後、GPU サポートや bzImage ファイルの起動などの機能追加のリクエストを受け取りました。一部のリクエストは Firecracker の目標と一致していませんが、実装する適切な場所が見つかっていないだけで、合理的なユースケースです。 rust-vmm プロジェクト rust-vmm プロジェクトは、Amazon、Google、Intel、Red Hat の従業員が仮想化パッケージを共有する方法について話し合い始めた 2018 年 12 月に誕生しました。このプロセスの間に、より多くの貢献者がこの取り組みに参加しました。このプロセスはまだ始まったばかりで、Crates.io (Rust のパッケージ レジストリ) に公開されているコンポーネントは 1 つだけで、他のいくつかのコンポーネント (Virtio デバイス、Linux カーネル ローダー、KVM ioctls ラッパーなど) は開発中です。 Rust で書かれた 2 つの VMM が現在活発に開発されており、他の特殊な VMM の構築に対する関心が高まっています。 rust-vmm は、コア仮想化コンポーネントを共有するためのホストとして誕生しました。 rust-vmm の目標は、コミュニティがユースケースに必要なビルディング ブロックのみをインポートするカスタム VMM を作成できるようにすることです。私たちは、rust-vmm をマルチリポジトリ プロジェクトに編成し、各リポジトリを個別の仮想化コンポーネントに対応させることにしました。それぞれの個別のビルディング ブロックは Crates.io で公開されます。 rust-vmm を使用してカスタム VMM を作成する 以下で説明するコンポーネントは現在開発中です。 図 1. カスタム rust-vmm コンポーネント 図の右側にある各ボックスは、ソフトウェア パッケージ (Rust ではクレートと呼ばれます) に対応する GitHub リポジトリです。クレート機能は、virtio-devices などの複数のモジュールにさらに分割できます。これらのコンポーネントといくつかの潜在的な使用例を見てみましょう。
たとえば、ユーザーが KVM 上で実行される個別の仮想マシンを作成および構成できるようにするカスタム VMM を構築するとします。構成の一部として、ユーザーはカーネル イメージ ファイル、ルート ファイル システム、vCPU の数、およびメモリ サイズを指定できます。 kvm-ioctls クレートを使用して、仮想マシン リソースの作成と構成を実装できます。カーネル イメージは kernel-loader を使用してゲスト メモリにロードでき、ルート ファイル システムは virtio-devices ブロック モジュールを使用して指定できます。 VMM に必要な最後の作業は、VMM Glue を記述することです。これは、rust-vmm コンポーネントを VMM ユーザー インターフェイスと統合し、ユーザーが仮想マシンを作成および管理できるようにするコードです。 元のタイトル: rust-vmm を使用した将来の仮想化スタックの構築、著者: Andreea Florescu [51CTOによる翻訳。パートナーサイトに転載する場合は、元の翻訳者と出典を51CTO.comとして明記してください。 |
<<: ハイブリッドクラウド戦争が差し迫っています。 IT 大手はどんなカードを握っているのでしょうか?
>>: 分散IM(インスタントメッセージング)システムを自分で構築する
現在、オンラインオーディオ市場の規模は拡大しており、コンテンツにお金を払うという概念を形成するユーザ...
最近、ウェブサイトを改訂し、Deamweaver 5.7 のバージョンを採用しました。記事を自動的に...
Wishosting は現在、OVH フランスのデータセンターに割引価格の VPS をいくつか持って...
クラウド サービスは、インターネット ベースの関連サービスを追加、使用、および対話するためのモデルで...
アプリケーション、データ処理、ストレージの要件に基づいて、クラウド コンピューティングとエッジ コン...
アリババは8月20日夜、2021年度第1四半期決算を発表した。クラウド事業は力強く成長し、2020年...
[51CTO.com からのオリジナル記事] サーバーレスは、イベント駆動型、ステートレス、メンテナ...
私は最近、ウェブサイトのパフォーマンスを向上させるための Google の SiteGovernan...
序文現在、世界中の企業のクラウド化とデジタル化のプロセスは加速し続けており、コンテナやマイクロサービ...
天猫ダブル11ショッピング戦争はちょうど終わったばかりで、ダブル12のゲームプレイも徐々に公開されて...
revivehostは2009年にゲームサーバー事業として設立され、その後、通常のVPSサービスの提...
外部リンクは、ウェブサイトのインバウンド リンクです。インバウンド リンクはウェブサイトにとって非常...
プロモーション活動を経て、物流業界についてある程度理解できました。今後、インターネットなしでは成り立...
最近、Google と Baidu は外部リンクにますます注目しています。ウェブマスターは非常に勤勉...
ウェブサイトのキーワードランキングを最適化するための基本は、ウェブサイトが組み込まれることです。もち...