仮想化について語る - カーネルとIO

仮想化について語る - カーネルとIO

[[211645]]

序文

時間は流れる水のように、あっという間に過ぎていきます。自分が仮想環境にいるのか、現実環境にいるのかわからないことがあります。すべてはカーネルの認識にすぎません。 。 。

異なる経験、それを実現するいくつかの異なる方法があります。 。 。またナリに来ましたね。 。 。

仮想化の分類

仮想シーンは実際には現実と同じです。 。 。 。

仮想化シナリオでは、仮想マシンは仮想化環境で実行されていることを認識する場合があります。この場合、タイプ 1 仮想化であるカーネルを変更する必要があります。たとえば、VMware ESX および ESXI は、上位レベルの仮想マシンに提供されるハイパーバイザーを通じてハードウェアを直接管理します。このとき、仮想マシンが使用するカーネル呼び出し方式は、従来のシステムコールではなくハイパーコールとなります。これは、他の仮想化テクノロジよりもはるかに効率的です (仮想マシンは、ハイパーバイザー呼び出しを開始するためにカーネルを変更する必要があります)。

タイプ 2 仮想化では、ホスト マシンがハードウェア上で実行され、その中でユーザー空間プログラムが実行されて上位レベルの仮想マシンの管理が提供されます。これは VMM (仮想マシン モニター) またはハイパーバイザーと呼ばれることもあります。仮想マシンが関連する命令を呼び出すと、ホスト マシンに要求が送信され、その要求は VMM によってキャプチャされ、外部ハードウェア命令が実行される、または呼び出されます。これにより、すべての命令を少なくとも 1 回は変換する必要があるため、効率が大幅に低下します (仮想マシンはさまざまなオペレーティング システムを実行できます)。

実際のところ、企業に入るときに、アウトソーシングを選択するのか、しないのか。アウトソーシングを使用する場合、それは実際には仮想化の一種です。誰もがアウトソーシングしていることを明確に認識しているため、アウトソーシング会社のインターフェイスに直接電話をかけてサービスを提供します。これは非常に効率的かもしれませんが、ハードウェア環境は明らかに劣悪です。 。 。 。それが良いことかどうかは分かりませんが(笑)。 。 。 。

アウトソーシングする前は、誰もが仮想空間に住み、すべての CPU リソース、すべての物理メモリを使用し、すべてのハードウェアを操作できると考えていました。実際には。 。 。 。どれだけのリソースが使用できるかは不明です。おそらく私たちは仮想化されたシナリオの中で生きているだけなのでしょう。 。 。夢の中の夢。 。 。

メモリ仮想化

仮想化シナリオでは、CPU とメモリは実際には切り離せません。基本的に、どの物理マシンの CPU が使用されても、そのメモリは必然的に使用されます。なぜ?

CPU ハードウェアには、2 つのメイン チップが実装されています。 1 つは MMU (メモリ管理ユニット) で、主にメモリの管理に使用され、実際には線形アドレスから物理アドレスへの変換を行います。プロセスでは、使用されるリニア アドレス、つまり各プロセスが参照できるメモリ アドレスは、実際には物理アドレス全体であり、その一部はカーネルの使用のために分割され、残りはプロセスによって使用されるメモリ空間です。プロセスが変数を使用するたびに、これらの変数の値がメモリに保存されるため、CPU でアドレスを見つけて、MMU を介して物理アドレスを見つける必要があります。 CPU の速度はメモリの速度よりもはるかに速いため、この速度に合わせるために別のチップ、つまり TLB があります。これは主に、線形アドレスから物理アドレスへの変換の物理的な結果をキャッシュするために使用されます。そのため、アドレスが見つかるたびに、最初に TLB が見つかります。そうでない場合は、MMU を介して変換され、物理メモリが検出されます。

CPUの物理構造には、第1レベルキャッシュ、第2レベルキャッシュ、第3レベルキャッシュがあります。通常、第 3 レベル キャッシュは各 CPU で共有されるため、リソースの占有が発生する可能性があり、SMP アーキテクチャから NUMA アーキテクチャに変換され、非均一なメモリ アクセスが発生します。主な目的はパフォーマンスを向上させることです。 CPU を使用する場合、別の物理マシン上のメモリ アドレスを見つけてデータを読み取ることは不可能です。速度とパフォーマンスを向上させるために、CPU と MEM は基本的に同じ物理マシン上でバインドされて使用されます。

オーバーセリングの概念は、CPU が仮想であり、メモリも仮想であるということです。実際、VCPU は仮想 CPU であり、実際には物理マシン上のプロセスです。実際、仮想 CPU の数は物理コアの数を超えることがありますが、パフォーマンスとサーバーへの負荷、つまり CPU の平均負荷に応じて、一般的な過剰比率は 1.5 です。メモリも仮想的で、一部のクラスライブラリはプロセスごと、あるいは仮想マシンごとに使用されるため、物理メモリを超えることもありますが。 。 。比率はないようです。

シミュレーション シナリオでは、一般的な手順は、仮想マシンの仮想メモリを仮想マシンの物理メモリに変換し、それをホスト マシンの仮想メモリに変換してから、実際の物理メモリを見つけることです。 2 回の変換が必要となり、仮想マシンが複数ある場合、基本的に各仮想マシンの TLB を接続できないため、パフォーマンスが大幅に低下します。

