JP2006114040A - コンピュータクラスタのノードのフェールオーバー範囲 - Google Patents

コンピュータクラスタのノードのフェールオーバー範囲 Download PDF

Info

Publication number
JP2006114040A
JP2006114040A JP2005296642A JP2005296642A JP2006114040A JP 2006114040 A JP2006114040 A JP 2006114040A JP 2005296642 A JP2005296642 A JP 2005296642A JP 2005296642 A JP2005296642 A JP 2005296642A JP 2006114040 A JP2006114040 A JP 2006114040A
Authority
JP
Japan
Prior art keywords
failover
node
range
resource group
nodes
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.)
Granted
Application number
JP2005296642A
Other languages
English (en)
Other versions
JP5031218B2 (ja
Inventor
Chittur P Subbaraman
ピー.サブブラマン チッター
Sunita Shrivastava
シュリバスタバ サニタ
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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2006114040A publication Critical patent/JP2006114040A/ja
Application granted granted Critical
Publication of JP5031218B2 publication Critical patent/JP5031218B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • 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/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/2035Error 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 without idle spare hardware

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)
  • Alarm Systems (AREA)
  • Selective Calling Equipment (AREA)
  • Transmitters (AREA)

Abstract

【課題】クラスタが障害の対策を取る自動的な動作をクラスタ管理者が管理する方法を提供する。
【解決手段】フェールオーバー範囲は、コンピュータクラスタ内のノードの集まりを含む。リソースグループ(アプリケーションプログラムなど)は、1つ以上のフェールオーバー範囲に関連付けられる。ノードが故障した場合、ホストされているリソースグループは、1番目の関連付けられたフェールオーバー範囲から開始して順番に、各リソースグループの関連のフェールオーバー範囲内で識別されたノードにのみフェールオーバーする。第1のフェールオーバー範囲のノードにフェールオーバーできない場合、次の関連のフェールオーバー範囲内に表されるノードに試行され、これは手動の操作を必要とする場合がある。フェールオーバー範囲は、クラスタランタイムによって自動的に管理することができる。
【選択図】図4

Description

