vMotionが使えない? アプリ障害が見えない? VMwareの可用性確保「意外な盲点」VMware環境を生かし切るHAクラスタの条件

仮想環境の計画外停止の30%以上は、サーバではなくアプリ障害が原因との指摘がある。一方、仮想環境のアプリ障害対策製品の多くは、「vMotion」などの重要機能を無効化させる。仮想環境の可用性確保の盲点と対策を示す。

2014年06月30日 10時00分 公開
[ITmedia]

 今やどんな企業にとっても仮想化はスタンダードな技術となり、基幹業務を含めたビジネスクリティカルなシステムも仮想環境への移行が進んでいる。背景には、仮想化することでゲストOS以上のレイヤーが物理サーバから切り離されて可搬性が高まり、運用管理の省力化とともに、可用性も高めることができるという期待がある。

 例えば、物理サーバ(ホストサーバ)に故障が発生した場合、その上で稼働している仮想マシン(VM)を、「VMware vSphere」が持つ高可用性機能「VMware vSphere High Availability(HA)」やライブマイグレーション機能「VMware vSphere vMotion」などを使って別の健全なホストサーバへフェイルオーバーし、サービスの停止時間を短縮できる。

 この考え方に間違いはない。ただし、より厳重な可用性を担保するためには、それだけでは不十分なことも知っておく必要がある。

ハイパーバイザーでは確認しきれない「アプリ障害」にどう対処するか

 「vSphere HAは、ゲストOSの応答を確認して死活状態を判断している。だがアプリケーションの障害までは検知できない」。シマンテック セールスエンジアリング本部 IMソリューションSE部の主幹技師である星野隆義氏はこう語る。シマンテックが調査したところ、仮想環境で計画外停止に陥るシステムの30%は、アプリケーションの障害が原因となっているという。

 こうしたハイパーバイザーのレベルでは範囲外となってしまう障害にも対処するため、シマンテックが提供しているのが、「Symantec ApplicationHA」ならびに「Symantec Cluster Server」という2種類の高可用性製品だ。

 Symantec ApplicationHAは、VMwareに加え、「Hyper-V」「Oracle VM Server for SPARC(旧称LDoms)」「LPAR」「KVM」などの仮想環境で稼働しているアプリケーションを監視、リカバリする簡易タイプの高可用性製品だ。特にVMware環境では、vSphere HAと連係し、アプリケーションの監視や障害発生時のリカバリを実現する(図1)。

図 図1 Symantec ApplicationHAは、vSphereとの連係でVMware環境の高可用性確保を実現する(出典:シマンテックの製品資料)

 一方のSymantec Cluster Serverは、もともとVeritas Cluster Server(VCS)として販売されていた製品を正式にシマンテックブランドに統合したものだ。アプリケーションはもとより、ゲストOSやホストサーバのハードウェアに起こった障害にも幅広く対処し、フェイルオーバーできる。

 Symantec ApplicationHAとSymantec Cluster Server双方を導入して使い分けているユーザー企業も少なくないという。例えば、電子商取引(EC)サイトを運用している企業の場合、「バックエンドのデータベースサーバやアプリケーションサーバにはSymantec Cluster Serverを適用する一方、ゲストOSの1つがダウンした場合でも他のVMで処理をカバーするなど、融通を利かせられるフロントのWebサーバにはSymantec ApplicationHAを適用するといった使い分けをしている例がある」(星野氏)

