仮想化のワザその3:変身の術
仮想化のワザの最後は「変身」だ。変身といえば、思い浮かべるのは仮面ライダー。それも初代なので古すぎるか。変身の術の典型的な例はネットワークだろう。光、メタル線のADSL、無線など、物理的な接続形態は異なるのに、実際に接続する際にはTCP/IPと呼ばれるものに変身している。そのため、ウェブでブラウズしている時にもTCP/IPで通信するのだという設定がなされていれば、情報が駆け巡っているのが光なのかADSLなのかを意識しなくてもいい(実際には、速度が速い・遅いということは意識するかもしれないが)。
もう1つ例を挙げるならば、IPアドレスとサーバの割り当てがある。通常、IPアドレスは1つのサーバにつき1つ割り当てられている。この場合、サーバに障害が発生した場合、サーバにはアクセスできないが、隣に待機していたサーバを変身させて、あたかも障害が発生していたようには見せないという方法がある。これは、仮想化の技術を使って、自動的にIPアドレスとサーバの割り当てを瞬時に変更することで実現している。
このところ話題となっているサーバの仮想化であれば、Windows上でVMwareなどの仮想化ソフトウェアを使ってLinuxを動かしてみたり、古くてサポートされないWindows NTの環境をWindows 2003 Server上に仮想化環境を作って延命したりというのが、変身のワザを使った仮想化だ。
ワザの組み合わせが難しい
単なる変身の場合はあえて仮想化とは言わない、という意見もあるだろう。実際この変身の術は、前述の分身や合体の術と組み合せて利用することが多い。例えば、通常は1つのURLに1台のウェブサーバが割り当てられている。ところが、非常にアクセスの多いウェブサイトなら複数のウェブサーバが用意され、それらに対して1つのURLでアクセスできるようになっている。これは、合体と変身の術の組み合わせだ。
また、Hewlett-Packardの提供する「HP Integrity」のようなハイエンドのサーバシステムでは、1つの筐体の中のリソースをまずは分割して利用できる。分割したものを、要求に応じて合体させることも可能だ。さらにそれを、新たなサーバに見せかけて利用するといったこともできるのだ。この場合は、分身して合体し、さらに変身したような形だ。
仮想化を分かりにくくしているのは、このように異なる仮想化技術を組み合わせて使うところにあるのだろう。個々の仮想化技術を理解するのはそれほど難しいものではない。ところが、CPUリソースは分割し、ストレージは合体させる、さらにその組み合わせに別の名前を付けて利用すると考えると、かなり複雑なことになる。また、分割はハードウェアレベルでおこない、合体と変身はソフトウェア、あるいは分割も合体もソフトウェアで行うなどとなればさらに複雑だ。
とにもかくにも、仮想化の話題になったならば、基本はこの分身、合体、変身の3種類だということを思い出しシンプル化し、これらの技術がどういう組み合わせで使われているのかをチェックしてみると理解しやすくなるかもしれない。次回は、仮想化のメリット、デメリットについて、なるべくやさしくひも解いていきたいと思う。