本発明は一般に、クラスタ化されたコンピューティングノードに関し、より詳細には、アプリケーションまたはクラスタのホストノードの障害の処理に関する。
クラスタとは、サーバアプリケーションプログラムなどのリソースへのアクセスを提供する複数のノードとして構成された、1組の相互接続されたコンピュータシステムサーバである。サーバクラスタを有する1つの理由は、複数のリンクされたコンピュータシステムが、コンピュータ処理の可用性および信頼性を大幅に向上させるとともに、負荷の分散を介して、より大きな処理能力、速度、および、その他のリソースを有するようにするためである。
クラスタにおける可用性および信頼性に関して、1つのノードまたはホストされたアプリケーションが故障した場合、そのリソースは、残存している他のノードにフェールオーバーする。この場合、一般に、フェールオーバーとは、他のノードが、現在故障しているノードによってこれまでに提供されていたものに対応するホストアプリケーションを提供することを意味する。障害のタイプには、コンピュータシステムのクラッシュ、ノード間の通信リンクの切断、メンテナンスなどのための故意のシャットダウン、誤って電源または通信ケーブルを抜くなどの不慮のシャットダウンなどがある。
故障したアプリケーションが他のノードで正しく再起動するように、何らかの制御された方法で障害を処理するために、好ましいノードのリストに基づいて、リソースのグループ(それぞれがリソースグループと呼ばれ、フェールオーバーに関して単一の単位として管理される、アプリケーションプログラムなどの1つまたは複数のリソース、およびネットワーク名、IPアドレスなどの関連のリソースの集まり)が好ましいノードにフェールオーバーできるようにすることを試みた。しかし、これによって、いくつかのノードが手に負えなくなる傾向にあった。というのは、多くのリソースグループは、その好ましいノードのデフォルトの構成が同じであったからである。この問題を回避するために、現在のクラスタ化技術は、複数の残存するノードが使用可能であるとき、あるリソースグループの(少なくともグループをホストすることができるノードの中の)好ましい所有者リストの構成が提供されていない場合、ノードが、故障したノードの多くのリソースグループを引き受けすぎることによって手に負えなくならないように、乱数に基づくアルゴリズムを使用して、リソースグループの宛先ノードを選択する。
コンピューティング能力/速度に関して、クラスタにおける物理的に近接したコンピューティングシステムは、一般に、非常に高速の帯域幅ネットワーク接続によってリンクされている。しかし、すべてのクラスタノードが物理的に近接しているわけではない。企業(特に大企業)は、こうした近接して相互接続されたクラスタ化ノードの2つ以上のサブセットを、比較的大きい地理的距離だけ互いに引き離すことが多いからである。この目的は障害対策であり、障害の理由がノードの実際の障害であろうと、ノードのそのサブセットと他の離れたノードとの間の送信媒体の切断であろうと、相互接続されたノードの物理的に近接したサブセット全体がまとめて故障するおそれのあるハリケーン、火災、地震などの場合でも動作するノードを、いくつか備えておくようにする。
地理的分離による障害対策の問題は、近接して相互接続されたノードの一方のサブセットと他方のサブセットとの間の通信帯域幅がサブセット内の通信帯域幅よりはるかに低いことである。その結果、クラスタ管理者の中には、必ずしもリソースグループを1つの近接して相互接続されたサブセットからもう一方に自動的にフェールオーバーさせたいわけではない(サブセット全体が故障しない限り)者もいる。というのは、低帯域幅接続が与えられている場合、1つのノードからのリソースをフェールオーバーするにも、かなりの時間および費用がかかるからである。代わりに、クラスタ管理者は、リソースグループを接近して相互接続されたノードのみにフェールオーバーさせることを好むことが多い。サブセット全体が故障した場合、一部の管理者は、その原因を推定し、可能な場合は問題(ケーブルの抜けなど)を修正し、必要に応じて、リソースグループの手動のみのフェールオーバーを行うことを好む。これは、フェールオーバーされたリソースグループを受け入れるために、他方のサブセットの何らかの再構成を必要とする場合がある。さらに別の管理者の中には、サブセット全体が故障した場合、少なくともある程度、フェールオーバーを自動にさせたい者もいる。さらに、複数のアプリケーションをホストするクラスタである統合クラスタ(consolidation cluster)を処理するとき、多くの管理者は、様々な構成要素から成るアプリケーションをホストすることができるノードの組を制限することを望む。
しかし、以前実施されていた上記のランダムフェールオーバー機構、および他の以前の機構では、管理者は、クラスタを所望の方法でフェールオーバー用に構成することはできない。実際に、ランダム機構では、リソースグループをフェールオーバーするとき、物理的に近接したノードと物理的に離れたノードとの間の区別がない。
クラスタが障害の対策を取る自動的な動作を、クラスタ管理者が管理する柔軟な方法が必要である。
簡単に言えば、本発明は、クラスタの識別されたノードのサブセットをそれぞれ含むフェールオーバー範囲(failover scopes)が画定され、リソースグループを1つまたは複数のフェールオーバー範囲の順序付きリストに関連付けることができるシステムおよび方法を対象とする。フェールオーバーが行われるとき、各リソースグループは、そのフェールオーバー範囲内に列挙されている残存しているノードに自動的にフェールオーバーする。成功するまで、順序に基づいて、次のフェールオーバー範囲内の任意のノードにフェールオーバーを試行する前に、まず、現在アクティブなフェールオーバー範囲内の各ノードにフェールオーバーが試行される。
第1のフェールオーバー範囲内のノードが(例えば何も残存していないなど)フェールオーバーを受け入れることができない場合、故障がなくなるまで、その次のフェールオーバー範囲内に列挙されているノードに自動的にフェールオーバーするようにリソースグループを設定することができる。管理者に、別のフェールオーバー範囲のノードへのこうした自動的なフェールオーバーを防ぐ能力を与えるために、その次に列挙されているフェールオーバー範囲への自動フェールオーバーを防ぐ手動設定(手動/自動フラグなど)が設定される。リソースグループに関連付けられているフェールオーバー範囲の対ごとにこうしたフラグが1つ存在(例えば、3つのフェールオーバー範囲に対して2つのフラグがあり、1つは第1のフェールオーバー範囲から第2のフェールオーバー範囲への手動または自動の遷移を設定するもの、1つは第2のフェールオーバー範囲から第3のフェールオーバー範囲への手動または自動の遷移を設定するものなど)していても、リソースグループ全体についてこうしたフラグが1つ存在していてもよい。フラグは、デフォルトでは手動であり、管理者によって個々に設定したり、クラスタ全体のリソースグループに対してまとめて設定したりすることができる。
フェールオーバー範囲は、サイトと呼ばれる地理ごとに引き離されたノードのサブセットそれぞれに設定することができる。各サイトは一般に、クラスタの1つのサブセットを構成する、近接して(比較的高帯域幅)相互接続されたノードを含む。しかし、フェールオーバー範囲は、1つのサイトに正確に対応している必要はなく、したがってフェールオーバー範囲は、複数のサイトにまたがっていてもよい。
あるいは、フェールオーバー範囲は、例えば、2つ以上のノードを有するサイト内の1つのノードなど、サイトのいくつかのサブセットのみを含むように定義することができる。これによって管理者は、例えば、様々な構成要素から成るアプリケーションプログラムなど、任意のリソースグループをホストすることができる1組のノードを制限することができる。
ノードがサイトに追加されると、新しいノードは、ノードをクラスタに追加するよう求めるセットアッププログラムを実行することの一環として、自動的に認識される。クラスタソフトウェアがそのように構成されている場合、距離の検出に基づく自動プロセスは、サイトに対応するフェールオーバー範囲にそのノードを追加することができる。このように、管理者は、新しいノードのためにフェールオーバー範囲を更新する必要はない。しかし、自動プロセスが新しいノードをフェールオーバー範囲に関連付けるか、管理者が新しいノードを1つの(または複数の)フェールオーバー範囲に手動で追加するかに関係なく、そのフェールオーバー範囲に関連付けられているリソースグループは、比較的多数である可能性があり、新しいノード上で稼働させることができるように設定する必要はない。
他の利点は、以下の詳細な説明を図面と併せ読めば明らかになる。
(例示的動作環境)
図1は、本発明を実施できる適切なコンピューティングシステム環境100の例を示す。コンピューティングシステム環境100は、適切なコンピューティング環境の一例にすぎず、本発明の使用または機能の範囲に関する限定を示唆するものではない。また、コンピューティング環境100を、動作環境100の例に示した構成要素のいずれか1つ、またはその組合せに関連する任意の依存性または必要条件を有しているものと解釈すべきではない。
本発明は、他の多くの汎用または専用コンピューティングシステム環境または構成で動作可能である。本発明との使用に適し得るよく知られているコンピューティングシステム、環境、および/または構成の例には、それだけには限定されないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップ装置、タブレット装置、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能家庭用電化製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上記の任意のシステムまたは装置を含む分散コンピューティング環境などがある。
本発明は、コンピュータによって実行されるプログラムモジュールなどのコンピュータ実行可能命令の一般的な文脈で説明することができる。一般にプログラムモジュールは、特定のタスクを実行する、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、構成要素、データ構造などを含む。また、本発明は、タスクが通信ネットワークによってリンクされているリモート処理装置によって実行される分散コンピューティング環境でも実施することができる。分散コンピューティング環境では、プログラムモジュールを、メモリ記憶装置を含むローカルおよび/またはリモートのコンピュータ記憶媒体に置くことができる。
図1を参照すると、本発明を実施するシステムの例は、汎用コンピューティング装置をコンピュータ110の形で含んでいる。コンピュータ110の構成要素は、それだけには限定されないが、処理ユニット120、システムメモリ130、およびシステムメモリを含む様々なシステム構成要素を処理ユニット120に結合するシステムバス121を含み得る。システムバス121は、様々なバスアーキテクチャのうちの任意のものを使用するメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含むいくつかのタイプのバス構造のうちどんなものでもよい。こうしたアーキテクチャには、それだけには限定されないが一例として、ISA(Industry Standard Architecture)バス、マイクロチャネルアーキテクチャ(MCA)バス、拡張ISA(EISA)バス、VESA(Video Electronics Standards Association)ローカルバス、およびメザニンバスとしても知られているPCI(Peripheral Component Interconnect)バスなどがある。
コンピュータ110は、一般に様々なコンピュータ読み取り可能記憶媒体を含む。コンピュータ読み取り可能記憶媒体は、コンピュータ110からアクセスできる使用可能な任意の媒体とすることができ、揮発性および不揮発性の媒体、取外し可能と取外し不可能の媒体を含む。コンピュータ読み取り可能記憶媒体は、それだけには限定されないが一例として、コンピュータ記憶媒体および通信媒体を含み得る。コンピュータ記憶媒体には、コンピュータ読み取り可能命令、データ構造、プログラムモジュール、その他のデータなど、情報を記憶するための任意の方法または技術で実施される揮発性および不揮発性の取外し可能と取外し不可能の媒体がある。コンピュータ記憶媒体には、それだけには限定されないが、RAM、ROM、EEPROM、フラッシュメモリまたはその他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)またはその他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置またはその他の磁気記憶装置、または所望の情報の格納に使用でき、コンピュータ110からアクセスできるその他の任意の媒体などがある。通信媒体は一般に、コンピュータ読み取り可能命令、データ構造、プログラムモジュール、またはその他のデータを搬送波またはその他の移送機構などの被変調データ信号に組み込む。これには任意の情報配送媒体がある。「被変調データ信号」という用語は、信号に情報を符号化するように1つまたは複数のその特性が設定または変更された信号を意味する。通信媒体には、それだけには限定されないが一例として、有線ネットワーク、直接配線された接続などの有線媒体、および音響、無線周波数、赤外線、その他の無線媒体などの無線媒体がある。また、上記のどんな組合せでもコンピュータ読み取り可能記憶媒体の範囲内に含まれるものとする。
システムメモリ130は、読み取り専用メモリ(ROM)131やランダムアクセスメモリ(RAM)132など、揮発性および/または不揮発性メモリの形のコンピュータ記憶媒体を含む。基本入出力システム133(BIOS)は、例えば起動中など、コンピュータ110内の要素間での情報の転送を助ける基本ルーチンを含み、一般にROM131に格納されている。RAM132は一般に、処理ユニット120から直接アクセス可能な、および/または処理ユニット120が現在処理しているデータおよび/またはプログラムモジュールを含む。図1は、それだけには限定されないが一例として、オペレーティングシステム134、アプリケーションプログラム135、その他のプログラムモジュール136、およびプログラムデータ137を示している。
コンピュータ110は、その他の取外し可能/取外し不可能、揮発性/不揮発性コンピュータ記憶媒体を含むこともできる。一例にすぎないが、図1は、取外し不可能な不揮発性磁気媒体から読み取り、あるいはそこに書き込むハードディスクドライブ141、取外し可能な不揮発性磁気ディスク152から読み取り、あるいはそこに書き込む磁気ディスクドライブ151、およびCD−ROMやその他の光媒体など、取外し可能な不揮発性光ディスク156から読み取り、あるいはそこに書き込む光ディスクドライブ155を示している。例示的動作環境で使用できるその他の取外し可能/取外し不可能、揮発性/不揮発性コンピュータ記憶媒体には、それだけには限定されないが、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、半導体RAM、半導体ROMなどがある。ハードディスクドライブ141は一般に、インターフェース140などの取外し不可能なメモリインターフェースを介してシステムバス121に接続され、磁気ディスクドライブ151および光ディスクドライブ155は一般に、インターフェース150などの取外し可能なメモリインターフェースによってシステムバス121に接続される。
上述し、図1に示したドライブおよびその関連のコンピュータ記憶媒体は、コンピュータ読み取り可能命令、データ構造、プログラムモジュール、およびその他のデータの記憶領域をコンピュータ110に提供する。図1では例えば、ハードディスクドライブ141は、オペレーティングシステム144、アプリケーションプログラム145、その他のプログラムモジュール146、およびプログラムデータ147を記憶するものとして示されている。これらの構成要素は、オペレーティングシステム134、アプリケーションプログラム135、その他のプログラムモジュール136、およびプログラムデータ137と同じであっても、異なっていてもよいことに留意されたい。オペレーティングシステム144、アプリケーションプログラム145、その他のプログラムモジュール146、およびプログラムデータ147は少なくとも異なるコピーであることを示すために、本明細書ではそれらに異なる番号を付している。ユーザは、タブレットまたは電子デジタイザ164などの入力装置、マイクロフォン163、キーボード162、および一般にマウス、トラックボール、またはタッチパッドと呼ばれるポインティング装置161などの入力装置を介して、コマンドおよび情報をコンピュータ110に入力することができる。図1には示していないが、その他の入力装置には、ジョイスティック、ゲームパッド、衛星パラボラアンテナ、スキャナなどがある。これらおよびその他の入力装置は、しばしばシステムバスに結合されているユーザ入力インターフェース160を介して処理ユニット120に接続されるが、パラレルポート、ゲームポート、ユニバーサルシリアルバス(USB)などその他のインターフェースおよびバス構造で接続してもよい。モニタ191またはその他のタイプの表示装置もまた、ビデオインターフェース190などのインターフェースを介してシステムバス121に接続される。モニタ191は、タッチ画面パネルなどに一体化することもできる。モニタおよび/またはタッチ画面パネルは、タブレット型パーソナルコンピュータなど、コンピューティング装置110が組み込まれるハウジングに物理的に結合することができることに注意されたい。さらに、コンピューティング装置110などのコンピュータは、出力周辺インターフェース194などを介して接続できるスピーカ195、プリンタ196などのその他の周辺出力装置を含むこともできる。
コンピュータ110は、リモートコンピュータ180などの1つまたは複数のリモートコンピュータへの論理接続を使用して、ネットワーク化された環境で動作することができる。リモートコンピュータ180は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピア装置、またはその他の一般のネットワークノードでよく、一般にコンピュータ110に関連して上述した多くまたはすべての要素を含むが、図1にはメモリ記憶装置181のみを示している。図1に示した論理接続は、ローカルエリアネットワーク(LAN)171および広域ネットワーク(WAN)173を含むが、他のネットワークを含んでいてもよい。こうしたネットワーキング環境は、オフィス、企業規模のコンピュータネットワーク、イントラネット、およびインターネットではごく一般的である。
LANネットワーキング環境で使用する場合、コンピュータ110は、ネットワークインターフェースまたはアダプタ170を介してLAN171に接続される。WANネットワーキング環境で使用する場合、コンピュータ110は一般に、モデム172、またはインターネットなどWAN173を介して通信を確立するその他の手段を含む。モデム172は、内蔵のものでも外付けのものでもよく、ユーザ入力インターフェース160またはその他の適切な機構を介してシステムバス121に接続することができる。ネットワーク化された環境では、コンピュータ110に関連して示したプログラムモジュール、またはその一部をリモートメモリ記憶装置に格納することができる。図1は、それだけには限定されないが一例として、リモートアプリケーションプログラム185をメモリ装置181上に存在するものとして示している。図示したネットワーク接続は例であり、コンピュータ間の通信リンクを確立するその他の手段を使用してもよいことは理解されよう。
(フェールオーバー範囲)
本発明は一般に、(例えばコンピュータノードの障害による)リソースグループのフェールオーバーが、管理者によって予め決定されている方法で処理されるシステムおよび方法を対象としている。理解されるように、本発明を実施する多数の方法が実行可能であり、本明細書では代替の一部のみを説明する。例えば、本発明は、簡単なリストの形式で保持されているフェールオーバー範囲情報に基づいて、リソースグループがどのノードにフェールオーバーされるかを決定するリーダーとして動作する、クラスタノードを参照して以下に説明するが、その他の機構を実施することもできる。例えば、ノードがリソースグループを得ようとすることは、フェールオーバー範囲のデータは1つの要因にすぎず、実行可能な代替である。したがって、本発明は、本明細書で使用されているフェールオーバー範囲の任意の特定の例に限定されず、むしろフェールオーバーの概念を、一般にコンピュータ処理において利益および利点をもたらす様々な方法で使用することができる。
図2を参照すると、クラスタ202内のノードN1〜N8の構成を示しており、これらのノードは、「西」サイト204および「東」サイト206という、2つの地理的サイトに分けられている。一般的に、サイト内において、ノード間の通信媒体(ノードN1〜N4およびN5〜N8を接続する斜めの実線として示している)は、ノードN4とN5との間の破線などの、異なるサイトのノード間の接続に比べて非常に高帯域幅である。例えば、サイト内のノードは、高速ネットワーク接続を介して接続することができ、離れたサイトのノードは、インターネット上で仮想プライベートネットワークを介して接続することができる。一般に、一方のサイトはもう一方のサイトから地理的に離れているが、ノード間の実際の物理的な距離に関係なく、帯域幅の問題などのその他の要因に基づいて、サイトを定義することが有用であり得る。
本発明の一態様によれば、ノードN1〜N4の一方の組に第1のフェールオーバー範囲(FS1)208が定義され、ノードN5〜N8のもう一方の組に第2のフェールオーバー範囲(FS2)210が定義される。どのノードがどのフェールオーバー範囲に属するかに関する定義は、管理者または自動プロセス(後述)によって行うことができる。図2の例で、ノード識別に関して、フェールオーバー範囲208および210は、それぞれサイト204および206に正確に対応する。しかし、図5および図6を参照して後述するように、これは必要条件ではなく、実際は、フェールオーバー範囲は複数のサイトにまたがっていてもよく、および/またはフェールオーバー範囲は1つのサイトのすべてのノードより少ないノードを含んでいてもよい(これが一般的であり得る)。
一般に、各リソースグループは、少なくとも1つのフェールオーバー範囲に関連付けられる。図3は、図2のフェールオーバー範囲FS1およびFS2のノード識別を示しており、各フェールオーバー範囲識別は、例えばデータ構造302で保持されているものなどの、そのフェールオーバー範囲に属するノード識別のリストを有する。また、別のデータ構造304に保持されているものなどの、それらの関連するフェールオーバー範囲を列挙している1組のリソースグループ識別子RG1〜RGnの例も示されている。
本発明の一態様によれば、リソースグループは、その関連するフェールオーバー範囲に列挙されたノードに、フェールオーバーされるだけである。一実装形態では、リソースグループは、フェールオーバー範囲と関連がある必要はない。その場合、リソースグループをクラスタ内の任意のノードにフェールオーバーすることができる(その他の問題のためにそのノードがリソースグループを受け入れることができる限り)。(例えばクラスタの非常に強力なノード上でしか稼働させることができない多消費型プログラムなどで)リソースグループがフェールオーバーされるのを防ぐために、リソースグループを、単一のノードのみを含むフェールオーバー範囲に関連付けることができる。そのノードが故障すると、リソースグループをフェールオーバーするその他のノードがなく、自動化再起動プロセスまたは管理者は、ノードを再起動させ、および/またはそのリソースグループのためにフェールオーバー範囲を再構成する必要がある。リソースグループが稼働しているノード(例えばノードX)を含まないフェールオーバー範囲を有することは(起こりそうにはないが)可能であり、次いで別のノード(例えばノードY)へのフェールオーバーを行うことができるが、管理者が手動で操作しない限り、後でそれが前に稼働していたノード(ノードX)へは戻らないことに留意されたい。これによって、管理者または起動プロセスは、フェールオーバー範囲に列挙されていなかったノード上でリソースグループを開始する必要がある。
いずれにしても、フェールオーバーされるべきリソースグループが複数のフェールオーバー範囲に関連付けられている場合、フェールオーバーを試行するフェールオーバー範囲の順序がある。例えば、図3のデータ構造304を参照すると、リソースグループRG1は、図2の第1のフェールオーバー範囲(FS1)208内のノードに最初にフェールオーバーするように設定され、そのフェールオーバー範囲内のノードがどれもフェールオーバーを処理できない場合のみ、第2のフェールオーバー範囲(FS2)210内のノードへのフェールオーバーが試行される。言い換えれば、優先順位は複数のフェールオーバー範囲にわたって維持される。一代替では、フェールオーバー範囲の全ノードが故障した場合、現在の負荷、リソースグループをホストする能力、帯域幅、およびその他の測定基準など、順序以外の何らかの基準に基づいて、そのグループに関連付けられている別のフェールオーバー範囲から別のノードを選択することができる。リソースグループがフェールオーバーされるノード自体が故障した場合、フェールオーバーマネージャは、まず、(その範囲内のすべてのノードが故障している可能性はあるが)そのフェールオーバー範囲内のその他のノードへ、そのグループのフェールオーバーを試行することに留意されたい。
範囲内のフェールオーバーが自動であり、(一般に高可用性レベルを維持する目的のため)、しかし、第2の範囲にフェールオーバーする前に、フラグ(図3で「手動」または「自動」と表すが、最小単一ビットしか必要としない値)は、複数のフェールオーバー範囲にわたる所与のリソースグループについて、フェールオーバーが手動であるか自動であるかを制御することに留意されたい。つまり、フラグが手動に設定されている場合、リソースグループをオンラインで残存するフェールオーバー範囲上に持って行くために、手動の操作が必要となる。さらに、複数のフェールオーバー範囲は順序付けられているが、フェールオーバー範囲内のノードのリストは、順序付ける必要はないことに留意されたい。代わりに、ノードを無作為に、または、負荷平衡化基準に基づくなど、その他の適切な方法で選択することができる。しかし、管理者は、例えばノードの順序に従って選択し、次いで順序ごとに異なるフェールオーバー範囲を持つことなどによって、フェールオーバー範囲内の所望のノードの順序を設定することができる。例えば、順序付けられたノード選択がアクティブの場合、FS1は、図3において、N1、N4、N3、N2と順序付けられるように示されており、新しいフェールオーバー範囲FS13(図示せず)は、同じノードN2、N3、N4、N1で定義することができる。次いで管理者は、1つのリソースグループをFS1に関連付け、別のリソースグループをFS13に関連付けることができ、それによってリソースグループは一般に、異なるノードにフェールオーバーするが、依然として同じサブセットのノード内でフェールオーバーする。一般に、ユーザは、グループの好ましいリストを設定する必要はない。というのは、内部で、クラスタノードは無作為の順序で好ましいリスト内に列挙されるからである。そのグループ内のリソースをホストすることができないノードは、このリストから取り除かれる。しかし、ユーザは、グループの配置をより制御したい場合、グループの好ましいリストを特定の順序に設定することができる。
フェールオーバーは一般に、図4に示した構成要素を介して動作する。図4には、図2のクラスタ202が少し異なる様式で示されており、複数のノードのうちの2つ(N4およびN5)は、主にフェールオーバーに使用される、内部構成要素およびデータ構造の一部を示す。その他のノードN1〜N3およびN6〜N8も同様の構成要素およびデータ構造を有しているが、これらの内部項目は、個別には示されていないことに留意されたい。さらに、斜線でノードN2を消すことによって示すように、ノードN2は故障し、そのため、ノードN2のリソースグループをフェールオーバーする必要があるとみなす。リソースグループが故障し、したがって、そのノードが依然として動作している場合でも、リソースグループがフェールオーバーされる可能性があることに留意されたい。例えば、リソースグループは、テストのためなど、故意にフェールオーバーをもたらすことによって、別のノードに移動される場合がある。
ノードが故障したとき、クラスタ内の各ノードは障害のことを知っている。例えば、ノードの障害を検出する方法は、故障したノードが正規のpingメッセージへの応答を停止すること、または定期的なハートビートメッセージを送出しないことである。こうした情報が定期的にクラスタのノードに伝えられるので、残存するノードは障害について知っている。
一実装形態で、ノードのうちの1つは、フェールオーバーを制御するリーダーノードである(リーダーノードが故障した場合、別のノードが新しいノードとして継承するため、少なくとも1つの健全なノードがクラスタ内にあるとき、常にリーダーノードが存在することに留意されたい)。リーダーノードは、各リソースグループが確実にフェールオーバーし、フェールオーバー動作がまずそのリソースグループについてのフェールオーバー範囲の順序に従って試行されるように、フェールオーバー動作を制御する(または別のノードの制御に任せる)。このために、各ノードは、フェールオーバー範囲、およびリソースグループとフェールオーバー範囲との関連付けを保持するデータ構造とともに、フェールオーバーマネージャ(リソース制御マネージャとも呼ばれる)を有する。フェールオーバーマネージャは、リソースグループのフェールオーバーを、フェールオーバー範囲の順に、リソースグループの関連のフェールオーバー範囲内に含まれているノードに制限するよう動作する。図4の例では、ノードN4の場合、フェールオーバーマネージャは4084とラベル付けされており、フェールオーバー範囲データ構造は3024、リソースグループとフェールオーバー範囲との関連付けのデータ構造(resource groups-to-failover scopes associations data structure)は3044であり、ノード5についても同様の項目が下付文字「5」でラベル付けされている。図4には示していないが、「リソースマネージャ」は、リソースのホスト環境を提供することができ、その場合、フェールオーバーマネージャは、適切なリソースマネージャを介して、リソースを対象とする制御順序を提供することに留意されたい。
容易に理解できるように、本発明のフェールオーバー範囲を含む様々な実施形態を実施することができる。例えば、一実装形態で、フェールオーバーマネージャは、リソースグループに関連付けられているフェールオーバー範囲が決して交わらず、すなわち、分離されているようにするようにルールを実施することができる。あるいは、これがフェールオーバーマネージャによって実施されない場合、フェールオーバーマネージャが構成に基づいて決定するため、これは許可され、動作する。さらに、フェールオーバーマネージャは、まず、可能な場合は自動で、または管理者からの何らかの入力で、リソースグループをホストするノードの能力を決定することができる。例えば、候補ノードがリソースグループのバイナリコードのコピーを含んでいるかどうかに基づいて、自動決定を行うことができる。リソースグループに対応するアプリケーションは、クラスタのあるノードにおいてはインストールすることができるが、他のノードではインストールできないことがあることに留意されたい。例えば、ユーザ入力は、アプリケーションがノードのサブセットに関連付けられている何らかの特別な能力(マルチプロセッサのサポートなど)を使用する必要があるかどうかを決定するのに必要であり得る。
フェールオーバー範囲は、例えばクラスタランタイムがサポートするAPIを呼び出すことによって、手動で作成することができる。その結果、図5および図6を参照して後述するように、フェールオーバー範囲は、必ずしもサイトを表す必要はない。フェールオーバー範囲を使用して、アプリケーションがフェールオーバーすることができるノードの島を定義することができる。
サイトを表すフェールオーバー範囲は、自動的に作成することができる。というのは、基礎を成すネットワーキングインフラストラクチャは、ノード間の距離について何らかの概念を有しているからである。通信時間に基づいて距離を測定する、既知のアルゴリズムを距離検出に使用することができることに留意されたい。クラスタソフトウェアがそのように構成された場合、距離検出に基づいた自動プロセスは、ノードを、サイトに対応するフェールオーバー範囲に追加することができる。このために、図4には、新しいノードがクラスタに追加されたときに自動的に認識する構成要素4204(または4205)を示しており、こうした構成要素は、新しいノードを追加するときに実行されるセットアッププログラムである。このように、管理者は、新しいノードのために、サイトをマッチさせるフェールオーバー範囲のいずれにおいても、フェールオーバー範囲を更新する必要はない。しかし、自動プロセスが新しいノードをフェールオーバー範囲に関連付けるか、または管理者が新しいノードを1つの(または複数の)フェールオーバー範囲に手動で追加するかに関係なく、そのフェールオーバー範囲に関連付けられているリソースグループは、比較的多数である可能性があり、新しいノード上で稼働することができるように変更する必要はない。
図2〜図4の例に示すように、クラスタは、それぞれのサイトがノードの集まりを含む、複数のサイト(時としてジオクラスタ(geocluster)とも呼ぶ)から成る。この例のように、こうしたクラスタ内のリソースグループのために構成されたフェールオーバー範囲は、しばしばサイトレベルの境界に沿って定義され、実際にはこのように使用されるようである。しかし、本発明の実装形態は、フェールオーバー範囲がサイトにまたがることを抑制しない。
さらに、図5のクラスタ502に示すように、フェールオーバー範囲516(例えば第4のフェールオーバー範囲FS4など)は、サイトのノードのサブセットのみを含み、例えばサイト504のノードN2、N3およびN4だけが、フェールオーバー範囲FS4において識別される。図6のデータ構造604からわかるように、ノードN1へのリソースグループRG2のフェールオーバーの試行は行われない。というのは、RG2は、ノードN1を含んでいないフェールオーバー範囲FS4、およびフェールオーバー範囲FS2に関連付けられているからである。
図6にさらに示すように、手動または自動のフラグは、必ずしもリソースグループごとではなく、代わりに各リソースグループ内のフェールオーバー範囲の対ごととすることができる。したがって、例えば、リソースグループRG5は、手動操作によりフェールオーバー範囲FS1からFS2にフェールオーバーし、次いで必要に応じて、フェールオーバー範囲FS2内に適した、または残存するノードが見つからないという理由で、第2の手動フラグにより、フェールオーバー範囲FS2からFS3へ再度手動でフェールオーバーする。これに対して、リソースグループRG7は、手動操作によりフェールオーバー範囲FS1からFS2にフェールオーバーするが、次いで、必要に応じて、フェールオーバー範囲FS2内に適した、または残存するノードが見つからないという理由で、第2のフラグが自動を指定していることにより、フェールオーバー範囲FS2からFS3に自動的にフェールオーバーする。これによって、(例えばクラスタにおいて何かが明らかに誤っているという理由で)二度目に手動を選択すべきか、または、(例えば交わったサイトのフェールオーバーの出費を負担するのでまったく重要ではないという理由で)別のフェールオーバー範囲内の別のノードを見つけるかを選択する、追加の柔軟性が管理者に与えられる。代替の実装形態は、リソースグループを、2つのフェールオーバー範囲のみに限定するか、または、3つ以上のフェールオーバー範囲が許容される場合、3つ以上のフェールオーバー範囲がそのリソースグループに関連付けられているとしても、リソースグループ全体について1つのフラグのみに限定することができることに留意されたい。
上記の詳細な説明からわかるように、クラスタが故障の対策を取る自動動作をクラスタ管理者が管理するための柔軟な方法を提供する方法およびシステムが提供される。管理者は、例えば地理的サイトに基づいて、リソースグループがフェールオーバーし得るクラスタノードのサブセットを指定することができる。
本発明は、様々な変更および代替の構成の余地があるが、図面にはその一部の実施形態例を示し、詳細に上述してきた。しかし、本発明を、開示した特定の形に限定する意図はなく、逆に本発明は、本発明の意図および範囲内に含まれるすべての変更、代替構造、および均等物をカバーするものであることを理解されたい。
本発明を組み込むことができるコンピュータシステムを一般的に表すブロック図である。 本発明の様々な態様による、地理的に離れた2つのサイトを含み、画定されたフェールオーバー範囲を有するクラスタ例を一般的に表すブロック図である。 本発明の様々な態様による、1つまたは複数のノードを列挙するフェールオーバー範囲、およびリソースグループおよびフェールオーバー範囲とのそれらの関連のリストを含む、図2のフェールオーバー範囲を示す図である。 本発明の様々な態様による、フェールオーバー範囲によって制御された方法で、フェールオーバーを処理するフェールオーバーマネージャをそれぞれが有するクラスタノードの例を一般的に表すブロック図である。 本発明の様々な態様による、地理的に離れた3つのサイトを含み、あるサイトのノードのサブセットを含む1つのフェールオーバー範囲を含む画定されたフェールオーバー範囲を有するクラスタの例を一般的に表すブロック図である。 本発明の様々な態様による、図5のフェールオーバー範囲、およびフェールオーバー範囲とのリソースグループの関連を示す図である。

