現在,情報システム分野を騒がせている目玉のトピックに「仮想化」がある。ベンダー各社からは仮想化をうたう製品が続々と発表され,関連ニュースも日々登場しており,実際に仮想化技術を適用したユーザー事例も増え続けている状況だ。

 仮想化テクノロジが求められている背景には,大きく2つのトレンドがある。第1に,サーバーやストレージの種類,台数が増え過ぎて,運用管理コストが膨れ上がっていることだ。なんとか台数を削減したり,運用管理の操作を標準化していかないと,いずれ首が回らなくなってしまう。

 第2に,環境対策の一環として二酸化炭素の排出量(すなわちデータセンターの電力消費量)を削減する気運が高まっていることがある。実態として10~20%程度と言われるハードウエアの稼働率を高め,業務処理量当たりの電力消費量を減らすことが求められている。これは運用管理コストの削減にもつながる。

 これら2つの問題を解決するものとして,仮想化テクノロジが大いに期待され,次世代システム基盤の中核技術と目されている。この連載では,そもそも仮想化とは何なのか,どのようなメリットがあるのか,どのような分野で使われているのかを確認し,仮想化を実現するための技術を解説していく。

仮想化はシステム資源の稼働率を高める

 「パソコンに512メガバイトのメモリーしか搭載していなくても,Windows上では2ギガバイトのユーザー記憶域が利用できる」「複数のディスクを使って1つのRAIDを組む」――。よく知られた上記の例は,実は仮想化の一形態にほかならない。仮想化とは「マシンやストレージなどの物理的なIT資源の構成・制約に依存せず,仮想的(論理的)な資源として扱えるようにすること」を指す。これがなぜ前述したような課題を解決することになるのだろうか。

 サーバーを仮想化する例で言えば,「サーバー・マシンが物理的に何台あるか」という制約とは関係なしに,仮想的な存在である「仮想マシン」を好きなだけ作り出せる。複数の仮想マシンを1台の物理サーバー・マシン上で同時に動かすこともできるし,ある仮想マシンを別の物理サーバー・マシンへ瞬時に移動させることもできる。仮想化した資源は物理資源から完全に切り離されており,これがシステムの構築・保守・運用のあらゆる場面で大きな自由度,高効率を生み出す。仮想化の“真髄”は,まさにこの点にある。

 もっとも理解しやすいメリットの1つは,消費電力の削減である。仮想化によって,仮想化した資源に割り当てる物理資源の量を少なくできるようになる。これにより「物理資源の電力消費量を抑えられる」という理屈だ(図1)。

図1●仮想化のメリットの1つは省電力化
図1●仮想化のメリットの1つは省電力化
ハードウエアの稼働率を上げて電力を抑えられる

 例えば,物理サーバー・マシンを5台用意しなければならない場合に,5台すべてを常時フル稼働させる必要はない。トランザクション量が少ない夜間などは稼働率が下がるので,仮想化テクノロジを利用して仮想マシンを一部の物理サーバー・マシンに集約してしまえばよい。1台の物理サーバー・マシンに対して,CPU負荷が10%以下の仮想マシンなら6~10台集約し,CPU負荷が20%以下の仮想マシンなら3~5台集約する,といった具合だ。

 仮想マシンの集約後は,稼働していない物理サーバー・マシンの電源をオフにできる。仮想化した環境では,必要な量の資源を必要な時に利用できるので,ガスや水道などと同じく,使った分だけ課金するという「ユーティリティ・コンピューティング」に近いことが実現できると言えるだろう。

 仮想化したシステム環境では,物理資源の集合体は「リソース・プール」と見なされる。このリソース・プールの中から仮想マシンなどに対して,適時・適量の資源を自在に割り当てられる。さらに,多くの仮想化製品や一部の運用管理ソフトは,ある仮想化資源に割り当てる物理資源の量を,その時々の利用状況に応じて動的に変更する機能を提供している。これにより,物理資源の稼働率を一層高められる。