第4のハイパーバイザー、Red Hatの「KVM」


 本連載では、これまでVMwareの「VMware ESX/ESXi」、マイクロソフトの「Hyper-V」、シトリックスの「XenServer」などを取り上げてきた。今回は、第4のハイパーバイザーといえる米Red Hatの「KVM」を紹介する。


Linuxカーネルに統合されたKVM

 Red Hatは、6月中旬から企業ユーザー限定で「Red Hat Enterprise Virtualization(以下、RHEV)」のβテストを始めた。RHEVは、昨年Red Hatが買収したQumranet(クムラネット)のKVMをハイパーバイザーとしたものだ。

 Linuxのハイパーバイザーとしては、米Citrixに買収されたXenが有名だ。しかし、Red Hatは、今後KVMがLinuxのハイパーバイザーとして主流になっていくと考えている。

米Red Hat、Executive Vice President and President, Products and Technologiesのポール・コーミア氏

 「KVMの最大のメリットは、Linuxカーネルに統合されていることです。数年後には、ハイパーバイザー自体にハイライトが当たることはなくなるでしょう。ハイパーバイザーは、OSが持っている、当たり前の機能として、ユーザーに受け入れられることになります。こういった時には、OSや各種ミドルウェア、管理ツールを持っているRed HatやMicrosoftなどが非常に有力なプレーヤーとなるでしょう」と米Red Hat、Executive Vice President and President, Products and Technologiesのポール・コーミア氏は語っている。

 KVMは、Linuxカーネルの2.6.20からカーネルに統合されている。このため、Red Hatが支援しているFedora Projectコミュニティで開発されているFedoraなどでは、バージョン7のころからサポートされている。ほかのLinuxディストリビュータでもLinuxカーネルの2.6.20以降のリリースを採用していれば、基本的にハイパーバイザーのKVMが内蔵されている。

 Red Hatも、現在βテストを行っているRed Hat Enterprise Linux(RHEL) 5.4からKVMを搭載する。「安定性を重視する企業ユーザーに対して、十分なテストを行ってもらうためにβテストを行うことに決めました。オープンソース・コミュニティと共同歩調をとっているRed Hatにとっては、非常に珍しいことです。それだけ、KVMベースの仮想化を重視している現れだと思います」(レッドハット株式会社マーケティング本部 部長の中井雅也氏)と説明する。


Linuxのデバイスドライバをそのまま利用できる

 KVMは、最大1TBのメモリをホスト全体でサポートしている。各VMごとに64GBのメモリが割り当てられ、CPUは最大16個となっている。

 CPUについては、IntelやAMDが提供するCPUの仮想化支援機能が必須だ。また、第二世代の仮想化支援機能といわれるIntel EPTやAMDのRVIなども、KVMバージョン68以降(リリースは2008年5月)でサポートしている。現在、KVMはバージョン86(2009年5月現在)にまでバージョンアップされており、I/Oの仮想化を行うVT-dもサポートしている。ESXやXenでサポートしている最新機能が、KVMでもサポートされていると考えていいだろう。

 このKVMは、テクノロジー面から見るとVMware ESXに非常に似ている。

 XenやHyper-Vは、ドメイン0という仮想化を管理するOSが必要で、ドメイン0にインストールされたデバイスドライバをゲストOSが利用する仕組みを採用している。これは、ハイパーバイザーのデバイスドライバを含めないことで、ハイパーバイザー自体のサイズを小さくできるのが利点だ。また、ハイパーバイザー専用のドライバを用意しなくても、ドメイン0がサポートしているドライバがそのまま利用できるのもメリットとなっている。

 一方、VMwareは独自のハイパーバイザーとなっているため、周辺デバイスを利用するためには、ESX用の独自ドライバが必要になる。大手ベンダーのサーバーの多くをサポートしているものの、ドライバが用意されていないNICなどの周辺デバイスがESXで利用できないというデメリットがある。

 KVMは、Linuxカーネルに統合されているため、ESXと同じアーキテクチャといえる。ただし、Linux用のドライバがそのまま利用できるのがESXと大きく異なる。Linuxコミュニティが、今まで蓄積してきた膨大な周辺デバイス用のドライバがそのまま利用できることは大きなメリットだ。また、多くのメーカーがLinux用のドライバを積極的に開発しており、サポートされる周辺デバイスも多い。


