アットマーク・アイティ @IT@IT自分戦略研究所QA@ITイベントカレンダー+ログ
 @IT > サーバ仮想化の新発想「仮想スケールアウト」とは
 
@IT[FYI] 企画:アットマーク・アイティ 営業企画局
制作:アットマーク・アイティ 編集局
掲載内容有効期限:2004年12月10日

 

 

サーバ増強の“最適解”──「サーバ仮想化」最前線(1)
サーバ仮想化の新発想
「仮想スケールアウト」とは

  スケールアウトはスケールアップに行き着く

 1Uサーバやブレードサーバによるスケールアウトは、ミッドレンジ/ハイエンド・サーバによるスケールアップに行き着く。この逆説的ともいえる状況が、明確なトレンドとして現れつつある。そのカギを握るキーワードは、「仮想スケールアウト」だ。

 これまでスケールアウト構成が広く採用されてきた背景には、「安いサーバを数多く並べるだけで、リニアなパフォーマンス向上が実現する」というメリットがある。また個々のアプリケーションを独立したサーバに割り当てておけば、OSリブートによる影響を最小限に抑えられ、メンテナンスの柔軟性や可用性が高まる。

スケールアップシステムの仮想化がコスト削減の切り札になり得る理由

 しかしこうしたスケールアウト構成で構築されたデータセンターにも若干の弱点が出る可能性がある。まずは、図1を見ていただきたい。

図1 サーバごとの負荷のバラツキ

 図1は、スケールアウト構成における典型的な負荷の状況を表したものだ。この図が示すように、アプリケーションの負荷にはバラツキがあるのが普通で、利用率が常に一定というアプリケーションはごくまれだ。一説には、一般的なデータセンターのプロセッサ利用率は平均2〜3割とされている。つまり、かりに平均利用率を8割や9割に高められれば、ハードウェアコストを現状の1/3〜1/4にまで下げられる可能性があるのだ。

 スケールアップソリューションに比較し、コスト削減に一定の限界が生じる要因の1つとしては、従来のスケールアウト構成が「物理的なサーバ」で実装されていることがある。各サーバの能力が物理的に固定されており、負荷状況に応じて自由にプロセッサを追加・削除できるわけではない。そのため負荷のピークに合わせてサーバ台数あるいはプロセッサ数に余裕を持たせて設置するしかない。いわゆる「オーバー・プロビジョニング」が不可避なのだ。 「余裕」が少なくて済む中小規模のシステムの場合は「オーバー・プロビジョニング」によるコスト増の要因は少ないが、ビジネス・システムの規模が大きくなればなるほど、そのコストインパクトを十分に精査しなければならなくなる。

 もう一点、物理的なサーバが増加すればサーバのメンテナンスコストへの配慮も必要になる。最新の管理環境が実現されていない場合、従来は設置されたサーバ数に応じ、ハードウェアのインストールや管理、メンテナンスを個々の筐体ごとに実施しなければならないケースもあり、データセンター要員にかかるコストが肥大化する可能性があるのだ。そのためあらかじめ導入するシステムの構成をもとにスケールアウトにするか、それ以外の選択肢を検討する必要がある。

「仮想スケールアウト」を実現するサーバ仮想化

 その選択肢としてもっとも有力なものは、物理的な制約から解放された「論理的なサーバ」を実現するサーバ仮想化だ。サーバ仮想化とは、プロセッサやメモリなどのリソースを複数のパーティションに分割し、それぞれに個別のアプリケーションやOSを割り当てる技術である。このパーティショニングによって、多数のWebサーバやデータベースを1台のサーバ上で同時に運用したり、それぞれのOSを個別にリブートしたりできる。つまり、論理的なサーバを何台も並べた「仮想スケールアウト」構成が一筐体で実現するのである。

 仮想スケールアウトには、通常のスケールアウトではマネのできない特徴がある。それは、「リソースの共有」だ。ここで、以下の図を見ていただきたい。

図2 仮想スケールアウトによるリソース共有

 図2が示すように、仮想スケールアウトではすべてのアプリケーション間でリソースを共有するため、負荷のバラツキが平均化される。