Claims (37)

  1. コンピューティング環境において、
    クラスタ内の選択されたノードに対応するフェールオーバー範囲を定義すること、
    前記フェールオーバー範囲をリソースグループに関連付けること、および、
    前記リソースグループに関連付けられている前記フェールオーバー範囲に基づいて、あるノードから別のノードに前記リソースグループをフェールオーバーすること
    を含むことを特徴とする方法。
  2. 前記フェールオーバー範囲を定義することは、自動プロセスによって前記フェールオーバー範囲の少なくとも一部分を定義することを含むことを特徴とする請求項1に記載の方法。
  3. 前記フェールオーバー範囲を定義することは、前記フェールオーバー範囲の少なくとも一部分に関して、管理者からの入力を受け取ることを含むことを特徴とする請求項1に記載の方法。
  4. 前記フェールオーバー範囲を定義することは、前記フェールオーバー範囲の少なくとも一部分をサイトに対応するように定義することを含むことを特徴とする請求項1に記載の方法。
  5. 新しいノードの追加を検出し、前記フェールオーバー範囲を前記新しいノードに対応する情報を含むように変更することをさらに含むことを特徴とする請求項1に記載の方法。
  6. 少なくとも1つの他のフェールオーバー範囲を前記リソースグループに関連付けることをさらに含むことを特徴とする請求項1に記載の方法。
  7. 前記リソースグループに関連付けられているフェールオーバー範囲間のノードの交わりを防ぐことをさらに含むことを特徴とする請求項1に記載の方法。
  8. 前記リソースグループを任意の他のフェールオーバー範囲内のあるノードにフェールオーバーする試行が行われる前に、前記リソースグループを第1のフェールオーバー範囲内のあるノードにフェールオーバーする試行が行われるように、前記リソースグループに関連付けられているフェールオーバー範囲の順序付けを維持することをさらに含むことを特徴とする請求項6に記載の方法。
  9. 前記リソースグループを第1のフェールオーバー範囲内のノードにフェールオーバーする前記試行は失敗し、前記リソースを別のフェールオーバー範囲のノードにフェールオーバーする試行の前に、手動の操作が必要であるかどうかを示すデータにアクセスすることをさらに含むことを特徴とする請求項8に記載の方法。
  10. あるノードから別のノードに前記リソースグループをフェールオーバーすることは、前記フェールオーバー範囲内の複数の候補のノードの中から他のノードを選択することを含むことを特徴とする請求項1に記載の方法。
  11. 複数の候補のノードの中から他のノードを選択することは、無作為な選択に基づくことを特徴とする請求項10に記載の方法。
  12. 複数の候補のノードの中から他のノードを選択することは、少なくとも1つの基準を満たすことに基づくことを特徴とする請求項10に記載の方法。
  13. 実行されると、請求項1に記載の前記方法を実行するコンピュータ実行可能命令を有することを特徴とする1つまたは複数のコンピュータ読み取り可能記憶媒体。
  14. コンピューティング環境において、
    クラスタ内のノードの第1のサブセットに対応する第1のフェールオーバー範囲を定義すること、
    クラスタ内のノードの第2のサブセットに対応する第2のフェールオーバー範囲を定義すること、
    前記第1および第2のフェールオーバー範囲をリソースグループに関連付けること、および、
    前記リソースグループを前記第1のフェールオーバー範囲のあるノードから別のノードにフェールオーバーすることを試行することであって、前記第1のフェールオーバー範囲の各ノードでの前記試行が失敗した場合、前記リソースグループを前記第2のフェールオーバー範囲のノードにフェールオーバーすること
    を含むことを特徴とする方法。
  15. 前記第1および第2のサブセットは交わらないことを特徴とする請求項14に記載の方法。
  16. 前記リソースグループをフェールオーバーする他の任意の試行の前に、前記第1のフェールオーバー範囲内で識別されたノードの前記第1のサブセットで前記リソースグループをフェールオーバーする前記試行が行われることを示す、順序付け情報を保持することをさらに含むことを特徴とする請求項14に記載の方法。
  17. 前記第1および第2のフェールオーバー範囲は、自動プロセスによって前記フェールオーバー範囲のうちの1つの少なくとも一部分を定義することを含むことを特徴とする請求項14に記載の方法。
  18. 前記第1および第2のフェールオーバー範囲を定義することは、前記フェールオーバー範囲のうちの1つの少なくとも一部分に関して、管理者からの入力を受け取ることを含むことを特徴とする請求項14に記載の方法。
  19. 前記第1のフェールオーバー範囲を定義することは、前記第1のフェールオーバー範囲の少なくとも一部分をサイトに対応するように定義することを含むことを特徴とする請求項14に記載の方法。
  20. 新しいノードの追加を検出し、前記第1のフェールオーバー範囲を前記新しいノードに対応する情報を含むように変更することをさらに含むことを特徴とする請求項14に記載の方法。
  21. 第3のフェールオーバー範囲を前記リソースグループに関連付けることをさらに含むことを特徴とする請求項14に記載の方法。
  22. 前記リソースグループを第1のフェールオーバー範囲内のノードにフェールオーバーする前記試行は失敗し、前記リソースを前記第2のフェールオーバー範囲のノードにフェールオーバーする前に、手動の操作が必要であるかどうかを示すデータにアクセスすることをさらに含むことを特徴とする請求項14に記載の方法。
  23. 前記データは手動の操作が必要であることを示し、前記リソースを前記第2のフェールオーバー範囲のノードにフェールオーバーする前に、手動の操作を待つことをさらに含むことを特徴とする請求項22に記載の方法。
  24. あるノードから別のノードに前記リソースグループをフェールオーバーすることは、前記フェールオーバー範囲内の複数の候補のノードの中から他のノードを選択することを含むことを特徴とする請求項14に記載の方法。
  25. 複数の候補のノードの中から他のノードを選択することは、無作為な選択に基づくことを特徴とする請求項24に記載の方法。
  26. 複数の候補のノードの中から他のノードを選択することは、少なくとも1つの基準を満たすことに基づくことを特徴とする請求項24に記載の方法。
  27. 実行されると、請求項14に記載の前記方法を実行するコンピュータ実行可能命令を有することを特徴とする1つまたは複数のコンピュータ読み取り可能記憶媒体。
  28. コンピューティング環境において、
    複数のノードと、
    リソースグループをあるノードから別のノードにフェールオーバーする必要がある場合に、前記リソースグループに関連付けられている選択されたフェールオーバー範囲を選択する前記ノードのうちの少なくとも1つで稼働する機構であって、前記選択されたフェールオーバー範囲のノードへ前記リソースグループの第1のフェールオーバーを試行する機構と
    を含むことを特徴とするシステム。
  29. 複数のフェールオーバー範囲は、前記リソースグループに関連付けられており、前記機構は、前記フェールオーバー範囲の順序付けに基づいて、前記選択されたフェールオーバー範囲を選択することを特徴とする請求項28に記載のシステム。
  30. 前記機構は、前記リソースグループを前記選択されたフェールオーバー範囲にフェールオーバーせず、前記機構は、新しく選択されたフェールオーバー範囲を選択し、前記新しく選択されたフェールオーバー範囲のノードへ前記リソースグループの次のフェールオーバーを試行することを特徴とする請求項29に記載のシステム。
  31. 前記機構は、前記リソースグループを前記選択されたフェールオーバー範囲にフェールオーバーせず、前記機構は、データをチェックして、他のフェールオーバー範囲のノードに前記リソースグループをフェールオーバーする自動試行のために、前記他のフェールオーバー範囲を選択するかどうかを決定することを特徴とする請求項29に記載のシステム。
  32. 選択されたフェールオーバー範囲はサイトに対応することを特徴とする請求項28に記載のシステム。
  33. 複数の関連したデータ構造を格納する、1つまたは複数のコンピュータ読み取り可能記憶媒体であって、
    クラスタの少なくとも1つのノードを識別するノードセットにそれぞれ関連付けられている、少なくとも1つのフェールオーバー範囲の組を含む第1のデータ構造と、
    少なくとも1つのリソースグループを識別する第2のデータ構造であって、少なくとも1つの識別されたリソースグループは、前記第1のデータ構造に含まれている少なくとも1つのフェールオーバー範囲との関連を有する第2のデータ構造と
    を含み、前記第2のデータ構造で識別されたリソースグループが故障すると、前記第2のデータ構造は、関連したフェールオーバー範囲を選択されたフェールオーバー範囲として選択するためにアクセスされ、前記第1のデータ構造は、前記選択されたフェールオーバー範囲に対応する前記ノードセットを探し出すためにアクセスされ、したがって、前記リソースグループは、前記選択されたフェールオーバー範囲で識別されたノードにフェールオーバーされること
    を特徴とするコンピュータ読み取り可能記憶媒体。
  34. 前記第2のデータ構造で識別された前記リソースグループは、前記第1のデータ構造に含まれる少なくとも2つのフェールオーバー範囲に関連付けられることを特徴とする請求項33に記載のコンピュータ読み取り可能記憶媒体。
  35. 前記選択されたフェールオーバー範囲以外のフェールオーバー範囲のノードへのフェールオーバーは、手動の操作を必要とするかどうかを示す、前記リソースグループに関連付けられているデータをさらに含むことを特徴とする請求項34に記載のコンピュータ読み取り可能記憶媒体。
  36. 前記第2のデータ構造で識別された前記リソースグループは、第1および第2のフェールオーバー範囲に関連付けられ、前記リソースグループは、前記第1のリソースグループが前記選択されたリソースグループであるように、前記第1および第2のフェールオーバー範囲を順序付ける情報にさらに関連付けられていることを特徴とする請求項33に記載のコンピュータ読み取り可能記憶媒体。
  37. 前記第1および第2のリソースグループは、前記第2のデータ構造において、前記識別されたリソースグループに関連付けられているリストとして保持され、前記第1および第2のフェールオーバー範囲を順序付ける前記情報は、前記リスト内の前記フェールオーバー範囲の順序付けを含むことを特徴とする請求項36に記載のコンピュータ読み取り可能記憶媒体。
