ツールが整い始めた、Red Hat Enterprise Linuxの仮想化


 Linuxカーネルに統合されたハイパーバイザー「KVM」を中心に据えたRed Hatでは、KVMに対応した仮想化管理ツールなどを、徐々に整備し始めている。そこで今回は、米国で開催されたRed Hat Summitの資料を踏まえて、今後リリースされる管理ツールなどを紹介していく。

高いパフォーマンスを示すRed Hat Enterprise Linux 6.1

KVMのアーキテクチャ。ハイパーバイザーがLinuxカーネルの中に統合されている

 2010年にリリースされたRed Hat Enterprise Linux(以下RHEL)6.0は、サポートされるCPU数(CPUコア)としては、理論値で4096CPUコアとなる。実際には、これだけのCPUを搭載できるサーバーが存在しないため、OS側でサポートされている理論値となり、実際にRed Hatでもテストができていないほどだ。

 サポートされているメモリは、64ビット環境のx64では、理論値として64TBまでサポートされている。32ビット環境のx86では16TBと、RHEL 5と変わらない。Red Hatのサポートとしては2TBとなっている。これも、より多くのメモリ環境でのテストが終了すれば、Red Hatがサポートするメモリの容量もアップするだろう。

 もう1つ、ファイルシステム自体も拡張されている。RHEL 6ではXFSというファイルシステムを使用することで、最大100TBまで対応した。ファイルシステムとして100TBをサポートするだけでなく、1つのファイルの最大サイズとして100TBをサポートしている。

 仮想化に関してもRHEL 6では、大きな改良が行われている。RHEL 6では、ハイパーバイザーとしてKVMが採用されている。RHEL 5でサポートされていたXenは、RHEL 6からはパッケージには同梱されていない。Red Hatの非サポートであれば、Xenをインストールして利用することはできる。

 RHEL 6では、KVMの性能も向上している。KVMの仮想環境でサポートされている仮想CPUとしては最大64CPU、仮想メモリに関しては1TBにまでアップしている。さらに、1つのホストで同時実行できる仮想環境の数としては2000VM以上にまで拡張されている。

 さらに2011年5月にリリースされたRHEL 6.1では、さまざまなバグフィックスやパフォーマンスの向上、スケーラビリティの改善などが行われている。機能的には、RHEL 6とあまり変わらない。ただ、ネットワークのパフォーマンス改良、ハイパーバイザーKVMの改良が行われている。

 特に、KVMにおいて、vhostの完全サポートにより、仮想環境下でのネットワーク負荷が軽減されたり、Kernel SamePage Merging(KSM)機能によりVM間で同じメモリー共有することが可能になったりした。さらに、ブロックI/Oの待ち時間改善なども行われている。


RHEL 6.1では、vhostをサポートすることで、ネットワークの負荷が軽くなっているvhostは、物理ネットワークに少しのオーバーヘッドで動作する。VirtIOに比べると格段に負荷がかからない

 ある意味、ハイパーバイザーのKVMはRHEL 6.1によって熟成されてきたといえる。実際、Red Hatが行ったベンチマークでは、仮想環境と物理環境において、オーバーヘッドが非常に少なくなっている。これにより、KVMの仮想環境でも、実アプリケーションのベンチマークにおいて、十分なパフォーマンスを示している。

 特に、仮想環境において、ネットワークはネットワーク上のストレージアクセスなどにも利用するため、vhostのサポートにより負荷が小さくなり、システム全体のパフォーマンスがアップしている。また、準仮想化ドライバーのVirtIOの改良、エミュレータのQEMUの改良もパフォーマンスアップに寄与している。


JavaのベンチマークSPECjbb2005をRHEL 4.9、KVM上のRHEL 6.1、物理環境のRHEL 6.1で計測した資料。RHEL 6.1のパフォーマンスが高いのが分かるが、仮想環境と物理環境の差が5%ほどしかない仮想環境のベンチマークSPECvirt_sc2010において、RHEL 6.1はVMwareよりも高い性能を出している
同じサーバーでも、RHEL 6.1を利用するだけで、VMware ESXよりも高い性能を出している。これは、KVM自体が高い性能を持っているためだろうKVMのセキュリティ面は、セキュリティ性の高いSELinuxと組み合わせることで、仮想環境を強固にガードする

 

