仮想化の基礎についてお話ししましょう

仮想化の基礎についてお話ししましょう

導入

始める前に例を挙げましょう。

シナリオは次のとおりです。サーバーには 8G のメモリしかなく、プログラム A には 4G のメモリが必要で、プログラム B には 4G のメモリが必要です。従来のアーキテクチャではこのようなシナリオに対応できないため、仮想化によってのみ解決できます。仮想化により、2 つの 4G メモリを提供できるだけでなく、メモリ バブル、メモリ再利用、メモリ置換などのテクノロジを通じて過剰割り当てを実現できます。

パート A. 仮想化の概要

仮想化はクラウド コンピューティングの基盤です。仮想化をベースとして、プライベートクラウド、パブリッククラウド、デスクトップクラウドなどを実現できます。

仮想化は、コンピュータのさまざまな物理リソース (CPU、メモリ、ディスク領域、ネットワーク アダプタなど) を抽象化して変換し、それらを 1 つ以上のコンピュータ構成環境に分割して組み合わせることができるように提示するリソース管理テクノロジです。これにより、物理構造間の分離不可能な障壁が取り除かれ、ユーザーはこれらのコンピューター ハードウェア リソースを元の構成よりも優れた方法で使用できるようになります。これらの新しい仮想リソース部分は、既存のリソースの設定方法、場所、または物理的な構成によって制約されません。一般的に、仮想化されたリソースにはコンピューティング能力とデータ ストレージが含まれます。

仮想化アーキテクチャ

いくつかの重要な概念:

A. ホスト: ホスト、つまり物理サーバー

B. 仮想マシン: ゲスト、クライアントマシン、仮想マシンとも呼ばれる

C. VMM (仮想マシン モニター): ハイパーバイザーは、基盤となる物理サーバーとオペレーティング システムの間で実行される中間ソフトウェア レイヤーであり、複数のオペレーティング システムとアプリケーションがハードウェアを共有できるようにします。ハイパーバイザーは、仮想環境における一種の「メタ」オペレーティング システムです。ディスクやメモリを含むサーバー上のすべての物理デバイスにアクセスできます。ハイパーバイザーは、これらのハードウェア リソースへのアクセスを調整するだけでなく、仮想マシン間の保護も提供します。サーバーが起動してハイパーバイザーを実行すると、すべての仮想マシン クライアントのオペレーティング システムがロードされ、各仮想マシンに適切な量のメモリ、CPU、ネットワーク、ディスクが割り当てられます。

パート B. 仮想化の分類

【一般分類】

ハイブリッド仮想化もあり、これはカーネル レベルのドライバーをホスト オペレーティング システム カーネルに挿入するものです。このドライバーは、仮想マシンとホスト オペレーティング システム間のハードウェア アクセスを調整する仮想ハードウェア マネージャーとして機能します。ハイブリッド仮想化では、基盤となるハードウェアが仮想化拡張機能をサポートする必要があります。

【ゲストOS CPUによるハードウェアアクセスの分類】

CPU の動作レベルであるリング 0 は、コア状態とも呼ばれます。オペレーティング システムは、ハードウェアとメモリに直接アクセスし、特権命令を使用し、割り込みを制御し、ページ テーブルを変更し、デバイスにアクセスする必要があるため、そのコードは最高の動作レベルで実行する必要があります。リング 3 はユーザー モードとも呼ばれます。ディスクにアクセスしたり、ファイルを書き込んだりする必要がある場合は、システム関数を呼び出す必要があります。この操作は、ユーザー モードからカーネル モードへと呼ばれます。

ホスト マシンのオペレーティング システムはリング 0 で実行され、仮想マシンのオペレーティング システムはリング 0 レベルでは実行できないことは誰もが知っています。しかし、仮想マシンのOSはこれを知らず、実行されるコマンドは物理マシンと変わりませんが、実行権限がない場合にはエラーが発生します。したがって、この時点で仮想マシン ハイパーバイザー (VMM) は、このような事態の発生を防ぐ必要があります。仮想マシンは、VMM を介してゲスト CPU のハードウェアへのアクセスをどのように実装しますか?異なる原則に基づく 3 つの実装テクノロジがあります。

1. 完全仮想化

2. 準仮想化

3. ハードウェア支援による仮想化

主な違いは以下の図に示されています。

A. 完全仮想化

一般的には、優先圧縮技術(リング圧縮)とバイナリコード変換技術(バイナリ変換)が使用されます。優先圧縮テクノロジにより、VMM とゲストを異なる権限レベルで実行できます。 x86 アーキテクチャの場合、VMM は最高権限レベルのリング 0 で実行され、ゲスト OS はリング 1 で実行され、ユーザー アプリケーションはリング 3 で実行されます。したがって、ゲスト OS のコア命令は、実行のためにコンピュータ システム ハードウェアに直接送信することはできず、VMM によってキャプチャおよびシミュレートされる必要があります (仮想化が難しい一部の命令は、バイナリ変換テクノロジによって変換する必要があります)。

B. 支援仮想化

