OY151013119766_TP_V1

パソコンやサーバーなど、ハードウェア(コンピューター機器)性能の進歩に伴い、仮想化技術が急速に使われるようになっています。仮想化技術は、上手に使えば十分なメリットを享受できますが、そうでないとかえってデメリットの目立つシステムになります。

ここでは、仮想化技術の基礎知識と仮想化技術を用いた場合のメリット・デメリットについて述べることにします。ここで述べている内容を理解することにより、サーバー仮想化技術の基礎知識を学べるとともに、得た情報を実際のシステム設計に役立てることができます。

サーバーの仮想化とは

あなたは、「サーバーの仮想化」という言葉を聞いて、どのようなイメージを想像するでしょうか? 「現実にないサーバーを作り出すこと」というようなイメージが持てれば、実際にかなり近いです。

「サーバーの仮想化」とは、一つのサーバーの中にソフトウェアを用いて「仮想サーバー」(実体のないサーバー)を複数作り、同時に動かすことをいいます。

一昔前の情報システムでは、一つのサーバーに一つの機能を動かすことが普通に行われていました。サーバーが提供する機能としては、データベースサーバー、ファイルサーバー、Webサーバー、メールサーバーなどといったものがあります。そして、これらの機能一つ一つを扱うために一つのサーバーを使っていたのです。

システムの規模が大きくなると、当然ながらサーバーの台数はどんどん増えていきます。サーバーの台数が増加すると、設置場所や消費電力、サーバー管理の手間など、考慮すべき問題が増えます。このような流れの中、「サーバーの台数を減らそう」とする動きが強まりました。

その一方で、サーバーのハードウェアの性能が上がったため、一つのサーバーで一つの機能を動かすだけでは、サーバーの本来の性能を生かしきれない状況になったのです。

このような背景のもとで生まれたのが、「サーバーの仮想化技術」です。

一つの物理サーバーに複数の仮想サーバーを作る

サーバーの仮想化技術について述べるとき、単に「サーバー」という言葉が実体のあるサーバーを指すのか、または実体のないサーバーを指すのかわからなくなります。そこで、実体のあるサーバーを「物理サーバー」、実体のない(ソフトウェアで作り出した)サーバーを「仮想サーバー」といいます。

一般的なサーバーの仮想化では、一つの物理サーバーに複数の仮想サーバーを作ります。なお、一つの物理サーバーに一つの仮想サーバーを作るだけでは、仮想化のメリットをほとんど受けることができません。

また仮想サーバーは、仮想マシンとも呼ばれます。仮想サーバーには、実体のないCPU(コンピューターの処理を行うもの)・メモリー(プログラムやデータを一時的に記憶するもの)・補助記憶装置(プログラムやデータを長期保存する装置)などが付いていて、すべてソフトウェアで作られています

では、物理サーバーの中に、複数の仮想サーバーをどのようにして作るのでしょうか? それは、物理サーバーにソフトウェアをインストールして、そのソフトウェアの中で複数の仮想サーバーを動かせるようにするのです。そのようなソフトウェアを、「ハイパーバイザー」といいます。

ごく一般的なケースでは、一つの物理サーバーに4つぐらいの仮想サーバーを集約して動かしてもほとんど問題はないようです。

仮想化技術のメリット・デメリット

仮想化技術には、物理サーバーの台数を大幅に削減できるという特徴があります。このことにより、設置場所、消費電力、並びにサーバー管理の手間を削減できるというメリットがあります

導入コストについては、仮想化を導入するからといって必ずしも安くなるとは限りません。その理由は、ハイパーバイザーなどの仮想化ソフトウェアが有料であったり、仮想サーバーのオペレーティングシステム(システム全体を管理するプログラム)のライセンスが仮想サーバーの分だけ必要であったりするためです。

その一方で、仮想化技術では、物理サーバーの持つネットワークや補助記憶装置などの資源を複数の仮想サーバーが共有します。また、仮想サーバーソフトウェアが動くのと同時にハイパーバイザーソフトウェアも動きます。

このことから、仮想化技術によるデメリットは「単体サーバーのときよりもパフォーマンスが低下する恐れがあること」となっています

また、高速なデータ入出力機能が必要な装置(テープドライブなど)を接続するサーバーは、ハイパーバイザーの性能が追い付かず仮想化に制限があったり、仮想化できなかったりします。

ここまで述べたように、サーバーの仮想化技術にはシステムで使用するサーバーの台数を大幅に減らせるメリットがあります。そして、仮想化に伴うデメリットを含めて理解した上で、正しく仮想化技術を利用することが重要になります。