首页 / 专利库 / 软件 / 虚拟机迁移 / クラスタシステム、クラスタ制御方法及びクラスタ制御プログラム

クラスタシステム、クラスタ制御方法及びクラスタ制御プログラム

阅读:1025发布:2020-12-28

专利汇可以提供クラスタシステム、クラスタ制御方法及びクラスタ制御プログラム专利检索,专利查询,专利分析的服务。并且【課題】最適なクラスタを簡易に構成することが可能なクラスタシステム、クラスタ制御方法及びクラスタ制御プログラムを提供する。【解決手段】クラスタシステムは、仮想マシン110aが稼働中のホストマシン情報を取得する仮想マシン 位置 情報取得部15aと、仮想マシン110bが稼働中のホストマシン情報を取得する仮想マシン位置情報取得部15bと、取得したホストマシン情報を照合するクラスタ間情報照合部16と、照合の結果、ホストマシン情報が一致する場合、仮想マシン110aまたは110bを別のホストマシンへ移行する移行要求を送信する仮想マシン移行要求部14と、を備える。【選択図】図9,下面是クラスタシステム、クラスタ制御方法及びクラスタ制御プログラム专利的具体信息内容。

  • 第1の仮想マシンにおいて、前記第1の仮想マシンが稼働中の実マシンを識別する第1の実マシン情報を取得する第1の実マシン情報取得部と、
    前記第1の仮想マシンとクラスタを構成する第2の仮想マシンにおいて、前記第2の仮想マシンが稼働中の前記実マシンを識別する第2の実マシン情報を取得する第2の実マシン情報取得部と、
    前記第1または第2の仮想マシンにおいて、前記取得した第1及び第2の実マシン情報を照合する実マシン情報照合部と、
    前記第1または第2の仮想マシンにおいて、前記照合の結果、第1及び第2の実マシン情報が一致する場合、前記第1または第2の仮想マシンを別の前記実マシンへ移行する移行要求を送信する移行要求部と、
    を備えるクラスタシステム。
  • 前記第1及び第2の実マシン情報取得部は、前記第1及び第2の実マシン情報を仮想マシン管理装置から取得し、
    前記移行要求部は、前記仮想マシン管理装置へ前記移行要求を送信する、
    請求項1に記載のクラスタシステム。
  • 前記第1及び第2の実マシン情報取得部は、前記第1及び第2の実マシン情報を前記実マシンから取得し、
    前記移行要求部は、前記実マシンへ前記移行要求を送信する、
    請求項1に記載のクラスタシステム。
  • 前記第1の仮想マシンにおいて前記クラスタの制御を行う第1のクラスタ制御部と、
    前記第2の仮想マシンにおいて前記クラスタの制御を行う第2のクラスタ制御部とを備え、
    前記第1の実マシン情報取得部は、前記第1のクラスタ制御部に含まれ、
    前記第2の実マシン情報取得部は、前記第2のクラスタ制御部に含まれ、
    前記実マシン情報照合部及び前記移行要求部は、前記第1または第2のクラスタ制御部に含まれる、
    請求項1乃至3のいずれか一項に記載のクラスタシステム。
  • 前記第1の仮想マシンが現用系の仮想マシンであり、前記第2の仮想マシンが待機系の仮想マシンの場合、前記実マシン情報照合部による前記第1及び第2の実マシン情報の照合と前記移行要求部による前記移行要求の送信は、前記第2の仮想マシンで実行される、
    請求項1乃至4のいずれか一項に記載のクラスタシステム。
  • 前記移行要求部は、前記第2の仮想マシンを別の前記実マシンへ移行するように前記移行要求を送信する、
    請求項5に記載のクラスタシステム。
  • 前記待機系の仮想マシンとして複数の前記第2の仮想マシンを備え、
    前記第1の仮想マシンに障害が発生した場合、複数の前記第2の仮想マシンの中からフェイルオーバ先を決定する移行先決定部を備える、
    請求項5または6に記載のクラスタシステム。
  • 前記第1及び第2の実マシン情報は、前記実マシンを識別可能なホストマシン名である、
    請求項1乃至7のいずれか一項に記載のクラスタシステム。
  • 第1の仮想マシンにおいて、前記第1の仮想マシンが稼働中の実マシンを識別する第1の実マシン情報を取得し、
    前記第1の仮想マシンとクラスタを構成する第2の仮想マシンにおいて、前記第2の仮想マシンが稼働中の前記実マシンを識別する第2の実マシン情報を取得し、
    前記第1または第2の仮想マシンにおいて、前記取得した第1及び第2の実マシン情報を照合し、
    前記第1または第2の仮想マシンにおいて、前記照合の結果、第1及び第2の実マシン情報が一致する場合、前記第1または第2の仮想マシンを別の前記実マシンへ移行する移行要求を送信する、
    クラスタ制御方法。
  • 第1の仮想マシンにおいて、前記第1の仮想マシンが稼働中の実マシンを識別する第1の実マシン情報を取得し、
    前記第1の仮想マシンとクラスタを構成する第2の仮想マシンにおいて、前記第2の仮想マシンが稼働中の前記実マシンを識別する第2の実マシン情報を取得し、
    前記第1または第2の仮想マシンにおいて、前記取得した第1及び第2の実マシン情報を照合し、
    前記第1または第2の仮想マシンにおいて、前記照合の結果、第1及び第2の実マシン情報が一致する場合、前記第1または第2の仮想マシンを別の前記実マシンへ移行する移行要求を送信する、
    クラスタ制御処理をコンピュータに実行させるためのクラスタ制御プログラム。
  • 说明书全文

    本発明は、クラスタシステム、クラスタ制御方法及びクラスタ制御プログラムに関し、特に、HAクラスタを構成するクラスタシステム、クラスタ制御方法及びクラスタ制御プログラムに関する。

    複数のホストマシン(コンピュータ)を結合することで冗長化構成を構築するクラスタシステムが知られている。 特に、一部のハードウェアやソフトウェアに障害が発生してもシステム全体で安定して動作するように可用性を高めたシステムは、HA(High Availability:高可用性)クラスタシステムと呼ばれている。

    このHAクラスタシステムは、ミッションクリティカルなシステム、すなわち、業務停止時間を極ゼロに近づけることが求められるシステムに導入されるケースが多い。 そのため、1台のマシンで何か異常が生じた際には別のマシンへ業務を切替えて継続することが使命であり、HAクラスタを構成している全てのサーバが同時に異常となる状態に陥ることを防ぐ必要がある。

    また、最近では仮想化環境への移行が加速しており、ミッションクリティカルなシステムも仮想化されるようになってきている。 そして仮想化環境における可用性低下のリスクを軽減するため、仮想化環境でもHAクラスタが多く適用されている。

    なお、関連する技術として、特許文献1〜3、非特許文献1及び2が知られている。

    特開2012−014674号公報

    特開2011−039740号公報

    特開2009−134687号公報

    ヴイエムウェア社、「vSphere(登録商標) リソース管理」、[平成25年9月10日検索]、インターネット<URL:http://pubs.vmware.com/vsphere-51/topic/com.vmware.ICbase/PDF/vsphere-esxi-vcenter-server-51-resource-management-guide.pdf> ヴイエムウェア社、「vSphere 可用性」、[平成25年9月10日検索]、インターネット<URL:http://pubs.vmware.com/vsphere-51/topic/com.vmware.ICbase/PDF/vsphere-esxi-vcenter-server-51-availability-guide.pdf>

    複数台のホストマシンが存在する仮想化環境において、仮想マシン間でHAクラスタ構成を組む場合、ハードウェア障害時にも業務継続を行うという可用性確保の観点から、クラスタを構成する各仮想マシンはそれぞれ別のホストマシン上に常に配置されるべきである。

    しかしながら、関連する技術では、例えば計画メンテナンスのための仮想マシンの移行や、仮想化基盤の管理者のオペレーションミス等により、運用開始後に意図せずHAクラスタを構成する各仮想マシンが同一ホストマシン上で稼動してしまう事態に陥るリスクがある。 さらに、仮想マシン上にのみクラスタ制御ソフトウェアを導入している場合、HAクラスタを構成する各仮想マシンが同一ホストマシン上で稼動しているかどうかを仮想マシン上からは把握することができない。

    したがって、関連する技術では、クラスタを構成する各仮想マシンが同一ホストマシン上で稼働し、さらにそのまま同一ホストマシン上で稼働し続ける恐れがあるため、最適なクラスタを構成することが困難な場合があるという問題があった。

    本発明は、このような問題に鑑み、最適なクラスタを簡易に構成することが可能なクラスタシステム、クラスタ制御方法及びクラスタ制御プログラムを提供することを目的とする。

    本発明に係るクラスタシステムは、第1の仮想マシンにおいて、前記第1の仮想マシンが稼働中の実マシンを識別する第1の実マシン情報を取得する第1の実マシン情報取得部と、前記第1の仮想マシンとクラスタを構成する第2の仮想マシンにおいて、前記第2の仮想マシンが稼働中の前記実マシンを識別する第2の実マシン情報を取得する第2の実マシン情報取得部と、前記第1または第2の仮想マシンにおいて、前記取得した第1及び第2の実マシン情報を照合する実マシン情報照合部と、前記第1または第2の仮想マシンにおいて、前記照合の結果、第1及び第2の実マシン情報が一致する場合、前記第1または第2の仮想マシンを別の前記実マシンへ移行する移行要求を送信する移行要求部と、を備えるものである。

    本発明に係るクラスタ制御方法は、第1の仮想マシンにおいて、前記第1の仮想マシンが稼働中の実マシンを識別する第1の実マシン情報を取得し、前記第1の仮想マシンとクラスタを構成する第2の仮想マシンにおいて、前記第2の仮想マシンが稼働中の前記実マシンを識別する第2の実マシン情報を取得し、前記第1または第2の仮想マシンにおいて、前記取得した第1及び第2の実マシン情報を照合し、前記第1または第2の仮想マシンにおいて、前記照合の結果、第1及び第2の実マシン情報が一致する場合、前記第1または第2の仮想マシンを別の前記実マシンへ移行する移行要求を送信するものである。

    本発明に係るクラスタ制御プログラムは、第1の仮想マシンにおいて、前記第1の仮想マシンが稼働中の実マシンを識別する第1の実マシン情報を取得し、前記第1の仮想マシンとクラスタを構成する第2の仮想マシンにおいて、前記第2の仮想マシンが稼働中の前記実マシンを識別する第2の実マシン情報を取得し、前記第1または第2の仮想マシンにおいて、前記取得した第1及び第2の実マシン情報を照合し、前記第1または第2の仮想マシンにおいて、前記照合の結果、第1及び第2の実マシン情報が一致する場合、前記第1または第2の仮想マシンを別の前記実マシンへ移行する移行要求を送信する、クラスタ制御処理をコンピュータに実行させるためのものである。

    本発明によれば、最適なクラスタを簡易に構成することが可能なクラスタシステム、クラスタ制御方法及びクラスタ制御プログラムを提供することができる。

    参考例のクラスタシステムの動作を説明するための構成図である。

    参考例のクラスタシステムの動作を説明するための構成図である。

    参考例のクラスタシステムの動作を説明するための構成図である。

    参考例のクラスタシステムの動作を説明するための構成図である。

    実施の形態に係るクラスタシステムの動作を説明するための構成図である。

    実施の形態に係るクラスタシステムの動作を説明するための構成図である。

    実施の形態に係るクラスタシステムの動作を説明するための構成図である。

    実施の形態1に係るクラスタシステムの構成を示す構成図である。

    実施の形態1に係るクラスタシステムの構成を示す構成図である。

    実施の形態1に係るクラスタシステムの動作を示すフローチャートである。

    実施の形態1に係るクラスタシステムの動作を示すフローチャートである。

    実施の形態1に係るクラスタシステムの動作を示すフローチャートである。

    実施の形態1に係るクラスタシステムの動作を示すフローチャートである。

    実施の形態1に係るクラスタシステムの動作を示すフローチャートである。

    実施の形態1に係るクラスタシステムの動作を示すフローチャートである。

    実施の形態2に係るクラスタシステムの構成を示す構成図である。

    実施の形態3に係るクラスタシステムの構成を示す構成図である。

    実施の形態3に係るクラスタシステムの構成を示す構成図である。

    実施の形態3に係るクラスタシステムの構成を示す構成図である。

    実施の形態3に係るクラスタシステムの構成を示す構成図である。

    (実施の形態の概要)
    まず、実施の形態適用前の参考例について説明する。 図1に示すように、参考例に係るクラスタシステムは、仮想化基盤管理マシンM1、ホストマシンHM1〜HM4を備えており、ホストマシンHM1〜HM4の上に仮想マシンVM1〜VM8が稼働している。

    例えば、図1の運用開始時には、ホストマシンHM1の上に仮想マシンVM1及びVM2、ホストマシンHM2の上に仮想マシンVM3及びVM4、ホストマシンHM3の上に仮想マシンVM5及びVM6、ホストマシンHM4の上に仮想マシンVM7及びVM8が稼働している。 そして、仮想マシンVM2及びVM3、仮想マシンVM4及びVM5、仮想マシンVM6及びVM7、がそれぞれHAクラスタを構成している。

    図1の運用開始の後、ホストマシンHM1でメンテナンスが実施される場合、図2のように、ホストマシンHM1の上の仮想マシンVM1及びVM2が他のホストマシンへ移行する。 このとき、ホストマシンの管理者は仮想化基盤管理マシンM1を操作し、特に意識せずに仮想マシンを他のホストマシン上へ移行する。 図2の例では、仮想マシンVM1をホストマシンHM3へ移行し、仮想マシンVM2をホストマシンHM2へ移行する。

    このため、1つのホストマシンHM2の上に、HAクラスタを構成する仮想マシンVM2及びVM3が稼働する状態となる。 しかし、通常、仮想マシン側だけを管理している管理者の立場からは、同一ホストマシン上で2つの仮想マシンがHAクラスタを構成していることに気づかない場合が多いため、図2の状態で業務が継続される。

    そうすると、図2の状態の後、ホストマシンHM2で障害が発生した場合、図3のように、ホストマシンHM2の上の仮想マシンVM4で運用されている業務Cは、HAクラスタを構成する他の仮想マシン、すなわち、ホストマシンHM3の上の仮想マシンVM5へフェイルオーバして業務を継続することが可能である。 しかし、仮想マシンVM2及びVM3の業務Bについては、同じホストマシンHM2の上で稼働していたため、仮想マシンVM2及びVM3ともにダウンし、業務を継続することができない。

    このように、参考例に係る仮想マシン間のHAクラスタ構成では、HAクラスタを構成する仮想マシンがいつどのホストマシン上で稼動しているかを確認する仕組みを実装していなかった。 そのため、例え初期配置では各仮想マシンが別々のホストマシン上に起動するように設計していたとしても、運用開始後にいつの間にかHAクラスタを構成する各仮想マシンが同一ホストマシン上で稼動してしまっている可能性は十分にあり、対象ホストマシン障害時には現用系/待機系両方の仮想マシンがダウンし、業務継続できない可能性があった。

    また、複数台の待機系マシンが存在するクラスタ構成の場合に、ホストマシンの情報を確認した上で、同一ホスト上にいない仮想マシンを優先フェイルオーバ先として動的に判断するといった、クラスタ稼動状態を加味した動作というのは、関連する技術では実現不可能であったため、より柔軟な動作が求められていた。

    また、このような課題は物理マシン同士のHAクラスタシステムでは生じなかったものであり、近年の急速な仮想化環境導入に伴い、一部で表面化してきたものである。

    なお、図4のように、仮想化ソフトの機能により、特定仮想マシン間で排他設定を実施し、同一ホスト上に移行されないように制限することや、仮想化ソフトにより、ホストマシン間で予めクラスタ設定を実施することも可能な場合がある。 例えば、特定の条件下においては、仮想化ソフトウェア側の機能を用いて仮想マシンの排他制御を行ったり、業務アプリケーションごとに特定の分散配置制御を行うことで課題となる状態に陥ることを回避することは可能であったが、それ以外の条件下においては代替となる解決策はなかった。 また、関連する技術は、いずれも仮想化ソフトウェアやクラウド基盤、あるいは特定アプリケーションからの固定的な制御のため、例えば複数台のクラスタマシンが存在する場合に、同一ホスト上にいない仮想マシンを優先フェイルオーバ先として動的に判断するといった、クラスタの構成や稼動状態を加味した動作というのは、関連する技術では実現不可能であったため、より柔軟な動作が求められていた。

    すなわち、仮想化ソフトウェアには様々な種類が存在し、ユーザは各ソフトウェアが提供する機能やコスト面、他ソフトウェアとの親和性など様々な条件を元に最適な仮想化ソフトウェアを選択する。 例えば、非特許文献1や2のvSphere(ヴイエムウェア社)などが知られている。

    vSphereでは、図4のような機能は、Enterprise Edition、またはEnterprise Plus Editionという条件下でのみ使用可能である。 そのため、上記以外の条件下の構成では、図1〜図3で示した課題を解決する方法がなかった。 つまり、ごく限られた環境でしか解決策となり得なかった。

    図4に示した例はあくまで仮想化ソフトウェアの提供する機能であったため、クラスタ構成やクラスタの状態について知る方法がなく、クラスタの状態に応じた最適な処理を柔軟に行なうことができなかった。

    そこで実施の形態では、使用範囲を限定することなく幅広い条件下で課題の解決を実現できるシステム/方法を提供可能とし、また、さらにクラスタソフトの既存コンポーネントと密連携することで、クラスタの状態を加味した最適な処理を柔軟に選択/実行できるシステム/方法を提供可能とする。

    なお、ホストマシン障害時に仮想マシンを別のホストマシンで再起動させるという、仮想化ソフトウェアの技術が存在する。 しかし、当該技術とHAクラスタ技術とでは「業務停止時間」および「検出可能な障害範囲」に明確な差異があるため、特にミッションクリティカルなシステムにおいては、HAクラスタ技術が必要とされる。

    このような課題を解決するため、実施の形態では、仮想マシン間でのHAクラスタシステム構築おいて、仮想マシン上からホストマシンの情報をリモートで取得し、さらに取得結果に応じて動作要求の指示を送る。 これにより、物理サーバ間のHAクラスタシステムにはない、仮想化環境特有の可用性低下のリスクの軽減を可能とする。 また、設定/運用を全て仮想マシン上で動作するクラスタ制御ソフトウェア側で実施することで、関連技術や参考例で生じていた課題を解決し、さらに、HAクラスタの構成や運用状態に応じた柔軟な動作選択といった応用が可能となる。

    次に、参考例に実施の形態を適用した例について説明する。 図5に示すように、実施の形態に係るクラスタシステムは、図1の参考例と同様に、仮想化基盤管理マシンM1、ホストマシンHM1〜HM4を備えており、ホストマシンHM1〜HM4の上に仮想マシンVM1〜VM8が稼働している。

    図1と同じ仮想マシン及びHAクラスタ構成により運用開始された後、ホストマシンHM1でメンテナンスが実施される場合、図5のように、ホストマシンHM1の上の仮想マシンVM1及びVM2が移行する。 すなわち、ホストマシンの管理者は特に意識せずに仮想マシンを他のホストマシン上へ移行する。 図5の例では、図2と同様に、仮想マシンVM1をホストマシンHM3へ移行し、仮想マシンVM2をホストマシンHM2へ移行する。

    そこで、実施の形態では、仮想マシンVM3から仮想化基盤管理マシンM1に対して定期的に対象仮想マシンが稼動するホストマシン情報(仮想マシン位置情報)の問い合わせを行う。 基本的には業務を実行していない低負荷な待機系仮想サーバから問い合わせのためのスクリプト(プログラム)を実行することが好ましい。

    そして、図6に示すように、仮想マシンVM2と仮想マシンVM3が稼動するホストマシンとして同一のホストマシン情報(文字列)が返却された場合、業務B停止のリスクを軽減するため、待機系となっている仮想マシンVM3を正常稼働中の他ホストマシンへ移行するよう、仮想化基盤管理マシンM1へ要求を送信する。

    そうすると、図7のように、仮想化基盤管理マシンM1からの指示により仮想マシンVM3はホストマシンHM4へ移行する。 そのため、ホストマシンHM2がダウンしても、業務Bは、ホストマシンHM4の仮想マシンVM3へフェイルオーバし、業務Cは、ホストマシンHM3の仮想マシンVM5へフェイルオーバして業務継続が可能となる。

    実施の形態では、HAクラスタを構成する各仮想マシンから、定期的に仮想化基盤管理マシンに対して仮想マシンの稼動情報の問い合わせを行う。 そして、各仮想マシンの問い合わせ結果を照合し、同一ホストマシン上で稼動していることが判明した場合には、待機系となっている仮想マシンを別のホストマシン上へライブマイグレーションで移行するよう、仮想化基盤管理マシンに対して要求を送信する。 このように、クラスタ制御ソフトウェア側で仮想マシンの位置情報を保持させることで、HAクラスタを構成する各仮想マシンが同一ホストマシン上で稼動することを防ぎ、ハードウェア障害時にも確実な業務継続を可能とする。

    さらに、本実施の形態を用いることで、クラスタの構成や稼動状態に応じた柔軟な動作が可能となり、例えば複数台の待機系マシンが存在する場合には、同一ホストマシン上に存在しない仮想マシンを優先フェイルオーバ先として動的に判断してフェイルオーバするといった、クラスタ制御ソフトウェアならではの動作が可能となる。

    なお、特許文献2は、冗長構成の環境へ移行可能な場合にはリソース管理テーブルを参照し同じシステムを構成する仮想マシンを同じ物理サーバに集めないようにするものである。 しかし、ここで示す冗長構成への移行とは異なるホストマシン上に新たに仮想マシンを追加するという処理のため、既にクラスタ構成にある仮想マシンをライブマイグレーションするものではない。

    また、特許文献3は、仮想マシンリソーステーブルにおいてCPU/メモリの使用できる空き容量を示し、仮想サーバ列に「空き」エントリを有するレコードを見つけるものである。 しかし、仮想マシンリソーステーブルに表示されるCPU/メモリの空き容量は物理サーバの観点で確認したリソース情報であり、アプリケーションが稼働する仮想サーバでCPU/メモリなどの使用状況を確認し、仮想サーバ観点でのリソース使用状況に応じてアプリケーションのフェイルオーバや負荷分散といった動作を実行するものではない。

    (実施の形態1)
    以下、図面を参照して実施の形態1について説明する。 図8は、本実施の形態に係るクラスタシステムの構成例を示している。 本実施の形態は、仮想化基盤管理機能をホストマシンとは別の装置に設けた構成、つまり、仮想化基盤管理機能がホストマシンから外出しされている環境において、仮想マシン2台でHAクラスタを構成する例である。

    図8に示すように、本実施の形態に係るクラスタシステムは、2つの仮想マシン110(110a及び110b)、ホストマシン100、仮想化基盤管理マシン200を備えている。 クラスタシステムは、物理環境(実環境)として、物理マシン(実マシンン)であるホストマシン100及び仮想化基盤管理マシン200を備え、仮想化環境として、仮想マシン110a及び110bを備えているともいえる。 また、ホストマシン(コンピュータ、情報処理装置)100が、仮想マシン110a及び110bを備えているともいえる。

    HAクラスタは、2台の仮想マシン110a及び110bで構成される。 仮想マシン110a及び110bの一方が、業務プログラム(アプリケーション)を実行する現用系仮想マシン(例えば110a)であり、他方が業務プログラムを実行せずに待機する待機系仮想マシン(例えば110b)である。 仮想マシン110a及び110bは、ホストマシン100の上で稼動しており、仮想マシン110a及び110bとホストマシン100は、仮想化基盤管理マシン200にて集中管理されている。

    なお、ここでは、図8の各ブロックの構成例を用いて説明するが、後述する本実施の形態に係る動作が実現できれば、その他の構成であってもよい。

    仮想マシン110(110a及び110b)、ホストマシン100、仮想化基盤管理マシン200における各構成は、ハードウェア又はソフトウェア、もしくはその両方によって構成され、1つのハードウェア又はソフトウェアから構成してもよいし、複数のハードウェア又はソフトウェアから構成してもよい。

    仮想マシン110、ホストマシン100、仮想化基盤管理マシン200の各機能(各処理)を、CPUやメモリ等を有するコンピュータにより実現してもよい。 例えば、ホストマシンの記憶装置に仮想マシンを構成するための仮想マシン構成プログラムやクラスタ制御を行うためのクラスタ制御プログラム(クラスタ制御ソフトウェア)を格納し、仮想化基盤管理マシンの記憶装置に仮想化基盤管理を行うための仮想化基盤管理プログラムを格納して、これらの記憶装置に格納されたプログラムをCPU(コンピュータ)で実行することにより、図8の各機能を実現してもよい。

    これらのプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。 非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。 非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。 また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。 一時的なコンピュータ可読媒体の例は、電気信号光信号、及び電磁波を含む。 一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。

    仮想化基盤管理マシン200は、仮想マシン移行操作実行部21、仮想マシン移行要求受信部22、仮想マシン位置情報管理部23を備えている。

    仮想マシン移行要求受信部22は、仮想マシン110から仮想マシン移行要求を受信し、受信した仮想マシン移行要求に基づいて移行指示(移行操作指示)を発行する。 仮想マシン移行操作実行部21は、仮想マシン移行要求受信部22から移行指示を受け付け、この移行指示に基づいて、仮想マシン110を別のホストマシンへ移行する移行処理(仮想マシン移行操作)を実行する。 仮想マシン移行操作実行部21は、ライブマイグレーションにより、仮想マシン110を停止することなく別のホストマシンへ移行する。 例えば、仮想マシン移行操作実行部21は、移行元の仮想マシン110の環境(メモリやディスクイメージ)を移行先のホストマシンへ転送し(引き渡し)、移行元で仮想マシンをフリーズ(一時停止)するとともに、移行先で仮想マシンのフリーズを解除(復帰)する。

    仮想マシン位置情報管理部23は、仮想マシンが稼働しているホストマシンを示す仮想マシン位置情報(ホストマシン情報)を保持する位置情報保持部でもある。 例えば仮想マシン位置情報は、ホストマシン名であり、仮想マシン位置情報管理部23は、仮想マシンと該仮想マシンが稼働しているホストマシン名とを関連付けて記憶している。 仮想マシン位置情報管理部23は、仮想マシン110から仮想マシン位置情報問い合わせ(問い合わせ要求)を受信し、保持している位置情報を参照することで、問い合わせの仮想マシンに該当する仮想マシン位置情報を仮想マシン位置情報回答(応答)として仮想マシン110へ送信する。

    仮想マシン110(110a及び110b)には、それぞれクラスタ制御ソフトウェア111(111a及び111b)が導入されており、このクラスタ制御ソフトウェア111a及び111bによって、仮想マシン110a及び110bはHAクラスタを構成している。 すなわち、クラスタ制御ソフトウェアは、各仮想マシンにおいて、HAクラスタ構成を制御するためのクラスタ制御部を実現する。

    クラスタ制御ソフトウェア(クラスタ制御部)111(111a及び111b)は、それぞれアプリケーション制御部11(11a及び11b)、リソース監視部12(12a及び12b)、クラスタ状態管理部13(13a及び13b)、仮想マシン移行要求部14(14a及び14b)、仮想マシン位置情報取得部15(15a及び15b)、クラスタ間情報照合部16(16a及び16b)を備えている。 例えば、仮想マシン移行要求部14、仮想マシン位置情報取得部15、クラスタ間情報照合部16は、新たに追加された本実施の形態を実現するための主要部である。

    アプリケーション制御部11(11a及び11b)は、それぞれ仮想マシン110におけるアプリケーション(業務プログラム)の起動/停止を制御する。 リソース監視部12は、それぞれ仮想マシン110におけるアプリケーションやハードウェアなどの各種リソースを監視する。

    仮想マシン位置情報取得部15(15a及び15b)は、仮想化基盤管理マシン200の仮想マシン位置情報管理部23に対して仮想マシン位置情報の問い合わせ/回答受信を行う。 すなわち、仮想マシン位置情報取得部15は、それぞれ仮想マシン110が、現在、稼働しているホストマシンを問い合わせるための仮想マシン位置情報問い合わせを仮想化基盤管理マシン200へ定期的に送信し、また、仮想化基盤管理マシン200から仮想マシン位置情報回答を受信し、仮想マシン位置情報(ホストマシン情報)を取得する。

    クラスタ間情報照合部16(16a及び16b)は、仮想マシン110(110a及び110b)間で仮想マシン位置情報取得部15(15a及び15b)がそれぞれ取得した情報を照合する。 すなわち、クラスタ間情報照合部16は、仮想マシン位置情報取得部15a及び15bが取得した仮想マシン110a及び110bの2つの仮想マシン位置情報(ホストマシン情報)を照合(比較)し、一致/不一致を判定する。

    クラスタ状態管理部13(13a及び13b)は、アプリケーション制御部11の制御やリソース監視部12の監視に基づいて、各種リソースやアプリケーションの起動停止状態の推移などを含めクラスタ全体の最新状態を管理している。 例えば、クラスタ状態管理部(移行先決定部)13は、リソースの状態に基づいて待機系の仮想マシンへのフェイルオーバを要求し、複数の待機系の仮想マシンの中から最適なフェイルオーバ先の決定も行う。 また、クラスタ状態管理部13は、クラスタ間情報照合部16が照合した結果に基づいて仮想マシンの移行要求を指示する。 例えば、仮想マシン110a及び110bの仮想マシン位置情報が一致している場合、仮想マシン110aまたは110bを別のホストマシンへ移行させるため、仮想マシン移行要求を仮想マシン移行要求部14へ指示する。

    仮想マシン移行要求部14(14a及び14b)は、仮想化基盤管理マシン200の仮想マシン移行要求受信部22に対して仮想マシンの移行要求を送信する。 すなわち、仮想マシン移行要求部14は、クラスタ間情報照合部16が照合した結果に基づいて、クラスタ状態管理部13から仮想マシンの移行要求指示を受け、仮想マシン移行要求を仮想化基盤管理マシン200へ送信する。

    アプリケーション112は、仮想マシン110(110aまたは110bのいずれか)で実行されて各種業務を提供する業務プログラムである。 アプリケーション112は、アプリケーション制御部11の制御によって、仮想マシン110a及び110b間で切替えて動作可能である。 例えば、現用系の仮想マシン上でアプリケーション112を実行することで業務を開始し、現用系の仮想マシンに障害が発生した場合、待機系の仮想マシン上でアプリケーション112を実行するように切り替えることで業務を継続する。

    例えば、本実施の形態に係るクラスタシステムは、図8の構成のうち、少なくとも図9の構成を備えるものであってもよい。 すなわち、図9に示すように、クラスタシステムは、仮想マシン位置情報取得部15a及び15b、クラスタ間情報照合部16、仮想マシン移行要求部14を備えている。

    仮想マシン位置情報取得部(第1の実マシン情報取得部)15aは、仮想マシン(第1の仮想マシン)110aにおいて、仮想マシン110aが稼働中のホストマシン(実マシン)を識別する第1の仮想マシン位置情報(実マシン情報)を取得する。 仮想マシン位置情報取得部(第2の実マシン情報取得部)15bは、仮想マシン110aとクラスタを構成する仮想マシン(第2の仮想マシン)110bにおいて、仮想マシン110bが稼働中のホストマシンを識別する第2の仮想マシン位置情報を取得する。 クラスタ間情報照合部(実マシン情報照合部)16は、仮想マシン110(110aまたは110b)において、取得した第1及び第2の仮想マシン位置情報を照合する。 仮想マシン移行要求部(移行要求部)14は、仮想マシン110(110aまたは110b)において、クラスタ間情報照合部16の照合の結果、第1及び第2の仮想マシン位置情報が一致する場合、仮想マシン110(110aまたは110b)を別のホストマシンへ移行する移行要求を送信する。

    少なくとも、図9の構成により、各仮想マシンから現在稼働しているホストマシンの情報を取得し、同一ホストマシンの場合に仮想マシンを別のホストマシンへ移行することが可能となるため、最適なクラスタを簡易に構成することができる。

    次に、図8を参照しつつ、図10〜図15を用いて、本実施の形態に係るクラスタシステムの動作について説明する。

    図8では、現在、アプリケーション112は仮想マシン110a上で稼動しているため、仮想マシン110aが現用系、仮想マシン110bが待機系となっている。 また、仮想マシン110a及び110bは同一ホストマシン100上で稼動している状態である。 リソース監視部12(12a及び12b)は対象リソースに対して常時監視を実行しており、常に最新の実行状態がクラスタ状態管理部13(13a及び13b)に通知されている。

    仮想マシン位置情報取得部15(15a及び15b)は、図10に示す仮想マシン位置情報取得処理を実行している。 まず、仮想マシン位置情報取得部15は、自身(仮想マシン110aまたは110b)の稼動するホストマシン名(ホストマシン情報)を取得する(S101)。 すなわち、仮想マシン位置情報取得部15は、定期的に仮想マシン位置情報管理部23に対して、自身(仮想マシン110aまたは110b)の稼動するホストマシン名の取得要求を送信し、要求を受けた仮想マシン位置情報管理部23は、仮想マシン位置情報取得部15に対してホストマシン名を回答する。

    次いで、仮想マシン位置情報取得部15は、自身(仮想マシン110aまたは110b)のホストマシン情報を他のクラスタノード(仮想マシン110aまたは110b)と共有する(S102)。 すなわち、ホストマシン情報を取得した仮想マシン位置情報取得部15は、クラスタ間情報照合部16にホストマシン情報を提供する。 その後、仮想マシン位置情報取得部15は、S101及びS102の処理を繰り返す(S103)。

    また、クラスタ間情報照合部16(16a及び16b)は、図11に示すホストマシン情報照合処理を実行している。 なお、クラスタ間情報照合部16のホストマシン情報の照合、クラスタ状態管理部13の仮想マシン移行要求の指示、仮想マシン移行要求部14の仮想マシン移行要求の送信の処理は、いずれの仮想マシンで実行してもよいが、仮想マシンの負荷を軽減するため、待機系の仮想マシン110(例えば110b)で実行することが好ましい。

    まず、クラスタ間情報照合部16は、各仮想マシン110(110a及び110b)のホストマシン情報を受信する(S201)。 すなわち、図10のS102により、クラスタ間情報照合部16は、仮想マシン位置情報取得部15から自身のホストマシン情報を受信し、また、他のクラスタノード(仮想マシン110aまたは110b)のクラスタ間情報照合部16から、他のクラスタノードのホストマシン情報を受信(取得)する。

    次いで、クラスタ間情報照合部16は、各仮想マシン110(110a及び110b)のホストマシン情報を照合し(S202)、その照合結果をクラスタ状態管理部13へ通知する(S203)。 すなわち、クラスタ間情報照合部16は、受信した仮想マシン110a及び110bの稼動するホストマシン名(ホストマシン情報)を比較し、一致/不一致を判定した判定結果を、クラスタ状態管理部13へ通知する。 その後、クラスタ間情報照合部16は、S201〜S203の処理を繰り返す(S204)。

    また、クラスタ状態管理部13は、クラスタ間情報照合部16から受け取った照合結果を判定し(S211)、照合結果が不一致であった場合、何も動作を行わない。 一方、クラスタ状態管理部13は、受け取った照合結果が一致していた場合は、仮想マシン移行要求部14に対して、仮想マシン110(110aまたは110b)の移行要求を送信するよう指示する(S212)。 図8の例では、そのときの待機系である仮想マシン110bを別のホストマシン上へ移行するために、待機系マシンのクラスタ状態管理部13bが仮想マシン移行要求部14bに対して、仮想マシン110bの移行要求を送信するよう指示する。

    また、仮想マシン移行要求部14(14a及び14b)は、図12に示す仮想マシン移行要求処理を実行している。 仮想マシン移行要求部14は、図11のS222により、クラスタ状態管理部13から仮想マシン移行要求指示を受信する(S301)。 次いで、仮想マシン移行要求部14は、仮想マシン移行要求受信部22へ仮想マシン110の移行要求を送信する。 図8の例では、仮想マシン110bの移行要求指示を受信した仮想マシン移行要求部14bが、仮想マシン移行要求受信部22に対して、仮想マシン110bの移行を要求する。 その後、仮想マシン移行要求部14は、S301及びS302の処理を繰り返す(S303)。

    S302により、要求を受け取った仮想マシン移行要求受信部22は、仮想マシン移行操作実行部21に対して移行操作指示を発行し、仮想マシン移行操作実行部21によって、仮想マシン110(例えば110b)は別のホストマシン上へ無停止で移行される。

    また、リソース監視部12(12a及び12b)は、図13に示すリソース監視処理を実行している。 まず、リソース監視部12は、対象リソースへの監視を実行し(S401)、その監視結果を判定する(S402)。 リソース監視部12は、監視の結果が異常状態の場合、異常状態をクラスタ状態管理部13へ通知する。 その後、リソース監視部12は、S401〜S403の処理を繰り返す(S404)。

    また、クラスタ状態管理部13(13a及び13b)は、図14に示すフェイルオーバ決定処理を実行している。 まず、クラスタ状態管理部13は、図13のS403により、リソース監視部12からリソース異常検知情報を受信する(S501)。 クラスタ状態管理部13は、受信したリソース異常検知情報により待機系サーバ(仮想マシン110)の数を判定し(S502)、待機系サーバが複数台存在する場合、複数の待機系サーバからフェイルオーバ先を判定する(S503)。

    S502またはS503の後、クラスタ状態管理部13は、アプリケーションフェイルオーバ要求をアプリケーション制御部11へ送信する(S504)。 その後、クラスタ状態管理部13は、S501〜S505の処理を繰り返す。

    また、アプリケーション制御部11(11a及び11b)は、図15に示すフェイルオーバ実行処理を実行している。 まず、アプリケーション制御部11は、図14のS504により、クラスタ状態管理部13からアプリケーションフェイルオーバ要求を受信する(S601)。

    続いて、アプリケーション制御部11は、アプリケーションの停止/起動処理を実行し(S602)、クラスタ状態管理部13へフェイルオーバ完了通知を送信する。 その後、アプリケーション制御部11は、S601〜S603の処理を繰り返す(S604)。

    以上のような本実施の形態に係るクラスタシステムにより、次のような効果が得られる。 すなわち、仮想マシンが動作するホストマシンの情報を定期的に取得/照合し、最適な復旧動作の指示を出すことで、最適なクラスタを簡易に構成でき、ハードウェア障害時の業務停止リスクを抑止できる。

    また、クラスタ制御ソフトウェアの機能としてホストマシンの情報取得/照合を行うことで、関連する技術では実現できなかった、HAクラスタの構成や稼動状態に応じた復旧動作の自動判定が可能となる。 さらに、ホストマシンの障害時だけでなく、仮想マシン内の障害時にも、この復旧動作の自動判定が利用可能である。

    また、障害発生時だけでなく、システム高負荷などの障害予兆を検出した際に、待機系マシンのアプリケーションを起動して一時的に負荷分散運用に切替えるなど、アプリケーションの最配置も自動で実行が可能である。

    また、クラスタ制御ソフトウェアの機能の一部として提供するため、仮想マシン制御のために運用管理ソフトウェアなどを追加したり、仮想化基盤側で設定を変更したりする必要がないため、あらたな導入コストや設定工数の発生を防ぐことができる。

    (実施の形態2)
    以下、図面を参照して実施の形態2について説明する。 図16は、本実施の形態に係るクラスタシステムの構成例を示している。 本実施の形態は、仮想化基盤管理機能をホストマシンの内部に設けた例であり、すなわち、仮想化基盤管理機能がホストマシンに包含されている環境における、仮想マシン2台でHAクラスタを構成する例である。

    図16に示すように、本実施の形態に係るクラスタシステムの構成要素および各要素の役割は、「仮想化基盤管理マシン」を除いて全て図8と同じである。 すなわち、本実施の形態においては、仮想マシン110a及び110bの構成は図8と同様である。 また、ホストマシン100およびその上で稼動する仮想マシン110a及び110bを管理する仮想化基盤管理機能がホストマシン100に包含されているため、仮想マシン位置情報管理部23、仮想マシン移行要求受信部22、仮想マシン移行操作実行部21は、全てホストマシン100の中に構成されている。

    なお、仮想化基盤管理マシンの一部をホストマシンに備えてもよい。 例えば、仮想化基盤管理マシンに仮想マシン移行要求受信部22、仮想マシン移行操作実行部21を備え、ホストマシンに仮想マシン位置情報管理部23を備えてもよい。

    本実施の形態では、仮想マシン位置情報取得部15(15a及び15b)は、ホストマシン100の仮想マシン位置情報管理部23に対して仮想マシン位置情報の問い合わせ/回答受信を行う。 また、取得した仮想マシン位置情報(ホストマシン情報)が一致した場合に、仮想マシン移行要求部14(14a及び14b)は、ホストマシン100の仮想マシン移行要求受信部22に対して仮想マシンの移行要求を送信する。

    このように、ホストマシンに仮想化基盤管理マシンの機能を備えた場合でも、実施の形態1と同様の効果を得ることができる。

    (実施の形態3)
    以下、図面を参照して実施の形態3について説明する。 図17A〜図17Dは、本実施の形態に係るクラスタシステムの構成例を示している。 本実施の形態は、実施の形態1と同様に、仮想化基盤管理機能をホストマシンとは別の装置に設けた構成、つまり、仮想化基盤管理機能がホストマシンから外出しされている環境において、仮想マシン4台でHAクラスタを構成する例である。

    図17A〜図17Dに示すように、本実施の形態に係るクラスタシステムは、4つの仮想マシン110(110a〜110d)、3つのホストマシン100(100a〜100c)、仮想化基盤管理マシン200を備えている。 クラスタシステムは、物理環境(実環境)として、物理マシン(実マシンン)であるホストマシン100a〜100c及び仮想化基盤管理マシン200を備え、仮想化環境として、仮想マシン110a〜110dを備えているともいえる。

    HAクラスタは、仮想マシン110a〜110dの4台で構成される。 仮想マシン110a〜110dは3台のホストマシン100a〜100cの上で稼動しており、仮想マシン110a〜110dおよびホストマシン100a〜100cは、仮想化基盤管理マシン200にて集中管理されている。 仮想化基盤管理マシン200の構成要素は、実施の形態1の図8と同様である。 例えば、仮想マシン110aはホストマシン100aで稼働し、仮想マシン110b及び110cはホストマシン100bで稼働し、仮想マシン110dはホストマシン100cで稼働している。

    また、実施の形態1と同様に、仮想マシン110(110a〜110d)には、それぞれクラスタ制御ソフトウェア111(111a〜111d)が導入されており、このクラスタ制御ソフトウェア111a〜111dによって、仮想マシン110a〜110dはHAクラスタを構成している。 クラスタ制御ソフトウェア111(111a〜111d)の構成要素は、実施の形態1の図8と同様である。

    クラスタ間情報照合部16(16a〜16d)は、仮想マシン110(110a〜110d)間で仮想マシン位置情報取得部15(15a〜15d)がそれぞれ取得した情報を照合する。 すなわち、クラスタ間情報照合部16は、仮想マシン位置情報取得部15a〜15dが取得した仮想マシン110a〜110dの4つの仮想マシン位置情報(ホストマシン情報)を照合(比較)し、一致/不一致を判定する。

    クラスタ状態管理部13(13a〜13d)は、クラスタ間情報照合部16が照合した結果に基づいて仮想マシンの移行要求を指示する。 例えば、仮想マシン110a〜110dの仮想マシン位置情報の中に一致する情報が含まれている場合、仮想マシン位置情報が一致する仮想マシン110のいずれかを別のホストマシンへ移行させるため、仮想マシン移行要求を仮想マシン移行要求部14へ指示する。

    アプリケーション112aおよび112bは、それぞれアプリケーション制御部11a〜11dによって、仮想マシン110a〜110bの間で切替え動作が可能である。

    次に、図17A〜図17D、図13〜図15を参照して、本実施の形態に係るクラスタシステムにおける障害発生時の動作について説明する。

    図17A〜図17Dでは、現在、アプリケーション112aは仮想マシン110a上、アプリケーション112bは仮想マシン110b上で稼動しており、アプリケーション112aにおいては仮想マシン110aが現用系、仮想マシン110b〜110dが待機系となっており、アプリケーション112bにおいては仮想マシン110bが現用系、仮想マシン110a、110c及び110dが待機系となっている。

    また、仮想マシン110b及び110cは同一ホストマシン100b上で稼動している状態である。 リソース監視部12(12a〜12d)は対象リソースに対して常時監視を実行しており、常に最新の実行状態がクラスタ状態管理部13(13a〜13d)に通知されている(図13のS401)。 また、実施の形態1で示したように、各仮想マシンの稼動するホストマシン情報の照合結果も、常にクラスタ状態管理部13(13a〜13d)に通知されている。

    この状態で、仮想マシン110bで障害が発生した場合、リソース監視部12bが異常を検知し(図13のS402)、異常を検知した旨をクラスタ状態管理部13bに通知する(図13のS403)。 異常検知情報を受信したクラスタ状態管理部13bは(図14のS501)、保持しているあらゆる情報(各仮想マシンのホストマシン名、アプリケーション稼動状態、リソース稼動状態、構築時の優先度設定など)を元に、仮想マシン110a、110c及び110dの中から、最適となるフェイルオーバ先を自動で判断する(図14のS503)。

    図17A〜図17Dの構成では、仮想マシン110cは仮想マシン110bと同一ホストマシン100b上で動作しており、仮想マシン110aでは別のアプリケーション112aが動作している。 このため、異なるホストマシン上で動作しており、かつ、他のアプリケーションでリソースを消費していない仮想マシン110dが最適なフェイルオーバ先と判断される。

    そうすると、クラスタ状態管理部13b及び13dはアプリケーション制御部11b及び11dに対して、アプリケーション112bを仮想マシン110dへフェイルオーバするよう要求を送信する(図13のS504)。 要求を受けたアプリケーション制御部11bは(図15のS601)、仮想マシン110b上でアプリケーション112bを停止し(図15のS602)、そのあとアプリケーション制御部11dが仮想マシン110d上でアプリケーション112bを起動し(図15のS602)、フェイルオーバが完了する。

    このように、さらに複数の仮想マシンによりHAクラスタを構成した場合でも、実施の形態1と同様の効果を得ることができる。 また、複数の待機系の仮想マシンを備えているため、障害発生時に、最適な仮想マシンにフェイルオーバすることができ、業務停止リスクをさらに抑止することができる。

    なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。

    11、11a〜11d アプリケーション制御部12、12a〜12d リソース監視部13、13a〜13d クラスタ状態管理部14、14a〜14d 仮想マシン移行要求部15、15a〜15d 仮想マシン位置情報取得部16、16a〜16d クラスタ間情報照合部21 仮想マシン移行操作実行部22 仮想マシン移行要求受信部23 仮想マシン位置情報管理部100、100a〜100c ホストマシン110、110a〜110d 仮想マシン111、111a〜111d クラスタ制御ソフトウェア112、112a〜112b アプリケーション200 仮想化基盤管理マシンHM1〜HM4 ホストマシンM1 仮想化基盤管理マシンVM1〜VM8 仮想マシン

    高效检索全球专利

    专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

    我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

    申请试用

    分析报告

    专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

    申请试用

    QQ群二维码
    意见反馈