PR

 サーバー仮想化ソフトを導入したコンピュータでは,ソフトウエアによって仮想的なCPU/メモリー/ディスク/NICなどが用意され,OSとアプリケーションをインストールしたり,IPアドレスを割り当てたりできる。

 このようなサーバー仮想化の仕組みは,メインフレームで各種の技術が開発され,ハードウエアの利用効率向上などに役立てられてきた。それが最近では,x86アーキテクチャのCPUを採用したサーバーで本格的な普及が始まっている。

サーバー集約や効率的な障害対策などに活用される

 サーバー仮想化の利点は多い。まず多くの実例が出始めているのが,サーバーの集約である。1台の物理的なサーバーの中に複数の仮想的なサーバー・マシン(仮想マシン)を作り,複数のシステムを稼働させる。CPUやメモリーの利用効率が上がり,省スペース化を実現できる。同時に何台の仮想的なサーバーを稼働させられるかは仮想化ソフトによって異なるが,物理的なリソースの上限まで増やせるものが理想である。

 これまでPCサーバーは安定性やリソース管理の問題から,1台で一つのシステムを動作させる構成が適切とされていた。サーバー仮想化技術を使えば,そのルールを維持したまま物理的なサーバーを集約できる。

 障害対策も効果的に行える。まず同一の物理サーバーで複数の仮想サーバーを稼働させている場合も,一つの仮想サーバーの障害が他の仮想サーバーに及ばないようになっている。災害に備えて同じ構成のサーバーを複数用意する場合も仮想化技術を使うと便利だ。災害時に利用する待機側サーバーに仮想化技術を適用すれば,少ない物理サーバーで多くの待機側システムを用意できる。後述するように仮想化したサーバーは,短時間で構築できるため,待機側サーバーを普段は別の用途に使うことも容易である。

 同一構成のマシンを短時間で用意できる点も仮想化のメリットである。サーバー仮想化ソフトでは,仮想マシンを構成するOSやアプリケーションをそれらの設定を含めて少数のファイルにまとめている。それらファイルをコピーすれば,まったく同じOSやアプリケーションを,設定も含めて容易に再構築できる。

 加えて,仮想の再構築先は,仮想マシンを作成したものと同じ仮想化ソフトが動作すれば,どの物理マシンでもよい。例えば,システムの負荷が高くなりがちな期間は高性能のハードウエア上で仮想マシンを稼働させ,あまり使われない期間は性能が低く安価なハードウエアへ移すなどが簡単に実現可能だ。

 ほとんどのハードウエアがサポートしなくなった古いOSをサポートするサーバー仮想ソフトもある。それを活用すれば,物理サーバーが保守切れになったとき,仮想化ソフトによって,システムを古いOSごと新しいハードウエア上の仮想マシンとして再構築することができる。

オーバーヘッドの少ないハイパーバイザー型が主流に

 PCサーバー用サーバー仮想化ソフトウエアは技術的にも各種の進歩がある。代表的なものは,ハイパーバイザー型が主流になってきたことだ。

 PCサーバー用サーバー仮想化ソフトは,大きく分けてホストOS型とハイパーバイザー型がある。ホストOS型では,ホストOS上で仮想化ソフトが動作し,ハードウエアとの入出力処理にはホストOSの機能を活用する。仮想マシンとハードウエアの間にフル機能のOSが介在するためオーバーヘッドはやや大きいが,性能を追求しない場合などなら実用性がある。クライアントPC用の仮想化ソフトでは現在もホストOS型が主流である。普段はホストOS上で動作するアプリケーションを使い,必要に応じて仮想マシンを起動して使う場合が多いためのようだ。

 それに対してハイパーバイザー型と呼ばれる仮想化ソフトは,通常のOSとは異なる特別な動作モードで稼働するなどで,仮想マシンで稼働するOSの動作を効率よく調整する仕組みを採用している。x86アーキテクチャのCPUでは以前,特別な動作モードをソフトウエア的に実現するしかなかった。しかし,最近ではサーバー用CPUのほとんどが,この特別な動作モードをハードウエア的に搭載しており,仮想化ソフトの処理を効率的に支援できるようになっている。

 サーバー仮想の分野でもホストOS型の仮想化ソフトはまだあるものの,企業が実際に構築するシステムでは,ハイパーバイザー型を使うことがほとんどある。もちろん,ハイパーバイザー型といっても,実装方法は細かく分かれ,実績も価格も異なる。PCサーバーでは複数のベンダーが各種製品を提供しており,用途に応じて選択できる。