JP4045282B2 - 高可用性クラスタノードの除去および通信 - Google Patents

高可用性クラスタノードの除去および通信 Download PDF

Info

Publication number
JP4045282B2
JP4045282B2 JP2005258992A JP2005258992A JP4045282B2 JP 4045282 B2 JP4045282 B2 JP 4045282B2 JP 2005258992 A JP2005258992 A JP 2005258992A JP 2005258992 A JP2005258992 A JP 2005258992A JP 4045282 B2 JP4045282 B2 JP 4045282B2
Authority
JP
Japan
Prior art keywords
node
status signal
connector
cluster
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.)
Expired - Fee Related
Application number
JP2005258992A
Other languages
English (en)
Other versions
JP2006079618A (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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of JP2006079618A publication Critical patent/JP2006079618A/ja
Application granted granted Critical
Publication of JP4045282B2 publication Critical patent/JP4045282B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42Loop networks
    • H04L12/437Ring fault isolation or reconfiguration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)
  • Communication Control (AREA)

Description

本開示は、包括的にはコンピュータネットワークに関する。詳細には、本開示は、相互接続されたコンピュータシステムのクラスタに関する。
本出願は、発明者Ken G. PomaranskiおよびAndrew H. Barrによる2004年1月23日に出願された「Cluster Node Status Detection and Communication」と題する米国特許出願第10/764,165号に関する。本出願はまた、発明者Ken G. PomaranskiおよびAndrew H. Barrによる2004年1月23日に出願された「Multi-State Status Reporting for High-Availability Cluster Nodes」と題する米国特許出願第10/764,198号と、発明者Ken G. PomaranskiおよびAndrew H. Barrによる2004年1月23日に出願された「Node Management in High-Availability Cluster」と題する米国特許出願第10/764,244号と、に関する。
クラスタは、単一の一体化された計算ユニットとして使用される、相互接続されたコンピュータシステムまたはサーバの集まりを含む並列または分散システムである。クラスタのメンバを、ノードまたはシステムと呼ぶ。クラスタサービスは、クラスタ関連のアクティビティを管理する、各ノードにおけるソフトウェアの集まりである。クラスタサービスは、すべての資源を同一のオブジェクトとしてみなす。資源は、他の例もあるが特に、ディスクドライブおよびネットワークカード等の物理的なハードウェアデバイス、または論理ディスクボリューム、TCP/IPアドレス、アプリケーション全体およびデータベース等の論理的なアイテムを含む場合がある。グループは、単一ユニットとして管理される資源の集まりである。一般に、グループは、特定のアプリケーションを実行しユーザがそのアプリケーションによって提供されるサービスに接続することができるようにするために必要なコンポーネントのすべてを含む。グループに対して実行される動作は、通常、そのグループ内に含まれるすべての資源に影響を与える。クラスタリングは、2つ以上のサーバを合わせて結合することにより、ネットワークシステムおよびアプリケーションに対するシステム可用性、性能および容量を増大させる。
クラスタリングは、同時に2つ以上のCPUを使用してアプリケーションまたはプログラムを実行する並列処理または並列計算に使用される場合がある。クラスタリングは、システム管理者が既存のコンピュータおよびワークステーションを利用することができるようにするため、並列処理アプリケーションを実施するために広く用いられる戦略である。ネットワーク化されたサーバに発行される要求の数を予測することは困難であるため、クラスタリングはまた、いかなる単一サーバにも過度に負担がかからないように、ネットワークシステムにわたって均等に処理および通信アクティビティを分散させるロードバランシングにも有用である。1つのサーバが、負荷が殺到しているという危険を冒している場合、要求を、より容量の大きい別のクラスタ化されたサーバに転送することができる。たとえば、ビジーなウェブサイトは、ロードバランシング方式を採用するために2つ以上のクラスタ化されたウェブサーバを採用する場合がある。クラスタリングはまた、システム負荷が増大するに従い新たなコンポーネントを追加することができるようにすることにより、スケーラビリティを増大させることができる。さらに、クラスタリングは、システムのグループおよびそれらのアプリケーションの管理を、システム管理者がグループ全体を単一システムとして管理することができるようにすることにより簡略化する。クラスタリングはまた、ネットワークシステムの耐障害性を増大させるために用いられることができる。1つのサーバに、予測されないソフトウェア障害またはハードウェア障害が発生した場合、別のクラスタ化されたサーバが、障害の発生したサーバの動作を引き受けることができる。このように、システムの任意のハードウェアまたはソフトウェアコンポーネントに障害が発生した場合、ユーザには、性能に不利な状態がもたらされる可能性があるが、サービスにアクセスすることができなくなることはない。
現行のクラスタサービスには、他の例もあるが特に、Microsoft Corporationにより、そのWindows(登録商標) NT 4.0およびWindows(登録商標)2000 Advanced Serverオペレーティングシステムに対するクラスタリングのために設計された、Microsoft Cluster Server(MSCS)と、Novell Netware Cluster Services(NWCS)と、がある。たとえば、MSCSは、単一の高可用性サーバを提供するために2つのNTサーバのクラスタリングをサポートする。
クラスタリングを、ストレージエリアネットワーク(SAN)および同様のネットワーキング環境を利用するコンピュータネットワークにおいて実施する場合もある。SANネットワークにより、ストレージシステムを、複数のクラスタおよびサーバ間またはこれらのいずれかの間(複数のクラスタおよび/またはサーバ間)で共有することができる。SANにおけるストレージデバイスを、たとえばRAID構成で構築する場合がある。
システム障害を検出するために、クラスタ化されたノードは、ハートビートメカニズムを使用して互いの健全度(health)を監視する場合がある。ハートビートは、1つのクラスタ化されたノードによって別のクラスタ化されたノードに送信される信号である。ハートビート信号は、通常、イーサネット(登録商標)または同様のネットワークで送信され、その場合、ネットワークはまた、他の目的でも利用される。
ノードの障害は、予測されたハートビート信号がそのノードから受信されない場合に検出される。ノードの障害時、クラスタリングソフトウェアは、たとえば、障害の発生したノードの資源グループ全体を別のノードに移すことができる。障害によって影響を受けたクライアントアプリケーションは、セッションにおける障害を検出し、元の接続と同様に再接続することができる。
ハートビート信号がクラスタのノードから受信されると、そのノードは、標準的に、「アップ」状態にあるものと定義される。アップ状態では、ノードは、適当に動作しているものと推定される。一方、ハートビート信号がもはやノードから受信されない場合、そのノードは、標準的に、「ダウン」状態にあるものと定義される。ダウン状態では、ノードは障害が発生したと推定される。
本発明の一実施形態は、高可用性クラスタ装置であって、複数の計算ノードと、上記ノードの各々に接続するように構成されたハードウェアインタフェースと、を具備する高可用性クラスタ装置に関する。ノード間接続は、ハードウェアインタフェースに結合され、上記ノード間でノードステータス信号を通信する。ノードは、ノード間接続のトポロジカルな接続性を中断することなくハードウェアインタフェースに接続された状態から除去可能である。
別の実施形態は、高可用性計算クラスタのノード間でノードステータス信号を通信する方法に関する。ノードステータス信号は、ハードウェアインタフェースの第1のコネクタにより第1のノードから受信される。ノードステータス信号は、第1のコネクタからハードウェアインタフェースの第2のコネクタに転送される。そして、ノードステータス信号は、第2のコネクタから第2のノードに送信される。
別の実施形態は、高可用性計算クラスタのノード間でノードステータス信号を通信するように構成されたハードウェアインタフェースに関する。ハードウェアインタフェースは、複数のコネクタおよびノード間接続を含む。各コネクタは、ノードステータス信号を対応するノードに通信するように構成される。ノード間接続は、ポイント・ツー・ポイントループ構成におけるコネクタ間でノードステータス信号を送信するように構成される。
I.従来のハートビート技法の欠点
クラスタ化されたノードの状態を報告する従来の技法について上述した。従来の技法では、ハートビートメカニズムが使用され、ノードは、「アップ」状態または「ダウン」状態のいずれかであるものと判断される。
この従来の技法は、さまざまな場合において不十分でありかつ不都合である。たとえば、対象の重大なアプリケーションが機能していない(すなわち、アプリケーションがダウンしている)場合であっても、そのアプリケーションが実行しているノードは、依然としてそのハートビート信号を送信している可能性がある。その場合、クラスタは、重大なアプリケーションがダウンしているにも関わらず、依然としてノードがアップ状態であるとみなす。別の例では、クラスタは、ノードから予測されたハートビート信号を受信せず、したがってそのノードがダウンしていると想定する場合がある。しかしながら、そのノードは、実際にはアップ状態である(すなわち、適当に動作している)場合があり、代りに、ハートビート信号が届かなかったのは、相互接続に障害があるためである場合がある。
さらに、従来の技法は、通常、ステータス信号を生成し送信するために既存の回路を利用する。この既存の回路はまた、クラスタ内の他の通信にも使用される。対照的に、出願人は、ステータス信号を頑強に生成し送信するように特に設計された専用の回路を使用することが、従来の技法に対して有利であると判断した。
結局、高可用性(HA)クラスタの効率(稼働率)は、クラスタがそのノードのうちの1つが有用な計算または記憶機能の実行をやめた(すなわち、ノードが事実上ダウンしている場合)と認識するのにかかる時間の量によって大きく決まることになる。クラスタが、ノードが事実上ダウンしていると判断すると、クラスタリングソフトウェアは、ユーザタスクをほとんど中断させることなくノードの残りを実行させ続けるために必要なタスクを実行することができる。
しかしながら、上述したように、クラスタノードの状態を確定するために使用される従来の技法は、さまざまな場合において不正確である。従来の技法では、間違った(不要な)フェイルオーバーが実行されるか、または検出が失敗する可能性がある。検出の失敗は、クラスタレベルソフトウェアが、悪いノードから良いノードに切り替えなければならない時にそれができない場合である。さらに、従来技法は、ノードのダウン状態を検出するために望ましくないほどに長い時間をとることが多い。
II.改善されたノードステータスの検出および通信
図1Aは、本発明の一実施形態による代表的な高可用性クラスタ10を示す概略図である。図には、4つのノード100が示されているが、本発明の範囲内ではさまざまな数のノードを使用してもよい。
ネットワーク20を介するノード間通信に加えて、別個の通信チャネルにより、ステータス情報の独立したノード間通信が可能になる。図示するように、別個の通信チャネルは、たとえば、各ノードにおける追加の信号処理ハードウェア回路106を利用して、例示的な一リングトポロジーにおいてポイント・ツー・ポイントリンク30を提供してもよい。リングトポロジーでは、各ノード100は、通信リンク30によりリングにおける次のノード100(図示する例では右回りに行く)にステータス情報を送信してもよく、別のリンク30によりリングにおける先のノード100からステータス情報を受信してもよい。有利には、ステータス通信のために追加のチャネルを有するかかる構成により、ノードステータスデータの迅速かつ信頼性の高い交換が可能になる。
一実施形態によれば、各ノード100において、クラスタレベルのソフトウェアが実行する。各ノード100を、クラスタレベルソフトウェアに以下の資源を提供するように構成してもよい。ハードウェア資源には、1つまたは複数のプロセッサと、メモリシステムと、ディスクベースまたは同様のデータ記憶装置と、ノードを相互接続するネットワーク20へのインタフェースと、ノード間ステータス信号処理のための専用信号処理ハードウェア106と、が含まれる。ソフトウェア資源は、以下のタスクを実行するルーチンを含む。すなわち、本ノード100のステータスを更新し送信すること、クラスタにおける別のノード100からのステータスデータを監視し分析すること、および監視されているノード100からのステータスデータに基づき適当な動作を行うことである。ノードの計算サブシステムは、ミッションクリティカルなソフトウェアアプリケーションを実行していてもよくまたは実行していなくてもよい。実行している場合、そのミッションクリティカルなアプリケーションは、クラスタレベルソフトウェアの構成ファイルに列挙される。
図1Bは、本発明の一実施形態によるクラスタのノード100の概略図である。ノード100は、従来の計算サブシステム102および信号処理ハードウェア回路106を含む。計算サブシステム102は、通常、1つまたは複数の中央処理装置(CPU)、メモリ等を含む計算要素を備える。計算サブシステム102は、他の信号もあるが特にサブシステムステータス信号104を生成し出力する。信号処理ハードウェア回路106は、サブシステムステータス信号104を受け取り、ノードステータス信号108を出力する。ノードステータス信号108を、クラスタにおける次のノードに出力してもよい。これらの信号については後にさらに説明する。
図2は、本発明の一実施形態による信号処理ハードウェア106の概略図である。信号処理ハードウェア106は、信号発生器202および出力信号発生器206を有してもよい。
信号処理ハードウェア106は、計算ノード102からサブシステムステータス信号104を受け取る。サブシステムステータス信号104の例示的なタイミング図を、図4の上部に示す。図4に示すように、サブシステムステータス信号104は、GOOD(アップ)状態かまたはBAD(ダウン)状態にあり得る。たとえば、GOOD状態を、ハイ(論理1)信号によって表してもよく、BAD状態を、ロー(論理0)信号によって表してもよい。計算サブシステム102が適当に機能している(正しく作用している)場合、サブシステムステータス信号104はGOOD状態に駆動されなければならない。計算サブシステム102が適当に機能していない場合、サブシステムステータス信号104はGOOD状態に駆動されてはならない。GOOD信号がないことは、システムがBAD(ダウン)状態であることを意味する。
信号発生器202は、デフォルトBAD(デフォルトダウン)信号204を生成する。デフォルトBAD信号204の例示的なタイミング図を、図4の下部に示す。図4に示すように、デフォルトBAD信号204は、非対称の周期信号(単なる論理レベルではない)を含む。たとえば、図示するように、デフォルトBAD信号204は、非対称のトグルパターンかまたはパルス変調された信号を含んでもよい。図4に示すトグルパターンは、1つの可能性を示す単なる例である。かかるトグルパターンを、当業者には既知であるさまざまな電子回路を使用して生成してもよい。
出力信号発生器206は、デフォルトBAD信号204およびサブシステムステータス信号104を受け取るように構成される。出力信号発生器206は、これら2つの信号を使用してノードステータス信号108を生成し出力する。
図3は、本発明の一実施形態による出力信号発生器206の概略図である。出力信号発生器206は、プルダウン要素302および論理機能ブロック304を有してもよい。
図3に示すように、プルダウン要素302は、サブシステムステータス信号104を受け取るラインに結合される。計算サブシステム102からハイレベル(本実施形態ではGOOD)が駆動されない場合、プルダウン要素302は、そのラインをローレベル(本実施形態ではBAD)にする。このため、計算サブシステム102がいかなる信号も生成しない場合であっても、サブシステムステータス信号104は有利にBAD状態に対応するレベルにされる。
代替実施態様(インプリメンテーション)では、サブシステムステータス信号104のローレベルは、GOOD状態に対応してもよく、ハイレベルは、BAD状態に対応してもよい。その場合、プルアップ要素を使用してこの有利な効果を達成してもよい。プルダウンおよびプルアップ回路要素(電圧レベル引上げ/引下げ要素)は、当業者には既知である。
図3に示すように、論理機能ブロック304は、サブシステムステータス信号104とともにデフォルトBAD信号204を受け取る。一実施形態によれば、論理機能ブロック304は、排他的論理和(XOR)ゲートを備えてもよい。他の実施形態では、異なる機能を利用してもよい。
論理機能ブロック304によって生成されるノードステータス信号108の例示的なタイミング図を、図5に示す。これらのタイミング図に対し、論理機能ブロック304はXORゲートであり、XORゲートに入力される信号は、図4に示す信号(104および204)である。
まず、サブシステムステータス信号104がBAD状態に対応する場合に生成されるノードステータス信号108を考える。この場合、XORゲートは、デフォルトBAD信号204と、サブシステムステータス信号104のローレベルと、を受け取り、これらの2つの信号に対し排他的論理和演算を実行する。その結果は、図5の上部に示すノードステータス信号108である。この例では、ノードステータス信号108は、BAD状態を表す周期信号である。より詳細には、ここでは、ノードステータス信号108は、デフォルトBAD信号204と同じ周期形式(この例では、トグルまたはパルス変調パターン)である。
次に、サブシステムステータス信号104がGOOD状態に対応する場合に生成されるノードステータス信号108を考える。この場合、XORゲートは、デフォルトBAD信号204と、サブシステムステータス信号104のハイレベルと、を受け取り、これらの2つの信号に対し排他的論理和演算を実行する。その結果は、図5の下部に示すノードステータス信号108である。この例では、ノードステータス信号108は、GOOD状態を表す周期信号である。より詳細には、ここでは、ノードステータス信号108は、デフォルトBAD信号204の補完体(complement)である異なる周期信号である。
図6は、本発明の一実施形態によるステータスパススルー回路600の概略図である。この回路600により、有利に、現ノードがダウンしている場合に、先のノードに対するノードステータス信号108が現ノードを通過することができる。
ノードNに対する信号処理ハードウェア106は、ノードNに対するノードステータス信号108を生成する。たとえば、信号処理ハードウェア106およびノードステータス信号108は、先の図面に関連して上述したようなものであってもよい。
選択回路602は、ノードNのノードステータス信号108を受け取る。さらに、選択回路602は、ノードN−1(クラスタにおける別のノード)からのノードステータス信号108を受け取る。選択回路602は、2つの信号に対して動作し、ノードN+1(クラスタにおける次のノード)に送信されるステータス出力信号604を生成する。一実施形態では、選択回路602は、次のノードに(ステータス出力信号604を介して)伝える2つのステータス信号のうちの1つを選択するマルチプレクサ(MUX)を備えてもよい。ノードNの計算サブシステム(計算要素)が、先にクラスタから取り除かれている(たとえば、ノード障害、保守または他の理由により)場合、ノードN−1からのステータスが渡される。ノードNの計算サブシステムが、その時点でクラスタによって使用されている場合、ノードNのステータスが渡される。このように、ノードNがダウンしている場合であっても、ノードN−1のステータスは、有利に、依然としてシステムによって評価される。
ノードN−1がダウンしている場合、ノードN−1から受け取られるステータス信号は、ノードN−2から発生する場合があることを留意されたい。ノードN−1およびN−2がともにダウンしている場合、ノードN−1から受け取られるステータス信号は、ノードN−3から発生する場合がある。以下同様である。
図7は、本発明の別の実施形態によるクラスタのノード700の概略図である。図7におけるノード700は、図1におけるノード100と同様である。しかしながら、ここでは、ノード700は、従来のサブシステムステータス信号104に加えてサブシステム低下ステータス信号702を生成する。サブシステム低下ステータス信号702は、従来のサブシステムステータス信号104と結合して、報告された状態を、単純な2値信号から多状態(3状態またはそれより多い)信号に拡張する。
たとえば、サブシステム低下ステータス信号702は、計算サブシステム102に対するDEGRADED状態またはNOT_DEGRADED状態を示してもよい。DEGRADED状態を、ノードの1つまたは複数の態様が「標準に達して」実行しておらず、そのためノードがHAクラスタから取り除かれる可能性がある場合として定義してもよい。たとえば、以下のルールを使用してもよい。
ルールD1:計算サブシステムは、50%を超える性能を喪失する
ルールD2:重大な(severe)(危機的(critical)より1つ下のレベル)シャーシコードが受け取られる
特定のシステムに応じて、これらのルールおよび追加のルールの変形を使用してDEGRADED状態を定義してもよい。たとえば、低下状態に入る前の性能率は、50%とは異なっていてもよい。75%等、より高くてもよく、25%等、より低くてもよい。
一実施形態によれば、サブシステム低下ステータス信号702は、ノードが低下しているか否かを示す単純なフラグであってもよい。他の実施形態では、複数レベルの低下があってもよい。これらの複数レベルの低下を、低下のレベルの多ビット符号化を使用して実施してもよい。言い換えれば、単一のDEGRADED状態のみを有する代りに、ルールにより複数レベルの低下を定義してもよい。複数レベルの低下を使用することは、有利に、HAクラスタリングソフトウェアに対し、クラスタのノードをいかに管理するかに関するその意思決定プロセスのための追加の情報を提供する。たとえば、低下レベルは、喪失性能率によって決まってもよい。
1つの特定の実施形態によれば、ノード低下ステータス信号704は、HAクラスタにおける次のノードに低下状態をデジタルに提供するラインのセットを備えてもよい。これらのラインを、抵抗器を用いて引き下げてもよい。一実施態様(インプリメンテーション)は、以下に示すようなものであってもよい。これらのデジタルラインにおける論理0はすべて、ノードがBADであることを示してもよい。これらのラインにおける論理1はすべて、ノードがGOODであることを示してもよい。中間の他の値は、ノードの低下レベルを示してもよく、高い値ほど高度に機能していることを示す。
図8は、本発明の別の実施形態によるステータスパススルー回路800の概略図である。図8における回路800は、図6における回路600と同様である。しかしながら、ここでは、選択回路802はまた、ノードNおよびノードN−1からノード低下ステータス信号704を受け取る。
選択回路802は、入力信号に対して動作し、ノードNまたはノードN−1のいずれかからのGOOD/BADステータス情報とともに追加の低下ステータス状態を含むステータス出力信号804を生成する。有利には、この低下ステータス情報を、クラスタレベルソフトウェアがGOOD/BADステータス情報に対する「検査」として利用してもよく、それによりステータス情報のセットがより信頼性の高いものになる。
上記開示は、従来技術に対してさまざまな利点を含む。第1に、ノードステータス情報をクラスタに確実に送信する目的で、専用ハードウェアが設計され使用される。これにより、クラスタの高可用性が向上するはずである。第2に、ノードの適当なソフトウェアがアップしておりかつ実行しており、GOOD状態を信号で通知することができる場合にのみ、GOOD状態が送信される。その結果、ハードウェアは、ソフトウェアがダウンしている場合にGOOD状態を示さない。第3に、上記開示は、ノードがダウンしているための「ハートビートなし」を、相互接続に障害が発生したことによる「ハートビート喪失」と区別するという問題に対する解決法を提供する。これは、動作しているノードによりGOOD信号に変更することができるデフォルトBAD信号を提供することによって行われる。第4に、上記開示は、低下タイプステータス信号に対し別個の出力を提供し、その結果、かかる低下状態の通信が確実になる。さらに、低下ステータス信号により、クラスタレベルソフトウェアは、「投票方式(voting scheme)」を使用してノードが実際にダウンしているか否かを迅速かつ正確に判断することができる。たとえば、投票方式は、GOOD/BAD信号、DEGRADED/NOT_DEGRADED信号およびクラスタが提供する標準イーサネット(登録商標)接続を含む3つの信号を利用してもよい。
III.ノード除去およびクラスタとの通信のための装置
HAクラスタのノードが、そのノードに対して物理的に保守またはアップグレードを実行するためにオフラインにされなければならない環境がある。かかる保守を、クラスタ動作を過度に中断させることなく実行することが望ましい。より詳細には、クラスタに存在し続けているノードの連続性を維持しながら、ノードをダウンさせ物理的に除去することができることが望ましい。
しかしながら、上述したノードステータスおよび通信に対する改善されたアーキテクチャでは、ノードステータス信号処理は、ループ化されたポイント・ツー・ポイントトポロジーにおける専用リンクを用いて実行される。かかるアーキテクチャにおいて連続性を維持するためには、ノードが、保守またはアップグレードのためにオフラインにされ物理的に除去され操作される場合であっても、そのノードに対するHAクラスタハードウェアインタフェースがクラスタ内に存在し続けることが必要である。
図9は、本発明の一実施形態によるノードを除去し他のノードと通信する装置の高レベル図である。装置は、HAクラスタハードウェアインタフェース902を含む。各特定のノードN100Nとハードウェアインタフェース902との間には、接続ハードウェア904が含まれる。さらに、ハードウェアインタフェース902とHAクラスタの他のノード100との間には、接続ハードウェア906が含まれる。
図10は、本発明の一実施形態によるノードを除去し他のノードと通信する装置の一実施態様(インプリメンテーション)の概略図である。図示するように、ノード100は、ノードボックス/システム1002に収容される。ノードボックス/システム1002は、コネクタ1004を含む。ノードボックス/システム1002は、コネクタ1004がノードステータス信号を渡すように構成される。さらに、電力および/または他の信号もまた、コネクタ1004を介して渡されてもよい。
ラックの機械的インフラストラクチャ(ラック構造)1006(相互接続された垂直部材および水平部材を含む)は、ノードボックス/システム1002を収納し物理的に支持する。ラック構造1006はまた、HAクラスタハードウェアインタフェース1008も支持し組み込む。ハードウェアインタフェース1008は、コネクタ1010を有する。ボックス/システム1002のコネクタ1004は、ハードウェアインタフェース1008のコネクタ1010と嵌合する。
さらに図10を参照すると、HAクラスタハードウェアインタフェース1008およびノード100が、物理的に別個であるように設計されていることが分かる。ノード100のシャーシ1002を、ハードウェアインタフェース1008を取り除くことなく取り除くことができる。これにより、ハードウェアインタフェース1008を、HAクラスタにおいて接続されたままにすることができ、それにより上述したポイント・ツー・ポイントループ化通信における連続性が可能になる。
一実施形態では、HAクラスタハードウェアインタフェース1008を、ラックに直接取り付けられたプリント回路基板として実施してもよい。別の実施形態では、HAクラスタハードウェアインタフェース1008を、ラックに物理的に取り付けられる別のシャーシ(ノードシャーシより深くないことが好ましい)として実施してもよい。
図10では、HAクラスタハードウェアインタフェース1008を、ラックの幅全体およびノードシャーシの高さ全体にわたっているように示す。代替実施形態では、HAクラスタハードウェアインターフェース1008を、ラックの幅にわたりかつ/またはノードシャーシの高さにわたり部分的にのみ延在するように実施してもよい。かかる実施態様(インプリメンテーション)により、ノードシャーシのための空間が、有利に、HAクラスタハードウェアインタフェース1008を通過しない、ラックの裏側からの他の接続を有することができる可能性がある。
図11は、本発明の一実施形態による複数のノードボックスを有する完全なラックレベルの実施態様(インプリメンテーション)の概略図である。図示するように、複数のノード100は各々、ノードボックス/システム1002に収容されている。3つのノード(A、BおよびC)が図示されているが、ノードの数は、3つより多くてもよくまたは3つより少なくてもよい。各ノードボックス/システム1002は、ノードステータス信号および恐らくは電力および/または他の信号を渡すために利用されるコネクタ1004を有する。
図11におけるラック構造1006は、複数のノードボックス/システム1002を収納しかつ物理的に支持する複数のラックスロットに対する水平構造を有するように構成されているように示されている。HAクラスタハードウェアインタフェース1008の複数のコネクタ1010が示されており、各ラックスロットはかかるコネクタ1010を1つ有する。ボックス/システム1002の各コネクタ1004は、ハードウェアインタフェース1008において対応するコネクタ1010と嵌合する。
さらに、ハードウェアインタフェース1008のコネクタ1010の間の「ノード間」接続1012が含まれる。これらの接続1012を、好ましくは、コネクタ1010の隣接するものを相互接続するように構成し、ループ内で閉じられるチェーンを、そのチェーンの2つの端部の間に別の接続1012(図示せず)を提供することによって形成してもよい。
保守またはアップグレードのためにノードが除去される場合、接続1012のチェーンが分離されないことが有利である。代りに、除去されるノードの両側のチェーンのノードが互いに接続される。同様に、チェーンの2つ以上の隣接するノードが除去される場合、除去されたノードの両側のノードが互いに接続される。
1つのあり得る実施形態では、HAクラスタハードウェアインタフェース1008は、複数の別々のプリント回路基板を備えてもよく、各基板は、図10に示すもののようであってもよい。好ましい実施形態では、HAクラスタハードウェアインタフェース1008は、複数のクラスタノードに対するハードウェアインタフェースを提供する比較的大きいプリント回路基板(バックプレーン)を備えてもよい。
ラック構造1006の一実施形態は、標準ラックを備えてもよく、その場合、HAクラスタハードウェアインタフェース1008はそのラック内に後付けされる。別の実施形態では、ラック構造1006は、特別に設計されたクラスタリングラックを備えてもよい。特別に設計されたクラスタリングラックを、ノードおよびハードウェアインタフェースアセンブリを容易に収容するように構成してもよい。さらに、特別に設計されたクラスタリングラックを、適当なポイント・ツー・ポイント構成においてノードステータス信号および/または他の信号を最適に経路指定する機能を有するように構成してもよい。
上述した実施形態は、有利に、クラスタのノードステータス信号処理ループの連続性を依然として維持しながら、保守またはアップグレードのためにHAクラスタノードを物理的に除去しまたは再配置することができる装置を開示する。ハードウェアインタフェースとクラスタノードの各々との間には、HAクラスタハードウェアインタフェースおよび頑強な接続が含まれる。
上述した実施形態は、また、有利に、HAクラスタをラック内で実施することができるようにするラック構造(「ラック内のHAクラスタ」)を開示する。HAノードのHAクラスタへのホットプラグを可能にする拡張を実施してもよい。
上記説明では、本発明の実施形態が完全に理解されるように多数の特定の詳細を示している。しかしながら、本発明の例示した実施形態の上記説明は、網羅的であるようにも、また本発明を開示した厳密な形態に限定するようにも意図されていない。当業者は、本発明を、特定の詳細のうちの1つまたは複数を用いずに、または他の方法、構成要素等を用いて実施することができる、ということを理解するであろう。場合によっては、本発明の態様を不明瞭にしないように、既知の構造または動作については詳細に示さずまたは説明していない。本明細書において、本発明の特定の実施形態および本発明の例を例示の目的で説明したが、当業者は理解するであろうように、本発明の範囲内でさまざまな等価な変更が可能である。
上記詳細な説明に鑑みて、本発明に対してこれらの変更を行うことができる。添付の特許請求の範囲で使用する用語を、本発明を、明細書および特許請求の範囲で開示する特定の実施形態に限定するように解釈するべきではない。むしろ、本発明の範囲は、特許請求の範囲の解釈の確立された原則に従って解釈されるべきである、添付の特許請求の範囲によって確定されるべきである。
本発明の一実施形態による代表的な高可用性クラスタを示す概略図である。 本発明の一実施形態によるクラスタのノードを示す概略図である。 本発明の一実施形態による信号処理ハードウェアの概略図である。 本発明の一実施形態による出力信号発生器の概略図である。 本発明の一実施形態によるサブシステムステータス信号およびデフォルトBAD信号のタイミング図である。 本発明の一実施形態によるノードステータス信号のタイミング図である。 本発明の一実施形態によるステータスパススルー回路の概略図である。 本発明の別の実施形態によるクラスタのノードの概略図である。 本発明の別の実施形態によるステータスパススルー回路の概略図である。 本発明の一実施形態によるノードを除去し他のノードと通信する装置の高レベル図である。 本発明の一実施形態によるラックベースの実施態様(インプリメンテーション)の概略図である。 本発明の一実施形態による複数のノードボックスを示すラックベースの実施態様(インプリメンテーション)の概略図である。
符号の説明
10・・・高可用性クラスタ
20・・・ネットワーク
30・・・通信リンク
100・・・ノード
102・・・計算サブシステム(計算ノード)
104・・・サブシステムステータス
106・・・信号処理ハードウェア
108・・・ノードステータス
202・・・信号発生器
204・・・デフォルトBAD信号
206・・・出力信号発生器
304・・・論理機能ブロック
302・・・プルダウン要素
600・・・ステータスパススルー回路
602・・・選択回路
604・・・ノードN+1に送信されるステータス出力信号
700・・・ノード
702・・・サブシステム低下ステータス
704・・・ノード低下ステータス
800・・・ステータスパススルー回路
802・・・選択回路
804・・・ノードN+1に送信されるステータス出力信号
902・・・HAクラスタハードウェアインタフェース
904・・・ノードNとハードウェアインタフェースとの間の接続
906・・・HAクラスタの残りへの接続
1002・・・ノードボックス/システム
1004・・・ノードのコネクタ
1006・・・ラック構造
1008・・・HAクラスタハードウェアインタフェース
1010・・・インタフェースのコネクタ
1012・・・ノード間接続

