上記では、クラウド コンピューティングについて比較的包括的に紹介しました。さて、鉄は熱いうちに、クラウド コンピューティングをより深く理解していただくために、クラウド コンピューティングの基本技術である「仮想化」についてお話ししましょう。 1. 概要 クラウド コンピューティングは、利用可能で便利なオンデマンド ネットワーク アクセス、構成可能なリソース共有プール (コンピューティング、ネットワーク、ストレージ、アプリケーション、サービスを含む) へのアクセスを迅速に提供できる従量課金モデルであり、ユーザーは管理作業をほとんど必要としない、とよく言われます。クラウド コンピューティングは、IT リソースをサービスとして提供するビジネス モデルです。それは特定の技術ではなく、産業形態です。クラウド コンピューティングは通常、インターネットを通じて動的でスケーラブルな、多くの場合仮想化されたリソースを提供します。 IT コストを削減し、IT がユーザーの障害になることなく、ユーザーがコアビジネスに集中できるようにすることを目的としています。 「仮想化」は、クラウド コンピューティングの主要なサポート技術の 1 つと考えられます。仮想化により、アプリケーションとデータがさまざまなレベルでさまざまな形式で提供されるため、ユーザーはこれらのアプリケーションとデータをより便利に使用、開発、保守できるようになります。仮想化により、IT 部門はハードウェアやソフトウェアを任意の場所に追加、削除、移動できるようになるだけではありません。仮想化は組織に柔軟性も提供し、IT 運用の改善とコストの削減を実現します。 クラウド コンピューティングと仮想化は密接に関連していますが、仮想化はクラウド コンピューティングに必須ではないことに注意することが重要です。クラウドコンピューティングは、インターネットを通じてさまざまな IT リソースをサービスの形でユーザーに提供しますが、仮想化自体はユーザーにサービスを提供することはできません。両者は互いの強みを補完し合うことで、ユーザーにより良いサービスを提供することができます。クラウド コンピューティング ソリューションは、仮想化テクノロジーを使用して、IT インフラストラクチャ全体のリソース展開をより柔軟にします。逆に、仮想化ソリューションはクラウド コンピューティングの概念を導入して、ユーザーにオンデマンドのリソースとサービスを提供することもできます。 2. 仮想化の概要 2.1 仮想化が必要な理由 従来の x86 サーバーのアーキテクチャでは、各物理サーバーを固有のオペレーティング システム (Windows、Linux など) を通じて管理し、ほとんどの場合、各オペレーティング システムには 1 つの負荷しかありません。また、競合やパフォーマンスの問題を起こさずに、サーバー上で複数のマスター アプリケーションを実行することは困難です。 そうすると、ほとんどの場合、サーバーのリソースが十分に活用されなくなります。前述したように、物理マシンのパフォーマンスのほとんどは無駄になっているため、ハードウェア リソースの無駄と運用リスクの軽減の間でバランスを取る必要があります。ビジネスが成長するにつれて、それに伴うコスト圧力も変化し、関連する管理効率は低下し、必要なリソースも増加します。 2.2 仮想化とは何ですか? 初期の仮想化テクノロジーは、1960 年代に IBM メインフレーム システムに初めて登場し、1970 年代には System 370 シリーズで徐々に普及しました。これらのマシンは、仮想マシン モニター (VMM) と呼ばれるプログラムを使用して、独立したオペレーティング システム ソフトウェアを実行できる物理ハードウェア上に多数の仮想マシン インスタンスを生成しました。近年、マルチコア システム、クラスター、グリッド、クラウド コンピューティングが広く導入されるようになり、商用アプリケーションにおける仮想化テクノロジの利点がますます明らかになり、IT コストの削減だけでなく、システムのセキュリティと信頼性も向上しています。仮想化の概念は、人々の日常の仕事や生活に徐々に浸透してきました。 仮想化は、状況に応じて人によって意味が異なる場合があります。 IT 分野において、仮想化はコンピューティング リソースの抽象化を表し、仮想マシンの概念に限定されません。たとえば、物理メモリの抽象化により仮想メモリ テクノロジが生まれ、アプリケーションは連続した利用可能なアドレス空間があると考えるようになります。実際、アプリケーションのコードとデータは、複数の断片化されたページまたはセグメントに分割されたり、ディスクやフラッシュ メモリなどの外部ストレージにスワップされたりすることがあります。物理メモリが不足している場合でも、アプリケーションはスムーズに実行できます。 ここで、仮想化の定義には 2 つの意味が含まれます。 (1)仮想化とは、物理的な制約を受けないITリソースの論理的表現である。 (2)仮想化技術は、ソフトウェアシステムに仮想化層を追加し、下位レベルのリソースを上位レベルのアプリケーション用の別の形式のリソースに抽象化します。 概略図で理解してみましょう。 仮想化の重要な目標の 1 つは、管理効率を向上させてコストを削減し、ハードウェアの使用率を高め、管理を容易にすることです。仮想化の主な目的は、物理サーバー構成の数を制御し、物理マシン上のオペレーティング システムとアプリケーションを仮想マシンにシームレスに転送して、これらのさまざまなプラットフォームの仮想環境を集中管理することです。 2.3 仮想化の基本原則 コンピュータ システムを仮想化できるかどうか、または VMM と呼べる制御プログラムかどうかを判断するには、次の条件を満たす必要があります。 (1)リソース制御:制御プログラムはすべてのシステムリソースを管理できなければならない。 (2)同等性:制御プログラムの管理下で実行されるプログラム(オペレーティングシステムを含む)は、タイミングとリソースの可用性を除いて、制御プログラムが存在しないときとまったく同じように動作し、事前に記述された特権命令は自由に実行できる。 (3)効率性:クライアント命令の大部分は、制御プログラムを介さずにホストハードウェアによって直接実行される必要がある。 従来の x86 アーキテクチャには必要なハードウェア サポートがないため、制御プログラムは上記の条件を直接満たすことができません。そのため、x86 は仮想化可能なアーキテクチャではありませんが、ソフトウェア実装を使用して VMM を構築することはできます。 従来の CPU 仮想化方法では、主に「特権の剥奪」と「トラップ アンド エミュレーション」の方法が使用されます。つまり、ゲスト OS を非特権レベル (特権を削除) で実行し、VMM を最高特権レベル (システム リソースの完全な制御) で実行します。ゲスト OS の権限が解除された後も、ゲスト OS の命令のほとんどはハードウェア上で直接実行できます。特権命令が実行された場合にのみ、VMM シミュレーション実行 (トラップ シミュレーション) に該当します。このメカニズムをもう少し詳しく説明しましょう。 仮想マシンは実際のコンピューティング環境を抽象化してシミュレートしたものであることは周知の事実です。 VMM は、仮想プロセッサのレジスタの完全なセット、物理メモリの使用状況、仮想デバイスの状態など、仮想マシンの状態を管理するために、各仮想マシンにデータ構造のセットを割り当てる必要があります。 VMM が仮想マシンをスケジュールすると、その状態の一部がホスト システムに復元されます。すべての状態を復元する必要はありません。たとえば、ホスト CR3 レジスタ (CR0 ~ CR3 を含む Control Rigister 制御レジスタ) には、ゲスト OS によって設定された値ではなく、VMM によって設定されたページ テーブル物理アドレスが格納されます。ホスト プロセッサは、ゲスト OS のマシン命令を直接実行します。ゲスト OS は低い権限レベルで実行されるため、ホスト システムの特権状態にアクセスする場合 (GDT レジスタへの書き込みなど)、権限が不十分なためにホスト プロセッサが例外を生成し、実行権限を VMM に自動的に返します。さらに、外部割り込みが発生すると VMM も実行されます。 VMM は、まず仮想マシンの現在の状態を状態データ構造に書き戻し、仮想マシンが一時停止されている理由を分析し、次にゲスト OS に代わって対応する特権操作を実行する必要がある場合があります。 ゲスト OS が CR3 レジスタを変更する場合などの最も単純なケースでは、仮想マシンの状態データ構造を更新するだけで済みます。一般的に言えば、ほとんどの場合、VMM は、本来単純な操作を完了するために複雑なプロセスを実行する必要があります。最後に、VMM は実行権をゲスト OS に返し、ゲスト OS は最後に中断された場所から実行を続行するか、VMM によって「挿入」された仮想割り込みと例外を処理します。この古典的な仮想マシン操作モードは、Trap-And-Emulate です。仮想マシンはゲスト OS に対して完全に透過的であり、ゲスト OS を変更する必要はありません。ただし、VMM の設計はより複雑になり、システム全体のパフォーマンスが大幅に低下します。 3. 仮想化の基本的な特徴 一般的に、仮想化には次の 4 つの基本的な特性が含まれると考えられます。 (1)パーティショニング:1台の物理マシン上で複数の仮想マシンを同時に実行すること。 パーティショニングとは、仮想化レイヤーがサーバー リソースを複数の仮想マシンに分割する機能を持つことを意味します。各仮想マシンは別々のオペレーティング システム (同じまたは異なるオペレーティング システム) を同時に実行できるため、ユーザーは単一のサーバー上で複数のアプリケーションを実行できます。各オペレーティング システムは、仮想化レイヤーによって提供される「仮想ハードウェア」(仮想ネットワーク カード、CPU、メモリなど) のみを認識できるため、独自の専用サーバー上で実行されていると認識されます。 (2)分離:同じ物理マシン上の仮想マシンは互いに分離されます。 つまり、1 台の仮想マシンのクラッシュまたは障害 (オペレーティング システムの障害、アプリケーションのクラッシュ、ドライバーの障害など) は、同じ物理マシン上の他の仮想マシンには影響しません。 1 つの仮想マシン内のウイルス、ワームなどは、各仮想マシンが別々の物理マシンに配置されているかのように、他の仮想マシンから分離されます。 リソース制御を実行してパフォーマンスの分離を実現できるだけでなく、各仮想マシンの最小および最大のリソース使用量を指定して、仮想マシンがすべてのリソースを占有して同じシステム内の他の仮想マシンにリソースがない状態にならないようにすることができます。 また、従来の x86 サーバー アーキテクチャの制限によって発生する前述の問題 (アプリケーションの競合、DLL の競合など) が発生することなく、1 台のマシンで複数のワークロード/アプリケーション/OS を同時に実行することも可能です。 (3)カプセル化:仮想マシン全体をファイルに保存し、そのファイルを移動することで仮想マシンを移行することができます。 つまり、仮想マシン全体 (ハードウェア構成、BIOS 構成、メモリ ステータス、ディスク ステータス、CPU ステータスを含む) は、物理ハードウェアから独立した一連のファイルに保存されます。これにより、ユーザーはいくつかのファイルをコピーするだけで、いつでもどこでも必要に応じて仮想マシンをコピー、保存、移動できます。 (4)ハードウェアの独立性:仮想マシンは変更を加えることなく任意のサーバー上で実行できます。 仮想マシンは仮想化レイヤー上で実行されるため、オペレーティング システムは仮想化レイヤーによって提供される仮想ハードウェアのみを認識できます。これらの仮想ハードウェアでは、物理サーバーの状況を考慮する必要もありません。この方法では、仮想マシンは変更を加えることなく任意の x86 サーバー (IBM、Dell、HP など) 上で実行できます。これにより、オペレーティング システムとハードウェア間、およびアプリケーションとオペレーティング システム/ハードウェア間の制約が解除され、分離が実現されます。 |
<<: Appleの技術コンサルタントと議論しないでください
>>: ネットワーク スライシングとサービス品質 (QoS) の違いは何ですか?
すべての SEO 担当者は、自分の Web サイトのキーワードをできるだけ短時間で改善してトラフィッ...
モノのインターネットには独自のサイバーセキュリティの考慮事項があり、サイバーセキュリティとエッジコン...
サンフランシスコ発のオンライン学習ウェブサイトUdemyは本日、3,200万ドルのシリーズC資金調達...
企業で最適化を行うウェブマスターは、ウェブサイトのタイトルタグを知っておく必要があると思います。英語...
ウェブサイトの最適化において、キーワードランキングで優れた順位を獲得しているウェブサイトは、平均的な...
同社は最近多くの新しいプロジェクトを抱えており、関与のレベルはますます幅広くなっています。実は、これ...
インターネットには今や膨大な量のコンテンツが溢れています。多くのウェブマスターは、ウェブサイトのコン...
多くの企業がハイブリッド クラウドを採用しているのは、オンプレミスのインフラストラクチャ、プライベー...
[51CTO.comより引用] 先日、51CTOとIntelが共催する「高速ビジネス下のITアーキテ...
私は再び SEO に関する記事を書き始めましたが、SEO は以前と同じくらいシンプルであることがわか...
[原文は51CTO.comより] Kezhi Consulting(中国IDCサークル研究センター)...
[[389544]]業界の専門家は、クラウド コンピューティング テクノロジーにより、組織が大規模な...
weloveservers は年末にいくつかの特別プロモーション製品をリリースしました。1G メモリ...
あなたと私がまだ「頑張れ雅安」の悲しみに浸っている間にも、百度は世界を変えるペースを止めていません。...
漠然とした内容のSEO記事と、正確で詳細な内容のSEO記事の違いについて簡単に説明します。私はインタ...