基礎知識:仮想マシンの構成とCPU仮想化

基礎知識:仮想マシンの構成とCPU仮想化

主な内容を思い出してください:

1. コンピューティング仮想化には、「1 つの仮想多数」と「多数の仮想 1 つ」が含まれます。この段階では、ハードウェアの能力が過剰であり、「1つの仮想多数」が主流になっています。

2. ベアメタル アーキテクチャは、VMWARE、CitrixXenServerv、RHEV などのリソース プールへの展開に適しており、エンタープライズでの使用に適しています。ホスト型アーキテクチャは、単一のマシンや個人での使用に適しています。

3. 完全仮想化と準仮想化にはそれぞれ長所と短所があります。 KVM は急速に発展しており、XEN は終焉の時期を迎え始めています。

実際、アプリケーションの観点から見ると、仮想マシンは X86 サーバーです。したがって、X86 サーバー上で実行できるアプリケーションは仮想マシン上でも実行できます。仮想マシンの構成は物理マシンとまったく同じで、主に CPU、メモリ、ハードディスク、入出力デバイスで構成されます。ただし、仮想マシンのこれらの「コンポーネント」は仮想的または共有的であり、それらが配置されている物理マシンによってすべて提供される可能性があります。ただし、仮想マシンの移行機能を実現するためには、仮想マシンのハードディスクをこの物理サーバーに接続された共有ストレージから提供する必要があります。

[[222329]]

CPU 仮想化技術は主に 2 つの部分に分かれています。 1 つ目は、CPU コアの実行時間をスライスし、VMM (仮想化レイヤー管理) スケジューリングを通じて CPU 実行時間スライスをさまざまな仮想マシンに割り当ててスケジュールすることです。仮想マシンが完了したりタイムアウトしたりすると、このタイムスライスの制御は次のスケジュールのために VMM に返されます。アプリケーションに割り当てられる vCPU は特定の CPU に固定されません。コマンドを実行できるのは、1 つまたは複数のタイム スライスだけです。今回はこれらの物理コアに割り当てられ、次回は他のコアに割り当てられます。タイムスライスを通じて、物理 CPU の使用率を向上させることができます。物理マシンの CPU は、通勤時には道路を走り、それ以外の時には道路に駐車している自家用車のようなものだということがわかります。 CPU がタイムスライスされてスケジュールされた後は、まるで「Uber」に加わった自家用車のように、道路を走り続け、需要があるときに乗客を乗せることで、利用率が向上します。

次に、CPU は仮想マシン上のオペレーティング システム (ゲスト OS) を「だまして」機密命令を実行させる必要があります。 CPU はリング レベルによってアクセス制御され、RING0、RING1、RING2、RING3 の 4 つのレベルに分かれています。 RING0 レイヤーは最高の権限を持ち、オペレーティング システムによって使用されます。すべてのレイヤーのデータにアクセスでき、他のドライバーは RING1 レイヤーと RING2 レイヤーに配置され、RING3 はアプリケーションを実行できます。各レイヤーは、そのレイヤー自体のデータと、それより権限の低いレイヤーのデータにのみアクセスできます。通常のアプリケーションが RING0 命令を実行しようとすると、「不正な命令」というエラー メッセージが表示されます。ただし、仮想マシンでは、RING0 はゲスト OS よりも「下位レベル」の VMM によって占有されており、RONG1 でのみ実行できます。オペレーティング システムの一部の命令は RING0 で実行する必要があり、これらの命令はセンシティブ命令と呼ばれます。 RING0 は「コントローラ」によって占有されています。浙江西部からの機密命令を実行すると、例外が発生し、システムが「停止」します。実行中に例外が必ず発生します。 「トラップされた」センシティブな命令をどのように処理するかは、CPU 仮想化で必要なことです。

この競合を解決するには、ソフトウェア エミュレーションとハードウェア サポート (Intel VT-x および AMD SVM) の 2 つの方法があります。

ソフトウェア シミュレーション方式では、これらの「トラップされた」命令がシミュレーションと実行のために VMM レイヤーに送信され、実行結果が仮想マシンのゲスト OS に返されます。実行をシミュレートする方法は多数ありますが、代表的なものはインタープリタ実行とバイナリ実行です。ソフトウェア シミュレーション方法の効率はハードウェア サポートの効率よりも低いため、リソース プール用に X86 サーバーを購入する場合は、現在の CPU ハードウェアでこの問題を解決できるため、Intel VT-x および AMD SVM ロゴ付きの 64 ビット サーバーを購入する必要があります。

Intel VT-x を例にとると、VT-x は VMX と呼ばれる新しい動作モードを提供します。このモードで動作するプロセッサには、VMX ルート操作と VMX 非ルート操作の 2 つの動作モードがあります。 VMM は VMX ルート操作を占有し、ゲスト OS は VMX 非ルート操作を使用します。オペレーティング システムの場合、VMX 非ルート操作モードは従来の x86 プロセッサと互換性があります。最大の違いは、仮想マシンがグローバル リソースにアクセスするための命令を実行すると、仮想マシンが終了 (VM-Exit) し、VMM が制御を取得してグローバル リソースにアクセスするための命令をシミュレートすることです。その後、VMM は仮想マシン エントリ操作 (VM-Entry) を通じて仮想マシンの制御を取り戻すことができます。