Claims (9)

  1. 高可用性クラスタ装置であって、
    前記クラスタの複数の計算ノードと、
    前記ノードの各々に接続するように構成されたハードウェアインタフェースと、
    該ハードウェアインタフェースに結合され、前記ノード間でノードステータス信号を通信するノード間接続であって、前記ノードステータス信号が動作しているノードを示す信号に積極的に変化しない場合には、前記ノードステータス信号はデフォルトの動作していないノードを示す信号となる、ノード間接続と、
    前記ノードを相互接続するデータ通信ネットワークであって、該ネットワークは、前記ノード間接続とは別個であるデータ通信ネットワークと
    を具備し、
    各ノードは、前記ノード間接続によって前記ノードステータス信号を送信することに加えて、前記データ通信ネットワークによってハートビート信号を送信するように構成されており、前記ノード間接続のトポロジカルな接続性を中断することなく前記ハードウェアインタフェースに接続された状態から除去可能である
    高可用性クラスタ装置。
  2. 前記ノード間接続は、ポイント・ツー・ポイントループトポロジーを形成する
    請求項1に記載の高可用性クラスタ装置。
  3. 前記計算ノードの各々はシャーシに収容される
    請求項1に記載の高可用性クラスタ装置。
  4. 前記ハードウェアインタフェースはラックに取り付けられる
    請求項に記載の高可用性クラスタ装置。
  5. 前記ハードウェアインタフェースは
    プリント回路基板
    を備える
    請求項に記載の高可用性クラスタ装置。
  6. 前記ハードウェアインタフェースは別個のシャーシに収容される
    請求項に記載の高可用性クラスタ装置。
  7. 前記ラックは、複数の前記シャーシを支持するように構成される
    請求項に記載の高可用性クラスタ装置。
  8. 前記ノードの各々に構成される第1のコネクタと、
    前記ハードウェアインタフェースにおける少なくとも1つの第2のコネクタと、
    をさらに具備し、
    前記第1のコネクタは前記第2のコネクタと嵌合するように構成される
    請求項1に記載の高可用性クラスタ装置。
  9. 高可用性計算クラスタの第1のノードと第2のノードとの間で、動作していないノードを示すデフォルト状態を有するノードステータス信号を通信する方法であって、前記ノードステータス信号を前記ノード間で通信するためのノード間ネットワークは前記ノードを接続するデータ通信ネットワークと別個であり、前記第1のノードと第2のノードとの間の中間ノードは前記クラスタから除去されており、
    ハードウェアインタフェースにおける第1のコネクタによって第1のノードから前記ノードステータス信号を受け取るステップと、
    前記第1のコネクタから前記ハードウェアインタフェースにおける第2のコネクタに前記ノードステータス信号を転送するステップであって、前記転送するステップは、前記第1のコネクタから前記中間ノードに対応する中間コネクタに前記ノードステータス信号を送信するステップと、前記中間コネクタから前記第2のコネクタに前記ノードステータス信号を送信するステップとを含む、転送するステップと、
    前記第2のコネクタから第2のノードに前記ノードステータス信号を送信するステップと
    を含む方法。