現在、主なテクノロジーは Intel の VT-x と AMD の AMD-V の 2 つです。基本的な考え方は、新しい命令と動作モードを導入して、VMM とゲスト OS をそれぞれ異なるモード (ROOT モードと非 ROOT モード) で実行し、ゲスト OS をリング 0 で実行できるようにすることです。通常、ゲスト OS のコア命令は、VMM を経由せずにコンピューター システムのハードウェアに直接送信して実行できます。ゲスト OS が特別な命令を実行すると、システムは VMM に切り替えて、VMM に特別な命令を処理させます。

C. 完全仮想化

Hypercall テクノロジーを使用します。ゲスト OS コードの一部が変更され、ゲスト OS は特権命令に関連するすべての操作を VMM に送信されるハイパーコールに変換し、VMM はそれらの処理を続行するようになります。 Hypercall がサポートするバッチ処理と非同期処理という 2 つの最適化方法により、Hypercall を通じて物理マシンに近い速度を実現できます。

【仮想化技術による分類】

1. サーバー仮想化、コンピューティング、ストレージ、ネットワーク、IOの仮想化

2. Serversan、仮想化をサポートするストレージアレイなどのストレージ仮想化。

3. VLAN、仮想ファイアウォール、仮想分散スイッチなどのネットワーク仮想化

4. デスクトップ(アプリケーション)仮想化、つまりデスクトップクラウド

ここでは他のカテゴリーについては詳しく説明しません。 KVM と XEN の違いは次のとおりです。

[KVMとXENの比較]

主要な準仮想化エンジンである Xen は、ハードウェアベースの仮想化を利用して MS Windows の仮想化も完全にサポートするようになりました。独立したカーネルとして設計されており、I/O を実行するために Linux のみを必要とするため、サイズが非常に大きくなり、独自のスケジューラ、メモリ マネージャ、タイマー、およびマシン初期化ルーチンを備えています。

Huawei の仮想化に携わる人なら誰でも、Dom0 があることを知っているはずです。このDom0とは何ですか?このドメイン 0 (特権仮想マシン) は、他の仮想マシンの管理者およびコントローラーです。より多くのドメインを構築し、仮想デバイスを管理できます。また、仮想マシンの休止状態、起動、他の仮想マシンの移行などの管理タスクも実行できます。また、Dom 0以外の通常の仮想マシンを指すDom uもあります。

KVM は、Linux カーネル自体をハイパーバイザーに変える独自のハイパーバイザーです。カーネルモジュールとして実装されています。仮想環境では、Linux カーネルはハイパーバイザーをロード可能なモジュールとして統合し、管理を簡素化してパフォーマンスを向上させます。 KVM は標準の Linux スケジューラ、メモリ マネージャー、およびその他のサービスを使用します。仮想化テクノロジーを置き換えるのではなく、カーネル上に構築します。

KVM アーキテクチャ

Xen アーキテクチャ

さらに、ここでは紹介しませんが、Microsoft の Hyper-V と OpenVz があります。

パート C. 仮想化の利点

1. 運用コストを削減する

サーバー仮想化により、IT インフラストラクチャの運用コストが削減されます。運用保守担当者は、物理サーバー、OS、ミドルウェア、互換性などの煩雑な管理から解放され、手動介入の頻度が減り、管理がより強力で便利になります。

2. 発売サイクルを短縮する

仮想化では、一括で事前インストールする必要があるマシンをテンプレート化し、それを使用して仮想マシンを作成できます。これにより、インストール サイクルが短縮されるだけでなく、手作業による構成エラーも削減されます。これにより、オペレーティング システムのインストールと展開のサイクルが短縮され、さらにサービス開始サイクルも短縮されます。

3. 信頼性の向上

クラスターの展開、デュアル ネットワーク カード、デュアル電源、および OS ディスク RAID 戦略により、インフラストラクチャの信頼性が向上します。クラスターを設定することで、仮想マシンのホットおよびコールド移行、障害回復、さらにはフォールト トレランスを実装でき、アーキテクチャの高い信頼性を実現できます。

4. リソースの利用率を向上させる

仮想化テクノロジーにより、単一サーバーと単一アプリケーションという従来のアーキテクチャから脱却し、リソースをより小さな単位で提供し、1対多の比率を実現できるため、物理リソースの利用率が大幅に向上します。同時に、仮想マシンを分離してセキュリティを確保することもできます。

5. 動的リソース スケジューリング (DRS)

DRS は、コンピュータ ルームの省エネと環境保護を実現し、電力消費を削減し、リソースがアイドル状態のときに一部のリソースを自動的に移行およびシャットダウンし、リソースが不足しているときにリソースを自動的に開いて負荷分散します。

パート D. いくつかの主要な仮想化テクノロジー

1. メモリの再利用

a.メモリ共有: 仮想マシンのメモリが読み取り専用の場合、同じメモリ領域を共有できます。書き込みが必要な場合、スペースが再度割り当てられます。