大きく変わるRed Hat Enterprise Virtualization 3.0

 RHELのハイパーバイザーであるKVMは、Qumranetという企業が開発し、Linuxカーネルに提供したモノだ。Qumranetでは、ハイパーバイザーのKVM以外に、管理ツール、仮想デスクトップ向けのシステムなどを開発していたが、KVM以外のシステムは、Windowsベースで開発されていた。

 2008年にRed HatがQumranetを買収したが、管理ツールや仮想デスクトップ向けのシステムなどは、Windowsベースでの提供が続いていた。

 2011年8月になり、管理ツールや仮想デスクトップ向けのシステムなどの、Red Hat Enterprise Virtualization(RHEV)3.0のβ版をリリースしたタイミングで、Windowsベースではなく、大幅に改良された。

 RHEV3.0は、管理ツールのRHEV Manager、RHEL 6.1ベースのKVMハイパーバイザー、新しいバージョンのSPICEが用意されている。

 今後、RHELベースのクラウドを構築、管理していく上で、重要になってくるのが管理ツールだ。RHEV Managerは、複数のサーバーで動作しているKVMを管理する機能が提供されている。また、仮想ディスク(OVFフォーマット)のインポート/エクスポート機能、VMwareやXenフォーマットの仮想ディスクをKVMで利用できるフォーマットに変換するV2V機能などが提供されている。

 2010年にリリースされたREHV 2.2までは、Qumranetで開発されたアーキテクチャがベースとなっていたため、Windows Server 2008 R2上に.NetフレームワークとC#言語で構築されていた。データベースにも、MicrosoftのSQL Serverが採用されていた。

 オープン性を追求するRed Hatとしては、いつまでもプロプライエタリなWindows環境を利用し続けるわけにはいかない。このことは、Qumranet買収時からつきまとっていた問題点だった。約3年かかって、RHE V3.0においてやっとこれが実現したといえる。

 REHV 3.0では、動作OSをRHELに変更し、RHEV Managerのアプリケーション自体をJavaで書き直した。さらに、データベースには、PostgreSQLを使用するように変更している。また、各種のプログラムインターフェイスとして、SOAPやHTTP、RESTful APIなどをサポートすることで、多くのアプリケーションとの連携が可能になっている。


RHEV 2.2のアーキテクチャ。Windows環境がベースとなっているRHEV 3.0のアーキテクチャ。Windows環境からRHELとJavaなどのオープンシステムに変わっているRHEV 3.0とRHEV 2.2の機能比較。ハイパーバイザーが異なるため、仮想環境でサポートされるCPUやメモリが大幅に違う

 RHEV Managerでは、管理コンソールのユーザーインターフェイスも改良されている。RHEV 2.2と3.0を比べるとあまり変わらないように思うが、左のパネルはサーバーなどのデバイス別のツリーになっている。また、メインパネルもVMやネットワーク別にリスト表示されている。ストレージマネージメントのユーザーインターフェイスもシンプルで分かりやすくなっている。

 VMの作成、編集、削除などもRHEV Managerで簡単に行える。もちろん、スナップショット、テンプレート化などもサポートされている。また、User Portalという画面で、VMの動作状態を簡単に確認することができる。

 これ以外に、CPUやメモリ、ネットワークなどのリソースの状態をグラフとして表示するダッシュボードなども用意されている。


RHEV ManagerのUI画面。RHEV 2.2とそれほど変わりないが、使いやすくなっているRHEV Managerでは、NICごとに状態を知ることが可能

 RHEV 3.0では、RHEL 6.1をコンパクトにしたハイパーバイザーが用意されている。KVMは、RHELに統合されているが、RHEL自体はさまざまなミドルウェアが搭載されている。しかし、ベースのハイパーバイザーとして使用するには、RHELのミドルウェアなど必要ない。そこで、RHELをカスタマイズして、KVMハイパーバイザーが動作する環境だけを用意している。

 プライベートクラウドやパブリッククラウドでは、ハイパーバイザーを複数のサーバーにインストールして(PXE、USB、CD-ROMからブート可能)、RHEV Managerで管理すれば、クラウドの効率的な管理・運用が行える。

 RHEV 3.0には、VDIソリューションのSPICEが搭載されている。SPICEは、VDIを実現するための画面転送プロトコルだ。RHEV3.0では、VDIソリューションを内蔵している。このため、他社のVDIソリューションに比べると低コストで利用できることになる。

 RHEL 6.1ベースのハイパーバイザーを使用しているため、多数の仮想デスクトップ環境を1つのサーバー上に構築することができる。1つのサーバーに収容できる仮想デスクトップ環境の数が増えれば、増えるほど、コストメリットにつながる。

 ただ、SPICEに関しては、RHEL 6.1ではテクノロジープレビューとなっているため、本格サポート開始はRHEL 6.2になる。


RHEV 3.0を使ったVDIソリューションSPICEは、ゲストOSの仮想にSPICE Serverが配置されている。このSPICE Serverを経由して、クライアントに画面が転送される
RHEV 3.0で採用されているSPICEはバージョン0.8。コピー&ペースト、スマートカードのサポートが行われているSPICEの次バージョンでは、USBデバイスのサポートなどが計画されている

 また、USBデバイスがサポートされていない部分、マルチディスプレイのサポート、GPUのダイレクトサポートなど、他社のVDIソリューションに比べると、必要最低限の機能がサポートされているだけ、といえる。VDIソリューションに関しては、RHEV 3.0は、ライバル他社を追い越したとはいえない。

 RHEV 3.0のプレゼンテーションを見てみると、クラウドを管理する機能が充実してきている。ただ、P2VやV2Vなど、仮想環境を構築したり、移行するためのツールなどが、まだ十分とはいえない。それでも、技術力のあるISPやデータセンター事業者にとっては、RHEL 6.1とRHEV 3.0は、クラウドを構築するための強力なプラットフォームといえるだろう。


User Portalでは、仮想マシンの状態が一目で分かるUser Portalのアドバンスビューでは、仮想マシンをリストで表示しているダッシュボードでは、リソースの負荷をグラフで表示することが可能
関連情報
(山本 雅史)
2011/9/12 00:00