そのため、ハードウェア レベルでは、どの仮想マシンの線形アドレスから物理アドレスへの変換を示すフィールドを TLB に追加するタグ付き TLB などのハードウェア支援仮想化テクノロジが提供されます。例えば、MMU メモリユニット管理機能が提供され、仮想アドレスが物理マシンの仮想アドレスに直接変換されるため、仮想マシンの物理アドレスに変換するステップが省略され、パフォーマンスが大幅に向上します。

ハードウェアでサポートされるメモリ仮想化 (AMD ネスト ページ テーブル [NPT] および Intel 拡張ページ テーブル [EPT])

I/O仮想化

I/O デバイスは一般にドライバーとデバイス自体に分かれており、ドライバーはカーネル内で実行されます。仮想マシンのシナリオでは、プロセスが外部 IO デバイスをスケジュールする必要がある場合、プロセスは最初に仮想マシンのドライバーを呼び出して仮想マシンのハードウェアを駆動し、次に物理マシンの vmm によってキャプチャされ、次に物理マシンのドライバーを呼び出し、最後に実際に物理デバイスを呼び出します。つまり、2つのステップに分かれています。

IO デバイスの仮想化シナリオでは、シミュレーション、つまりソフトウェア シミュレーションを使用する方法があります。 Linux ではすべてがファイルであるため、呼び出し用に多数のファイルが提供されます。

1 つは準仮想化を使用することですが、これにもハードウェア サポートが必要です。つまり、仮想マシン ドライバーは物理マシン ドライバーを直接呼び出してハードウェアを駆動するため、仮想マシン ドライバーが仮想マシンのデバイスを呼び出す手順が省略されます。

1 つ目は IO 透過伝送技術です。これは主に、一部のネットワーク カード デバイスまたはハード ディスク デバイスを仮想マシンに直接バインドして使用し、基本的に物理ハードウェアのパフォーマンスを実現するために使用されます。ただし、これらのハードウェアの管理は、依然としてハイパーバイザーによって管理される必要があります。

ハードウェアサポートデバイスおよび I/O 仮想化 (Intel VT-d、AMD IOMMU)

要約する

仮想化の登場は、CPU、メモリ、I/O などの物理ホストのリソースをより有効に活用するためです。

<<:  仮想化技術の徹底解読について語る(第1部)

>>:  CAの幹部:アジャイルコンセプトは市場で広く受け入れられており、スケールアジリティが話題となっている

推薦する

3つの大きな動きがeLong.comに大きな打撃を与え、行き詰まりに近づいている

eLongの2013年度の財務報告は芳しいものではなかった。純損失は1億6800万元で、2009年に...

SEO診断: 無効な払い戻しがウェブマスターの不安を軽減

多くのウェブマスターは、ウェブサイトに問題が生じた後、できるだけ早く問題を解決したいと考えていますが...

budgetvm- 2017年8月 ウェブサイトの改訂/いくつかのカスタマイズされたサービスの追加

最近、budgetvm は Web サイトを刷新しました。正直に言うと、新しいバージョンはボスの W...

SEO のためだけに SEO をするのはやめましょう: リンク切れのさまざまな意味

デッドリンクは、検索エンジンにとって最も不利な要素の 1 つであるため、今日の SEO で最も嫌われ...

多くのネットユーザーが、新浪微博のアカウントがハッキングされ、100人以上の有名人や団体をフォローしていたと報告した。

今月24日以来、多くのネットユーザーが新浪微博のアカウントがハッキングされたとネット上で報告している...

クラウドネットワーク統合における専用回線の需要に関する簡単な分析

[[442453]] 1. 専用回線市場の現状専用線市場は、企業数、クラウド事業展開、政策支援などの...

主要な

前回ジュニアSEOERの基準を書いて以来、皆様からの評価と期待をいただいております。ここに感謝申し上...

エッジコンピューティングとクラウドネイティブについての理解と考察

クラウドコンピューティングの発展の歴史は、仮想化技術の発展の歴史でもあります。過去 20 年間、クラ...

クラウド コンピューティングが IT セキュリティをサポートする 12 の方法

過去 10 年間、クラウド コンピューティングはエンタープライズ IT における最も破壊的なトレンド...

クラウドネイティブアーキテクチャがデジタル変革に重要な理由

ビジネス アプリケーションは、クラウドで実行するように特別に構築され、クラウド コンピューティングの...

インターネットマーケティング前の準備

マーケティングを行うということはコミュニケーションを取ることであり、コミュニケーションを取るためには...

besthosting: 3.4ドルから​​、ウクライナのVPS+サーバー、無制限のトラフィック

besthosting.ua は、2003 年にウクライナで設立された On-line LTD のホ...

myrsk-4.99$/Kvm/512m メモリ/40g ハードディスク/1T トラフィック/G ポート/ラスベガス

myrsk は、ファイバーハブ データ センターで特別な KVM VPS をリリースしました。プロモ...

Check Point CloudGuardはハイブリッドクラウドを保護し、顧客に169%のROIを提供します

独立した調査によると、チェック・ポイントの高度な脅威防止およびクラウド・サイバーセキュリティ・ソリュ...

検索エンジンは、適切なフォーマットのオリジナルコンテンツを好みます。

簡単な説明長い間何も書いていませんでした。今日は、検索エンジン最適化のためのオリジナルコンテンツの標...