JP2005296642A 2004-10-08 2005-10-11 コンピュータクラスタのノードのフェールオーバー範囲 Expired - Fee Related JP5031218B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/962,010 2004-10-08
US10/962,010 US7451347B2 (en) 2004-10-08 2004-10-08 Failover scopes for nodes of a computer cluster

Publications (2)

Publication Number Publication Date
JP2006114040A true JP2006114040A (ja) 2006-04-27
JP5031218B2 JP5031218B2 (ja) 2012-09-19

Family

ID=35810188

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005296642A Expired - Fee Related JP5031218B2 (ja) 2004-10-08 2005-10-11 コンピュータクラスタのノードのフェールオーバー範囲

Country Status (8)

Country Link
US (1) US7451347B2 (ja)
EP (1) EP1647890B1 (ja)
JP (1) JP5031218B2 (ja)
KR (1) KR101176651B1 (ja)
CN (1) CN1758608B (ja)
AT (1) ATE491989T1 (ja)
DE (1) DE602005025297D1 (ja)
ES (1) ES2355262T3 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009020574A (ja) * 2007-07-10 2009-01-29 Osaka Univ Webサービスシステム
JP2010526362A (ja) * 2007-05-03 2010-07-29 テレフオンアクチーボラゲット エル エム エリクソン(パブル) クラスタ化されたソフトウェアエンティティのための動的cliマッピング
JP2011530127A (ja) * 2008-08-05 2011-12-15 インターナショナル・ビジネス・マシーンズ・コーポレーション データセンタにわたる複数データサーバ間のデータ完全性を保持する方法およびシステム
JP2013522716A (ja) * 2010-03-12 2013-06-13 シマンテック コーポレーション 高可用性障害回復環境において複合サービスグループを定義し、視覚化し、管理するためのシステムおよび方法

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8046446B1 (en) * 2004-10-18 2011-10-25 Symantec Operating Corporation System and method for providing availability using volume server sets in a storage environment employing distributed block virtualization
US8332526B2 (en) 2005-05-25 2012-12-11 Microsoft Corporation Data communication protocol including negotiation and command compounding
US8195976B2 (en) * 2005-06-29 2012-06-05 International Business Machines Corporation Fault-tolerance and fault-containment models for zoning clustered application silos into continuous availability and high availability zones in clustered systems during recovery and maintenance
US7549079B2 (en) * 2005-11-30 2009-06-16 Oracle International Corporation System and method of configuring a database system with replicated data and automatic failover and recovery
KR100930576B1 (ko) * 2006-12-04 2009-12-09 한국전자통신연구원 가상화 기반 고가용성 클러스터 시스템 및 고가용성클러스터 시스템에서 장애 관리 방법
TW200832128A (en) * 2007-01-26 2008-08-01 Rdc Semiconductor Co Ltd Redundant system
US7757116B2 (en) * 2007-04-04 2010-07-13 Vision Solutions, Inc. Method and system for coordinated multiple cluster failover
JP2008269462A (ja) * 2007-04-24 2008-11-06 Hitachi Ltd ノードの管理装置及び方法
US7716523B2 (en) * 2007-05-03 2010-05-11 Symantec Corporation End-to-end transactional protection for requests in a web application
US7783813B2 (en) * 2007-06-14 2010-08-24 International Business Machines Corporation Multi-node configuration of processor cards connected via processor fabrics
US7870425B2 (en) * 2007-11-23 2011-01-11 International Business Machines Corporation De-centralized nodal failover handling
US9454444B1 (en) * 2009-03-19 2016-09-27 Veritas Technologies Llc Using location tracking of cluster nodes to avoid single points of failure
US8055933B2 (en) * 2009-07-21 2011-11-08 International Business Machines Corporation Dynamic updating of failover policies for increased application availability
US9195528B1 (en) * 2010-02-24 2015-11-24 Symantec Corporation Systems and methods for managing failover clusters
US8631277B2 (en) 2010-12-10 2014-01-14 Microsoft Corporation Providing transparent failover in a file system
US9331955B2 (en) 2011-06-29 2016-05-03 Microsoft Technology Licensing, Llc Transporting operations of arbitrary size over remote direct memory access
US8856582B2 (en) 2011-06-30 2014-10-07 Microsoft Corporation Transparent failover
US20130067095A1 (en) 2011-09-09 2013-03-14 Microsoft Corporation Smb2 scaleout
US8788579B2 (en) 2011-09-09 2014-07-22 Microsoft Corporation Clustered client failover
US9323628B2 (en) * 2012-10-09 2016-04-26 Dh2I Company Instance level server application monitoring, load balancing, and resource allocation
US9116860B2 (en) 2012-12-14 2015-08-25 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Cascading failover of blade servers in a data center
US9122652B2 (en) * 2012-12-17 2015-09-01 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Cascading failover of blade servers in a data center
CN104301167B (zh) * 2013-07-19 2018-09-04 方正宽带网络服务股份有限公司 一种监测装置及方法
US9280432B2 (en) 2014-03-21 2016-03-08 Netapp, Inc. Providing data integrity in a non-reliable storage behavior
US10275326B1 (en) * 2014-10-31 2019-04-30 Amazon Technologies, Inc. Distributed computing system failure detection
US9684562B2 (en) 2015-07-21 2017-06-20 International Business Machines Corporation Automatic serial starting of resource groups on failover based on the prediction of aggregate resource usage
US10997197B2 (en) 2016-09-27 2021-05-04 International Business Machines Corporation Dependencies between site components across geographic locations
JP7485934B2 (ja) * 2020-06-30 2024-05-17 富士通株式会社 情報処理プログラム、情報処理装置及び情報処理方法
CN111817895B (zh) * 2020-07-14 2023-04-07 济南浪潮数据技术有限公司 一种主控节点切换方法、装置、设备及存储介质
US11341006B1 (en) 2020-10-30 2022-05-24 International Business Machines Corporation Dynamic replacement of degrading processing elements in streaming applications
KR102663681B1 (ko) * 2021-12-30 2024-05-14 주식회사 클로봇 페일 오버 매니저를 포함하는 로봇 관리 시스템, 및 이를 이용한 로봇 관리 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020198996A1 (en) * 2000-03-16 2002-12-26 Padmanabhan Sreenivasan Flexible failover policies in high availability computing systems
JP2004206562A (ja) * 2002-12-26 2004-07-22 Hitachi Ltd 情報処理システムの制御方法、情報処理システム、及びプログラム
JP2004246892A (ja) * 2003-02-12 2004-09-02 Internatl Business Mach Corp <Ibm> マルチノード分散データ処理システムにおいてリモート・アクセス可能なリソースを管理する方法
JP2005018510A (ja) * 2003-06-27 2005-01-20 Hitachi Ltd データセンタシステム及びその制御方法

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6673779B2 (en) * 1996-03-27 2004-01-06 Inspire Pharmaceuticals, Inc. Method of treating ciliary dyskinesia with dinucleoside polyphosphate compounds or UTP analogues
US6319908B1 (en) * 1996-07-03 2001-11-20 Inspire Pharmaceuticals, Inc. Method for large-scale production of di(uridine 5′-tetraphosphate) and salts thereof
US6696425B2 (en) * 1997-02-06 2004-02-24 Inspire Pharmaceuticals, Inc. Method of treating dry eye disease with purinergic receptor agonists
US6596725B2 (en) * 1997-02-10 2003-07-22 Inspire Pharmaceuticals, Inc. Use of certain dinucleotides to stimulate removal of fluid in retinal detachment and retinal edema
US6548658B2 (en) * 1997-07-25 2003-04-15 Inspire Pharmaceuticals, Inc. Di-(uridine 5′)-tetraphosphate and salts thereof
US6178529B1 (en) 1997-11-03 2001-01-23 Microsoft Corporation Method and system for resource monitoring of disparate resources in a server cluster
US6058490A (en) * 1998-04-21 2000-05-02 Lucent Technologies, Inc. Method and apparatus for providing scaleable levels of application availability
US6438705B1 (en) * 1999-01-29 2002-08-20 International Business Machines Corporation Method and apparatus for building and managing multi-clustered computer systems
US6718486B1 (en) 2000-01-26 2004-04-06 David E. Lovejoy Fault monitor for restarting failed instances of the fault monitor
US6857026B1 (en) * 1999-12-14 2005-02-15 Nortel Networks Limited Using alternate routes for fail-over in a communication network
US6789213B2 (en) * 2000-01-10 2004-09-07 Sun Microsystems, Inc. Controlled take over of services by remaining nodes of clustered computing system
US6990606B2 (en) * 2000-07-28 2006-01-24 International Business Machines Corporation Cascading failover of a data management application for shared disk file systems in loosely coupled node clusters
US6555675B2 (en) * 2000-08-21 2003-04-29 Inspire Pharmaceuticals, Inc. Dinucleoside polyphosphate compositions and their therapuetic use as purinergic receptor agonists
US6738923B1 (en) * 2000-09-07 2004-05-18 International Business Machines Corporation Network station adjustable fail-over time intervals for booting to backup servers when transport service is not available
US6782416B2 (en) * 2001-01-12 2004-08-24 Hewlett-Packard Development Company, L.P. Distributed and geographically dispersed quorum resource disks
EP1370947A4 (en) * 2001-02-13 2009-05-27 Candera Inc STORAGE VIRTUALIZATION SERVER SILICON BASE
WO2002069145A1 (en) * 2001-02-24 2002-09-06 International Business Machines Corporation Fault isolation through no-overhead link level crc
US20040010502A1 (en) * 2002-07-12 2004-01-15 Bomfim Joanes Depaula In-memory database for high performance, parallel transaction processing
CN1294509C (zh) * 2002-09-06 2007-01-10 劲智数位科技股份有限公司 具有分布式负载平衡系统的集群计算机
US7188155B2 (en) * 2002-12-17 2007-03-06 International Business Machines Corporation Apparatus and method for selecting a web service in response to a request from a client device
US7134046B2 (en) * 2003-03-19 2006-11-07 Lucent Technologies Inc. Method and apparatus for high availability distributed processing across independent networked computer fault groups
US7278048B2 (en) * 2003-07-16 2007-10-02 Lucent Technologies Inc. Method, system and computer program product for improving system reliability
US7234073B1 (en) * 2003-09-30 2007-06-19 Emc Corporation System and methods for failover management of manageable entity agents
US7225356B2 (en) * 2003-11-06 2007-05-29 Siemens Medical Solutions Health Services Corporation System for managing operational failure occurrences in processing devices
JP4420275B2 (ja) * 2003-11-12 2010-02-24 株式会社日立製作所 フェイルオーバクラスタシステム及びフェイルオーバクラスタシステムを用いたプログラムのインストール方法
US7188273B2 (en) * 2003-11-24 2007-03-06 Tsx Inc. System and method for failover
US20050193104A1 (en) * 2004-02-27 2005-09-01 Wyse Technology Inc. User interface for remote computing devices
JP4462969B2 (ja) * 2004-03-12 2010-05-12 株式会社日立製作所 フェイルオーバクラスタシステム及びフェイルオーバ方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020198996A1 (en) * 2000-03-16 2002-12-26 Padmanabhan Sreenivasan Flexible failover policies in high availability computing systems
JP2004206562A (ja) * 2002-12-26 2004-07-22 Hitachi Ltd 情報処理システムの制御方法、情報処理システム、及びプログラム
JP2004246892A (ja) * 2003-02-12 2004-09-02 Internatl Business Mach Corp <Ibm> マルチノード分散データ処理システムにおいてリモート・アクセス可能なリソースを管理する方法
JP2005018510A (ja) * 2003-06-27 2005-01-20 Hitachi Ltd データセンタシステム及びその制御方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010526362A (ja) * 2007-05-03 2010-07-29 テレフオンアクチーボラゲット エル エム エリクソン(パブル) クラスタ化されたソフトウェアエンティティのための動的cliマッピング
JP2009020574A (ja) * 2007-07-10 2009-01-29 Osaka Univ Webサービスシステム
JP2011530127A (ja) * 2008-08-05 2011-12-15 インターナショナル・ビジネス・マシーンズ・コーポレーション データセンタにわたる複数データサーバ間のデータ完全性を保持する方法およびシステム
US8676760B2 (en) 2008-08-05 2014-03-18 International Business Machines Corporation Maintaining data integrity in data servers across data centers
JP2013522716A (ja) * 2010-03-12 2013-06-13 シマンテック コーポレーション 高可用性障害回復環境において複合サービスグループを定義し、視覚化し、管理するためのシステムおよび方法

