仮想化

仮想化とは

仮想化とは、従来ハードウェアに拘束されていたリソースを活用することで、有用な IT サービスの作成を可能にするテクノロジーです。物理マシンのさまざまな能力を複数のユーザーや環境の間で分散することにより、その能力をフル活用できます。

具体的に説明すると、それぞれ目的の違う 3 つの物理サーバーがあるとします。1 つ はメールサーバー、もう 1 つは Web サーバー、最後の 1 つ が社内レガシー アプリケーションを実行するサーバーです。各サーバーでは、能力の約 30% が使用されていますが、これはそれぞれが持つ潜在的な運用能力の一部にすぎません。しかし、社内業務ではレガシーアプリが引き続き重要な役割を果たしているため、レガシーアプリとそれをホストしている第 3 のサーバーを維持しなければならないと思われます。

Server usage

これまでは、そのとおりでした。多くの場合、1 つのサーバー、1 つのオペレーティング・システム、1 つのタスクという原則に従って、サーバーごとに個別のタスクを実行する方法が、簡単かつ信頼性が高いと考えられていました。1 つのサーバーが複数の頭脳を備えることは容易ではありませんでした。しかし、仮想化を採用すれば、メールサーバーを 2 つの固有のサーバーに分割して、それぞれが独立したタスクを処理できるようにし、レガシーアプリを移行することができます。同じハードウェアでありながら、より有効に活用できるようになります。

Server usage: virtualization

セキュリティを考慮しながら、第 1 のサーバーをさらに分割し、別のタスクを処理できるようにすれば、その利用率を 30% から 60% へ、さらには 90% へと高めることもできます。このようにすれば、空いたサーバーを他のタスクに再利用することも、 すべて処分して空調や保守のコストを節約することもできます。


仮想化の歴史概略

仮想化テクノロジーの歴史は、1960 年代までさかのぼることができますが、広く採用されるようになったのは 2000 年代初期になってからです。ハイパーバイザーなど、仮想化を可能にしたテクノロジーは何十年も前に開発され、それによりバッチ処理を実行するコンピュータに複数のユーザーが同時アクセスできるようになりました。バッチ処理は、給与処理など、ルーチンタスクを何千回も非常に高速に実行する事業部門において一般的なコンピューティング・スタイルでした。

しかし続く数十年には、複数ユーザーによる単一マシンの使用という問題に対しては、仮想化ではなく他のソリューションが一般的でした。そうした他のソリューションの 1 つであるタイムシェアリングは、オペレーティング・システム内でユーザーを分離するというものであり、それは期せずして UNIX などの他のオペレーティング・システムへとつながっていき、ついには Linux® への道が開かれました。 その間も仮想化はあまり採用されず、あくまで隙間テクノロジーでした

1990 年代までの概略。多くの企業は物理サーバーと単一ベンダーの IT スタックを使用しており、レガシー・アプリケーションを別のベンダーのハードウェアで実行することは不可能でした。企業が IT 環境を更新して、さまざまなベンダーに由来する廉価版サーバー、オペレーティング・システム、アプリケーションを採用するようになると、物理ハードウェアの使用率が低くなりました。各サーバーで実行できるタスクは 1 つのベンダー固有のタスクに限定されていました。

仮想化が実質的に始まったのは、ここからです。仮想化は、企業がサーバーを区分できるようにすること、そしてレガシー・アプリケーションを複数のタイプやバージョンのオペレーティング・システムで実行することという、2 つの課題の必然的な解決策となりました。サーバーの使用効率が上がり (一部のサーバーは使う必要がなくなり)、購入、セットアップ、空調、冷却のコストを節約できるようになりました。

仮想化は幅広く適用できるので、ベンダーロックインを減らすことに役立ち、それがクラウド・コンピューティングの基盤となりました。今では企業の間ですっかり普及したため、状況すべてを把握するには、その目的に特化した 仮想化管理ソフトウェアが必要になることが少なくありません。


仮想化の動作原理

ハイパーバイザーと呼ばれるソフトウェアにより、物理リソースと、それらのリソースを必要とする仮想化環境とが分離されます。ハイパーバイザーは、オペレーティング・システム上にインストールする (ラップトップの場合など) こともできますが、ハードウェア上に直接インストールする (サーバーの場合など) こともでき、多くの企業が仮想化しているのは後者の方法です。ハイパーバイザーは、物理リソースを分割して、仮想化環境で使用できるようにします。

How virtualization works

