プライベートクラウド機能を強化した仮想化スイート「VMware vSphere 4」
5月末にVMware vSphere 4(以下、vSphere 4)がリリースされた。製品リリースに伴い、vSphere 4のさまざまな機能の詳細が見えてきた。今回は、vSphere 4に関して解説していく。
■中小企業向けなど幅広いラインアップを用意
vSphere 4のエディション別の機能表 |
vSphere 4は、仮想化ソフトのスイートパッケージだ。前バージョンのVMware Infrastructure 3.0(以下、VI3)から、同梱されているソフトウェアはあまり変わらないが、さまざまな部分で機能強化が行われている。
vSphere 4の発表会のニュースと重複するが、簡単にvSphere 4のエディションを説明しておく。
vSphere 4は、大きく分けて中小企業向けのEssentialシリーズ(Essential、Essential Plus)、大企業向けのEnterprise(Enterprise、Enterprise Plus)シリーズ、通常パッケージのStandardとAdvancedに分けられる。
中小企業向けのEssentialシリーズは、最大3台のサーバーで利用できるライセンスで、この3台のサーバーでプライベートクラウドを構築するために必要な機能がオールインパッケージで提供されている。格安な価格設定となっているが、1サーバーあたり、CPUが2ソケットまで、最大3台のサーバーでしか使用できないという制限がある。
Essentialシリーズ以外のエディションは、提供される機能により分類されており、CPU数の制限は設けられていない。また、価格はCPU単位で設定されている。
■64ビットに機能強化されたハイパーバイザーのESX 4
ハイパーバイザーのESX 4が64ビット化されたことで、ホストサーバーでサポートできるリソースが大幅にアップした |
vSphere 4で使用されているハイパーバイザーのESX 4は、ESX 3.xから大きく変わった。最も変わったのは、64ビットのハイパーバイザー(VMkernel)に変更されたことだ。64ビット化により、64個の論理CPU(つまりコア数が64個)、1TBのホストメモリ、1ホストあたり最大512個までの仮想マシンが動作できるようになった。
1仮想マシンあたり最大8個のCPUが割り当てられるようになっている。これも、1~8個まで、リニアにCPUの数を増やすことができる。つまり、5個のCPUといった設定も可能だ。さらに、1つの仮想マシンあたり、最大255GBのメモリがサポートされている。
もちろん、仮想マシンにおいても、マルチCPUへの対応が強化されているため、CPU数に応じてリニアにパフォーマンスが向上している。
Intel EPTとAMD RVIをサポートすることで、リソースのオーバーヘッドが減り、仮想マシンのアプリケーションのパフォーマンスがアップした | vSphere 4では、Networkのパフォーマンスも大幅にアップしている | VMFSのパフォーマンスアップにより、ディスクアクセスの性能もアップした |
ESX 4では、IntelのEPT、AMDのRVIといった第二世代の仮想化支援機能を利用しているため、大幅にパフォーマンスがアップしている。これらの機能をサポートしたことで、CPUが仮想マシンのメモリ管理などを計算しなくてもよくなり、CPUのオーバーヘッドが非常に小さくなった。
また、ハイパーバイザーの64ビット化とソフトウェアのチューニングにより、仮想マシンが使用するネットワークドライバであるVMXNET 3のネットワークスループットが大きく向上している。単に、スループットが向上しているだけではなく、多数の仮想マシンを構築してもネットワークスループットが落ちないような設計になっている。
クラスタファイルシステムVMFSへのアクセスも、ESX 4では大幅に性能アップしている。VMFSの性能アップにより、サーバー間で仮想マシンを移動するVMotionにかかる時間もESX 4では大幅に縮まっている。
ESX4は、マルチコアに対応して、使用するCPU数に応じてリニアにパフォーマンスがアップする | vSphere 4では、仮想マシンに設定できるリソースもアップしている |
仮想CPUやメモリのHot Add機能が追加された |
このほか、動作中の仮想マシンにCPUやメモリを自由に追加(Hot Add機能)することができる。Hot Add機能のサポートにより、負荷がかかって動作が遅くなっている仮想マシンに、動作中に仮想CPUやメモリを追加して、瞬間的にパフォーマンスをアップして、処理スピードを高速化することができる。負荷が小さくなれば、追加した仮想CPUやメモリを元に戻せば、システム全体として消費電力を小さくすることができる。少ないリソースで、長時間処理を続けるよりも、瞬間的に多数のリソースを消費しても、短時間で処理が終了した方が、全体の消費電力は小さくなる。
これ以外に、仮想マシンに直接デバイスを接続するVMDirectPath I/Oという機能もある。周辺デバイスを1つの仮想マシンが占有することになるため、複数の仮想マシンで共有することができない。こういったデメリットはあるが、物理的なデバイスのパフォーマンスをすべて1つの仮想マシンで使用することができる。
現在は、IntelやBroadcomのNIC、QLogicのファイバチャネル、LSIのSASアダプタなどがVMDirectPath I/Oでサポートされている。VMDirectPath I/Oの機能を利用するためには、IntelのNehalem用のチップセットでサポートされたVT-d機能が必須となっている。
そのほか、ESX 3.xからサポートされている機能だが、メモリの透過的なページ共有機能、メモリバルーニング機能などがある。
メモリの透過的なページ共有機能は、仮想マシン上で同じOSが動作している場合、メモリを効率的に使用するモノだ。つまり、複数の仮想マシン上で同じOSを動かす場合、ホストから見れば、同じようなプログラムが物理メモリ上に展開されることになる。これは、非効率なため、メインメモリ上では、同じプログラムを1つにまとめて保存している。これにより、多数の仮想マシンを起動しても、すべてが同じOSなら、消費する物理メモリは小さくなる。
メモリバルーニング機能は、仮想マシンが予約しているメモリをほかの仮想マシンに再割り当てする機能だ。ある仮想マシンに10GBメモリや割り当てられていても、使用しているメモリが4GBという状況は多くある。こういったとき、余っている6GBのメモリを、メモリが少なくて負荷がかかっている別の仮想マシンに再割り当てをして、処理を行う。
ただし、アプリケーションによっては、あらかじめメモリを割り当てておくタイプのモノがある。こういった場合、メモリバルーニング機能が動作すると、アプリケーションにメモリが割り当てられていても、アイドル状態だと、メモリを奪っていき、アプリケーションがKillされてしまう場合がある。こういった状況を回避するために、メモリを予約するようなタイプのアプリケーションが動作している仮想マシンでは、メモリのリザベーションをしておけば、アプリケーションの動作に必要なメモリは確保されることになる。
VMDirectPath I/Oにより仮想マシンから物理デバイスが直接アクセス可能になった | メモリの透過的なページ共有機能とメモリバルーニング機能により、効率的に物理メモリが管理される | vSphere 4でサポートされるOS |
■プライベートクラウドのための機能強化
vSphere 4では、ハイパーバイザーのESX 4だけでなく、プライベートクラウドを利用しやすいような各種機能が強化されている。
・VMware Fault Tolerance
VMware Fault Tolerance(FT)機能では、仮想化されたサーバー上で動作している仮想マシンを二重化して、サーバーにトラブルが起こったときでも、必ず仮想マシンのサービスが提供され続けるものだ。
VMware FTでは、必ず仮想マシンのバックアップを別のサーバー上に用意しておく。もちろん、バックアップの仮想マシンは、常にプライマリの仮想マシンと通信を行い、状態を同じにしておく。もし、プライマリの仮想マシンがダウンしたら、瞬時にバックアップの仮想マシンに切り替える。VMware FTでは、ほんの数秒で仮想マシンが切り替わり、そのまま何もトラブルがないかのように、ユーザーにサービスを続けていく。このとき、IPアドレスなど、すべての環境は、コピーされているため、仮想マシンを使用しているユーザーは、仮想マシンがスイッチしたことをほとんど意識することはない。
VMware FTは、仮想マシンを二重化して、システムの信頼性を高める |
ただし、バックアップの仮想マシンにスイッチした場合、1台の仮想マシンで動作しているため冗長化が行われていない状態になる。これでは、バックアップの仮想マシンが動作しているサーバーにトラブルが起こったときは、仮想マシンがダウンしてしまうことになる。
そこで、VMware FTでは、バックアップの仮想マシンが起動した時点で、別のサーバー上にバックアップの再バックアップとなる仮想マシンを起動して、必ず仮想マシンが二重化される状態を作り出す。これにより、多数の仮想化されたサーバーを運用するデータセンターにおいても、システムの安全性が保たれるというわけだ。
VMware FTの再プロテクト機能を使えば、プライマリの仮想マシンが動作を停止して、バックアップがプライマリに昇格しても、再度バックアップを作成する。これにより、どんな状況でも仮想マシンが二重化されている |
・VMware Data Recovery
vSphere 4には、VMware製のバックアップ/リカバリソフトであるVMware Data Recoveryがバンドルされている。
VMware Data Recoveryは、各仮想マシンにエージェントをインストールしなくても、利用できるバックアップソリューションだ。仮想マシンが動作している最中でも、バックアップ/リカバリができる。また、管理コンソールもウィザード形式でジョブを作るため、管理者にとっては非常に使いやすくなっている。さらに、重複排除機能も用意されているため、データ量も少なくて済む。
ただし、VMware Data Recoveryは、Disk to Disk(D2D)のバックアップソリューションとなっているため、テープメディアなどはサポートされていない。
VMware Data Recoveryは、ハイパーバイザー上でサポートされているバックアップ機能 | VMware Data Recoveryの主要コンポーネント。仮想マシン側には、エージェントは必要ない |
・Storage vMotionの機能拡張
Storage vMotionでは、vMotionする対象のストレージとして、NFSやファイバチャネル、iSCSIがサポートされた。これにより、NFSをサポートした安価なNASなどをStorage vMotionの対象として利用することができる。
また、Storage vMotionを行う場合、VI3では、サーバー上に仮想マシンのコピーを作成するため、メモリが2倍必要だった。しかし、vSphere 4のStorage vMotionでは仮想マシンをコピーすることをやめたため、メモリの消費量が大幅に減った。さらに、Storage vMotionが使用するフォーマットが、RDMからVMDKフォーマットに変更された。これにより、Storage vMotionにおけるストレージの移行が高速化されている。
何よりも管理者にとってうれしいのは、Storage vMotionの設定がvSphere ClientのGUIから操作できることだろう。今までは、コマンドを使っていたため、敷居が高かったが、GUIで操作ができることで、多くの管理者が利用できるようになった。
vSphere 4のStorage vMotionでは、NFSやファイバチャネル、iSCSIなどのストレージをサポート。GUIから簡単にコントロールできる | Storage vMotionの仕組み |
・VMware VMsafe
VMware VMsafeでは、ハイパーバイザー上にアンチウイルスソフトを動かすことができる。今年の秋には、各社からVMsafe対応ソフトがリリースされる予定だ |
ESX 4では、VMsafeという特殊なAPI群が用意されている(一部のメーカーにのみ公開)。VMsafeは、言ってしまえば、ハイパーバイザーに穴を空けて、仮想マシン間でアクセスができるようにしたモノだ。VMsafe APIは、セキュリティを重視するハイパーバイザーにとって、大きな問題となる。
しかし、VMsafe APIにより、各仮想マシンをウイルスやマルウェアから保護するためのアンチウイルスソフトがサーバー上に1つだけあれば、システムが保護されるようになる(このため、VMsafe APIは、VMwareとライセンスを結んだ企業だけが利用できるAPIとなっている)。
以前は、各仮想マシン上に既存のアンチウイルスソフトを1本ずつインストールしていたが、これではコストもかかるし、マシンのパフォーマンス面でも無駄が多くなる。そこで、VMsafe APIを作ることで、アンチウイルスソフトを仮想アプライアンスとして動かし、すべての仮想マシンを1つのアンチウイルスソフトで保護しようというモノだ。
この仕組みだと、仮想マシンで動作しているOSは問わない。Windows版、Linux版といったアンチウイルスソフトを用意しなくても、VMsafe対応ソフトだけがあればいい。
現在、Symantec、McAfee、CheckPoint、Trend Microなどが、VMwareからライセンスを受けてVMsafe対応のソフトを開発している。今年の秋ごろには、各社のソフトがリリースされるだろう。
・vShield Zone
vShield Zoneは、ハイパーバイザー上で動作するVMware製のファイアウォールソフト(仮想アプライアンス)だ。
VI3では、各仮想マシンのOS上にファイアウォールをインストールしなければならなかった。しかし、vShield Zoneは、ハイパーバイザー上で動作するため、すべての仮想マシンのトラフィックをチェックして保護してくれる。vShield Zoneは、仮想アプライアンスとして動作するが、vSphere 4の仮想マシンのネットワークを集めて、透過的にフィルタリングする。このため、管理者は特殊な設定を行わなくても、簡単に仮想マシン外にファイアウォールを構築することができる。
ハイパーバイザー上で提供されるファイアウォール機能がvShield Zone | vShield Zoneのアーキテクチャ | vShield Zoneの接続形態 |
・vApps
vAppsは、複数の仮想マシンをシステムとして一括管理するための仕組み |
VI3では、複数の仮想マシンで動作するシステムを作成した場合、各仮想マシンが管理単位となっていた。しかしvSphere 4では、vAppsという機能により、複数の仮想マシンを1つのシステムとして管理することができるようになった。
例えば、データベースサーバー、ミドルウェア、Webサーバーといった組み合わせの3階層システムを構築した場合、それぞれの仮想マシンが起動する順番、1つの仮想サーバーがvMotionした場合に必ずほかの仮想サーバーも同じ物理マシンにvMotionするといったルールが設定できる。
これ以外にも、vAppsにはさまざまなビジネスルールを設定することができる。管理者は、データセンターにおいて、仮想マシン上で動作しているシステムをトラブルなく、さまざまな物理サーバーに移行することができる。
また、vAppsの機能は、プライベートクラウドと外部のクラウドサービスとをつなぐ鍵となる。プライベートクラウドの負荷が高まり、外部のクラウドサービスにスイッチするときに、vAppsでシステムのビジネスルールや要件が記述されていれば、この要件にマッチしたクラウド上のサーバーに自動的にスイッチすることもできる。
・vNetwork
vSphere 4では、vNetworkという機能が用意されている。VI3では、複数の物理サーバーを束ねたデータセンターを運用する場合、ネットワーク設定が非常に複雑になっていた。そこで、vSphere 4では、複数の物理サーバーにまたがる、仮想的な分散スイッチを作り、ネットワーク管理をやりやすくしている。
VMware自体もvNetwork分散スイッチソフトをvSphere 4に同梱しているが、vNetworkはサードパーティにも公開されている。この機能を利用して、Ciscoは仮想スイッチのNexus 1000Vを開発した。Nexus 1000Vは、Ciscoのネットワークスイッチと相互に連携して動作するようになっている。このため、管理者は、物理と仮想のネットワークを非常に簡単に管理、運用することが可能になる。
vSphere 4では、分散スイッチにより、複数のサーバーに分かれた仮想ネットワークを一括管理することができる | 分散仮想スイッチソフトは、VMware社製だけでなく、サードパーティの製品も利用できる。CISCOのNexus 1000Vは、この機能を利用して作られている | vNetworkのメリットは、複数のサーバー上にあるネットワークを一括管理して、ネットワーク層においてもvMotionを可能にする |
これ以外にも、シンプロビジョニング機能の強化、VMFSボリュームを拡張する機能、VMDKの動的拡張機能、フレキシブルなライセンス管理システムなどの機能がある。また、負荷の少ないサーバーを停止させて、1つのサーバーに仮想マシンをvMotionさせて、データセンター全体で省電力化を図るVMware DPM(Distributed Power Management)機能などは、VI3で限定サポートだったものが、vSphere 4では正式サポートになった。
vSphere 4でサポートされたシンプロビジョニング機能 | VMFSボリュームの拡張機能 |
VMDKの動的拡張機能 | 複数のサーバーを運用していている環境で、電力消費を押さえるVMware DPM機能 |
vSphere 4は、このようにさまざまな機能が拡張されたり、追加されている。これらの機能の目的は、社内に構築された膨大な仮想マシンをどう容易に運用するのかということに主眼が置かれている。また、今後出てくるプライベートクラウドと外部のクラウドサービスをどう有機的に運用するのかということが重要視されている。
ここまでくるとvSphere 4は、単なる仮想化ソフトではなく、ITシステムを動かすインフラといっていいだろう。