仮想マシンにクラスタ化は必要か?
仮想マシンのメリットとデメリット
VMwareを始めとするサーバの仮想化技術が注目を集めており、すでに一般化してきた感がある。仮想マシンを使用することで複数の物理サーバを統合することができ、運用負荷やハードウェアの保守費用などを軽減でき、導入のメリットは大きい。
その他にVMwareではサービスを維持したまま物理マシン間で仮想マシンを移動させる技術「VMotion」が実運用に耐え得るレベルになってきた。これらの技術を使用すれば、サービスを停止させることなくハードウェアメンテナンスを実施することも可能である。
このように多くのメリットがあるサーバの仮想化であるが、すべての問題を解決する銀の弾丸ではなく、可用性という観点から考えると導入には大きなデメリットがあるので注意が必要だ。
それは、物理マシンに障害が発生した時の影響範囲が非常に大きくなるという点だ。非仮想化環境であれば、その物理マシン上で提供しているサービスのみが停止するだけで済むが、仮想化後に仮想マシンの動作する物理マシンが停止すれば、当然それらの仮想マシンはすべて停止してしまう。障害の影響範囲はサーバ統合化を進めるほど大きくなり許容できないリスクになる。
そのリスクを減らす方法として、クラスタ構成があげられる。クラスタ構成であれば障害のインパクトを縮小することができるので、仮想マシン環境にこそクラスタ構成が必要と言えるだろう。
仮想マシン環境とクラスタ構成の相性
また、仮想マシン環境とクラスタ構成は相性がいいことも特筆すべき点だ。LifeKeeperのように高可用性を狙ったクラスタでは稼動系サーバと待機系サーバを用意するアクティブスタンバイ構成を採用することが多い。
待機系サーバは障害が発生するまで待機しているので普段の負荷は非常に小さく、他の役割を持つ仮想マシンよりも多くの台数を1台の物理マシンに集約することが可能になる。
実際にどれだけの待機系サーバを集約できるのかは、ハードウェアのスペックや障害発生時に許容できる負荷などの諸条件により一概に述べることはできず、要件に応じたキャパシティープランニングを行う必要があるが、物理サーバでクラスタを構成する時よりもハードウェアコストを軽減することができる。
次のページでは、実際にVMware ESX Server環境におけるクラスタ構成として、LifeKeeperを例に構築手順を紹介していこう。