リソースは、必要に応じて物理環境から多数の仮想化環境にパーティション処理されます。ユーザーは仮想化環境 (多くの場合、ゲストマシンまたは仮想マシンと呼ばれる) 内で対話し、計算を実行します。仮想マシンは、単一のデータファイルとして機能します。他のデジタルファイルと同様、あるコンピュータから別のコンピュータに移動でき、どちらのコンピュータでも開くことができ、同じように動作をすることが期待されます。

仮想化環境が稼働し、ユーザーまたはプログラムの発行する命令で物理環境のリソースが余分に必要になった場合、ハイパーバイザーはその要求を物理システムに渡し、変更内容をキャッシュに入れます。こうした処理すべては (特にその要求がカーネルベースの仮想マシンに基づくオープンソース・ハイパーバイザーによって送られる場合は) ほぼネイティブスピードで実行されます。


仮想化の種類

データ仮想化

いろいろな場所に分散してるデータを、単一のソースに統合することができます。データ仮想化により、企業はデータを動的供給として扱うことができます。つまり、複数のソースから取得したデータを 1 つにまとめ、新しいデータソースにスムーズに適合させ、ユーザーのニーズに合わせてデータを変換する処理機能を提供します。Red Hat® JBoss® Data Virtualization などのデータ仮想化ツールは、複数のデータソースをまとめて 1 つのソースとして処理し、どのようなアプリケーションやユーザーに対しても、必要なデータを必要な形式で必要な時に提供できるようにします。

デスクトップ仮想化

デスクトップ仮想化は、単一のマシンに複数のオペレーティング・システムを導入できるオペレーティング・システムの仮想化と混同されがちです。デスクトップ仮想化では、中央の管理者 (または自動管理ツール) が、シミュレートされたデスクトップ環境を数百もの物理マシンに一度にデプロイできます。マシンごとに物理的にインストール、設定、およびアップデートする従来のデスクトップ環境とは異なり、デスクトップ仮想化では、管理者はすべての仮想デスクトップの設定、更新、およびセキュリティチェックを一括で実行できます。

サーバーの仮想化

Server virtualization

サーバーは、大量の特定のタスクを円滑に処理するためコンピュータです。そのため、ラップトップやデスクトップなどの他のコンピュータは、それ以外のさまざまなタスクを実行できます。サーバーを仮想化すると、そうした特定の機能がより多く処理できるようになるだけでなく、仮想化したサーバーを分割し、そのコンポーネントを使用して複数の機能を提供できるようになります。

オペレーティング・システムの仮想化

Operating system virtualization

オペレーティング・システムの仮想化は、カーネル、つまりオペレーティング・システムの中央タスクマネージャーで行われます。これは、Linux 環境と Windows 環境を並列に実行する手段として有効です。企業は仮想オペレーティング・システムをコンピュータに導入することにより、次のことも実現できます。

  • それほど革新的なコンピュータ能力を必要としないため、ハードウェアコストを大幅に削減する。
  • すべての仮想インスタンスの監視と分離が可能なため、セキュリティが向上する。
  • ソフトウェア・アップデートなど、IT サービスにかかる時間を限定する。

ネットワーク機能仮想化

Network function virtualization

ネットワーク機能の仮想化 (NFV) では、ネットワークの主要な機能 (ディレクトリサービス、ファイル共有、IP 設定など) を分割して、複数の環境に分散させることができます。ソフトウェア機能をそれがかつて実行されていた物理マシンから独立させれば、特定の機能を 1 つのパッケージにまとめて新しいネットワークとし、1 つの環境に割り当てることができます。ネットワークの仮想化により、複数の独立したネットワークを構築するために必要なスイッチ、ルーター、サーバー、ケーブル、ハブなどの物理コンポーネントの数を削減できます。そのため、特に通信業界では広く採用されています。

仮想化を使い始めるために必要なアイテム

インフラストラクチャ

必要なのはそれだけです。本当に。ベアメタル・ハードウェアからオープンソース・システムまたはプロプライエタリー・システムに至るまで、何にでもインストールできます。何十あるいは何百という仮想マシンのデプロイを開始してください。それを扱うハイパーバイザーと、操作を簡単にしてくれる管理プラットフォームを利用できます。

インフラストラクチャ

リソースが限られている場合でも、ストレージと仮想化を一緒に導入してください。同じサーバーハードウェアをハイパーバイザーとコントローラの両方として使用して、コンピューティングとストレージの統合されたリソースのクラスタ化されたプールを利用できます。


ミドルウェア

オンプレミス、データウェアハウス、クラウドのどこにあるデータでも仮想化し、必要に応じて必要な形式で提供できる単一のソースとして扱うことができます。


仮想化についてさらに詳しく