基礎知識:仮想マシンの構成と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クラスターの完璧な展開!

推薦する

課題に立ち向かう: 純粋なFLASHウェブサイトの最適化における3つの主要な問題を解決する

純粋な FLASH サイトの最適化は、SEO 業界では常に話題になっていますが、実用的な成果はほとん...

クラウドセキュリティの主要技術と今後の開発動向

クラウド セキュリティは、中国企業によって生み出された概念であり、国際的なクラウド コンピューティン...

SEO の将来はどこまで続くのでしょうか?

中国では、特に2006年頃にSEOが非常に流行しました。この時期に、数え切れないほどの草の根ウェブマ...

ローカルフォーラムで6日間で1,300元のオフライン利益を上げた例

近年、ローカル フォーラムはウェブマスターの間でますます人気が高まっています。現在、より人気のあるプ...

Amazon EMR の紹介

Amazon EMR は、複数の動的にスケーラブルな Amazon EC2 インスタンスにわたって大...

究極のオンサイト最適化 - プラットフォーム検索マーケティングのROI限界を突破

検索エンジンにおける電子商取引プラットフォームのランキング、特にホームページの位置をめぐる競争は最も...

VMware は VMware Tanzu および VMware Aria プラットフォームを強化し、顧客のニーズを満たす最新のアプリケーションの開発と提供を加速します。

今日の企業は、不安定なマクロ経済環境において回復力を獲得するために、ソフトウェアの俊敏性を優先する必...

製造業におけるクラウド コンピューティングからクラウド製造に移行するには、いくつのハードルを乗り越える必要がありますか?

製造業の発展を取り巻く一般的な環境は、「複雑かつ変化しやすい」と表現する方が適切でしょう。世界を見渡...

無料URL短縮サービスBitlyが1500万ドルを調達

URL短縮サービスプロバイダーのBitlyは今年5月に2000万ドルの資金調達を計画していたが、まだ...

今年の315はK12オンライン教育の番になるかもしれない

K12オンライン教育は、物理的な空間の制限を打ち破り、より多くの人が高品質の教育リソースを享受できる...

これらはすべてWeiboの宝くじなのに、なぜAlipayは4億回のインタラクションを獲得できるのでしょうか?

月給5,000~50,000のこれらのプロジェクトはあなたの将来です仕事に復帰して数日経ちますが、各...

Dinkleのウェブサイトをチャネルとして活用したウェブサイトプロモーション戦略について

みなさんこんにちは。Leike.com の Li Xin です。今日は主に、DINKE ウェブサイト...

2019年のアプリプロモーションチャネルを総まとめ!

パフォーマンスマーケティング当社では、KPI と結果重視のあらゆるプロモーションを「モバイル インタ...

JD.com の 10,000 台のマシンからなる Hadoop クラスター |分散リソース管理とジョブスケジューリング

JD.com が数万台のマシン規模で Hadoop を構築したいのはなぜでしょうか? JD.com ...