図3 プロセッサの動的な分配
 仮想スケールアウトのもう1つのメリットは、「リソースの動的な分配」──すなわち、システムの動作中に、プロセッサの抜き差しに相当する作業を論理的に行うことである。これによって図3のように、昼間はWebサーバに多くのプロセッサを割り当て、夜間はそのCPUリソースをバッチ処理に移動させるといった運用が可能になるのだ。

 では、仮想スケールアウトは具体的にどのような基盤技術によって実現されるのだろうか。それを明らかにするため、ここではHPが提供する仮想化技術であるVSE(Virtual Server Environment)を例にとり、そのメカニズムを解説しよう。

  HP VSEにみるサーバ仮想化の実際

 仮想化技術VSEは、以下の3種類のパーティショニング技術を基盤としている。これらはいずれも、HP IntegrityサーバおよびHP 9000サーバでサポートされている(HP IntegrityサーバにおけるvParsサポートは、2005年前半の予定)。

<VSEの3種類のパーティショニング技術>
パーティション技術 種類 分割単位
nPartitions(nPars) 物理パーティション システム・ボード(セル・ボード)単位(4〜8プロセッサ)
Virtual Partitions(vPars) 論理パーティション プロセッサ単位
PRM/pset リソース・パーティション プロセッサ、メモリ、I/Oを利用する割合(%)で分割
図4 VSEを構成するパーティション技術

論理パーティションvPars

 これらのなかで、HP VSEの中核をなすパーティショニング技術がVirtual Partitions(vPars)である。vParsは、1台のサーバ(もしくは物理パーティション)をプロセッサ単位で分割する論理パーティションである。図5は、8枚のセル・ボード(32プロセッサ)を搭載するHP 9000 Superdomeサーバに対し、nPars(物理パーティション)とvParsによるパーティショニングを施した例である。

図5 nParsとvParsによるパーティショニング

 vParsの特徴は、それぞれが独立したOSイメージを持つことである。そのため、OSのバージョンやパッチ・レベルをvParsごとに変えたり、個別にリブートしたりできる。図5の例でいえば、WebサーバのOSをリブートしても、データベースはまったく影響を受けずに運用を継続できる。このように、それぞれのvParsを1Uサーバやブレードサーバのような感覚で利用できるのである。

 vParsのもう1つの特徴は、上述した夜間バッチ処理の例のように、負荷状況に応じてプロセッサ数を自由に変更できる点だ。また例えばWebサイトの成長にともないアプリケーションサーバへのデータベース負荷が上昇した場合でも、vParsにプロセッサを追加するだけで対処が可能。サービスを停止してサーバ移転するなどの大規模メンテナンスは不要になる。

  「リソース・パーティション」の考え方

 またHP VSEでは、vParsよりもさらに粒度の細かなパーティショニング技術として、Processor Sets(pset)およびProcess Resource Manager(PRM)の2つを用意している。

 vParsが「1台のサーバを複数のOSに分割する」のに対し、psetとPRMは「1つのOSを複数のリソース・パーティションに分割する」ためのメカニズムである。つまり、1つのOSが管理するリソース(プロセッサやメモリ、ディスク・バンド幅)をいくつかに分割し、それぞれに異なるアプリケーションを割り当てるのである。なお、psetはHP-UX 11にて無償で提供されている機能であり、PRMは有償機能として提供されている。

プロセッサをグループ化するpset

 図6は、psetの概要を表した図である。

図6 psetによるプロセッサのグループ化

 この図が示すように、HP-UX 11iでは、複数のプロセッサをグループ化したプロセッサ・セット(pset)を設定し、それぞれに割り当てるアプリケーション(プロセス)をリアルタイムにコマンド指定できる。このようなプロセッサ・リソースの分割によって、アプリケーション間の干渉を防ぐことができる。図6の例でいえば、仮にアプリケーションのバグやピーク時負荷によってpset Aのプロセッサ利用率が100%に達したとしても、pset Bやpset Cのアプリケーションに影響が及ぶことはない。つまり、共用ホスティングでありながら、あたかも専用ホスティングのように常時一定のパフォーマンスを維持できるのである。