Also Published As

Publication number Publication date
CN1758608B (zh) 2011-08-17
KR20060051477A (ko) 2006-05-19
US20060080568A1 (en) 2006-04-13
EP1647890B1 (en) 2010-12-15
KR101176651B1 (ko) 2012-08-23
JP5031218B2 (ja) 2012-09-19
US7451347B2 (en) 2008-11-11
EP1647890A3 (en) 2009-06-03
DE602005025297D1 (de) 2011-01-27
EP1647890A2 (en) 2006-04-19
CN1758608A (zh) 2006-04-12
ES2355262T3 (es) 2011-03-24
ATE491989T1 (de) 2011-01-15

Similar Documents

Publication Publication Date Title
JP5031218B2 (ja) コンピュータクラスタのノードのフェールオーバー範囲
US9037899B2 (en) Automated node fencing integrated within a quorum service of a cluster infrastructure
US8910172B2 (en) Application resource switchover systems and methods
US20130159487A1 (en) Migration of Virtual IP Addresses in a Failover Cluster
US7225356B2 (en) System for managing operational failure occurrences in processing devices
US9817721B1 (en) High availability management techniques for cluster resources
US10810096B2 (en) Deferred server recovery in computing systems
US7619965B2 (en) Storage network management server, storage network managing method, storage network managing program, and storage network management system
US10069688B2 (en) Dynamically assigning, by functional domain, separate pairs of servers to primary and backup service processor modes within a grouping of servers
US20080281959A1 (en) Managing addition and removal of nodes in a network
US10320905B2 (en) Highly available network filer super cluster
US10120779B1 (en) Debugging of hosted computer programs
CN107666493B (zh) 一种数据库配置方法及其设备
JP2005056392A (ja) 地理的ミラーリングに関するリソースの妥当性検査およびランキングのための方法および装置
US20170091252A1 (en) Reconciling sensor data in a database
CN1278254C (zh) 确定高可用性集群之活跃度的方法和系统
US20220138036A1 (en) Safely recovering workloads within a finite timeframe from unhealthy cluster nodes
US20210250235A1 (en) Diagram generation method and storage medium
US10367711B2 (en) Protecting virtual computing instances from network failures
US11755438B2 (en) Automatic failover of a software-defined storage controller to handle input-output operations to and from an assigned namespace on a non-volatile memory device
WO2024098938A1 (zh) 网络存储功能故障检测及容灾方法及相关设备
US20230342061A1 (en) Method, electronic device and computer program product for data processing
US20190104195A1 (en) Computer system and method for controlling communication path
CN115001950A (zh) 一种数据库集群的故障处理方法、存储介质与设备
CN110837451A (zh) 虚拟机高可用的处理方法、装置、设备和介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081014

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110624

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110826

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111125

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: 20120622

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: 20120627

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5031218

Country of ref document: JP

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

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees