サーバー仮想化とは,CPUやメモリーといったサーバー・マシンのシステム・リソースを,OSやアプリケーション(AP)へ柔軟に割り当てる技術である。「社内にあるサーバーの利用率をもっと高め,台数を減らしたい」「システム移行を効率良く実施したい」。こんなニーズを満たしてくれる。

 サーバー仮想化には,二つの流れがある。一つは,1台のマシンを分割し,複数のシステムを稼働させる流れ。もう一つは,複数のマシンを連携させてあたかも1台であるかのように構成する流れである。

 ここでは前者の流れである,1台のマシンを分割利用する仮想化技術を中心に紹介したい。この技術はメインフレームでは約40年の歴史があるが,ここ最近,UNIXサーバーやPCサーバーでも急速に進歩した。「PCサーバーでも他社の事例を見て,検討したいという企業が増えた」(仮想化に力を入れるシステム・インテグレータのエス・アンド・アイ)という。

 また,プロセッサ・メーカーの米Intelと米AMD(Advanced Micro Devices)は,サーバーを仮想化しやすくする機能を搭載したチップの展開を始めた。

 CPUの高性能化もあり,小規模なシステムでも,サーバー仮想化を検討する機運が高まっている。

区画や仮想マシンに資源を割り当て

 1台のマシンを複数に分ける仮想化では,「区画(パーティション)」や「仮想マシン」といった単位で仮想的なコンピュータを構築する。その仮想的なコンピュータは1台の物理的なコンピュータのように独立しており,それぞれにOSやAPをインストールして使える(図1)。

図1●仮想化したコンピュータが備える特徴
図1●仮想化したコンピュータが備える特徴
物理的なリソース(CPU,メモリーなど)とは独立した仮想的なコンピュータを構築し,システム構成の柔軟性を高めることで,複数ユーザーの利便性向上,リソース利用効率の向上や耐障害性を確保する
[画像のクリックで拡大表示]

 CPUやメモリーなどのリソースは,区画や仮想マシンに柔軟に割り当てられる。例えば負荷の軽いシステムの区画に割り当てていたリソースを,負荷の重いシステムが稼働する区画に移すことで利用率を高める。

 サーバー仮想化の主な用途を図2に示す。仮想化の基本的な目的はリソース利用率の向上だが,使い道が広がっている。

図2●仮想化の主な用途
図2●仮想化の主な用途
リソース利用率の向上や開発環境の確保,システム移行など,分散システム環境の整理に使われる傾向が強まっている
[画像のクリックで拡大表示]

 ニーズとして多いのは企業内のサーバー統合だ。複数マシンを仮想化で1台に統合するとともに,リソースの割り当てを柔軟に見直して利用率の平準化と向上を徹底する。

 例えば,昼と夜など処理のピーク時間帯が異なるシステムのマシンを1台に統合すると効果的だ。各システムのリソースを融通させ,マシン全体の利用率を常に高水準に保つような構成が可能になる。

 こうした使い方はホスティング・サービスでも有効で,仮想化を使うとより多くのユーザー企業の環境を少ないマシンで効率的に実現できる。

 可用性の向上に仮想化を使うケースも増えてきた。例えば,耐障害性を高めるクラスタリング環境を,仮想化技術で効率的に構築するケースだ。クラスタリング環境では同じ構成のマシンを複数用意するが,待機系のマシンは遊んでいる(待機している)。しかし仮想化を使えば,本稼働系と待機系を同一のマシンで構築するとともに,待機系のリソースを実際に必要になるまで減らしておける。ハード障害に備えて部品を多重化することは別途必要だが,リソースを有効活用できるメリットは大きい。

 システムの開発や移行に使うケースも多い。本稼働マシンの一部の区画や仮想マシンを開発用に利用すると,本番環境に近い環境でテストができる。パッチ・レベルも含めて異なるOSを1台のマシンに混在させられ,古いシステムをOSごと新しいマシンに移行できる場合もある。

 本記事は,前半で仮想化技術の分類を通して全般的な動向を説明し,後半で大きな変化が起きつつあるPCサーバーの仮想化技術を解説する。