b.メモリバブル: 仮想マシン間のメモリ交換負荷。つまり、メモリ使用量の少ない仮想マシンが、メモリ使用量の多い仮想マシンに解放されます。

紀元前メモリの置き換え: 一時的に使用されていないメモリをストレージに置き換えて、メモリの使用率を向上させます。

2. CPU関連

CPU 仮想化を有効にするには、BIOS で関連する仮想テクノロジ項目を設定する必要があります。仮想化ネストを有効にする必要がある場合は、VMwareworkstation で関連する仮想化モードを設定する必要があります。 KVM ネストの場合は、カーネルをアップグレードする必要がある可能性があります。

サーバーサン

ServerSan は通常、従来の X86 サーバーをベースとしており、キャッシュ用の SSD と転送用の 10 ギガビット ネットワーク カードを搭載しており、コンピューティング リソースとストレージ リソースを同時に満たし、コンピューティングとストレージの統合を実現します。 ServerSan のほとんどはオープンソースの Ceph をベースとしており、高いパフォーマンスを実現できるだけでなく、データの複数のコピーを実現し、スナップショット、リンク クローン、シン構成などの高度なストレージ機能を実現できます。

主な機能は次のとおりです。

1. ハードウェアに依存しないソフトウェア定義。

2. 分散型で単一障害点がない。

3. システムは自律的であり、障害から自動的に回復し、データのバランスをとることができます。

4. 統合システム、ストレージ、コンピューティングが同じハードウェア上に展開されます。

5. 水平拡張、最小展開(最低3ユニット)、および要求に応じた容量拡張。

6. 強力な一貫性: すべてのレプリカが正常に書き込まれた場合にのみ、単一の書き込み操作が完了し、すべてのレプリカのデータの整合性が保証されます。

<<:  クラウドコンピューティングが成熟期に入る中、3つの主要業界のCIOが産業変革とイノベーションをどのように突破できるかを見てみましょう。

>>:  モバイルポータブルデバイスにおける仮想化技術の応用

推薦する

CZ ウェブマスター ツールにおける Baidu からのトラフィックのソースに関するいくつかの意見

SEO実践者が毎日行うべきことは、自社サイトのキーワード順位やサイトトラフィック状況などを確認するこ...

エッジ コンピューティングはまだ初期段階ですが、フォグ コンピューティングはどこから来るのでしょうか?

周知のとおり、科学技術分野には、数多くの新しい概念、新しい理論、新しい技術があふれています。近年、人...

Docker コンテナ ネットワーク セキュリティのベスト プラクティス: コンテナ間攻撃の防止

Docker コンテナは現代のアプリケーションの開発と展開において重要な役割を果たしますが、コンテナ...

ウェブサイトのランキングとSEO検索エンジン最適化

誰もが人気のある単語で上位にランクインすることを好み、望んでいますが、多くの場合、これらのキーワード...

大規模なウェブサイトを構築できない場合は、SEO に重点を置く必要があります。

記事はタイトル通りです。大きなウェブサイトは作れないので、ウェブサイトのSEOに集中しましょう!この...

hostsolutions: 新しい管理バックエンド、2.9 ユーロ/KVM/1G メモリ/1T ハードディスク/10T トラフィック/ルーマニア

Hostsolutions は、バックエンド管理のまったく新しい開発を実施し、以前よりも使いやすくな...

推奨: vpsdime-年間15ドル/512MB RAM/30GBハードドライブ/1TBトラフィック/Gポート

vpsdime、まず逃げる心配はありません。実は皆さんがよく知っているブランドはBackupsyなど...

クラウド技術を未開発市場に導入

ハイパースケール クラウド リージョンは素晴らしいですが、小規模で発展途上国にクラウド サービスを導...

2345ナビゲーションは、おそらくそのプロモーションに著作権侵害の疑いがあるため、多数のサイトを削除しました。

最近、かつて瑞創で働いていた数人がIT Timesの記者に明らかにしたところによると、2011年3月...

Kafka のストレージメカニズムと信頼性

目次1. Kafka の紹介とインストール構成2. Kafka のストレージメカニズムと信頼性Kaf...

Google Panda アルゴリズムの分析: 人工知能検索エンジン アルゴリズムの前哨地

人工知能と検索エンジンの融合は、間違いなく避けられない流れです。現在の検索エンジンのさまざまなアルゴ...

SEOスタジオの3つの大きな開発理念

SEO業界の現状は、一方ではSEO従事者が増えたことにより、SEO最適化の価格が急落したことです。低...

Baiduでウェブサイトを上位にランク付けするための3つのコツを教えます

ウェブサイトで上位にランクするにはどうすればよいでしょうか? 主なポイントは 3 つあります。 1....

raksmart: 大規模トラフィックサーバー、回線: CN2/本土最適化/国際 BGP

ビデオ サーバー、CDN サーバー、ダウンロード サーバー、さまざまなストリーミング メディア サー...

ウェブサイトのトラフィックを効果的に増やす4つの方法

ウェブマスターは、ウェブサイトのトラフィックをどう増やせばいいのか、ウェブサイトのトラフィックを増や...