JP5032191B2 - サーバ仮想化環境におけるクラスタシステム構成方法及びクラスタシステム - Google Patents

サーバ仮想化環境におけるクラスタシステム構成方法及びクラスタシステム Download PDF

Info

Publication number
JP5032191B2
JP5032191B2 JP2007112056A JP2007112056A JP5032191B2 JP 5032191 B2 JP5032191 B2 JP 5032191B2 JP 2007112056 A JP2007112056 A JP 2007112056A JP 2007112056 A JP2007112056 A JP 2007112056A JP 5032191 B2 JP5032191 B2 JP 5032191B2
Authority
JP
Japan
Prior art keywords
configuration
cluster
high availability
requirement
system switching
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007112056A
Other languages
English (en)
Other versions
JP2008269332A (ja
Inventor
恒彦 馬場
俊臣 森木
雄次 對馬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2007112056A priority Critical patent/JP5032191B2/ja
Priority to US11/882,700 priority patent/US7992032B2/en
Publication of JP2008269332A publication Critical patent/JP2008269332A/ja
Application granted granted Critical
Publication of JP5032191B2 publication Critical patent/JP5032191B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • G06F11/1484Generic software techniques for error detection or fault masking by means of middleware or OS functionality involving virtual machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2025Failover techniques using centralised failover control functionality

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Description

本発明は、本発明は、サーバ仮想化環境においてクラスタ構成を構築する高可用性のあるコンピュータシステムに関し、特に障害の監視と系切り替えとを行う方法に関する。
サーバ計算機の仮想化(以下、サーバ仮想化)は、単一の物理計算機上で複数のオペレーティングシステム(Operating System、以下OS)を同時に動作させる技術である。論理分割は、物理計算機の資源を複数の論理区画(LPAR)に分割する管理プログラム(サーバ仮想化プログラム)が介在して実現され、各LPAR上で一つずつのOS(ゲストOS)を動作させる技術である。サーバ仮想化プログラムは、ハイパバイザや、物理計算機上でゲストOSとは異なるOSといったサーバ仮想化層(以下では、ホストOSと呼ぶ)で稼動するプログラムである。
このような論理分割を用いた物理計算機(サーバ仮想化環境)では、サーバ仮想化プログラムによって、どのLPARも等しい論理計算機として用いることが可能であるため、ユーザはどのLPAR上でゲストOSと、そのゲストOS上でアプリケーションを稼動させることが可能になる。これにより、ユーザは負荷に応じて、自由にゲストOSを実行する位置を決定することができるという機能を有する。
一方で、このような論理分割を用いた物理計算機(サーバ仮想化環境)では、物理計算機の資源が複数LPARによって共有されるため、物理計算機の資源が障害になった場合に複数のLPARに障害が発生する可能性がある。
従って、サーバ仮想化環境において、高可用性のあるコンピュータシステムを構築する場合には、障害発生時にゲストOS上で動いていたアプリケーションプログラム(以下、アプリケーション)を別の待機系ゲストOSへ引き継ぎ(系切り替え)を行うようなクラスタ構成のコンピュータシステムが用いられる。
非特許文献1では、サーバ仮想化環境におけるクラスタ構成方法として、各LPAR上のゲストOS上に、クラスタプログラムを稼動させ、各ゲストOS間でゲストOSとAPの障害の監視と、APの系切り替えが行う方法1と、ホストOS上にクラスタプログラムを稼動させ、ホストOS間でホストOSとゲストOSの障害監視と、ゲストOSの系切り替えを行う方法2とが実現されている。
上記方法1では、ゲストOS間のクラスタプログラムが通信(ハートビート)によって、ゲストOSとAPの障害監視を行うことで、APの稼動している実行系の障害が発生した場合に待機系へと系切り替えを行う。この系切り替え方法では、事前に待機系となるゲストOSやAPの起動が行われているホットスタンバイが実現できる。
一方、上記方法2では、ホストOS上のクラスタプログラムがハートビートによってホストOSとゲストOSの障害監視を行うことで、実行系の障害が発生した場合には、系切り替え先となる待機系を同一計算機または別計算機上にゲストOSのブートから行い、系切り替えを行う。この系切り替え方法では、ゲストOSの起動から行うコールドスタンバイが実現できる。
また、特許文献1では、サーバ仮想化環境において、ゲストOS上のアプリケーションの性能を動的に保証する技術として、ゲストOSの負荷状態を監視し、過負荷時には必要となるゲストOSのリソースを動的に変更する技術が記載される。また、前記のリソースの変更時において、ゲストOSを稼動させている物理計算機上に割り当て可能なリソースがない場合に、割り当て可能なリソースを有する別の物理計算機にゲストOSを移動することで、ゲストOSのリソースを動的に変更する技術も記載されている。
米国特許第6,985,937号公報 「CLUSTERPRO(登録商標)を利用したVMware(登録商標)Rサーバ統合ソリューション」、[online]、日本電気株式会社 発行、[平成18年10月31日検索]、インターネット<URL:http://www.ace.comp.nec.co.jp/CLUSTERPRO/doc/pp_lin/CLUSTERPRO_VMware.pdf>
上記非特許文献1の方法1と方法2を組み合わせた場合、上記方法1と方法2が独立して系切り替え処理を行うため、それぞれ別のLPARへの系切り替えが実施されることで、複数の実行系LPARが同時にアプリケーションを引き継ぐ可能性があり、このような系切り替えの競合が発生した場合には、複数の実行系によってデータ破壊が生じて、システム停止が生じる恐れがあるという第1の課題がある。
また、上記の方法1と方法2は、それぞれ障害の監視と系切り替えを行うクラスタプログラムが異なるため、どちらの方法による系切り替え手法を用いるかは、事前に決定しておく必要がある。従って、例えば、上記で述べたように、アプリケーションを自由に任意のLPARで動作させようとしたとしても、事前に系切り替え手法を選択しておく必要があるため、系切り替え手法を変更することができない。そのため、LPARの追加や削除が行われた場合や、あるいはサーバ仮想化環境を提供する物理計算機の構成に変化があった場合に、ユーザが求める高可用性に対して、演算性能の不足あるいは過剰な系切り替え性能を提供してしまう、という第2の課題がある。この課題によって、系切り替え性能が不足した場合には、障害時(引き継ぎ完了後)にシステムダウンを生じてしまったり、性能が過剰な場合は、余計にシステムリソースを消費してしまったり、という問題を生じる。
一方、クラスタ構成のシステムにおいて、上記特許文献1に記載される方法を用いた場合、処理を行なっている現用系のゲストOSの負荷に応じて、現用系のゲストOSを十分なリソースを有する物理計算機上に移動することが実現可能である。しかし、待機系のゲストOSのアプリケーションは系切り替え前に負荷を監視しても、系切り替え後の負荷を監視することができない。従って、特許文献1に記載される技術では、待機系のゲストOSは変更されないため、前記の第2の課題と同様に、ユーザが求める高可用性に対して、不足あるいは過剰な系切り替え性能を提供してしまう課題が生じる。
加えて、上記非特許文献1と上記特許文献1に記載される、物理計算機を跨ったゲストOSの移動を適用した場合、ゲストOSが重複して稼動するのを避ける必要があるため、移動元でのゲストOSの停止と、移動先でのゲストOSの開始の処理が必要である。そのため、ゲストOSの移動中、すなわち、移動元でのゲストOSの停止から移動先でのゲストOSの開始までの間は、移動対象のゲストOSはクラスタ構成を構築できない。従って、前記の第2の課題と同様に、系切り替え性能が不足するという課題が生じる。
以上に示すように、従来のサーバ仮想化環境では、ゲストOSに対して、固定的な系切り替え方法しか提供できないため、物理的あるいは論理的に構成が変更された場合に、ユーザが求める高可用性を適切に満たすことができなくなり、障害発生時にシステムダウンを生じたり、平常動作時に過度なリソース消費を生じたりする、という課題がある。
そこで本発明は、上記問題点に鑑みてなされたもので、サーバ仮想化環境において、系切り替え手法を自由に変更することのできる系切り替え方法を実現し、論理的または物理的に構成が変更された場合であっても、ユーザが求める高可用性に好適なクラスタ構成を提供することを目的とする。
本発明は、ゲストOS上でアプリケーションプログラムを実行する複数の系を提供する仮想化部を備えた少なくとも一つの物理計算機と、前記系のゲストOSまたはアプリケーションプログラムを監視して、前記ゲストOSまたはアプリケーションプログラムに障害が発生したときには、前記系を他の系に切り替えるクラスタシステムの構成方法であって、前記物理計算機は、前記ゲストOS上で稼働して前記アプリケーションの稼働状態を監視する第1のクラスタ管理部と、前記第1のクラスタ管理部から前記アプリケーションの稼働状態を受け付けて障害発生時に前記アプリケーションプログラムを他の系に切り替える第2のクラスタ管理部と、を有し、前記第2のクラスタ管理部が、前記系毎に、障害発生時に切り替え可能な他の系と、予め設定した複数の系切り換え手法のうちのいずれかひとつを、系切り替えの候補として高可用性構成パターンに設定するステップと、前記第2のクラスタ管理部が、前記系毎に、障害発生時に必要とする切り替え要件を高可用性要件として設定するステップと、前記第2のクラスタ管理部が、前記高可用性構成パターンに設定された系切り替え手法のうち、前記高可用性要件を満たす系切り替え手法を選択するステップと、前記第2のクラスタ管理部が、前記高可用性要件を満たす系切り替え手法がある場合には、前記高可用性構成パターンから前記選択された系切り替え手法を実現可能で、かつ、前記高可用性要件を満たす他の系を、当該系の系切り替え先として設定するステップと、を含む。
また、物理計算機上で複数のゲストOSを稼動させる仮想化部と、前記各ゲストOS上で稼動するアプリケーションプログラムからなる複数の系と、前記アプリケーションプログラムまたはゲストOSを監視して、障害発生時に前記アプリケーションプログラムを他の系に切り替えるクラスタ管理部と、を備えたクラスタシステムにおいて、前記クラスタ管理部は、前記ゲストOS上で稼働して前記アプリケーションの稼働状態を監視する第1のクラスタ管理部と、前記第1のクラスタ管理部から前記アプリケーションの稼働状態を受け付けて障害発生時に前記アプリケーションプログラムを他の系に切り替える第2のクラスタ管理部と、を有し、前記第2のクラスタ管理部は、前記系毎に設定されて障害発生時に必要とする切り替え要件を高可用性要件として設定する高可用性要件設定部と、前記系毎に、障害発生時に切り替え可能な他の系と、予め設定した複数の系切り換え手法のうちのいずれかひとつを、系切り替えの候補として高可用性構成パターンに設定する高可用性構成パターン設定部と、前記高可用性構成パターンに設定された系切り替えの候補のうち、前記高可用性要件を満たす系切り替え手法と、前記高可用性要件を満たす他の系を、当該系の系切り替え先として選択する高可用性構成判定部と、を備え、前記第2のクラスタ管理部は、前記高可用性構成判定部が選択した系切り替え手法及び系切り替え先に基づいて前記系切り替えを行う。
したがって、本発明は、サーバ仮想化環境におけるクラスタ構成において、ゲストOS/ホストOS(仮想化部)上に複数の系切り替え手法を提供するクラスタ管理部(スレーブクラスタプログラム、マスタクラスタプログラム)が稼動し、設定された高可用性要件(HA要件)を満たす系切り替え手法を選択し、実現することによって、ユーザが求めるHA要件に好適なクラスタ構成を実現する機能を提供することができる。
これにより、サーバ仮想化環境において、ゲストOSに対する複数の系切り替え手法を提供するクラスタ構成において、システムの物理的または論理的な構成や稼動状態が変更した場合であっても、要求された高可用性要件に応じた好適な系切り替え手法を選択することによって、要求された高可用性要件に対して計算機資源の過不足のないクラスタ構成を提供することができる。
以下、本発明の実施の形態を添付図面に基づいて説明する
<第1の実施の形態>
本発明に関する図と説明は、本発明を鮮明に理解するのに適当な要素を示すために簡略化されており、発明を実施するのに支障ない範囲で既知の要素等は省略していることを理解されたい。本技術中で従来技術の中には、本発明を実装するために他の要素が望ましく、かつ/または、必要とされると思われるものが幾つかある。しかし、技術中のこれらの要素は既知であり、本発明の理解を容易にするものではないので、ここでは説明しない。
また、以下の説明では、各プログラムは実行系(または現用系)のモジュール番号で説明している場合もあるが、それらの説明は、待機系の対応したプログラムの説明も兼ねる場合もある。さらに、以降の図に示す符号において、他の図中の数字と同様の番号を用いているものがあるが、それらについては特に説明がない場合、他の図の説明と同様である。
図1から図13は本発明における第1の実施形態について表している。
図1は、第1の実施の形態のサーバ仮想化環境の物理計算機のハードウェア構成を表すブロック図である。
第1の実施の形態の物理計算機Aは、CPU11と、メモリ14と、ストレージ装置15と、NIC(ネットワークインターフェースカード)16、HBA(ホストバスアダプタ)17、さらに前記HBA17を経由して接続可能な共有ストレージ40を備える。
CPU11は、メモリ14に格納されたプログラムを実行することによって、各種処理を実行する。メモリ14は及びストレージ装置15、および共有ストレージ装置40は、CPU11によって実行されるプログラムおよび処理に必要なデータを格納する。NIC16は、ネットワーク(図中LAN)を介して、他の計算機(例えば、物理計算機B)と通信する。なお、CPU11は複数のコア#1、#2を備え、複数の処理(例えば、複数のOS)を並列的に実行可能である。
物理計算機Bも上記物理計算機Aと同様に構成され、CPU21と、メモリ24と、ストレージ装置25と、NIC26、HBA17を備え、CPU21は、メモリ24、ストレージ装置25、さらには共有ストレージ装置40に格納されたプログラムを実行することによって、各種処理を実行する。なお、CPU21も複数のコア#1、#2を備え、複数の処理を並列的に実行可能である。
本実施形態では、物理計算機Aが実行系(第1の系)の計算機システムを構成し、物理計算機Bが待機系(第2の系)の計算機システムを構成する。
図2は、図1に示した物理計算機におけるサーバ仮想化環境のソフトウェアを主体とした機能ブロック図である。
実行系システムを構成する物理計算機Aでは、ホストOS_A(540)上に論理区画(以下、LPAR=Logical PARtitionとする)を構成するサーバ仮想化プログラム510が稼動し、LPAR1とLPAR2を提供する。また、前記サーバ仮想化プログラム510は、前記LPAR1とLPAR2と異なる新たなLPAR5を提供する。なお、ホストOS540とサーバ仮想化プログラム510が仮想化部を構成する。
LPAR1ではゲストOS1(130)が実行され、このゲストOS1上でアプリケーションプログラム(AP1)110が稼動し、また、アプリケーションプログラム(以下、アプリケーションとする)AP1を監視し、アプリケーションAP1の稼動状態をマスタクラスタプログラム520に通知する機能と、マスタクラスタプログラム520からの指示を受けて、実行系と待機系の間で系切り替えを行う機能とを有するスレーブクラスタプログラム120が稼動する。
LPAR2ではゲストOS2(230)が実行され、このゲストOS2上でアプリケーション(AP2)210が稼動し、また、アプリケーションAP2を監視するスレーブクラスタプログラム220が稼動する。LPAR5では、ゲストOSやアプリケーションは稼動しておらず、実行系上または待機系上の任意のLPARを切り替えた場合に、前記切り替えたLPAR上のゲストOSやアプリケーション、スレーブクラスタプログラムがLPAR5で稼動する。ここで、LPAR5は事前に設定されたLPARであってもよいし、前記切り替えが行なわれる場合に、前記サーバ仮想化プログラムが提供する新たなLPARであってもよい。
また、ホストOS_A上では、各LPAR1、2のアプリケーションまたはゲストOSまたは他の仮想化部を監視し、待機系のLPAR2が存在する実行系LPAR1に障害が発生した場合には、前記スレーブクラスタプログラムに指示して、LPAR1とLPAR3との間で第1の系切り替えを実行する機能を有するマスタクラスタプログラム520が稼動している。加えて、前記マスタクラスタプログラム520は、待機系が存在しない実行系LPAR2に障害が発生した場合には、前記LPAR2と前記新たなLPAR5の間でゲストOS及びアプリケーションを切り替え、前記LPAR5、ゲストOSとアプリケーションを起動することで、第2の系切り替えを実行する機能を有する。
一方、待機系システムを構成する物理計算機Bも、実行系システムの物理計算機Aと同様の構成のソフトウェアが実行される。つまり、物理計算機Bでは、ホストOS_B(540’)上にLPAR3を構成するサーバ仮想化プログラム510’が稼動する。また、前記サーバ仮想化プログラム510’は、前記LPAR3と異なる新たなLPAR4を提供する。LPAR3ではゲストOS3(130’)が実行され、このゲストOS3上では実行系から切り替えるためのアプリケーション(AP1)110’が稼動し、また、実行系のアプリケーションAP1を監視し、マスタクラスタプログラム520’に監視結果を通知する機能と、前記マスタクラスタプログラム520’からの指示を受け、実行系と待機系の間で第1の系切り替えを行う機能とを有するスレーブクラスタプログラム120’が稼動する。
待機系のLPAR4では、ゲストOSやアプリケーションは稼動しておらず、実行系上または待機系上の任意のLPARを切り替えた場合に、前記切り替えたLPAR上のゲストOSやアプリケーション、スレーブクラスタプログラムが稼動する。
また、ホストOS_B上では、LPAR3のアプリケーションまたはゲストOSまたは他の仮想化部を監視するマスタクラスタプログラム520’が稼動し、待機系LPAR2が存在する実行系LPAR1に障害が発生した場合には、前記スレーブクラスタプログラムに指示して、実行系のLPAR1と待機系のLPAR3との間で第1の系切り替えを実行する機能を有するマスタクラスタプログラム520’が稼動している。加えて、前記マスタクラスタプログラム520’は、待機系が存在しない実行系のLPAR2に障害が発生した場合には、前記LPAR2と前記新たなLPAR4の間でゲストOS及びアプリケーションを切り替え、前記LPAR4、ゲストOSとアプリケーションを起動することで、第2の系切り替えを実行する機能を有する。
ここで、待機系の前記マスタプログラム520’によって行なわれるゲストOS及びアプリケーションの切り替えは、例えば、ゲストOSやアプリケーションを起動するディスク装置を新たなLPARが利用することで実現してもよいし、ゲストOSやアプリケーションの動作中のスナップショットを利用することで実現してもよい。なお、LPAR4、LPAR5は、コールドスタンバイとして機能する第3の系を構成する。
図3は、実行系の物理計算機Aで実行されるソフトウェアの詳細な構成を示すブロック図である。上述のように複数の物理計算機A、Bは、同様の構成となっているため、図3では、物理計算機Aのソフトウェア構成のみを説明し、物理計算機Bのソフトウェア構成の説明は省略する。また、物理計算機Aの複数のLPARの構成も同様の構成となっているため、LPAR1のみ説明し、他のLPAR2の詳細は省略して記載する。
物理計算機Aは、LPAR1、2を管理するサーバ仮想化プログラム510が稼動する論理的なホストノード500と、前記サーバ仮想化プログラム510によって管理されるLPAR群100(LPAR1)、200(LPAR2)を含む。
LPAR100は、OSとしてゲストOS130が稼動しており、そのゲストOS130上で、業務を行なうアプリケーション(AP1)110と、マスタクラスタプログラム520に前記アプリケーションAP1が必要とする高可用性を定義する高可用性(High Availability)要件(以下、HA要件という)を設定し、マスタクラスタプログラム520にHA要件を通知する機能と、アプリケーション(AP1)110の状態を監視し、マスタクラスタプログラム520へ前記状態を通知する機能と、前記マスタクラスタプログラム520からの指示を受け、実行系と待機系の間で第1の系切り替えを行う機能を有するスレーブクラスタプログラム120とを含む。HA要件は、アプリケーション110やゲストOS130に障害が発生したときに実行する系切り替えの形態(系切り替え方法や系切り替え先)を決定するための要件である。
前記スレーブクラスタプログラム120は、アプリケーション110の状態を監視してマスタクラスタプログラム520に前記状態を通知するアプリケーション監視部121と、前記マスタクラスタプログラム520からの指示によって、実行系から待機系へのアプリケーションの系切り替えを実施する系切り替え実施部122とを有する。加えて、スレーブクラスタプログラム120は、前記アプリケーション110が必要とする高可用性を定義するHA要件を設定し、マスタクラスタプログラム520にHA要件を通知するHA要件設定部123を含む。
前記HA要件設定部123は、例えば、図9に示すようなHA要件定義124を有する。ここで、HA要件とは、例えば、障害発生時に系切り替えによってアプリケーションが引き継ぎを完了するまでに許容される時間(アプリケーションの停止許容時間等)の指定がある。また、系切り替えを含む複数の障害回復方法がある場合には、それらの障害回復方法の指定であったり、複数のアプリケーションの系切り替えが生じる場合には、それらのアプリケーションの優先順序の指定であったりしてもよい。
さらに、系切り替え後もアプリケーションが安定して稼動することを保証するためのアプリケーションの性能に関する要件を含んでも良い。例えば、系切り替え先となる論理計算機や、物理計算機の範囲の指定であったりしてもよく、その範囲の指定方法として、直接的に計算機の位置や範囲の指定を行う以外に、例えば、論理計算機あるいは物理計算機が有するCPUやメモリ、ストレージ装置、NIC、HBAといった計算機リソースが有する機能のうち、アプリケーションが利用する機能を指定することで決定されてもよいし、計算機リソースの種類(例えば、CPUやストレージ装置の個別の製品名称)を指定することで決定されてもよい。さらに、アプリケーションの同時稼動数を決定するような、ライセンス上限数の指定であってもよい。
図9に示すHA要件定義124は、対象とするアプリケーションとLPARをそれぞれ示す識別子1301、1302と、前記LPAR識別子1302で示されたAPが許容できる停止時間1303と、優先される系切り替え方法1304を含む。また、それぞれの要件定義に優先度が指定されている場合には、それぞれの識別子1301、1302に合わせてその優先度を示す情報も含む。加えて、複数のアプリケーションの優先度を指定するアプリケーションの優先度の指定1305を有する。前記優先度指定1305は、複数のアプリケーションに影響を与えるシステム全体に対するHA要件であり、このようなシステム全体に対するHA要件が複数存在する場合に、前記のアプリケーション内部のHA要件定義1301〜1304とは異なる優先度を与えることも可能であり、その優先度も前記優先度の指定1305に含む。
図9のHA要件定義は、図8で示すようなユーザインターフェース(UI)を用いて指定されてもよい。例えば、図8のUIでは、前記HA要件定義124の設定項目のうち、アプリケーション識別子と前記アプリケーションのHA要件を定義するUI2001と、複数のアプリケーションに対するシステム全体のHA要件を定義するUI2101と、前記HA要件の追加または削除、加えて、マスタクラスタプログラム520への定義の通知とキャンセルを行うUI2201と、前記UI2201で実行した結果を表示するUI2301と、さらに前記2301の結果によるHA構成を承諾あるいは変更するUI2401を有する。ここで、前記各UIは同時に表示されることがあってもいいし、その一部のみを表示してもよい。例えば、アプリケーションが1種類に限定される場合であれば、システム全体のHA要件を指定するUI2101は省略されてもよいし、実行結果に関するUI2301、2401は、他のUIとは独立して表示されてもよい。また、前記UI2001では、AP識別子を指示するUI2011や、HA要件の識別子、指定内容、優先度を指定するUI2012、2013、2014を有しており、各UIは指定可能な候補から選択する方法で指定してもよいし、ユーザが任意の情報を記入してもよい。
なお、UI2104で指定される優先度は、UI2001で指定される各HA要件で一意に定まる優先度が指定される。加えて、UI2301で表示される実行結果は、マスタクラスタプログラムによって設定された系切り替え手法の情報を示すだけでなく、系切り替え手法が設定できなかった情報を示してもよい。なお、設定できなかった場合は、前記UI2401を用いて再度HA要件を修正して入力し直してもよい。ここで、図8ではUIの一例として、グラフィカルなUIを示したが、コマンドや、プログラムの連携I/Fとして提供されてもよい。また、上記ユーザーインターフェースは、物理計算機A、Bに接続したコンソールや、ネットワークに接続した計算機などで実行し、管理者などが入力することができる。
図8に示すUI2001では、図4に示す共有ストレージ装置40に格納されたアプリケーションAP1の設定の一例を示しており、AP停止許容時間は150秒であるが、第1の系切り替え(ホットスタンバイ)手法を要求していることを表している。また、UI2101では、図4のアプリケーションAP1とAP2のどちらを優先的に、系切り替え手法を決定するか否かを表しており、アプリケーションAP2がAP1に優先することを表している。また、UI2301では、実行結果として、図4に示す通り、LPAR1とLPAR3をそれぞれ実行系と待機系とした第1の系切り替え手法が適用されたことを示している。
なお、アプリケーション110の稼動状態としては、アプリケーション110が実行中に発生する信号の他、アプリケーション110が生成したデータやファイルを含めることができ、これらの情報はアプリケーション110の稼動状態を示す稼動情報を構成する。そして、これらの稼動状態の検出は、アプリケーション110の稼動情報を検知することで行うことができる。
次に、図3においてホストノード500は、ホストOS540(OS_A)が稼動しており、そのホストOS540上で、前記LPAR1、2を管理するサーバ仮想化プログラム510と、マスタクラスタプログラム520とを含む。
サーバ仮想化プログラム510は、前記ゲストOS130に図1で示した物理的な計算機資源(ハードウェア)の割当を行うゲストOS制御部511と、ゲストOS130から得たゲストOSの稼動状態を管理するゲストOS監視部512を有する。前記ゲストOS監視部512は、ゲストOS130の監視結果をマスタクラスタプログラム520が有する系状態管理部522に通知する。
さらに、実行系のマスタクラスタプログラム520は他の物理計算機Bや、前記ホストOS540上のスレーブクラスタプログラム120、220との通信を行うことのできる通信部521と、ホストOS540の稼動状態を監視するホストOS監視部524と、アプリケーションとゲストOSとホストOS540の稼動状態を記録する系状態管理表523を有し、系の状態を監視する系状態管理部522を有する。加えて、マスタクラスタプログラム520は、前記ホストOS監視部524が障害を検出した場合に実行する系切り替え手法を記録する系切り替え対応表526を有し、前記系切り替え対応表526に従って、障害発生時に系切り替え先となるスレーブクラスタプログラム120、220に対して系切り替えを指示することで第1の系切り替え手法を実施するか、あるいは、前記第3の系であるLPAR4、LPAR5に対して第2の系切り替え手法による系切り替えを実行する系切り替え制御部525とを有する。
加えて、マスタクラスタプログラム520は、各ゲストOSが第1の系切り替え手法と第2の系切り替え手法が実行可能か否かを示すHA構成パターン表(テーブル)528を有し、前記スレーブクラスタプログラム120のHA要件設定部123で定義されたHA要件定義124を満たす系切り替え方法を前記HA構成パターン表(高可用性構成パターン情報)528から選択し、前期系切り替え制御部525に設定するHA構成判断部527を有する。
ここで、前記HA構成パターン表528は、後述の図7のように、アプリケーションに適用するHA構成のパターンを含む。例えば、前記HA構成パターン表528は、複数の障害回復方法(系切り替え方法)が存在する場合には、系切り替え方法の指定を含んでもよいし、複数の系切り替え先が存在する場合には、その系切り替え先の指定を含んでもよい。さらに、前記パターン表は、指定された系切り替え方法や系切り替え先によって、回復される障害の範囲を情報として含んでもよい。また、前述したHA要件の種別に応じて、そのHA要件に関する性能値や、HA要件への対応の可否を示す情報を含んでもよい。例えば、図7では、前記のアプリケーションの停止許容時間というHA要件に対応して、系切り替え時間が含まれたり、HA構成パターンが対象とするアプリケーションに設定可能か否かを示す選択可否の情報が含まれたりする。
前記マスタクラスタプログラム520は、前記通信部521を通じて、待機系など他のマスタクラスタプログラム520’とハートビートによる監視を行うことで、他のホストOSやゲストOSの障害を監視することができる。
図5に示す前記系状態管理表523は、サーバ仮想化プログラム510が管理するアプリケーション110、210とゲストOS130、230とホストOS540の識別子1001と、前記識別子を有するアプリケーションとゲストOSとホストOSの状態1002を含む。図5では、各プリケーションとゲストOSとホストOSが正常(Status OK)であることを示す。
図6は、マスタクラスタプログラム520の系切替制御部525が管理する系切替対応表526の一例を示す説明図である。
図6に示す前記系切り替え対応表は、アプリケーション識別子1101によって示されるアプリケーション1111、1112に適用される系切り替え手法を格納するものである。例えば、図6では、系切り替え手法の種別1102と、各系切り替え手法における現用系(ONL)と待機系(SBY)を表す系状態1103を有しており、前記系状態毎に、各系の位置する物理計算機、LPAR、ホストOS、ゲストOS、起動ディスクを表すそれぞれの識別子1104、1105、1106、1107、1108を有する。図6では、図3で示したように、アプリケーションAP1は第1の系切り替え状態(Hot Standby)で実行系をLPAR1、待機系をLPAR3に設定しており、アプリケーションAP2は第2の系切り替え状態(Cold Standby)であり、実行系がLPAR2で待機系が物理計算機Bに設定されていることを意味している。
ここで、起動ディスク1108は、図4に示される共有ストレージ装置40上にある各アプリケーションと、各系状態に対応した起動ディスクを指す。図4では、アプリケーションAP1、AP2の実行系と待機系の起動ディスクとして、それぞれ起動ディスク41、42と43、44が存在することを示している。
図7に示す前記HA構成パターン表528は、アプリケーションを表す識別子1201を有する。HA構成パターン表528は、加えて、実現可能な各系切り替え手法を表す識別子1211、1212、1213、1214、1215を有し、各系切り替え手法の識別子1211〜1215毎に実現する系切り替え(障害回復)手法の識別子1202、系切り替え先の識別子1203、系切り替えによって回復可能な障害種別の識別子1204、系切り替えに要する所要時間1205を有する。
例えば、前記識別子1202では、第1の系切り替え手法(図中、Hot=ホットスタンバイ)と第2の系切り替え手法(図中、Cold=コールドスタンバイ)を網羅しており、識別子1203によって、第1の系切り替え手法(Hot)では、実行系と異なるLPARとなる待機系をどの物理計算機上で実現するかで分類されている。同様に第2の系切り替え手法では、識別子1203によって、実行系の同一LPARか異なるLPARか、異なるLPARの場合は、第1の系切り替え手法と同様に、どの物理計算機上で待機系(系切り替え先)を実現するかで分類されている。また、識別子1204は、前記系状態管理部522が監視している状態に対応した障害箇所を含む。なお、図7に示す回復可能障害範囲の識別子1204ではホストOS間のハートビートが喪失した場合を計算機の障害とみない例を示し、他の物理計算機B発生した障害を回復可能障害範囲に含んでいる。
さらに、系切替時間1205は各系切り替え手法によってアプリケーションAPが停止する時間(系切り替え時間)を表しており、本実施形態ではユーザが上述のコンソールなどから設定することで定義される。加えて、前記図8、図9で指定されるHA要件定義及びUIでは、前記回復可能障害範囲の識別子1204に対応するHA要件定義を示してないが、図8、図9で対応するHA要件で回復可能障害範囲の識別子1204を定義してもよい。
さらに、前記HA構成パターン表528は、識別子1211〜1215で設定された各系切り替え手法が選択可能か否かを示す識別子1206を有する。識別子1206は識別子1211〜1215で設定された系切り替え手法が選択不可能であるか、選択可能であるか、現在選択されているか否かを示す。例えば、図7では、アプリケーションAP1はLPAR1(物理計算機A)とは異なる計算機(物理計算機B)に待機系(LPAR3)を有する第1の系切り替え手法(#5)が選択されていることを示している。
図10〜図13は、第1の実施の形態の動作を表すフローチャートである。
以下、同様のフローチャートに示す各動作には、各クラスタプログラム外のモジュールと連携した動作を含む。
図10は、実行系のマスタクラスタプログラム520のHA構成判断部527が、実行系のスレーブクラスタプログラム120のHA要件設定部123で定義されたHA要件定義124を通知された場合に、システム全体に関するHA要件定義がある場合に行う第1の処理の例を示すフローチャートである。なお、以下の説明では、実行系についての処理を説明するが、他のゲストOS2及び待機系の処理も同様である。
まず、HA構成判断部527が実行系のゲストOS130上のHA要件設定部123からHA要件定義を受信すると(S101)、前記UI2101で指定されるシステム全体のHA要件が指定されたか否かを判断する(S102)。システム全体のHA要件が定義されていなければ、実現可能なHA構成に制約が生じないため、実現可能なHA構成があるかどうかの判断(S106)を実行する。
一方、HA要件が定義されている場合には、他のアプリケーションによるHA構成が存在するか否かを判断する(S103)。存在しない場合は、自アプリケーションに対してHA要件を適用すれば良く、S108で前記HA要件を満たすHA構成を選択してからS106を実行する。
一方、S103で他のアプリケーションが存在する場合は、そのアプリケーションのHA構成を参照し(S104)、そのHA構成と合わせて、HA要件を満たすHA構成を選択する(S105)。例えば、前記図8のUI2101に示すように、アプリケーションAP1、AP2の順に優先度が指定されている場合、アプリケーションAP2のHA構成が決定済であれば、アプリケーションAP1の設定はS104、S105を実行し、自身より優先度の高いアプリケーションAP2のHA構成と矛盾しないHA構成を選択する。
一方、アプリケーションAP2のHA構成が未決定であればアプリケーションAP1のHA構成を選択し、S106を実行する。また、逆にアプリケーションAP2よりAP1に高い優先度が指定されていて、アプリケーションAP1が設定済である場合には、アプリケーションAP1よりもAP2のHA構成が優先されるため、アプリケーションAP1に関係なく、アプリケーションAP2のHA構成を選択する処理をS107で行なう。ここで、S107におけるHA構成の選択は、以降に述べる図11におけるS201〜S215で実行されるHA構成の選択処理を実行することで実現可能であり、HA構成が選択された場合には、S215から該処理S104に戻り、以降の処理を継続する。ここで、前記S201〜S215でHA構成が実現できない場合には、後述するエラー通知処理Dを呼び出すことで、エラー通知処理が実現される。処理S106では、実現可能なHA構成が選択されているか否かを判断する。S106で、実現可能なHA構成があるならば、それらのHA構成の候補を選択可能として、前記HA構成パターン表528に候補として登録し(S107)、その後、アプリケーションに対するHA要件によるHA構成の選択処理Bを実行する。一方、S106で、実現可能HA構成が存在しない場合には、HA構成が実現できないため、ユーザにエラーを通知する処理Dを実行する。
図11は、前記HA構成判断部527が、前記HA要件定義のうち、アプリケーションAPに関するHA要件定義がある場合に行う第2の処理の例を示すフローチャートである。
まず、HA構成判断部527は、前記処理S107から処理Bが呼び出されると、S201を実行する。S201では、前記HA要件に優先度が設定されたHA要件があるか否かを判断し、存在する場合には、指定されたHA要件に対する処理を行なうため、S202以下を実行する。S202では、優先度の指定があるHA要件に従って、HA構成パターンを選択する。例えば、図9において、AP停止許容時間1304が優先度1で定義されているため、これに従い、前記許容時間1304を満足する系切り替え時間を有するHA構成パターンを選択する。HA構成パターンを選択した後、上記処理S106と同様に、実現可能なHA構成があるか否かを判断し(S203)、存在しない場合には、ユーザにエラーを通知する処理Dを実行する。
一方、S203の判定において選択可能なHA構成がある場合には、前記処理S107と同様に、実現可能なHA構成を選択し(S204)、優先度が与えられた次のHA要件があるか否かを判断する(S205)。次のHA要件がある場合には、このHA要件を読み出してから(S206)再度S202に戻り、次のHA要件を用いてHA構成の選択を実施する。
一方、上記S201の判定で優先度が指定されたHA要件が処理済み、あるいは、存在しなかった場合には、残りの優先度が指定されていないHA要件の適用処理をS208以降で実施する。
S208では、HA要件があるか否かを判断する。実現可能なHA要件がある場合には、指定されたHA要件に従って、HA構成を選択する(S209)。HA構成を選択した後、上記S203、S204と同様の処理S209、S210を実施する。すなわち、実現可能なHA構成が存在しない場合には、ユーザにエラーを通知する処理Dを実行し、存在する場合には、次のHA要素によるHA構成を選択するため、処理S208へ戻る。一方、S208で、指定されたHA要件がなくなった場合には、全てのHA要件が適用されたことを意味しており、実現可能なHA構成があるか否かを判断する(S211)。S211の判定で実現可能なHA構成が存在しない場合には、ユーザにエラーを通知する処理Dを実行する。一方、実現可能なHA構成が存在する場合は、複数のHA構成が選択可能か否かを判断する(S212)。複数のHA構成が存在する場合は、いずれかのHA構成を選択することが可能であるため、その内の一つのHA構成を後述するように選択する(S213)。ここで、選択の方法としては、例えば、HA要件以外の指標を用いて選択する方法であってもよいし、再度、スレーブクラスタプログラム120のHA要件設定部123を介して、ユーザに複数の候補を提示し、明示的にユーザに選択してもらう方法であってもよい。S214では、HA構成は一つに決定されているため、前記HA要件設定部123を介して、決定されたHA構成への変更をユーザに通知する。ここで、前記通知は、HA要件の入力を行なった前記HA要件設定部123の他に、他のスレーブクラスタプログラム220のHA要件設定部に通知を行っても良い。S215を実施後、選択されたHA構成の設定変更を実施する(S215)。
図12は、上記図10のS106、図11のS203、S211の何れかで、実現可能なHA構成がないと判定された場合に、前記HA構成判断部527が前記HA要件設定部123を介して、ユーザ(または管理者)にエラーを通知する処理を行う第3の処理の例を示すフローチャートである。
まず、前記HA構成判断部527が、選択可能なHA構成が存在しないという結果を、HA要件設定部123を介して、ユーザへ通知する(S301)。例えば、HA要件設定部123は、前述の図8におけるUI2301に示した実行結果の表示を用いて、「選択可能なHA構成が存在しない」という結果をユーザに示す。その後、ユーザが前記HA要件設定部123を介して、HA要件を修正して再入力が実行されたか否かを判断し(S302)、再入力が無い場合には、該HA要件に対するHA構成の実現を中断する。一方、ユーザによってHA要件が再入力された場合には、再入力されたHA要件に対して、HA要件を再度検証する(S303)。S303における前記再度検証を行なうために、前記処理S101から再実行する。
以上の処理により、マスタクラスタプログラム520のHA構成判断部527は、ユーザが設定したアプリケーションAP毎のHA要件とシステム全体のHA要件から、システム全体のHA要件を満たし、かつ、優先度に従ったHA構成を設定し、HA構成パターン表528を更新する。
図13は、前記HA構成判断部527が、HA構成の設定を実施する前記S215に対応する第4の処理の例を示すフローチャートである。
まず、前記HA構成判断部527は、前記図11のS212またはS213で決定されたHA構成において、ホットスタンバイが選択されたか否かを判断する(S401)。ホットスタンバイが選択された場合には、待機系を起動し(S402)、ホットスタンバイ構成を実現した後に、系切り替え対応表526に起動した待機系を反映する(S403)。加えて、事前に設定されていたHA構成がコールドスタンバイであったか否かを判断し(S404)、コールドスタンバイであった場合には系切り替え対応表526から該コールドスタンバイのエントリを削除する(S405)。S405の処理が終了した後、S406を実行する。
一方、上記S401で、決定されたHA構成がホットスタンバイの追加で無い場合は、コールドスタンバイが選択されたか否かを判断する(S407)。コールドスタンバイが選択された場合には、系切り替え対応表526に該コールドスタンバイのエントリを追加する(S408)。その後、系切り替え対応表526に事前に設定されていたHA構成がホットスタンバイであったか否かを判断し(S409)、ホットスタンバイが設定されていた場合には、ホットスタンバイで利用していた待機系を停止させ(S410)、系切り替え対応表526から該ホットスタンバイのエントリを削除する。S411の処理が完了した後、処理S406を実行する。
一方、S407の判定で、コールドスタンバイではなかった場合には、HA構成の変更は必要なかったことを意味するため、S406を実行する。ここで、異なる系切り替え手法を異なるエントリとした場合を考慮し、処理S403、S405、またはS408、S411で系切り替え対応表526を二度更新しているが、例えば、一つのアプリケーションに対して一つの系切り替え手法を適用する場合に限定すれば、系切り替え対応表526の書き換えは一度でよく、例えば、S404、S405、あるいは、S408は省略する方法を用いても良い。
続いて、S406では、他に設定されていないHA構成があるかを判断し、存在する場合には、次のHA構成の設定を実行するため、処理S401を実行する。一方、他に設定されていないHA構成が存在しない場合には、全てのHA構成の設定が完了しているため、HA構成判断部527はHA要件設定部123を介して、ユーザにHA構成の完了を通知し(S407)、HA構成の設定を終了する。ここで、S407によるHA構成完了の通知は、例えば、前記図8のUI2301に示すように、実行結果のウインドウ内に設定した系切り替え手法を通知する方法であってもよい。
さらに、本実施形態では、実行系と待機系がそれぞれ1台ずつである1:1構成のHA構成の例を説明したが、実行系と待機系がそれぞれ複数台存在するM:N構成のHA構成であってもよい。例えば、図6に示した系切り替え対応表526は、例えば、複数の現用系と待機系を関連させる表を用いることで適用可能である。
加えて、本実施形態では、コールドスタンバイとホットスタンバイの二つの系切り替え手法において、系切り替え手法を選択し、HA構成を変更する例を示したが、ゲストOSを正常な状態に回復を行う他の方法を用いてもよい。例えば、ゲストOSの再起動により回復する方法や、現用系ゲストOSのスナップショットを作成し、そのスナップショットを用いて回復する方法であってもよい。この場合も、前記系切り替え対応表526に前記回復方法を用いた場合の各要素を追加することで適応可能である。
以上、図1〜図13に示した一連の処理を行うことで、実行系のスレーブクラスタプログラム120のHA要件設定部123から入力されたHA要件に基づいて、マスタクラスタプログラム520はHA要件を満たす系切り替え手法を用いたHA構成を実現することができる。加えて、システム全体のHA要件や、他のゲストOS上のスレーブクラスタプログラム220によってHA要件が設定され、他のHA構成が実現されている場合であっても、複数のゲストOSのHA要件を満たす系切り替え手法を選択し、HA構成を実現することができる。
これにより、ユーザや管理者などはアプリケーションやLPAR毎に、系切り替え先や系切り替え方法を細かく指定する必要はなく、アプリケーション毎にどのような系切り換えをしたいか、というHA要件を設定するだけでよく、ホストクラスタプログラム520は、最適な系切り替え先と系切り替え方法を決定することができる。したがって、複数のアプリケーションやLPARを稼動させている計算機システムにおいては、系切り替え先の計算機の論理的または物理的な構成が変更された場合でも、系切り替え先の計算機資源を不要に消費するのを防いで最適な系切り替え先を選択でき、ユーザや管理者の労力を大幅に低減できる。
また、HA構成が実現できない場合は、HA構成判断部527がユーザに実現できないことを通知し、再度HA要件の入力を求めることで、不十分な系切り替え手法を解消することができる。これにより、複数の系切り替え手法を有するクラスタシステムにおいて、ユーザが必要とするHA要件を満たす系切り替え手法を用いたHA構成を実現でき、前述の第1、第2の課題を解決することができる。これにより、系切り替え手法を自由に変更することのできる系切り替え手法を実現し、論理的または物理的に計算機の構成が変更された場合であっても、ユーザが求める高可用性に好適なクラスタ構成を提供することが可能となる。
<第2の実施の形態>
図14から図18は、本発明における第2の実施形態について表しており、第1の実施形態の一部を変更して実施することで実現される。
図14は、第2の実施の形態のサーバ仮想化環境の物理計算機のハードウェア構成を表すブロック図で、前記第1の実施の形態の図1の一部を変更したものである。その他の構成は、前記第1の実施形態と同様である。
図14では、前記第1実施形態の構成に対して、新たに物理計算機Cを追加したものである。前記物理計算機Cの各要素は、前記の物理計算機A、Bと同様の構成をとる。
図15は、図14に示した物理計算機におけるサーバ仮想化環境のソフトウェアを主体とした第2の実施の形態の機能ブロック図である。前記第1の実施の形態の図2の一部を変更したものである。その他の構成は、前記第1の実施形態と同様である。
図15では、物理計算機C上では、システム管理プログラム610を含む、管理サーバ30を構成する。前記管理サーバ30は、クラスタシステムを構成する各系のホストOS540、540’上に新たなゲストOSを起動する場合に、その起動するための起動ディスクを生成する機能を有する。
図16は、管理サーバ30として機能する物理計算機Cで実行されるソフトウェアの詳細な構成を示すブロック図である。物理計算機Cは、クラスタシステムを構成する各系のゲストOSのうち、待機系となるゲストOSを起動するために用いられる共有ストレージ装置40上の起動ディスク42、44(図4参照)を生成するサーバインストール部611を有するシステム管理プログラム610と、前記待機系用の起動ディスク42、44の生成を行なうために用いる各アプリケーションに対応した待機系の起動ディスクイメージ621、622を有するローカルディスクとを含む。
前記サーバインストール部611は、待機系設定定義612を有する。前記待機系設定定義612は、図17に示すように、アプリケーション識別子1301で指定される各アプリケーション1311と1312が、ホットスタンバイによる待機系を用いるために必要となる設定として、起動ディスクを生成する元の起動ディスクイメージを表す識別子1304と、前記識別子1304で指定される起動ディスクイメージから起動ディスクを作成するためのインストール情報1303とを含む。
前記インストール情報1303は、実行系と共有するリソースに関する情報や、起動時に実行するスクリプトを含む。ここで、例えば、前者のリソースは、図17に示される共有ディスクやIPアドレスの他、HBAのWorld Wide Nameが含まれてもよい。前記サーバインストール部611は、前記待機系起動ディスクイメージ621、622と前記待機系設定定義612を用いることで、各アプリケーションの待機系を実行するための起動ディスク42、44を作成し、共有ストレージ装置40上に格納する機能を有する。
図18は、マスタクラスタプログラム520上の前記HA構成判断部527が、前記サーバインストール部611を介して待機系の起動ディスクを生成し、HA構成の設定を実施する処理の例を示すフローチャートである。本フローチャートは、前記第1の実施の形態の図13の一部を変更したものである。
図18では、S401において、前記第1実施形態の図11に示したS212またはS213で、ホットスタンバイによるHA構成が選択された場合に、HA構成判断部527がサーバインストール部611に指示して、待機系が起動可能なように、待機系の起動ディスクを生成し、待機系の追加を実施する(S412)。その後、前記図11のS402以降と同様に、待機系の起動を行い、系切り替え対応表を更新する。また、S409において、コールドスタンバイによるHA構成が選択され、以前にホットスタンバイ構成を実現していた場合には、待機系を停止させた後、待機系の起動ディスクを削除することで、待機系の削除を実施する(S413)。その後、前記図11に示したS411以降の処理を実施し、系切り替え対応表526を更新する。
以上、図14〜図18に示した一連の処理を行うことで、実行系のスレーブクラスタプログラム120のHA要件設定部123から入力されたHA要件に基づいて、マスタクラスタプログラム520はHA要件を満たす系切り替え手法を用いたHA構成を実現する際において、事前に待機系ディスクが存在せず、待機系が起動できない場合であっても、待機系を用いるホットスタンバイによる系切り替え手法を用いる場合にのみ、待機系の起動ディスク42、44を生成し、コールドスタンバイによる系切り替え手法を用いる場合には、不要な待機系の起動ディスクを削除することができる。これにより、本実施形態では、第1の実施形態に加えて、過剰な系切り替え手法の実現によるリソースの無駄な消費を防ぐことにより、第2の課題をさらに解決することができる。これにより、系切り替え手法を自由に変更することのできる系切り替え手法を実現し、論理的または物理的に構成が変更した場合であっても、ユーザが求める高可用性に好適なクラスタ構成を少ないリソース量で提供することが可能となる。
<第3の実施の形態>
図19から図23は、本発明における第3の実施形態について表しており、第2の実施形態の一部を変更して実施することで実現される。
図19は、第3の実施の形態の管理サーバ30として機能するの物理計算機Cで実行されるソフトウェアの詳細な構成を示すブロック図で、前記第2の実施の形態の図16の一部を変更したものである。その他の構成は、前記第2の実施形態と同様である。
図19では、システム管理プログラム610は、新たに構成管理部631を有する。構成管理部631は、クラスタシステムを構成する各物理計算機、各ホストOS、各ゲストOS、各アプリケーションに関する構成情報632を有する。ここで、構成情報とは、クラスタシステムを構成する物理計算機、ホストOS、LPAR、ゲストOS、アプリケーションが稼動あるいは停止を継続した状態で利用する物理的あるいは論理的な計算機資源の情報を指す。これらの計算機資源の情報は、変化することのない定常的な情報を指す。例えば、前記構成情報632は、図20に示すように、物理計算機や論理計算機に関する情報として、計算機識別子1401、消費電力容量1402、CPUやNIC、HBAの種別を示す情報1403、1404、1405、物理メモリ容量1405を含む。加えて、ホストOSやゲストOSの実行時にのみ変化する構成情報として、電源投入状態1406、空きメモリ容量1407、利用メモリ量1408、さらに動作するホストOS1410、LPAR1411、ゲストOS1412、アプリケーション1413の情報も含む。前記構成管理部631は、前記構成情報632に含まれる各構成情報を収集し、計算機資源に変更があった場合に検出する機能と、その変更をLAN経由で他の物理計算機上のマスタクラスタプログラム520’に通知する機能とを有する。
図21は、第3の実施の形態において、マスタクラスタプログラム520のHA構成判断部527が管理サーバの構成管理部からの構成変更の通知を契機に、HA構成の検証を実行する第1の処理の例を示すフローチャートである。
図21において、前記HA構成判断部527は、前記構成管理部621からの構成変更の通知を受けると(S501)、現在のHA構成が適切であるかを検証する(S502)。この検証では、現在のHA構成がHA要件に適当であるかを判断するために、再度、前記第1実施形態の図10に示した処理S101以降からなるHA構成の設定処理を実行することで実現する。ここで、検証に用いるHA要件は、各ゲストOS上のスレーブクラスタプログラム120、220のHA要件設定部123から再度HA要件定義を取得する方法であっても良いし、一度設定されたHA要件定義をマスタクラスタプログラムが記憶しておき、用いる方法であっても良い。
上記検証の結果、HA構成を実現できなくなった場合には、前記図12に記載されるエラー通知処理Dが実行され、ユーザに対してHA構成が実現できなくなったことを通知し(S301)、ユーザからHA要件の再入力を受け付ける(S302)。これにより、適切な系切り替え手法が適用できなくなった場合に、ユーザによる解決を図ることが出来る。一方で、HA構成を実現できる場合には、前記図13に記載されるHA構成の設定処理Eが実行され、ユーザに対してHA構成が新たに設定されたことが通知される(S407)。ここで、前記S407によって通知される情報の例として、図22、図23に示されるUI(ユーザーインターフェース)がある。
図22に示すUIでは、HA構成が変更されたアプリケーションのスレーブクラスタプログラム120のHA要件設定部123を介してユーザに通知するUIを表しており、UI2301に構成の変更状態を表示し、UI2401によってその変更が認められるかをユーザが選択可能となっている。例えば、ユーザが認めない場合には、HA要件を変更することが可能であり、この場合、前記S302でHA要件の変更入力と同様な処理を行なうことで実現可能である。また、図23のUIでは、HA構成を変更されたアプリケーション以外のスレーブクラスタプログラム120上のHA要件設定部123に通知するUIを表しており、他のアプリケーションのHA構成が変更されたことを表示するアラートとしてUI2501を有し、図22と同様にS2401によってそのHA構成の変更を認めるかどうかのUIを有する。図23のUIは、例えば、全てのアプリケーションに通知してもよいし、HA構成が変更されたアプリケーションと、システム全体のHA要件が設定されたアプリケーションに対して通知する場合に用いてもよい。
ここで、本実施形態は、第2の実施形態を元に説明したが、サーバインストール部611が存在しない管理サーバ30であっても、第2の実施形態における待機系の起動ディスクを新規追加しない場合、すなわち、待機系の起動ディスクがすでに存在する場合においても、適用可能である。加えて、構成管理部631が存在しない管理サーバ30であっても、第3の実施形態においてHA構成の変更を行なわない場合であれば、適用可能である。
さらに、本実施形態では、系切り替え手法の変更に基づいて、待機系の起動ディスクの追加と削除を行なう例を説明したが、ホットスタンバイの場合において、待機系が起動するサーバを変更する(待機系のサーバ移動を実行する)場合にも適用可能である。例えば、系切り替え手法をホットスタンバイからコールドスタンバイに変更して、稼動していたホットスタンバイの待機系の停止と起動ディスクの削除を行ない、新たな移動先に対応した待機系の起動ディスクと起動を行なった後に、系切り替え手法をコールドスタンバイからホットスタンバイに変更することで適用可能である。さらに、ホットスタンバイからコールドスタンバイに切り替え、待機系のゲストOSを、複数のホストOSを跨って移動させる公知技術を用いて、別の物理計算機に移動した後に、移動完了した待機系を用いて、系切り替えをコールドスタンバイからホットスタンバイに変更するような場合にもことにでも適用可能である。加えて、第1の実施形態と同様に、実行系と待機系がそれぞれ複数台存在するM:N構成のHA構成を対象とした場合に、実行系の位置を変更する場合にも適用可能である。例えば、移動したい現用系を一時的に他の現用系あるいは待機系に系切り替えすることで、待機系とし、前記の待機系のサーバ移動を実行した後に、移動先で待機系となったサーバに他の現用系からの系切り替えによって現用系にすることで適用可能である。また、別の実現方法として、例えば、移動先の待機系を新たに追加するようなHA構成の変更を行い、移動したい移動元の現用系を前記追加した待機系に系切り替えした後、待機系となった移動元の系の停止と削除を行うことでも適用可能である。
以上、図19〜図23に示した第3の実施形態によれば、クラスタシステムを構成するシステムの構成要素である物理計算機やホストOS、ゲストOS、アプリケーションの構成が物理的または論理的に変更がされた場合に、マスタクラスタプログラム520はHA要件を満たす系切り替え手法を用いたHA構成が選択可能であるかを判断し、HA構成を実現することができる。また、HA構成が実現できない場合はユーザに実現できないことを通知し、再度HA要件の入力を求めることで、不十分な系切り替え手法を解消することができる。これにより、複数の系切り替え手法を有するクラスタシステムにおいて、構成が変更された場合であっても、ユーザが必要とするHA要件を満たす系切り替え手法を用いたHA構成を実現でき、前述の第1、第2の課題を第2の実施形態よりもさらに広範囲なクラスタシステムにおいて解決することができる。これにより、系切り替え手法を自由に変更することのできる系切り替え手法を実現し、論理的または物理的に構成が変更した場合であっても、ユーザが求める高可用性に好適なクラスタ構成を提供することが可能となる。
<第4の実施の形態>
図24から図29は、本発明における第4の実施形態について表しており、第3の実施形態の一部を変更して実施することで実現される。
図24は、第4の実施の形態の管理サーバとして機能する物理計算機Cで実行されるソフトウェアの詳細な構成を示すブロック図で、前記第3の実施の形態の図19の一部を変更したものである。その他の構成は、前記第3の実施形態と同様である。
図24では、システム管理プログラム610は、新たに統計処理部641を有する。統計管理部641は、クラスタシステムを構成する各物理計算機、各ホストOS、各ゲストOS、各アプリケーションに関する稼動履歴642を有する。前記稼動履歴642は、図25に示すように、例えば、系切り換えを実施したアプリケーションやゲストOS等が動作する対象の情報1501と、動作の内容を表す情報1502と、動作に要した時間や性能等の数値情報1503を有する。例えば、前記情報1501は、動作対象に関連するクラスタシステムの構成要素の識別子を含む。例えば、図25では、計算機、LPAR、ホストOS、ゲストOS、アプリケーションの識別子がある。また、これ以外に、クラスタシステムを構成する要素を含んでもよく、例えば、CPUやNIC、HBAを含んでも良い。さらに、前記情報1502は、前記情報1501が行った動作内容を示す情報を含み、HA要件に関連する動作内容を示す情報を含む。例えば、障害時の系切り替えに要する時間や、アプリケーションの性能に関する情報として、アプリケーションの応答時間やHBAによるIO性能を含んでも良い。また、直接的なHA要件ではなく、間接的にHA要件に関連する情報を含んでもよい。ここで、間接的な情報は、HA要件に対応する情報を生成することが可能な情報であり、例えば、障害発生や、障害検出の時刻、アプリケーションの起動時刻や、それぞれの動作に要した時間がある。この場合、これらの情報を処理することで、アプリケーション停止許容時間というHA要件に対する系切り替え時間の情報を取得可能である。
前記統計処理部641は、前記稼動履歴642を元に、HA要件に関連する稼動情報を定期的にマスタクラスタプログラム520のHA構成判断部527に通知する。ここで、稼動履歴642のうちどの情報がHA要件に関連する稼動情報かどうかは、事前にユーザが設定しておいてもよい。
図26は、第4の実施の形態において、マスタクラスタプログラム520のHA構成判断部527が、管理サーバ30の統計処理部641からHA要件に関する稼動情報の通知を受信したことを契機に、HA構成の検証を実行する処理の例を示すフローチャートである。
図26において、前記HA構成判断部527は、前記統計処理部641からの構成変更の通知を受けると(S601)、現在のHA構成パターン表528に対応する情報を稼動情報に基づいて更新し(S602)、現在のHA構成が適切であるかを検証する(S603)。この検証は、前記処理S502と同様に、現在のHA構成がHA要件に適当であるかを判断するために、再度、処理S101以降からなるHA構成の設定処理を実行することで実現する。前記HA構成の設定処理により、新たなHA構成が設定される場合や、HA構成の実現が不可能な場合の処理は、前記第3実施形態に示したS502と同様であり、後者の場合、ユーザのHA要件の変更によりHA構成を実現することが可能である。ここで、S602で更新されるHA構成パターン表528の例は図27に示すように、新たに稼動情報に関連するHA要件1207、1208、1209を含む。例えば、HA要件1207は、アプリケーションの応答性能であり、HA要件1208はHBAによる共有ストレージ装置40へのIO性能であり、HA要件1209は各系切り替え手法によって系切り替えを実施した後に利用可能な最大のCPU利用率である。これ以外にも、新しく追加されるHA要件は、HA構成を実現する構成要素が稼動することによって常時変動するような稼動情報であればよく、仮想サーバによって共有されているNIC、HBAの利用率であってもよい。
また、前記HA構成パターン表528に対応して、スレーブクラスタプログラム120のHA要件設定部123のHA要件定義124は、図28に示すように、前記第1実施形態の図9に、HA要件1207、1208、1209に対応するHA要件1306〜1308が新たに設定され、加えて、HA要件定義を設定するUIは、図29に示すようにUI2101において新たに指定可能となる。これにより、ユーザは稼動状態に基づいたHA構成の定義を指定することが可能であり、系切り替え後に十分な性能が出る系切り替え先を有する系切り替え手法を選択することが可能である。
ここで、本実施形態は、第3の実施形態を元に説明したが、サーバインストール部611が存在しない管理サーバ30であっても、第2の実施形態における待機系の起動ディスクを新規に追加しない場合であれば適用可能である。加えて、構成管理部631が存在しない管理サーバ30であっても、第3の実施形態においてHA構成の変更を行なわない場合であれば、適用可能である。
さらに、本実施形態では、実行系と待機系がそれぞれ1台ずつである1:1構成のHA構成の例を説明したが、第1の実施形態と同様に、実行系と待機系がそれぞれ複数台存在するM:N構成のHA構成であってもよい。さらに加えて、M:N構成のHA構成の場合は、図28に示したHA要件定義表におけるAP応答要求性能やIO要求性能に基づいて、前記性能を満たすHA構成への変更を含んでもよい。例えば、AP応答性能が不足するような現用系が存在する場合には、前記第3の実施形態に記載した現用系の移動を伴うHA構成の変更方法を用いることで、性能不足の現用系を、性能を満足する位置に移動することが可能である。
加えて、本実施形態におけるHA要件や稼動情報は、ゲストOSやアプリケーション、クラスタプログラムの動作に影響を与える情報に関するものであってもよい。例えば、ネットワークによる通信スループットであってもよい。さらに加えて、前記HA要件や稼動情報は、特定のシステムの構成要素との間に限定される情報であってもよい。例えば、ゲストOSやアプリケーション、クラスタプログラムが互いに通信する場合の通信スループットや、特定のストレージ装置へのIO性能であってもよい。これにより、Web三階層モデルのように複数のアプリケーション間での通信性能やストレージ装置へのIO性能が求められる場合であっても、その性能を満たすようなHA構成を実現するようなHA構成の変更が実現可能である。
さらに加えて、稼動情報を利用するHA要件では、直接的にアプリケーションのHA構成の依存関係を示す情報を含んでも良い。例えば、各アプリケーションの系切り替え先となる物理的な位置や、系切り替え方法の依存関係がある。これにより、Web三階層モデル(業務システム)でWeb層とAP層が同一の仮想サーバ上の異なるゲストOSで動作するHA構成をユーザが選択することが実現可能である。
以上、図24〜図29に示した第4の実施形態によれば、クラスタシステムを構成するシステムの構成要素である物理計算機やホストOS、ゲストOS、アプリケーションが稼動することで、ゲストOSやアプリケーションが得られる性能が変動するような場合であっても、マスタクラスタプログラム520はHA要件に性能状態に関する要件を定義することで、HA要件を満たす系切り替え手法を用いたHA構成が選択可能であるかを判断し、HA構成を実現することができる。これにより、複数の系切り替え手法を有するクラスタシステムにおいて、複数のアプリケーションが動作することでクラスタシステムの性能が変化した場合であっても、ユーザが必要とする性能を指定したHA要件を満たす系切り替え手法を用いたHA構成を実現でき、前述の第1、第2の課題を第3の実施形態よりもさらに広範囲なクラスタシステムにおいて解決することができる。これにより、系切り替え手法を自由に変更することのできる系切り替え手法を実現し、アプリケーションの負荷状態が変動した場合であっても、ユーザが求める高可用性に好適なクラスタ構成を提供することが可能となる。
<第5の実施の形態>
図30から図33は、本発明における第5の実施形態について表しており、第3の実施形態の一部を変更して実施することで実現される。
図30は、第5の実施の形態において、スレーブクラスタプログラム120が設定可能なシステム全体への運用コスト面からのHA要件を表したHA要件定義124である。
図30では、新たなシステム全体のHA要件として、システム全体の消費電力量を指定する要件1601と、システム全体のアプリケーションのライセンス数の上限を指定する要件1602を示している。これらのHA要件を指定するUIの例を図31に示す。各HA要件は、システム全体のHA要件として設定されるため、システム全体のHA要件を指定するUI2101によって指定可能である。
これらのHA要件の判断は、第3の実施形態における管理サーバ30の構成管理部631が管理する構成情報632を用いることで判断可能である。構成情報632は、例えば、消費電力量の要件1601の場合は、図32に示すように、消費電力量1402と電源投入状態1407から判断可能であり、ライセンス数であれば、稼動アプリケーション情報1413から判断可能である。また、例えば、図32の構成情報632に示されたように、物理計算機A、BのLPAR1、LPAR3でAP1がホットスタンバイによるHA構成をとるシステムにおいて、図31に示されるように、AP2のコールドスタンバイ優先のHA要件で追加し、AP2がメモリ消費を2GBである場合を想定すると、消費電力の最小化が優先されるため、AP1がコールドスタンバイによるHA構成を取りえる場合には、図33に示されるように、AP1とAP2が共に物理計算機Aで稼動し、物理計算機Bが電源OFF状態にあるようなコールドスタンバイによるHA構成が実現される。この結果、物理計算機Bの消費電力を低減できるとともに、計算機資源を開放することができる。
以上、図30〜図33に示した第5の実施形態によれば、クラスタシステムの運用コストをシステム全体のHA要件として定義することで、構成情報から運用コストによるHA要件を満たす系切り替え手法を用いたHA構成が選択可能であるかを判断し、HA構成を実現することができる。これにより、複数の系切り替え手法を有するクラスタシステムにおいて、運用コストを抑制した場合であっても、ユーザが必要とする性能を指定したHA要件を満たす系切り替え手法を用いたHA構成を実現でき、前述の第2の課題をさらに解決することができる。これにより、系切り替え手法を自由に変更することのできる系切り替え手法を実現し、アプリケーションの負荷状態が変動した場合であっても、ユーザが求める高可用性に好適なクラスタ構成を提供することが可能となる。
以上のように、本発明は、クラスタ構成をとる仮想化サーバ環境に適用することが可能である。特に、障害が発生した場合でも適切な系切り替えを実現することができるため、迅速な回復を要求されるシステムに適用すると好適である。
第1実施形態のサーバ仮想化環境の物理計算機のハードウェア構成を表すブロック図である。 同じく第1の実施形態を示し、物理計算機におけるサーバ仮想化環境のソフトウェアを主体とした機能ブロック図である。 同じく第1の実施形態を示し、物理計算機Aで実行されるソフトウェアの詳細な構成を示すブロック図である。 同じく第1の実施形態を示し、共有ストレージ装置に格納された各アプリケーションと、各系状態に対応した起動ディスクを示すブロック図である。 同じく第1の実施形態を示し、系状態管理表の構成例を示す説明図である。 同じく第1の実施形態を示し、系切替対応表の構成例を示す説明図である。 同じく第1の実施形態を示し、HA構成パターン表の構成例を示す説明図である。 同じく第1の実施形態を示し、HA要件定義を設定するためのユーザーインターフェースの一例を示す画面イメージである。 同じく第1の実施形態を示し、HA要件定義の一例を示す説明図である。 同じく第1の実施形態を示し、実行系のマスタクラスタプログラムで行われるHA要件定義の更新処理を示すフローチャートで、第1の処理を示す。 同じく第1の実施形態を示し、実行系のマスタクラスタプログラムで行われるHA要件定義の更新処理を示すフローチャートで、第2の処理を示す。 同じく第1の実施形態を示し、実行系のマスタクラスタプログラムで行われるHA要件定義のエラー通知処理を示すフローチャートで、第3の処理を示す。 同じく第1の実施形態を示し、実行系のマスタクラスタプログラムで行われるHA要件の設定処理を示すフローチャートで、第4の処理を示す。 第2の実施形態を示し、サーバ仮想化環境の物理計算機のハードウェア構成を表すブロック図である。 同じく第2の実施形態を示し、物理計算機で実行するサーバ仮想化環境のソフトウェアを主体とした機能ブロック図である。 同じく第2の実施形態を示し、管理サーバ30として機能する物理計算機Cで実行されるソフトウェアの詳細な構成を示すブロック図である。 同じく第2の実施形態を示し、待機系設定定義612の一例を示す説明図である。 同じく第3の実施形態を示し、マスタクラスタプログラムのHA構成判断部が実行する、待機系の起動ディスクを生成し、HA構成の設定を行う処理の一例を示すフローチャートである。 第3の実施形態を示し、管理サーバとして機能する物理計算機Cで実行されるソフトウェアの詳細な構成を示すブロック図である。 同じく第3の実施形態を示し、構成情報632の一例を示す説明図である。 同じく第3の実施形態を示し、マスタクラスタプログラムのHA構成判断部で行われるHA構成の検証処理の一例を示すフローチャートである。 同じく第3の実施形態を示し、ユーザーインターフェースの一例を示す画面イメージである。 同じく第3の実施形態を示し、ユーザーインターフェースの他の例を示す画面イメージである。 第4の実施形態を示し、管理サーバとして機能する物理計算機Cで実行されるソフトウェアの詳細な構成を示すブロック図である。 同じく第4の実施形態を示し、稼動履歴642の一例を示す説明図である。 同じく第4の実施形態を示し、マスタクラスタプログラムのHA構成判断部527で行われるHA構成の検証処理の例を示すフローチャートである。 同じく第4の実施形態を示し、HA構成パターン表528の一例を示す説明図である。 同じく第4の実施形態を示し、HA要件定義124の一例を示す説明図である。 同じく第4の実施形態を示し、ユーザーインターフェースの一例を示す説明図である。 第5の実施形態を示し、スレーブクラスタプログラム120が設定可能なシステム全体への運用コスト面からのHA要件を表したHA要件定義の一例を示す説明図である。 同じく第5の実施形態を示し、ユーザーインターフェースの一例を示す画面イメージである。 同じく第5の実施形態を示し、構成管理部631が管理する構成情報632の一例を示す説明図である。 同じく第5の実施形態を示し、構成管理部631が管理する構成情報632の一例を示し、HA構成の変更後を示す説明図である。
符号の説明
110、210 アプリケーションプログラム
120 スレーブクラスタプログラム
121 アプリケーション監視部
122 系切り替え実行部
123 HA要件設定部
130 ゲストOS
510 サーバ仮想化プログラム
511 ゲストOS制御部
512 ゲストOS監視部
520 マスタクラスタプログラム
540 ホストOS
522 系状態監視部
524 ホストOS監視部
525 系切り替え制御部
527 HA構成判断部

Claims (14)

  1. ゲストOS上でアプリケーションプログラムを実行する複数の系を提供する仮想化部を備えた少なくとも一つの物理計算機と、
    前記系のゲストOSまたはアプリケーションプログラムを監視して、前記ゲストOSまたはアプリケーションプログラムに障害が発生したときには、前記系を他の系に切り替えるクラスタシステムの構成方法であって、
    前記物理計算機は、
    前記ゲストOS上で稼働して前記アプリケーションの稼働状態を監視する第1のクラスタ管理部と、前記第1のクラスタ管理部から前記アプリケーションの稼働状態を受け付けて障害発生時に前記アプリケーションプログラムを他の系に切り替える第2のクラスタ管理部と、を有し、
    前記第2のクラスタ管理部が、前記系毎に、障害発生時に切り替え可能な他の系と、予め設定した複数の系切り換え手法のうちのいずれかひとつを、系切り替えの候補として高可用性構成パターンに設定するステップと、
    前記第2のクラスタ管理部が、前記系毎に、障害発生時に必要とする切り替え要件を高可用性要件として設定するステップと、
    前記第2のクラスタ管理部が、前記高可用性構成パターンに設定された系切り替え手法のうち、前記高可用性要件を満たす系切り替え手法を選択するステップと、
    前記第2のクラスタ管理部が、前記高可用性要件を満たす系切り替え手法がある場合には、前記高可用性構成パターンから前記選択された系切り替え手法を実現可能で、かつ、前記高可用性要件を満たす他の系を、当該系の系切り替え先として設定するステップと、
    を含むことを特徴とするクラスタシステムの構成方法。
  2. 前記請求項1に記載のクラスタシステムの構成方法において、
    前記高可用性要件は、系切り替え時のアプリケーションプログラムの停止時間または系切り替え手法の少なくとも一つを含むことを特徴とするクラスタシステムの構成方法。
  3. 前記請求項1に記載のクラスタシステムの構成方法において、
    前記高可用性要件を満たす他の系を、当該系の系切り替え先として設定するステップは、
    前記系のゲストOSに前記設定された系切り替え手法と系切り替え先とを通知するステップ、
    を含むことを特徴とするクラスタシステムの構成方法。
  4. 前記請求項1に記載のクラスタシステムの構成方法において、
    前記高可用性要件を満たす系切り替え手法を選択するステップは、
    前記選択可能な系切り替え手法が存在しない場合には、前記ゲストOSに選択可能な系切り替え手法が存在しないことを通知するステップを含むことを特徴とするクラスタシステムの構成方法。
  5. 前記請求項4に記載のクラスタシステムの構成方法において、
    前記選択可能な系切り替え手法が存在しない場合には、前記高可用性要件を再度設定するステップと、
    前記再度設定された高可用性要件を満たす系切り替え手法を再度選択し直すステップと、
    を含むことを特徴とするクラスタシステムの構成方法。
  6. 前記請求項1に記載のクラスタシステムの構成方法において、
    前記障害発生時に必要とする切り替え要件を高可用性要件として設定するステップは、
    複数の高可用性要件を指定する場合に、各高可用性要件の優先度を設定するステップを含み、
    前記高可用性要件を満たす系切り替え手法を選択するステップは、
    前記優先度に基づいて前記高可用性構成パターンから系切り替え手法を選択することを特徴とするクラスタシステムの構成方法。
  7. 前記請求項1に記載のクラスタシステムの構成方法において、
    前記障害発生時に必要とする切り替え要件を高可用性要件として設定するステップは、
    前記各系のアプリケーションプログラムについて系切り替えの優先度を設定するステップを含み、
    前記高可用性要件を満たす系切り替え手法を選択するステップは、
    前記アプリケーションプログラムの優先度に基づいて、優先度の高いアプリケーションプログラムに対する高可用性を、前記優先度の低いアプリケーションプログラムに対する高可用性要件よりも優先して、系切り替え手法を選択することを特徴とするクラスタシステムの構成方法。
  8. 前記請求項1に記載のクラスタシステムの構成方法において、
    前記切り替え要件を高可用性要件として設定するステップは、
    新たに設定された高可用性要件で既存の高可用性要件を更新するステップを含み、
    前記高可用性要件を満たす系切り替え手法を選択するステップは、
    前記更新された高可用性要件に基づいて前記高可用性構成パターンから系切り替え手法を選択することを特徴とするクラスタシステムの構成方法。
  9. 前記請求項8に記載のクラスタシステムの構成方法において、
    前記系切り替え手法は、ホットスタンバイ及びコールドスタンバイを含み、
    前記系切り替え手法がホットスタンバイからコールドスタンバイへ変更されたときには、系切り替え先で当該系を起動するための起動ディスクを生成するステップを、さらに含むことを特徴とするクラスタシステムの構成方法。
  10. 前記請求項1に記載のクラスタシステムの構成方法において、
    前記障害発生時に必要とする切り替え要件を高可用性要件として設定するステップは、
    前記物理計算機全体の運用コストに関する要件を含むことを特徴とするクラスタシステムの構成方法。
  11. 前記請求項1に記載のクラスタシステムの構成方法において、
    前記第2のクラスタ管理部が、前記物理計算機の物理的または論理的な構成を取得して構成情報に格納するステップと、
    前記第2のクラスタ管理部は、前記構成情報が変化したことを判定するステップと、
    さらに含み、
    前記高可用性要件を満たす系切り替え手法を選択するステップは、
    前記構成情報が変化したときには、前記高可用性要件を満たす系切り替え手法を再度選択し、
    前記高可用性要件を満たす他の系を、当該系の系切り替え先として設定するステップは、
    前記選択された系切り替え手法の対象となる系切り替え先が、前記構成情報が変化する以前と異なる場合には、新たな系切り替え先を設定するステップを含むことを特徴とするクラスタシステムの構成方法。
  12. 前記請求項11に記載のクラスタシステムの構成方法において、
    前記第2のクラスタ管理部が、全ての系の稼動情報を稼動履歴として取得するステップと、
    前記第2のクラスタ管理部が、前記稼動履歴から前記高可用性要件に対応する稼動情報を抽出するステップと、
    稼動情報が変化したときには前記高可用性構成パターンを更新するステップと、
    をさらに含み、
    前記高可用性要件を満たす他の系を、当該系の系切り替え先として設定するステップは、
    前記更新された高可用性構成パターンに基づいて、前記高可用性要件を満たす系切り替え先を再度選択することを特徴とするクラスタシステムの構成方法。
  13. 物理計算機上で複数のゲストOSを稼動させる仮想化部と、
    前記各ゲストOS上で稼動するアプリケーションプログラムからなる複数の系と、
    前記アプリケーションプログラムまたはゲストOSを監視して、障害発生時に前記アプリケーションプログラムを他の系に切り替えるクラスタ管理部と、を備えたクラスタシステムにおいて、
    前記クラスタ管理部は、
    前記ゲストOS上で稼働して前記アプリケーションの稼働状態を監視する第1のクラスタ管理部と、前記第1のクラスタ管理部から前記アプリケーションの稼働状態を受け付けて障害発生時に前記アプリケーションプログラムを他の系に切り替える第2のクラスタ管理部と、を有し、
    前記第2のクラスタ管理部は、
    前記系毎に設定されて障害発生時に必要とする切り替え要件を高可用性要件として設定する高可用性要件設定部と、
    前記系毎に、障害発生時に切り替え可能な他の系と、予め設定した複数の系切り換え手法のうちのいずれかひとつを、系切り替えの候補として高可用性構成パターンに設定する高可用性構成パターン設定部と、
    前記高可用性構成パターンに設定された系切り替えの候補のうち、前記高可用性要件を満たす系切り替え手法と、前記高可用性要件を満たす他の系を、当該系の系切り替え先として選択する高可用性構成判定部と、を備え、
    前記第2のクラスタ管理部は、
    前記高可用性構成判定部が選択した系切り替え手法及び系切り替え先に基づいて前記系切り替えを行うことを特徴とするクラスタシステム。
  14. 前記請求項13に記載のクラスタシステムにおいて、
    前記物理計算機に接続された管理サーバをさらに備え、
    前記管理サーバは、
    前記物理計算機の物理的または論理的な構成を取得して構成情報に格納する構成管理部を有し、
    前記構成管理部は、前記構成情報が変化したときに前記高可用性構成判定部に構成情報の変化を通知し、
    前記高可用性構成判定部は、前記通知に基づいて高可用性構成パターンを更新し、前記高可用性要件を満たす系切り替え手法と、前記高可用性要件を満たす系切り替え先を更新することを特徴とするクラスタシステム。
JP2007112056A 2007-04-20 2007-04-20 サーバ仮想化環境におけるクラスタシステム構成方法及びクラスタシステム Expired - Fee Related JP5032191B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007112056A JP5032191B2 (ja) 2007-04-20 2007-04-20 サーバ仮想化環境におけるクラスタシステム構成方法及びクラスタシステム
US11/882,700 US7992032B2 (en) 2007-04-20 2007-08-03 Cluster system and failover method for cluster system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007112056A JP5032191B2 (ja) 2007-04-20 2007-04-20 サーバ仮想化環境におけるクラスタシステム構成方法及びクラスタシステム

Publications (2)

Publication Number Publication Date
JP2008269332A JP2008269332A (ja) 2008-11-06
JP5032191B2 true JP5032191B2 (ja) 2012-09-26

Family

ID=39873441

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007112056A Expired - Fee Related JP5032191B2 (ja) 2007-04-20 2007-04-20 サーバ仮想化環境におけるクラスタシステム構成方法及びクラスタシステム

Country Status (2)

Country Link
US (1) US7992032B2 (ja)
JP (1) JP5032191B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9798563B2 (en) 2014-03-20 2017-10-24 Fujitsu Limited Network management device, information processing system, and program

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4809209B2 (ja) 2006-12-28 2011-11-09 株式会社日立製作所 サーバ仮想化環境における系切り替え方法及び計算機システム
JP2008269462A (ja) * 2007-04-24 2008-11-06 Hitachi Ltd ノードの管理装置及び方法
JP4744480B2 (ja) * 2007-05-30 2011-08-10 株式会社日立製作所 仮想計算機システム
US8630415B2 (en) * 2008-01-25 2014-01-14 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for authentication service application processes during service reallocation in high availability clusters
JP5493452B2 (ja) * 2008-05-09 2014-05-14 富士通株式会社 復旧サーバ、復旧処理プログラム及び計算機システム
JP4648447B2 (ja) * 2008-11-26 2011-03-09 株式会社日立製作所 障害復旧方法、プログラムおよび管理サーバ
US8799895B2 (en) * 2008-12-22 2014-08-05 Electronics And Telecommunications Research Institute Virtualization-based resource management apparatus and method and computing system for virtualization-based resource management
US8489721B1 (en) * 2008-12-30 2013-07-16 Symantec Corporation Method and apparatus for providing high availabilty to service groups within a datacenter
JP5353378B2 (ja) * 2009-03-31 2013-11-27 沖電気工業株式会社 Haクラスタシステムおよびそのクラスタリング方法
US8538919B1 (en) * 2009-05-16 2013-09-17 Eric H. Nielsen System, method, and computer program for real time remote recovery of virtual computing machines
US8504813B2 (en) * 2010-04-07 2013-08-06 Fluid Operations Gmbh Network based operating system mobility monitoring whether an operating system is active and selecting a boot profile to boot on a computer platform when operating system is inactive
US9229843B2 (en) 2010-04-28 2016-01-05 International Business Machines Corporation Predictively managing failover in high availability systems
JP5305040B2 (ja) * 2010-05-28 2013-10-02 株式会社日立製作所 サーバ計算機の切替方法、管理計算機及びプログラム
US8700723B2 (en) * 2010-06-15 2014-04-15 Netzyn, Inc. Hierarchical display-server system and method
WO2012063294A1 (ja) * 2010-11-12 2012-05-18 株式会社日立製作所 計算機システム
US8468383B2 (en) * 2010-12-08 2013-06-18 International Business Machines Corporation Reduced power failover system
JP5548647B2 (ja) * 2011-04-25 2014-07-16 株式会社日立製作所 計算機システムでの部分障害処理方法
US8954786B2 (en) 2011-07-28 2015-02-10 Oracle International Corporation Failover data replication to a preferred list of instances
US8862927B2 (en) * 2011-08-09 2014-10-14 Symantec Corporation Systems and methods for fault recovery in multi-tier applications
US9344494B2 (en) 2011-08-30 2016-05-17 Oracle International Corporation Failover data replication with colocation of session state data
US20130275966A1 (en) 2012-04-12 2013-10-17 International Business Machines Corporation Providing application based monitoring and recovery for a hypervisor of an ha cluster
JP2014138407A (ja) * 2013-01-18 2014-07-28 Hitachi Ltd ノード装置、通信システム及び仮想スイッチの切替方法
JP6066748B2 (ja) * 2013-01-29 2017-01-25 三菱重工業株式会社 システム管理装置およびシステム
US9027098B2 (en) * 2013-03-14 2015-05-05 Genband Us Llc Systems, methods, and computer program products for recording service status of applications
US9417903B2 (en) * 2013-06-21 2016-08-16 International Business Machines Corporation Storage management for a cluster of integrated computing systems comprising integrated resource infrastructure using storage resource agents and synchronized inter-system storage priority map
US9727357B2 (en) * 2013-10-01 2017-08-08 International Business Machines Corporation Failover detection and treatment in checkpoint systems
JP6224985B2 (ja) * 2013-10-23 2017-11-01 日本電信電話株式会社 通知装置及び通知方法
WO2015072004A1 (ja) * 2013-11-15 2015-05-21 株式会社日立製作所 計算機、計算機制御方法、および計算機制御プログラム
US9454416B2 (en) 2014-10-14 2016-09-27 Netapp, Inc. Detecting high availability readiness of a distributed computing system
JP2016177324A (ja) * 2015-03-18 2016-10-06 株式会社リコー 情報処理装置、情報処理システム、情報処理方法、及びプログラム
CN105099793B (zh) * 2015-09-24 2019-02-05 华为技术有限公司 热备方法、装置及***
US11386044B2 (en) * 2017-08-16 2022-07-12 Hewlett Packard Enterprise Development Lp Tiered storage in a distributed file system
US10761952B2 (en) * 2018-04-13 2020-09-01 International Business Machines Corporation Intelligent failover migration across multiple high availability stacks based on quality of prior failover migrations
US11061785B2 (en) 2019-11-25 2021-07-13 Sailpoint Technologies, Israel Ltd. System and method for on-demand warm standby disaster recovery
CN112835749B (zh) * 2021-02-24 2021-12-07 中国人民解放军32039部队 一种双机热备容灾的软件自动切换控制方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001216171A (ja) * 2000-01-31 2001-08-10 Toshiba Corp 仮想計算機システム
US6985937B1 (en) * 2000-05-11 2006-01-10 Ensim Corporation Dynamically modifying the resources of a virtual server
US6728896B1 (en) * 2000-08-31 2004-04-27 Unisys Corporation Failover method of a simulated operating system in a clustered computing environment
JP4119162B2 (ja) * 2002-05-15 2008-07-16 株式会社日立製作所 多重化計算機システム、論理計算機の割当方法および論理計算機の割当プログラム
JP2005250626A (ja) * 2004-03-02 2005-09-15 Hitachi Ltd コンピュータシステム及びそのプログラム。
US7730486B2 (en) * 2005-02-28 2010-06-01 Hewlett-Packard Development Company, L.P. System and method for migrating virtual machines on cluster systems
US7493515B2 (en) * 2005-09-30 2009-02-17 International Business Machines Corporation Assigning a processor to a logical partition
JP2007279890A (ja) * 2006-04-04 2007-10-25 Hitachi Ltd バックアップシステム及びバックアップ方法
US7814364B2 (en) * 2006-08-31 2010-10-12 Dell Products, Lp On-demand provisioning of computer resources in physical/virtual cluster environments
US7809976B2 (en) * 2007-04-30 2010-10-05 Netapp, Inc. System and method for failover of guest operating systems in a virtual machine environment
US7840839B2 (en) * 2007-11-06 2010-11-23 Vmware, Inc. Storage handling for fault tolerance in virtual machines
JP5011073B2 (ja) * 2007-11-22 2012-08-29 株式会社日立製作所 サーバ切り替え方法、およびサーバシステム
US8117495B2 (en) * 2007-11-26 2012-02-14 Stratus Technologies Bermuda Ltd Systems and methods of high availability cluster environment failover protection
US8938736B2 (en) * 2009-07-07 2015-01-20 Dell Products L.P. System and method for providing redundancy for management controller

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9798563B2 (en) 2014-03-20 2017-10-24 Fujitsu Limited Network management device, information processing system, and program

Also Published As

Publication number Publication date
US7992032B2 (en) 2011-08-02
US20080263390A1 (en) 2008-10-23
JP2008269332A (ja) 2008-11-06

Similar Documents

Publication Publication Date Title
JP5032191B2 (ja) サーバ仮想化環境におけるクラスタシステム構成方法及びクラスタシステム
US10140115B2 (en) Applying update to snapshots of virtual machine
US8627028B2 (en) Method of constructing replication environment and storage system
JP5140633B2 (ja) 仮想化環境において生じる障害の解析方法、管理サーバ、及びプログラム
JP4487920B2 (ja) ブート制御方法および計算機システム並びにその処理プログラム
US8260840B1 (en) Dynamic scaling of a cluster of computing nodes used for distributed execution of a program
JP4980792B2 (ja) 仮想計算機の性能監視方法及びその方法を用いた装置
KR20200106036A (ko) 자동 배포되는 정보 기술(it) 시스템 및 방법
WO2011074284A1 (ja) 仮想計算機の移動方法、仮想計算機システム及びプログラムを格納した記憶媒体
WO2013051136A1 (ja) 仮想サーバ処理制御方法、システムおよび仮想サーバ処理制御管理サーバ
US20100257326A1 (en) Method and apparatus for logical volume management for virtual machine environment
US8924969B2 (en) Virtual machine image write leasing
JP6123626B2 (ja) 処理再開方法、処理再開プログラムおよび情報処理システム
US9792150B1 (en) Detecting site change for migrated virtual machines
CN109168328B (zh) 虚拟机迁移的方法、装置和虚拟化***
US11604806B2 (en) System and method for highly available database service
WO2012050224A1 (ja) コンピュータリソース制御システム
CN111343219B (zh) 计算服务云平台
TWI764694B (zh) 容器化應用程式的管理系統與管理方法
US20240134762A1 (en) System and method for availability group database patching
JP2011060225A (ja) オペレーティングシステム起動方法
JP5597293B2 (ja) 計算機システム及びプログラム
JP4883492B2 (ja) 仮想マシン管理システムおよび計算機、並びに、プログラム
US20240095053A1 (en) Virtual machine creation based on dynamic group host node feature set
JP7184097B2 (ja) ネットワーク機能仮想化システム及びオペレーティングシステム更新方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120203

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120321

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120517

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120605

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120628

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150706

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees