注目されるサーバの仮想化--仮想化技術をひも解く(4) - (page 2)

谷川耕一

2007-07-25 08:00

その3:ハイパーバイザーで実現する

 3つめが、ハイパーバイザーと呼ばれる仮想化ソフトウェアで実現する方法だ。ハイパーバイザーとは、言うなれば仮想化を実現するための専用OSのようなもの。ホストOSなしにハイパーバイザーが直接ハードウェア上で稼働し、その上でゲストOSが動く。ホストOSという、性能のボトルネックとなり得るソフトウェア層が1つ減るほか、ハイパーバイザーは仮想化のために最適化されているので、性能的にはホストOSのあるタイプよりもかなり有利だ。

 ハイパーバイザーには、VMwareの「VMware Infrastructure」や「VMware ESX Server」、XenSourceの「Xen」、そして次期MicrosoftのサーバOSである「Windows Server 2008」に標準で搭載される「Windows Hypervisor」などがある。

 VMwareでは、ハイパーバイザーというソフトウェアだけで完全な仮想化マシンを実現している。そのため、インテルアーキテクチャの、ある種枯れたマシンが仮想マシンとして提供され、古いWindows NTのようなOSでも問題なく稼働できる(ライセンスの問題や、サポート切れによるセキュリティ問題などは別途発生するかもしれないが)。ゲストOS側は、自分が仮想マシン上で動いていることを全く意識する必要がない。反面、すべての仮想化の処理をハイパーバイザーが受け持つことになるので、次に説明するXenなどの擬似的な仮想化に比べると、ハイパーバイザーの処理がCPUの高負荷になる可能性もある。

 一方、XenやWindows Hypervisorは、ある種擬似的な方法で仮想化を実現する。この方法では、ゲストOSに手を加え、仮想化マシンで動くということをゲストOSに意識させる。そのためXenでは、ゲストOSに対し、仮想マシンで動くことを意識させるためのパッチを当てなければ仮想マシンでは動かない。Windows系のOSがXenのゲストOSに対応していなかったのは、Windows系OSのソースコードが公開されていないため、WindowsにXen用のパッチを当てて改変できなかったためだ。この擬似的な仮想化は、上記のVMwareで実現している完全なエミュレーションに比べると仮想化の構造が簡単になるため、パフォーマンスの劣化も小さいと言われている。

疑似仮想化のOS改変問題、その解決法は

 Xenのような擬似仮想化におけるゲストOSの改変問題を解決したのが、IntelやAMDがCPUに搭載した仮想化技術をサポートする機能だ。Intelの「Intel-VT」、AMDの「AMD-V」機能が搭載されたCPUであれば、疑似仮想化の環境でもゲストOSに改変を施す必要がなくなる。従来ハイパーバイザータイプの仮想化ソフトウェアが担ってきた仮想化のためのI/O制御やハードウェアリソースへのアクセスなどの処理が、CPUというハードウェア側で実行できるからだ。

 このプロセッサの仮想化サポート技術は、疑似仮想化のためだけに有効というわけではない。VMwareのように完全な仮想化を実現しているハイパーバイザーでも、ハードウェアリソースへのアクセスをプロセッサ側にゆだねることができれば、パフォーマンスの向上が期待できる。

どの仮想化をどこで使うのか

 このように、サーバ仮想化の実現方法にはいくつかの種類がある。どの方法を、どのような目的で採用すればいいのだろうか。

 まず、ファームウェアで実現するサーバの仮想化は、実現できるハードウェアも高価なものになる。高価な分、十分なリソースも準備できるので、企業全体で本格的なサーバ統合を目指す場合に有効だろう。ファームウェアレベルでの仮想化を実現した上に、さらにホストOSと仮想化ソフトウェア、あるいはハイパーバイザーで仮想マシンを構築することもできるので、増えすぎてしまったサーバを1台に統合、集約する際には有効な方法だ。

 一方、ホストOSと仮想化ソフトウェアで実現する方法は、手軽だがパフォーマンスに若干の不安が残る。この方法は、サーバの仮想化というよりは、むしろクライアント環境の仮想化として利用するといいだろう。例えばソフトウェアを開発する際、さまざまなOSやOSのバージョンの違い、パッチレベルの違いなど、複数の環境を用意してテストを行わなければならないことがある。そんな時、いちいち物理的なマシンを用意するのは大変だが、仮想マシンなら順次環境を切り替えてテストすることが可能だ。

 また、普段Linuxを使っている人が、どうしてもWindowsのアプリケーションでしか扱えないファイルを参照する必要があるといった場合にも、この方法によるサーバ仮想化は便利だ。

 ハイパーバイザー形式によるサーバの仮想化は、今後どんどん普及してくるものと考えられる。VMwareがこの分野では1歩先を行く存在で、シェア的にも技術的にも先行していると言っていいだろう。現状ならきわめて高度なトランザクションを要求されないアプリケーションであれば、十分に仮想化環境を稼働させることが可能だ。またハイパーバイザー機能は、Microsoftの次期サーバOS「Windows Server 2008」には独自のものが、Red Hatの「Red Hat Enterprise Linux 4.4」やNovellの「SUSE Enterprise Linux 10」にはXenが標準でが含まれている。今後は、ハードウェアにOSをインストールするのではなく、まずはハイパーバイザーを入れるという状況になるかもしれない。

 仮想化をうまく利用すれば、仮想マシン上のOSイメージを遠隔地の仮想マシンにコピーして送ることで、災害対策のシステム構成を実現することも可能だ。今後は、仮想マシンの性能も重要だが、仮想化環境をいかに効率的に管理できるかも、サーバ仮想化技術を選択するポイントとなる。ハイパーバイザーを用いたサーバ仮想化については、まだ走り出したばかりの技術でもあり、ハードウェア構成の見積もりなどのノウハウは誰もが十分とは言えない。サーバ仮想化環境構築に長けたベンダーやシステムインテグレーターの選択も、大規模なサーバ仮想化を考える際には重要となるだろう。

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ZDNET Japan クイックポール

所属する組織のデータ活用状況はどの段階にありますか?

NEWSLETTERS

エンタープライズコンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]