仮想化とは
仮想化とは、複数のシミュレートされた環境や専用リソースを、単一の物理ハードウェアシステムから作成することを可能にするテクノロジーです。ハイパーバイザーと呼ばれるソフトウェアがそのハードウェアに直接接続し、1 つのシステムを異なる別個のセキュアな環境に分割できるようにします。この分割された環境は、仮想マシン (VM) と呼ばれます。VM はハイパーバイザーの機能を活用して、マシンのリソースをハードウェアから分離し適切に配分します。仮想化は、過去の投資から最大の価値を引き出すための助けとなります。
ハイパーバイザーを備えた物理ハードウェアはホストと呼ばれます。一方、そのリソースを使用する多くの VM がゲストです。それらのゲストにとって、CPU、メモリー、ストレージなどのコンピューティング・リソースは、容易に再配置可能なリソースのプールのようなものです。オペレーターは CPU、メモリー、ストレージなどのリソースの仮想インスタンスを制御することができるため、ゲストは必要なリソースを必要になった時点で受け取ります。
仮想インフラストラクチャを Red Hat ソリューションに移行する
仮想化により実現できること
ネットワーク機能仮想化
1 つの元のネットワークから、分離された複数の仮想ネットワークを作成できます。
サーバーの仮想化
単一のサーバーを擬似的に 2 つのサーバーとして、あるいは何百ものサーバーとして動作させることが可能です。
オペレーティングシステムの仮想化
1 つのコンピュータで、複数の異なるオペレーティング・システムを実行できます。
仮想化のメリット
リソースの仮想化により、物理リソースをプールすることができ、ハードウェアの本格的なコモディティ化が可能となります。つまり、保守にコストがかかるものの重要なアプリケーションをサポートするレガシー・インフラストラクチャも、仮想化することで最大限活用することが可能です。
管理者は、すべてのアプリケーションについて新しいハードウェア上での動作確認が完了するのを待つ必要はありません。環境をセットアップし、VM を移行すれば、すべてが以前と同じように動作します。回帰テストにおいては、テストベッドを容易に作成したりコピーしたりすることができ、専用のテストハードウェアや冗長開発サーバーは不要です。適切なトレーニングと知識により、これらの環境をさらに最適化して、より高い能力と密度を獲得することができます。
仮想化のセキュリティレベル
ご存知のとおり、セキュリティは継続的で、統合されている必要があります。仮想化により、一般的なセキュリティ課題の多くがスマートに解決します。セキュリティポリシーにより、2 つのシステムをファイアウォールで分離することが求められる環境においても、2 つのシステムを物理的には同一のハードウェア上に配置することが可能です。開発環境の場合、開発者それぞれが独自のサンドボックスを使用することで、他の開発者のコードの品質や暴走による影響を受けずに作業できます。
仮想マシンの管理方法
仮想化管理ソフトウェアは、仮想化を簡単に利用できるようにすることを目的として設計されています。もちろん、手動でリソースを VM に割り振り、サーバー上にそのためのスペースを作り、それらをテストし、必要に応じてパッチをインストールすることも可能です。しかし、単一のシステムを何百にも分割した場合、それらのシステムが確実に動作し、最新の情報に更新され、セキュリティが確保されている状態を常に維持するためには、必要な作業量も数百倍に膨れ上がります。
しかし、すべての VM をモニタリングやプロビジョニング、管理を行うツールと結びつけておけば、ピーク使用時やメンテナンス時に、システムが自動的に適切なハードウェアへ移行するようにできます。複数のサーバーからなるファームがあり、ワークロードや時刻に応じて秒単位で設定を変えることが可能だとしましょう。特定のゲストインスタンスのリソース消費量が増加し始めると、モニタリングシステムはそのゲストを、需要の低い別のサーバーに移すか、または中央プールからさらに多くのリソースをそれに割り当てます。
仮想化とクラウド・コンピューティングの違い
この 2 つは混同されがちです。というのも、どちらもハードウェアからリソースを分離して有用な環境を作り出すことを軸としているためです。仮想化はクラウドの構築を助けますが、それがそのままクラウド・コンピューティングとなるわけではありません。このように考えてみてください。
- 仮想化は、ハードウェアから機能を分離するテクノロジーです
- クラウド・コンピューティングは、その分割に基づいて機能するソリューションです
米国国立標準技術研究所によると、クラウド・コンピューティングの 5 つの特徴は、ネットワーク、リソースプール、ユーザー・インタフェース、さまざまな機能のプロビジョニング、および自動リソース制御/割り振りです。仮想化はネットワークやリソースプールを作成しますが、ユーザー・インタフェースの作成、VM のプロビジョニング、リソースの制御/割り振りのためには、付加的な管理およびオペレーティングシステム・ソフトウェアが必要です。
仮想化をオープンソースにする理由
仮想化だけが問題ではないからです。仮想化に依存するテクノロジーをサポートするために何ができるか (できないか) も重要です。
プロプライエタリーな仮想化では、ソースコードへのアクセスが制限されてしまいますが、コードへのアクセスは IT インフラストラクチャで目的の動作をさせるために欠かせません。このようなベンダーは定期的にエンタープライズ・ライセンス契約 (ELA) をユーザーと締結し、自社のソフトウェアへの依存度を高めようとします。これによって、ユーザー企業はクラウド、コンテナ、自動化システムなど、最新テクノロジーへ投資する余裕がなくなってしまいます。
一方、オープンソースの仮想化では、仮想化によって作成されるインフラストラクチャと、インフラストラクチャを使用するすべてのものへの制御をユーザーが完全に握ります。つまり、どのベンダーと連携するか (しないか) は、ユーザーに決定権があるのです。そして、保護が必要なソースコードは存在しないため、ELA も必要ありません。コードは貴社のものです。
VM とコンテナの違い
仮想化はコンテナが使用できるリソースをプロビジョニングします。VM はコンテナが稼働できる環境を提供しますが、コンテナは仮想化環境に結び付いているわけではありません。一部のソフトウェア (Red Hat® OpenShift® Virtualization など) は、コンテナのオーケストレーションも仮想マシンの管理もできますが、その 2 つのテクノロジーが同じものだというわけではありません。
VM の機能や容量は有限です。なぜなら、VM を作成するハイパーバイザーが物理マシンの有限リソースと結び付いているためです。一方、コンテナは、同じオペレーティングシステムのカーネルとパッケージ・アプリケーションをランタイム環境と共有するため、開発、テスト、および本番構成にわたってすべてを移行し、開き、使用することができます。
Red Hat を選ぶ理由
世界トップクラスの仮想化インフラストラクチャにより、既存のハードウェアをよりよく活用しながら、慣れ親しんだシステムを実行できます。
Red Hat は、カーネルベース仮想マシン (KVM) と oVirt のコミュニティにおける設立以来のコントリビューターとして KVM ハイパーバイザーの改良に携わり、長期にわたり仮想化開発を支えてきました。Red Hat では Red Hat 製品を社内で使用して、イノベーションの迅速化と、アジャイルで応答性に優れた運用環境を達成しています。
現在、KVM ハイパーバイザーはすべての主要な OpenStack® および Linux® の仮想化ディストリビューションにおける中核的要素となっており、その全体的なパフォーマンスや、単一サーバー上において高パフォーマンスで実行可能な VM の最大数に関する記録を打ち立てました。
これらすべてが、オープンソースにより実現されています。つまり、あらゆる種類のハードウェアで動作するように設計され、テストされ、認定されています。また、Red Hat と Microsoft のコラボレーションにより、Red Hat® Enterprise Linux へ VM を導入することや、単一の仮想化製品を使用して何百もの Windows ベースの VM を管理することが可能です。