トピック

仮想化について理解する

オペレーティング・システムからアプリケーションに至るまで、新しいソフトウェアの実行に必要な能力は絶えず増えています。より多くのデータ、より高い処理能力、より多くのメモリーが必要です。仮想化は、単一の物理マシンがあたかも複数のマシンとして動作するようにして、サーバーとワークステーションのコスト削減を実現します。

仮想化とは

仮想化とは、複数のシミュレートされた環境や専用リソースを、単一の物理ハードウェアシステムから作成することを可能にするテクノロジーです。ハイパーバイザーと呼ばれるソフトウェアがそのハードウェアに直接接続し、1 つのシステムを異なる別個のセキュアな環境に分割できるようにします。この分割された環境は、仮想マシン (VM) と呼ばれます。VM は、マシンのリソースをハードウェアから分離して適切に配分する、ハイパーバイザーの機能によって動作します。つまり仮想化は、正しく使用することにより、過去の投資から最大の価値を引き出すための助けとなります。

ハイパーバイザーを備えた元の物理マシンはホストと呼ばれます。一方、そのリソースを使用する多くの VM はゲストと呼ばれます。それらのゲストにとって、CPU、メモリー、ストレージなどのコンピューティング・リソースは、容易に再配置可能なリソースの格納庫のようなものです。オペレーターは CPU、メモリー、ストレージなどのリソースの仮想インスタンスを制御することができるため、ゲストは必要なリソースを必要になった時点で受け取ります。

理想的には、関連のあるすべての VM が Web ベースの単一の仮想化管理コンソールによって管理されると、速度が向上します。仮想化では、VM に割り当てる処理能力、ストレージ、およびメモリーを自分で決めることができます。また VM は相互に切り離され、それをサポートするハードウェアとも切り離されているため、環境がよりよく保護されることになります。

要約すると、仮想化は、使用率の低いハードウェアから必要な環境とリソースを作り出します。

仮想化により実現されること

データ仮想化

いろいろな場所に分散してるデータを、単一のソースに統合することができます。

ネットワーク機能仮想化

オリジナルの 1 つのネットワークから、互いに分離した複数の仮想ネットワークを作成することができます。

サーバーの仮想化

単一のサーバーをあたかも 2 つのサーバーとして、あるいは何百ものサーバーとして動作させることが可能です。

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

1 つのコンピュータで、複数の異なるオペレーティング・システムを実行できます。

仮想化の利点

リソースの仮想化により、管理者は物理的な設置状況を気にする必要がなくなり、ハードウェアの本格的なコモディティ化が可能となります。つまり、保守にコストがかかるが重要なアプリケーションをサポートするレガシー・インフラストラクチャも、仮想化することで最大限活用することが可能です。

管理者は、すべてのアプリケーションについて新しいハードウェア上での動作確認が完了するのを待つ必要はありません。VM を移行すれば、すべては以前と同じように動作します。回帰テストにおいては、テストベッドを容易に作成したりコピーしたりすることができ、専用のテストハードウェアや冗長開発サーバーは不要です。

仮想化による効率とコストへの影響

この調査では、Forrester Consulting が Red Hat Virtualization を利用する企業にインタビューを行いました。この企業の ROI は 103 %、回収期間は 5.6 カ月でした。

仮想化セキュリティ

仮想化により、一般的なセキュリティ課題の多くがスマートに解決します。セキュリティポリシーにより、2 つのシステムをファイアウォールで分離することが求められる環境においても、2 つのシステムを物理的には同一のハードウェア上に配置することが可能です。開発環境の場合、開発者それぞれが独自のサンドボックスを使用することで、他の開発者のコードの品質や暴走による影響を受けずに作業できます。

仮想マシンの管理方法

仮想化管理ソフトウェアは、仮想化を簡単に利用できるようにすることを目的として設計されています。もちろん、手動でリソースを VM に割り振り、サーバー上にそのためのスペースを作り、それらをテストし、必要に応じてパッチをインストールすることも可能です。しかし、単一のシステムを何百にも分割した場合、それらのシステムが確実に動作し、最新の情報に更新され、セキュリティが確保されている状態を常に維持するためには、必要な作業量も数百倍に膨れ上がります。

