これとは対照的に、物理的な縛りから解放された「論理的なサーバ」を基盤としてスケールアウトを実現するアプローチがある。それが、ミッドレンジやハイエンドの商用UNIXサーバで急速に発展が進む「サーバ仮想化」の技術である。
サーバ仮想化とは、1台の大きなサーバに備わるプロセッサーやメモリなどのリソースを複数の「パーティション」に分割し、それぞれに個別のアプリケーションやOSを動作させる技術である。このパーティショニングによって、多数のWebサーバやデータベースを同時に運用したり、それぞれのOSを個別にリブートしたりできる。つまり、スケールアウト構成のメリットであるリニアなパフォーマンス向上、そしてメンテナンスの柔軟性や可用性が得られる仕組みだ。たとえて言えば、1Uサーバを何台も並べたデータセンターを一筐体で仮想的に実現するようなものである。
このサーバ仮想化には、従来のスケールアウト構成ではマネのできない特徴がある。それは、「リソースの共有」だ。ここで、以下の図を見ていただきたい。
 |
 |
| 図2:サーバ仮想化によるリソース共有の効果 |
図2が示すように、サーバ仮想化によるスケールアウトでは、すべてのアプリケーション間でリソースを共有するため、負荷のバラツキが平均化される。図2では、昼間はWebやOLAP、夜間はバッチ処理の負荷が高い状況を想定しているが、その両者がリソースを共有することで平均利用率を一定に保つことができる。
これは、IPネットワークにおける「統計多重効果」と同じであるといえる。つまり、1Uサーバやブレードサーバは昔のTDM(時分割多重)ベースの電話回線のようなもので、個々のユーザがリソースを占有するため利用効率がとても低い。一方、サーバ仮想化はIPネットワークと同様にすべてのユーザが同じリソースを共有するため、統計多重によって劇的なコスト・パフォーマンス向上が可能になる。
サーバ仮想化のさらなるメリットは、「リソースの動的な分配」である。つまり、サーバにプロセッサーを挿したり抜いたりするに等しい作業を、システムの動作中に実施可能だ。これにより、あらかじめピーク時の負荷に合わせてリソースを占有させておく必要がなくなる。たとえば図3のように、昼間はWebサーバに多くのプロセッサーを割り当て、夜間はバッチ処理にプロセッサーを移動させるといった運用も、国内外の企業ですでに導入され始めている。
 |
 |
| 図3:プロセッサーの動的な分配 |
実のところ、こうしたサーバ仮想化は、もともとはメインフレームの分野で培われてきた考え方である。メインフレームのプロセッサー利用率は平均で8割を超えると言われ、商用UNIXにおけるサーバ仮想化技術はこうしたメインフレームの考え方を応用した基盤技術なのである。
では、サーバ仮想化は具体的にどのような基盤技術によって実装されるのだろうか。それを明らかにするため、ここではHPが提供する仮想化技術であるVSE(Virtual
Server Environment)を例にとり、そのメカニズムを解説しよう。 |