リソース利用率を%単位で制御するPRM

 もう1つのリソース・パーティション技術であるPRMは、プロセッサとメモリ、ディスク・バンド幅のそれぞれの利用率について、アプリケーションごとに%単位の制御を実現する。例えば、1つのOSが管理するプロセッサ・リソース全体を100%として、アプリケーション・グループ1には33%の使用権を、グループ2には66%の使用権をそれぞれ割り当てるといった運用が可能である。この割り当て例でPRMを動作させると、図7のようなプロセッサ・リソース管理が実施される。

図7 PRMによるプロセッサ利用率の制御

 図7が示すように、プロセッサに空きがある状態(時間A〜B)では、グループ1は使用権を上回るプロセッサ・リソースを得ることができる。しかし、プロセッサが逼迫してくると(時間B〜)、グループ1の利用率は最大33%に抑えられ、グループ2には66%が確保される。

 こうした%単位のきめ細かなリソース管理のカギは、HP-UXのスケジューラが握っている。HP-UXの標準のスケジューラでは、UNIX OSで一般的なプロセスの優先度に基づくスケジューリングが実施される。しかし周知のとおり、単純な優先度ベースのアルゴリズムでは、図7のような安定した利用率制御は実現できない。そこでPRMでは、標準スケジューラの代わりにFair Share Scheduler(FSS)と呼ばれる専用のスケジューラをHP-UXに組み込むことで、指定された利用率を厳密に履行するOS環境を実現している。

 図8は、このPRMとpsetの組み合わせによるリソース管理の例である。

図8 psetとPRMの組み合わせ例

 ここまで見てきたとおり、サーバ仮想化の技術によって、これまで物理的な実体を伴ってきた「サーバ」は、いまや論理的な概念へと姿を変えつつある。仮想スケールアウトがデータセンター構築にもたらすインパクトの大きさを感じ取っていただけたはずだ。次ページでは、この仮想スケールアウトの最新事情をレポートする。

    1/2

index
サーバ増強の“最適解”──「サーバ仮想化」最前線
Page 1
サーバ仮想化の新発想「仮想スケールアウト」とは
  Page 2
高負荷時は数秒でサーバ増強。仮想スケールアウトの凄さ

 
本記事は、日本ヒューレッド・パッカードのHP-UX Developer Edgeに掲載された記事を許諾を得て、再構成したものです。詳しくは、HP-UX Developer Edgeの以下の記事をご参照ください。
(要登録、登録無料)

『「サーバ仮想化によるスケールアウト」の新潮流・前編』
『「サーバ仮想化によるスケールアウト」の新潮流・後編』

関連リンク
HP-UX Developer Edge(開発者向けサイト)
HP-UXサイト
HP-UX Java環境
HP Integrity Web
HP Advantageシリーズ BEAバンドル

@IT News/記事
IT管理者のための仮想化技術入門(System Insider)
HPの掲げるIT基盤「Adaptive Infrastructure」とは?(System Insider)
実行スピードに挑戦するJavaアーキテクチャの変遷をたどる(Java Solution)
HP、サーバ仮想化技術のマルチOS化を含む強化計画(@IT News)
ユーティリティ化に見るHPがユニークな点(@IT News)
メインフレームを駆逐せよ! HPのオープン戦略(@IT News)
SolarisエンジニアをHP-UX陣営に取り込むHPの秘策(@IT News)
日本HPと日本BEA、二度目の握手を交わす(@IT News)


</comment> <tr> <td bgcolor="#EEEEEE"><font size="2"><a href="javascript:KeepIt();"> <img src="/club/keepoint/images/ico_kpt.gif" alt="kee&lt;p&gt;oint保存" border="0" align="absmiddle" width="24" height="18">kee&lt;p&gt;ointで保存</a></font></td> </tr> <comment>

 
@ITトップ@IT Special インデックス会議室利用規約プライバシーポリシーサイトマップ