VMware本来の利便性と自由度を損なうことなく生かせる

 基幹業務システムなど、ビジネスクリティカルなシステムを仮想環境で稼働させることが珍しくなくなった中、特にSymantec Cluster Serverのような、幅広い仮想化関連の障害に対処できるHAクラスタリングソフトウェアへのニーズは急速に広まるものと考えられる。

 こうしたHAクラスタリングソフトウェアは他のベンダーも販売しているが、特にSymantec Cluster Serverの優位性はどこにあるのだろうか。星野氏が「最大のポイント」と強調するのは、VMware vSphereとの親和性だ。

 一般的なHAクラスタリングソフトウェアの場合、いったん導入すると、VMwareの標準的なバックアップ/リストア手法である「VMware vSphere Data Protection Advanced(VDPA)」が利用できなくなる。そのため、VMwareのゲストOSごとにバックアップソフトを導入して個別に操作する羽目に陥る。さらに、vMotionでVMを他のホストサーバへ移動することもできなくなる。

 こうした問題が生じる原因となっているのが、VMwareのVM間でクラスタを組む際に利用される「SCSIバス」の仕組みだ。一般的なHAクラスタリングソフトウェアでは、稼働系VMと待機系VMの間で、常にSCSIバスを共有してデータ領域の切り替えを可能にしている。そのため、VMの領域をVADPを用いてバックアップしようとしたり、VMを移動しようとしても、共有されたSCSIバスに妨げられ、うまく動作しないのである。

 米Symantecは、この問題を解決する仕組みを米VMwareと共同開発した(図2)。Symantec Cluster Serverのクラスタでは、通常時は稼働系VMのみにデータ領域がひも付けられている。トラブルが起こった際にはVMwareを経由し、待機系VMにデータ領域をつなぎ直す。こうすることで、「2つのVMは常にデータ領域を保持する必要がなくなり、VMを自由に操作できる」(星野氏)。

図 図2 VMwareと共同で、クラスタとVDAP、vMotionの共存を可能にした(出典:シマンテックの製品資料)

 データ領域をつなぎ直すという処理を伴うので、フェイルオーバーにはタイムラグが発生することになる。ただし、その時間はわずか数秒程度だ。さらに、Symantec Cluster Serverは、そのわずかなタイムロスを補うための工夫も凝らされている。

 一般的なHAクラスタリングソフトウェアでは、おおよそ60秒に1回の頻度で監視プログラムを起動し、アプリケーションの障害を検知している。すなわち、障害を検知するまでに最大60秒の遅れが発生する場合があった。

 これに対してSymantec Cluster Serverは、カーネル領域に置かれた監視プロセスによって、ほぼリアルタイムに障害を検知するのである。

 Symantec Cluster Serverはこうした工夫により、ハイパーバイザーで稼働している複数のVMを一括してバックアップでき、保護対象のVMも自由に操作できる。VMware本来のメリットを享受しつつ、状況に即した負荷分散や保守が自由にできるというわけだ。

システム規模や業務目的にあった最適なライセスでの導入が可能

 Symantec ApplicationHAならびにSymantec Cluster Serverは、個別のVMやホストサーバ単位のフェイルオーバーの実現だけに焦点を当てているわけではない。むしろ目的としているのは、複数のノードから構成されたシステム全体の可用性担保だ。

 先に星野氏が例に挙げたECサイトのようなシステムを復旧する場合、“順序”を守って実行する必要がある。例えば、まずデータベースサーバをフェイルオーバーして正常動作を確認した後、アプリケーションサーバを復旧、最後にWebサーバを立ち上げ直す、といった具合である。

 Symantec ApplicationHAやSymantec Cluster Serverは、こうした順序をシンプルな条件式として設定するだけで、容易にコントロールできる。「障害発生時に混乱した状態の中、手作業による煩雑なオペレーションに戸惑うことがなくなる。運用管理ソフトウェアを別途用意する必要もない」(星野氏)

 なお、Symantec ApplicationHAとSymantec Cluster Serverにはいずれも、2種類のライセンスが用意されている。可用性確保の対象としているゲストOSに割り当てられたCPUコアを単位としたライセンスと、ホストサーバ単位のライセンスの2種類だ。

 限られた少数のミッションクリティカルなシステムだけを守ればよく、将来的にも増える可能性は低いのであれば、CPUコア単位のライセンスが有利である。一方、可用性を担保しなければならないシステムを次々に仮想環境に移行していくといった場合には、最初からサーバ単位のライセンスで導入した方が割安となる。

 システム規模や業務目的、重要性に合せて高可用性ソリューションを組み合わせ、最適化されたコストで導入できるのは、シマンテックならではのメリットだといえるだろう。


提供:株式会社シマンテック
アイティメディア営業企画/制作:TechTargetジャパン編集部