仮想化された CPU と物理マシンの CPU の間にはまだいくつかの違いがあります。上記の例のように、物理マシンの CPU はオペレーティング システムによって固定的に占有されます。使用されるかどうかはオペレーティング システムによって制御されます。したがって、CPU 構成が大きいほど、アプリケーションの実行への影響は少なくなります。 CPU 使用率はどんどん低下していきます。しかし、仮想 CPU の場合は異なります。より多くの CPU コアを構成する場合、基本的には対応する数のコアのタイムスライスを待機することになり、VMM スケジューラは、構成されたすべての vCPU コアが配置されるまで待機してから実行する必要があります。したがって、オーバープロビジョニングの場合、コアの数が増えるほど、待機時間が長くなります。仮想 CPU では、需要を満たしながらできるだけ少ない CPU を使用するという構成原則が採用されています。前回の記事「基礎知識 - CPU 割り当ての原則」もご覧ください。

もう一つ注意すべき点は、仮想マシンのクロックが実際のクロックよりも遅くなることです。コンピュータの時間は CPU のメイン周波数によって計算されますが、仮想マシンの時間も vCPU によって計算され、vCPU が他の仮想マシンにスケジュールされることが多く、「時間が盗まれ」、仮想マシン上の時間が遅くなります。したがって、仮想マシン *** は時刻同期サーバーに接続します。

<<:  マイクロソフトと21Vianetは長期にわたり協力関係を深め、中国クラウドに注力し、クラウドサービスをリードし続けている。

>>:  【ビッグデータ】運用保守事例20選、完全分散型Hadoopクラスターの完璧な展開!

推薦する

SEO 担当者が知っておくべきウェブサイト最適化に関する 100 の質問と回答 (パート 8)

SEOに取り組む過程で、誰もが何らかの問題に遭遇します。誰もがこれらの一般的なSEOの問題をより明確...

「体重が給料に影響する理論」から考える良質なコンテンツのレイアウト

「コンテンツは王、外部リンクは皇帝」ということわざにあるように、高品質のコンテンツと外部リンクがあれ...

VPS 初心者向けチュートリアル - 詐欺/MaxMind エラーの解決

ある種の悲しみがあります。私にはお金があるのに、あなたはそれを欲しくないのですか?バカ!次のような状...

単一ページを使用してロングテールキーワードを最適化する方法を本当に知っていますか?

ウェブサイトに高品質で権威のあるページを継続的に蓄積することは、ウェブサイト全体の重み付けに間違いな...

検索エンジン最適化における投票の原則と運用上のエラーについての簡単な説明

インターネットの急速な発展に伴い、近年SEO業界の競争はますます激しくなっています。Baiduのアル...

Meituan Dianpingの分散データアクセス層ミドルウェアMTDDLの詳細な説明

背景2016 年第 3 四半期の初め、Meituan Takeout Order 2.0 のリリース...

racknerd: 限定版 (米国) 格安 Windows VPS、月額 7 ドル、2G メモリ/1 コア (Ryzen 9 3900X)/35g NVMe/2T トラフィック

racknerdは現在、2Gメモリを搭載した安価なWindows VPSを販売しており、ハイエンド構...

[翻訳] リクエストとlxmlを使用したWebスクレイピング

ウェブスクレイピングWeb サイトは HTML で記述されており、各 Web ページは構造化されたド...

クラウド大手は AI 市場の残り 96% をどのように活用するのでしょうか?

私たちは、AIがあらゆる場所に存在する世界に向かっているようです。たとえば、基本的な食品配達のウェイ...

クラウドコンピューティングの構成エラーによって生じる脆弱性に対処する方法

大規模なハッキングやエクスプロイトを準備する際、サイバー攻撃者は自身のスキルや狡猾さよりも、被害者の...

Baidu の Pomegranate アルゴリズムでは、プレーンテキストの外部リンクはどこに行くのでしょうか?

Baiduのザクロアルゴリズムは外部リンクの決定方法を再定義し、Webサイトの外部リンクは自然で意味...

クラウドコンピューティングの未来は完全なハイブリッドクラウドです

クラウド コンピューティングの将来はかなり厳しい競争に直面しており、IDG Research Ser...

ユーザーエクスペリエンスを把握することで、Web サイトのコンバージョン率を完全に逆転させることはできますか?

使用するウェブサイト マーケティング方法に関係なく、目的は同じで、売上を効果的に増やすことです。ウェ...

中国初の複合マーケティングソフトウェアであるSKYCCの評価は多面的であるだけでなく、

常にマーケティングソフトウェア市場の最前線にいたSKYCCは、近年多くの優れた製品を生み出してきまし...