KVMのアーキテクチャ図。Linuxカーネルの中にハイパーバイザーのKVMが入っているKVMでは、NFSなどの安価なネットワークストレージをライブマイグレーションで利用できるIntelのEPTなどの仮想化支援機能は、Intel自身がLinuxコミュニティにコードを提供している。これにより、Intel CPU上でのKVMのパフォーマンスがアップしている

KVMの実力は?

KVMでは、Qemuエミュレータが準仮想化を実現している

 Linuxカーネルに統合されているKVMは、Qemuと呼ばれる完全仮想環境と提供するエミュレータがそれぞれのゲストOSの下で動作する仕組みを採用している。ゲストOSは、すべてのI/O処理やCPU動作などをQemuエミュレータを介して行うことになる。

 KVMを統合したLinuxカーネルでは、カーネルモード、ユーザーモードのほかに、ゲストモードといわれる仮想化専用のモードが用意されている。このゲストモードでは、I/O処理以外の動作は自由に行えるが、ゲストモード上でのI/O処理はQemuエミュレータでトラップされ、カーネルモードで処理が行われる。

 ユーザーにとって気になるのは、KVMのパフォーマンスだろう。KVMコミュニティのWebサイトに、Ubuntuベースのベンチマークを掲載しているので、このデータをみてみよう。このデータによれば、ネイティブなUbuntuに比べて、ほとんどパフォーマンスは違わない。このあたりは、Intel VTやAMD-VなどのCPUが持つ仮想化支援機能を利用しているためだろう。

 KVMにとっての課題は、信頼性とさまざまなツール類だ。2006年末にLinuxカーネルに統合されてから、2年以上たつため、KVM自体の信頼性とパフォーマンスは上がっている。しかし、ユーザーが持つ信頼感と、信頼性は違う。

 また、Xenに比べ、KVMを本格的に採用しているディストリビューションも少ない。Linuxベースの仮想化では、多くの企業がXenを利用している。こういった状況で、KVMがリリースされたとしても、多くの企業はすぐに移行するとは思えない。やはり、KVMが普及していくためには、KVMの良さをわかってもらい、信頼感を持ってもらえるかにかかっている。

 また、管理ツールに関しても、VMwareなどと比べると十分といえる状況にはない。KVMを取り巻くエコシステムが完成することが、KVMが本格的に普及する鍵となるだろう。


Red Hatの仮想化戦略

 では、Red Hatはどのような戦略を持っているのだろうか。

 これまでRHELでは、Xenをハイパーバイザーとして採用している。KVMを正式サポートするRHEL 5.4でも同様だ。コーミア氏は、「KVMをサポートしたからといって、すぐにXenをサポートしなくなるわけではありません。ユーザーの利便性を考えれば、当面XenとKVMの両方をサポートすることになります。ただ、KVMはカーネルでサポートされているので、Linuxにとっては最もパフォーマンスが高く、使いやすいソリューションだと信じています」と説明する。

 Red Hatは、将来的にはKVMのサポートに注力したいと考えているようだ。KVMを開発したQumranetを買収しているため、今後Red HatはXenからKVMへと立ち位置を変えていくことになるだろう。

レッドハット マーケティング本部 部長の中井雅也氏

 「Red Hatとしては、ハイパーバイザーのKVMだけにフォーカスして、Qumranetを買収したのではないのです。われわれは、Qumranetが持つ、SPICEというリモートディスプレイ・テクノロジーを使って、LinuxやWindowsなどのクライアントが統合できるVDI(Virtual Desktop Infrastructure)環境を作り上げたいのです。、SPICEでは、高い表示能力を実現するために30fpsのビデオ再生のサポート、4台までのマルチモニター、USB1.1/2.0のサポートなどが行われています。1台のホスト上で多数のVDIをサポートできるよう、軽量で高速なハイパーバイザーとしてKVMが開発されたのです。Qumranet自身も、VDIを大きなターゲットとしてKVMといったハイパーバイザーの開発を進めていました」(中井氏)

 現在、同社がβテストを行っているのは、RHEL 5.4とRHEVのほか、仮想サーバーの管理ツール「Red Hat Virtualization Manager for Servers」、仮想デスクトップの管理ツール「Red Hat Virtualization Manager for Desktops(Linux/Windows)」の4つのソフトウェアだ。Red Hatは、KVMなどを本格的にサポートしたRHEL 5.4などを9月初旬ごろにリリースをする予定だ。実際に製品がリリースされるまでは何ともいえないが、今後はXenと同じように、KVMは仮想化ソフトとしてメジャープレーヤーになる可能性が高い。



関連情報
(山本 雅史)
2009/6/29 00:00