しかし、すべての VM をモニタリングやプロビジョニング、管理を行うツールと結びつけておけば、ピーク使用時やメンテナンス時に、システムが自動的に適切なハードウェアへ移行するようにできます。複数のサーバーからなるファームがあり、ワークロードや時刻に応じて秒単位で設定を変えることが可能だとしましょう。特定のゲストインスタンスのリソース消費量が増加し始めると、モニタリングシステムはそのゲストを、需要の低い別のサーバーに移すか、または中央プールからさらに多くのリソースをそれに割り当てます。

仮想化とクラウド・コンピューティングの違い

この 2 つは混同されがちです。というのも、どちらもハードウェアからリソースを分離して有用な環境を作り出すことを軸としているためです。仮想化はクラウドの構築を助けますが、それがそのままクラウド・コンピューティングとなるわけではありません。このように考えてみてください。

米国国立標準技術研究所によると、クラウド・コンピューティングの 5 つの特徴は、ネットワーク、リソースプール、ユーザー・インタフェース、さまざまな機能のプロビジョニング、および自動リソース制御/割り振りです。仮想化はネットワークやリソースプールを作成しますが、ユーザー・インタフェースの作成、VM のプロビジョニング、リソースの制御/割り振りのためには、付加的な管理およびオペレーティング・システム・ソフトウェアが必要です。

VM とコンテナの違い

仮想化はコンテナが使用できるリソースをプロビジョニングします。VM はコンテナが稼働できる環境を提供しますが、コンテナは仮想化環境に結び付いているわけではありません。

VM の機能や容量は有限です。なぜなら、VM を作成するハイパーバイザーが物理マシンの有限リソースと結び付いているためです。一方、コンテナは、その実行環境との間で同じオペレーティング・システム・カーネルおよびパッケージ・アプリケーションを共有します。そのため、コンテナは開発、テスト、本番稼働用の構成のどこでも、移植、展開、使用することができます。

virtualization vs containers

Red Hat を選ぶ理由

世界トップクラスの仮想化インフラストラクチャにより、ハードウェアをよりよく活用しながら、慣れ親しんだシステムを実行できます。

Red Hat は、KVM と oVirt のコミュニティにおける設立以来のコントリビューターとしてカーネルベース仮想マシン (KVM) ハイパーバイザーの改良に携わり、長期にわたり仮想化開発を支えてきました。現在、KVM ハイパーバイザーはすべての主要な OpenStack® および Linux® の仮想化ディストリビューションにおける中核的要素となっており、その全体的なパフォーマンスや、単一サーバー上において高パフォーマンスで実行可能な VM の最大数に関する 記録を打ち立て ました。

これらすべてが、オープンソースにより実現されています。つまり、あらゆる種類のハードウェアで動作するように設計され、テストされ、認定されています。また、Red Hat と Microsoft のコラボレーションにより、Red Hat® Enterprise Linux へ VM を導入することや、単一の仮想化製品を使用して何百もの Windows ベースの VM を管理することが可能です。

仮想化がもたらすメリットは、総コストの削減からデータセンターのフットプリント縮小に至るまで IT 業界に広く知られていますが、これらの特徴は現代のコンピューティング環境においてどの程度メリットと呼べるのでしょうか?この調査によると、仮想化について従来言われてきたメリットは、現在も引き続きメリットであると言えます。

仮想化をはじめるためのソリューション

このソリューションさえあれば、仮想化をはじめられます。ベアメタル・ハードウェアからオープンソース・システム、プロプライエタリー・システムに至るまで、あらゆる環境にインストールできます。何十、何百という仮想マシンを扱えるハイパーバイザーと、操作を簡単にしてくれる管理プラットフォームにより、今すぐ仮想マシンのデプロイを開始しましょう。

軍事レベルのセキュリティや 99.999% のアップタイムを提供し、ビジネスクリティカルなワークロードに対応するオペレーティング・システム上で、仮想化ディストリビューションを実行しましょう。Red Hat の仮想化ソフトウェアを実行するために最適なオペレーティング・システムです。

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

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

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