JP2005258992A 2004-09-08 2005-09-07 高可用性クラスタノードの除去および通信 Expired - Fee Related JP4045282B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/935,882 US7664994B2 (en) 2004-09-08 2004-09-08 High-availability cluster node removal and communication

Publications (2)

Publication Number Publication Date
JP2006079618A JP2006079618A (ja) 2006-03-23
JP4045282B2 true JP4045282B2 (ja) 2008-02-13

Family

ID=34984341

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005258992A Expired - Fee Related JP4045282B2 (ja) 2004-09-08 2005-09-07 高可用性クラスタノードの除去および通信

Country Status (3)

Country Link
US (1) US7664994B2 (ja)
JP (1) JP4045282B2 (ja)
GB (1) GB2418041A (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080077635A1 (en) * 2006-09-22 2008-03-27 Digital Bazaar, Inc. Highly Available Clustered Storage Network
US8594110B2 (en) 2008-01-11 2013-11-26 Mosaid Technologies Incorporated Ring-of-clusters network topologies
US8285900B2 (en) * 2009-02-17 2012-10-09 The Board Of Regents Of The University Of Texas System Method and apparatus for congestion-aware routing in a computer interconnection network
JP5381723B2 (ja) * 2010-01-08 2014-01-08 日本電気株式会社 並列計算機
US8108733B2 (en) * 2010-05-12 2012-01-31 International Business Machines Corporation Monitoring distributed software health and membership in a compute cluster
US20110289342A1 (en) * 2010-05-21 2011-11-24 Schaefer Diane E Method for the file system of figure 7 for the cluster
US10680886B1 (en) * 2014-08-29 2020-06-09 Schneider Electric Systems Usa, Inc. Remote wireless sensors and systems including remote wireless sensors
WO2017052548A1 (en) 2015-09-24 2017-03-30 Hewlett Packard Enterprise Development Lp Failure indication in shared memory

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6389551B1 (en) 1998-12-17 2002-05-14 Steeleye Technology, Inc. Method of preventing false or unnecessary failovers in a high availability cluster by using a quorum service
US6453426B1 (en) * 1999-03-26 2002-09-17 Microsoft Corporation Separately storing core boot data and cluster configuration data in a server cluster
US6502203B2 (en) 1999-04-16 2002-12-31 Compaq Information Technologies Group, L.P. Method and apparatus for cluster system operation
JP2001067330A (ja) 1999-06-22 2001-03-16 Fuji Electric Co Ltd 分散処理システム
US6609213B1 (en) * 2000-08-10 2003-08-19 Dell Products, L.P. Cluster-based system and method of recovery from server failures
US20030149735A1 (en) * 2001-06-22 2003-08-07 Sun Microsystems, Inc. Network and method for coordinating high availability system services
US20030177228A1 (en) 2002-02-01 2003-09-18 Xavier Vigouroux Adaptative heartbeat flow for cluster node aliveness detection
US6947957B1 (en) * 2002-06-20 2005-09-20 Unisys Corporation Proactive clustered database management
US6822874B1 (en) * 2002-11-12 2004-11-23 Wooshcom Corporation Modular high availability electronic product architecture with flexible I/O
US7451359B1 (en) 2002-11-27 2008-11-11 Oracle International Corp. Heartbeat mechanism for cluster systems
US20050068888A1 (en) * 2003-09-26 2005-03-31 Komarla Eshwari P. Seamless balde failover in platform firmware
US7383464B2 (en) * 2003-12-08 2008-06-03 International Business Machines Corporation Non-inline transaction error correction
US7228462B2 (en) * 2004-01-23 2007-06-05 Hewlett-Packard Development Company, L.P. Cluster node status detection and communication
US6928589B1 (en) * 2004-01-23 2005-08-09 Hewlett-Packard Development Company, L.P. Node management in high-availability cluster
US7698487B2 (en) * 2004-06-30 2010-04-13 Intel Corporation Share resources and increase reliability in a server environment

Also Published As

Publication number Publication date
JP2006079618A (ja) 2006-03-23
GB0516364D0 (en) 2005-09-14
US7664994B2 (en) 2010-02-16
GB2418041A (en) 2006-03-15
US20060053336A1 (en) 2006-03-09

Similar Documents

Publication Publication Date Title
JP4045282B2 (ja) 高可用性クラスタノードの除去および通信
US6928589B1 (en) Node management in high-availability cluster
JP2005209190A (ja) 高可用性クラスタノードの複数状態ステータスの報告
US6895528B2 (en) Method and apparatus for imparting fault tolerance in a switch or the like
US7284067B2 (en) Method for integrated load balancing among peer servers
US6253266B1 (en) Apparatus and method for controlling information flow in a card cage having multiple backplanes
JP2017518552A (ja) Rasおよび電力管理のための高速シリアルリンク帯域内レーンフェイルオーバー
US7319664B2 (en) Redundant link management switch for use in a stack of switches and method thereof
CN1863081A (zh) 基于智能平台管理接口的管理系统和方法
JP2006079603A (ja) 高可用性クラスタ化のためのスマートカード
US7206963B2 (en) System and method for providing switch redundancy between two server systems
US11003394B2 (en) Multi-domain data storage system with illegal loop prevention
JP4038510B2 (ja) クラスタノードのステータスの検出および通信
CN111880999B (zh) 用于高密度刀片服务器的高可用监控管理装置及冗余切换方法
US20220030093A1 (en) Selective tcp/ip stack reconfiguration
EP4128673A1 (en) Smart cable for redundant top-of-rack's
US11567834B2 (en) Data center storage availability architecture using rack-level network fabric
JP7474168B2 (ja) 監視システムおよび障害監視方法
CN113392053B (zh) 一种存储系统,一种通信方法及组件
US20220206690A1 (en) System and method to increase data center availability using rack-to-rack storage link cable
JP2004159205A (ja) サーバのネットワーク接続システム、方法およびバックプレーン
Raikar et al. Designing network failover and recovery in MPI for multi-rail InfiniBand clusters
TW201643740A (zh) 用來管理一儲存系統之方法與裝置
KR20030064072A (ko) Atm 교환 시스템에서 이중 미디어 게이트웨이 장치 및제어 방법
Rajan Building IP networks using Advanced Telecom Computing Architecture

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061109

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070201

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071119

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees