JP2005258847A - フェイルオーバクラスタシステム及びフェイルオーバ方法 - Google Patents

フェイルオーバクラスタシステム及びフェイルオーバ方法 Download PDF

Info

Publication number
JP2005258847A
JP2005258847A JP2004070057A JP2004070057A JP2005258847A JP 2005258847 A JP2005258847 A JP 2005258847A JP 2004070057 A JP2004070057 A JP 2004070057A JP 2004070057 A JP2004070057 A JP 2004070057A JP 2005258847 A JP2005258847 A JP 2005258847A
Authority
JP
Japan
Prior art keywords
failover
node
file system
takeover
target resource
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
JP2004070057A
Other languages
English (en)
Other versions
JP4462969B2 (ja
Inventor
Nobuyuki Saiga
信之 雑賀
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 JP2004070057A priority Critical patent/JP4462969B2/ja
Priority to US10/876,295 priority patent/US7055053B2/en
Publication of JP2005258847A publication Critical patent/JP2005258847A/ja
Priority to US11/407,162 priority patent/US7313722B2/en
Application granted granted Critical
Publication of JP4462969B2 publication Critical patent/JP4462969B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/2046Error 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 where the redundant components share persistent storage
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • 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/2038Error 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 with a single idle spare processing component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Hardware Redundancy (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】 フェイルオーバを行う場合に、利用度の高い業務サービスを優先的に再開できるようにする。
【解決手段】 ノード1とノード2とは互いにフェイルオーバの関係に立ち、共有LUを介して、フェイルオーバに使用する情報を共有する。ノード1にマウントされているファイルシステムFS1A,FS1Bのうち、FS1Aにはレベル1の動作が割り当てられており、FS1Bにはレベル2の動作が割り当てられている。レベル1のファイルシステムFS1Aは、フェイルオーバの開始と同時に、ノード2に引き継がれる。レベル2のファイルシステムFS1Bは、フェイルオーバ開始後において、FS1Bへのアクセス要求が発生した場合に、ノード2に引き継がれる。これにより、利用度の高い業務サービスを早期に再開することができる。
【選択図】 図1

Description

本発明は、フェイルオーバクラスタシステム及びフェイルオーバ方法に関する。
クラスタシステムとは、複数のコンピュータ(ノードとも呼ぶ)を疎結合させて1つのまとまりを構成したものである。クラスタシステムとしては、例えば、負荷分散型やフェイルオーバ型等が知られている。フェイルオーバクラスタシステムとは、複数のコンピュータによってシステムを冗長化したものである。フェイルオーバシステムでは、一方のコンピュータが停止した場合に、他方のコンピュータが業務を引き継ぎ、クライアントコンピュータに対する業務アプリケーションサービスの継続性を保証している。一方のコンピュータと他方のコンピュータとは、LAN等の通信回線(インターコネクト)を介して接続されており、互いの間でハートビート通信を行うことにより、相手方コンピュータの停止を監視する。
ハートビート通信とは、複数のコンピュータ間で所定の信号を所定間隔で通信することにより、互いの機能停止を監視する技術である。ハートビート通信が行われている間は、相手方コンピュータが正常に稼働しているものと判断され、フェイルオーバ(業務の引継ぎ)は行われない。逆に、ハートビート通信が途切れた場合は、相手方コンピュータがシステムダウンしたものと判断され、相手方コンピュータで提供されていた業務アプリケーションサービスをフェイルオーバ先コンピュータで引継ぐようになっている。
業務アプリケーションサービスを利用するクライアントコンピュータからは、フェイルオーバクラスタ全体が1つのコンピュータのように見える。従って、現用系コンピュータから待機系コンピュータに処理が切り替わった場合でも、クライアントコンピュータは、どのコンピュータから業務アプリケーションサービスが提供されているかを意識することはない。
ここで、フェイルオーバ先コンピュータの稼働状況を何ら考慮せずにフェイルオーバを実行した場合は、業務アプリケーションサービスを肩代わりするコンピュータ自体が過負荷になり、応答性等が低下する可能性がある。そこで、フェイルオーバ先コンピュータの稼働状況に応じて、業務アプリケーションサービスの優先度を変更できるようにした技術も知られている(特許文献1)。
特開平11−353292号公報
上記文献に記載の技術では、フェイルオーバ対象の資源の全体を一度に一括して、フェイルオーバ元からフェイルオーバ先に移行させるようになっている。従って、フェイルオーバ対象の資源が多くなればなるほど、フェイルオーバ先コンピュータで業務アプリケーションサービスを再開するまでに時間がかかる。
例えば、ファイルシステムの引継の場合は、フェイルオーバ元でのファイルシステムのアンマウントと、フェイルオーバ先でのファイルシステムのマウントとが必要となる。アンマウントやマウントを行う場合は、キャッシュ上のデータをディスクに反映させたり、更新履歴ファイル等に基づいてデータの記憶状態を再現等することにより、データ群の整合性を保つ必要がある。従って、フェイルオーバ元からフェイルオーバ先に移行させるファイルシステムの数が増大するほど、業務アプリケーションサービス再開までの時間が長くなる。
本発明は、上記の問題点に鑑みてなされたもので、その目的の一つは、業務再開までの時間を短縮できるようにしたフェイルオーバクラスタシステム及びフェイルオーバ方法を提供することにある。本発明の目的の一つは、使用頻度の高いリソースを先に移行させ、使用頻度の低いリソースは後から移行させることにより、利便性を低下させずに業務再開時間を短縮できるようにしたフェイルオーバクラスタシステム及びフェイルオーバ方法を提供することにある。本発明の目的の一つは、リソースの使用状況に応じて、引継処理の順序を動的に変更することにより、より効率的なフェイルオーバを行うことができるフェイルオーバクラスタシステム及びフェイルオーバ方法を提供することにある。本発明の更なる目的は、後述する実施の形態の記載から明らかになるであろう。
上記課題を解決すべく、本発明に従うフェイルオーバクラスタシステムは、複数のコンピュータを接続し、所定の場合に、フェイルオーバ元コンピュータのフェイルオーバ対象リソースをフェイルオーバ先コンピュータに引き継がせるものであって、フェイルオーバ対象リソースを段階的に引継ぎ可能な制御部を備えている。
フェイルオーバ対象リソースとしては、例えば、ファイルシステム等を挙げることができる。制御部は、フェイルオーバ対象リソースに設定される優先順位に基づいて、フェイルオーバ対象リソースを段階的に引継ぐことができる。リソースを段階的に引継ぐとは、例えば、あるファイルシステムを先に移行させ、他のファイルシステムを後から移行させる場合等のように、各リソース単位で引継処理を行うことを意味する。
制御部は、フェイルオーバ対象リソースの使用状況に基づいて、フェイルオーバ対象リソースに予め優先順位を設定することができる。
また、各コンピュータは、共有記憶装置を介して、フェイルオーバ対象リソースの引継ぎに関する引継情報を共有することができる。そして、制御部は、共有記憶装置の引継情報を参照することにより、優先順位に基づいて、フェイルオーバ対象リソースを段階的に引継ぐことができる。
引継情報は、フェイルオーバ対象リソースを特定するための情報と、優先順位に従ってフェイルオーバ対象リソースに設定される引継処理動作とを関連付けて構成することができる。
また、優先順位には、直ちに引継処理を実行させる第1順位と、フェイルオーバ対象リソースへのアクセス要求が発生した場合に引継処理を実行させる第2順位とを含めることができる。
さらに、フェイルオーバ先コンピュータが所定の低負荷状態である場合に、フェイルオーバ対象リソースの引継処理を実行させる第3順位を含めてもよい。
さらに、引継処理を実行しない第4順位を含めることもできる。
以下、図1〜図16に基づいて、本発明の実施形態を説明する。
本発明に従うフェイルオーバクラスタシステムは、例えば、図1(a)の発明概念図に示すように、各ノード1,2は互いにフェイルオーバ対象となっており、ハートビート通信を行うことで相互に監視している。各ノード1,2は、共有LU(Logical Unit)を介して、フェイルオーバに使用する各種の情報を共有している。各ノード1,2は、それぞれファイルシステムを利用可能であり、それぞれの業務アプリケーションサービスを提供することができる。しかし、図1では、説明の便宜上、ノード1のファイルシステムFS1A,FS1Bのみを示す。
図1(b)に示すように、ある時点において何らかの障害が発生し、ノード1がシステムダウンした場合は、ノード1、2間のハートビート通信が途絶える。ノード2は、ハートビート通信の断絶に基づいて、ノード1のシステムダウンを検出し、フェイルオーバを実行する。ノード1には、複数のファイルシステムFS1A,FS1Bがマウントされている。これら複数のファイルシステムFS1A,FS1Bは、フェイルオーバ対象になっているものとする。本実施例では、全てのフェイルシステムFS1A,FS1Bを一度に一括して、フェイルオーバ先のノード2に移すのではなく、ファイルシステムの使用状況に基づいて、段階的に移行可能となっている。即ち、まず最初に、フェイルオーバの開始と共に、優先順位が高く設定されているFS1Aを直ちにノード1にマウントする。そして、図1(c)に示すように、優先順位が低く設定されているFS1Bについては、FS1Bへのアクセス要求が発生するのを待ってから、ノード2にマウントする。
このように、本実施形態では、フェイルオーバ対象となっているファイルシステムFS1A,FS1Bを、ファイルシステムの使用状況に応じて、フェイルオーバ元のノード1からフェイルオーバ先のノード2に段階的に移行させる。ファイルシステムの使用状況は種々変化するため、移行順序を規定する優先度も動的に変更される。本実施形態では、優先度の高いリソースFS1Aは直ちに移行させ、優先度の低いリソースFS1Bは必要に応じて移行させる。従って、使用頻度の高いFS1Aを用いた業務アプリケーションサービスをより早く再開することができ、ユーザの利便性が向上する。詳細は後述するが、リソースの分類方法と引継動作の内容等には種々の変形例が存在する。
本実施形態では、互いにフェイルオーバ関係に立つ複数のコンピュータを接続して構成されるフェイルオーバクラスタシステムのフェイルオーバ方法が開示されている。この方法には、フェイルオーバ対象リソースの使用状況を監視するステップと、使用状況に基づいて、フェイルオーバ対象リソースの優先順位を設定するステップと、フェイルオーバ対象リソースを特定するための情報と、優先順位に従ってフェイルオーバ対象リソースに設定される引継処理動作とを関連付けて構成される引継情報を、各コンピュータにより共有される共有ディスクに記憶させるステップと、フェイルオーバ実行条件が成立したか否かを判定するステップと、フェイルオーバ実行条件が成立したと判定された場合は、共有ディスクに記憶された引継情報を参照し、優先順位に基づいて、フェイルオーバ元コンピュータのフェイルオーバ対象リソースをフェイルオーバ先コンピュータに段階的に引き継がせるステップと、を含んでいる。
詳細はさらに後述するが、本実施形態のフェイルオーバクラスタシステムは、フェイルオーバ元コンピュータと、このフェイルオーバ元コンピュータに接続されるフェイルオーバ先コンピュータと、フェイルオーバ元コンピュータとフェイルオーバ先コンピュータとに共有される共有ディスクと、を備えている。そして、フェイルオーバ元コンピュータには、フェイルオーバ対象となっている各ファイルシステムの使用状況に基づいて、各ファイルシステムを第1カテゴリ、第2カテゴリ、または第3カテゴリのいずれかに区分し、この各ファイルシステムと各カテゴリとの対応関係を共有ディスクに記憶させる優先順位決定処理部を設け、フェイルオーバ先コンピュータには、第1カテゴリに属するファイルシステムについては、即時マウントを実行するフェイルオーバ処理部と、第2カテゴリに属するファイルシステムについてアクセス要求が発生した場合に、第2カテゴリに属するファイルシステムのマウントを実行し、第3カテゴリに属するファイルシステムについては、アクセス要求の有無を問わずにマウントしない、アクセス要求受付処理部とを設けている。
図1は、本実施例によるフェイルオーバクラスタシステムの全体概要を示す機能ブロック図である。このクラスタシステムは、それぞれ後述するように、互いにフェイルオーバ対象となっている複数のノード1,2と、各ノード1,2により共有される共有ディスク4とを備えている。
ノード1,2は、それぞれ例えば、CPU、メモリ、インターフェース回路等のコンピュータ資源を備えたコンピュータシステム(サーバマシン)として構成されている。ノード1,2は、例えば、ファイル共有サービスに特化したNAS(Network Attached Storage)として構成できる。あるいは、各ノード1,2を、汎用のOS(Operating System)上にファイル共有プログラムを実装したファイルサーバとして構成してもよい。
ノード1とノード2とは、それぞれサービス提供の通信ネットワークCN1を介して、1つまたは複数のホスト装置5に接続されている。また、ノード1とノード2とは、別の通信ネットワークCN2を介して相互に接続されている。さらに、ノード1とノード2とは、通信ネットワークCN3を介して共有LU4にそれぞれ接続されている。ここで、通信ネットワークCN1,CN2は、例えば、LAN(Local Area Network)等として構成することができる。通信ネットワークCN3は、例えば、SAN(Storage Area Network)等として構成することができる。通信ネットワークやプロトコルは、上記の例に限らず、種々のものを適宜採用可能である。
ノード1は、ファイル共有機能11と、フェイルオーバ機能12とを備えている。また、ノード1は、複数のファイルシステムFS1A〜FS1Cを利用可能となっている。ノード1は、これらのファイルシステムFS1A〜FS1Cを用いて、各種の業務アプリケーションサービス(以下、業務サービス)を提供するようになっている。後述のように、各ファイルシステムFS1A〜FS1Cは、フェイルオーバ対象のリソースとなっており、その優先順位はそれぞれ相違する可能性がある。
ファイル共有機能11は、アクセス要求受付処理111と、優先順位決定処理112とを備える。詳細は後述するが、アクセス要求受付処理111では、各ホスト装置5からのアクセス要求の処理やアクセスログの管理等を行う。優先順位決定処理112では、各ホスト装置5からのアクセス状況等に基づいて、各ファイルシステムFS1A〜FS1Cの属するカテゴリを決定し、フェイルオーバ時の優先順位を設定する。
フェイルオーバ機能12は、フェイルオーバ処理121と、ハートビート監視処理122とを備える。詳細は後述するが、フェイルオーバ処理121では、ハートビート監視処理122からの通知に基づいて起動し、フェイルオーバ元のノードからファイルシステムを引き継いで業務サービスを再開する。ハートビート監視処理122では、ノード間のハートビート通信が周期的に実行されているか否かを監視している。例えば、ハートビート通信が所定時間以上途絶えた場合、ハートビート監視処理122は、相手方のノード2がシステムダウンしたものと判定し、フェイルオーバ処理121を起動させる。
ノード2も、ノード1と同様に、ファイル共有機能21と、フェイルオーバ機能22とを備えている。ファイル共有機能21は、アクセス要求受付処理211と、優先順位決定処理212とを備えている。フェイルオーバ機能22は、フェイルオーバ処理221と、ハートビート監視処理222とを備えている。ノード2とノード1とは、それぞれ同一の機能を実現する。そして、ノード2は、複数のファイルシステムFS2A〜FS2Cを利用可能である。ノード2は、ファイルシステムFS2A〜FS2Cを用いて、ホスト装置5に対し業務サービスを提供する。
本実施例では、ノード1とノード2とは互いに対等の関係に立ち、それぞれが独自の業務サービスを提供可能となっている。そして、ノード1がシステムダウンや計画停止した場合には、ノード1で提供されていた業務サービスは、ノード2で引き継がれる。逆に、ノード2がシステムダウンや計画停止した場合には、ノード2で提供されていた業務サービスは、ノード1に引き継がれる。なお、これに限らず、例えば、ノード1を現用系サーバとして使用し、ノード2を待機系サーバとして使用する構成でもよい。
各ノード1,2で使用されるファイルシステムFS1A〜FS1C,FS2A〜FS2Cは、ホスト装置5のOS種類毎にそれぞれ用意される。また、同一のOSで使用されるファイルシステムであっても、別のユーザにより使用される場合は、異なるファイルシステムとなる。各ファイルシステムは、例えば、論理ボリューム(LU)に設けられる。論理ボリュームは、例えば、ハードディスクドライブや半導体メモリ装置等の物理的な記憶領域上に構築される。ファイルシステムが設けられる論理ボリュームは、例えば、ディスクアレイサブシステムのような大容量ストレージシステムにより提供される。
共有LU4は、ノード1とノード2とに共有されるもので、ノード1引継情報とノード2引継情報とを記憶している。ノード1引継情報とは、ノード1の業務サービスをノード2が引継ぐために必要となる情報である。ノード2引継情報とは、ノード2の業務サービスをノード1で引継ぐために必要となる情報である。引継情報の詳細は、図3と共にさらに後述する。
図3は、フェイルオーバ時に使用される引継情報の詳細を示す説明図である。本実施例では、フェイルオーバに際して全ファイルシステムを平等に扱うのではなく、使用状況等に応じて、複数のカテゴリに区分している。
図3(a)は、各ファイルシステムを分類するために使用されるカテゴリ決定テーブルT1を示す。図3(a)に示すカテゴリ決定テーブルT1は、各ファイルシステムの帰属先カテゴリの決定方法を示すためのもので、コンピュータにより利用可能なテーブルとして存在する必要はない。
本実施例では、2つの指標に着目して、各ファイルシステムを合計6種類のカテゴリに区分けしている。1つの指標は、そのファイルシステムを共有するホスト装置5の数Hである。他の1つの指標は、そのファイルシステムへのアクセス頻度Lである。
共有ホスト数Hは、例えば、3段階に区分可能である。1つ目の段階は、そのファイルシステムがn以上のホスト装置5により利用されている場合である。2つ目の段階は、そのファイルシステムが2以上n未満のホスト装置5により利用されている場合である(2≦H<n)。3つ目の段階は、そのファイルシステムが単一のホスト装置5によって利用されている場合である(H=1)。ここで、nは、共有ホスト数Hに基づいて区分するための閾値である。
アクセス頻度Lは、例えば、2段階に区分可能である。1つ目の段階は、そのファイルシステムへのアクセス頻度Lがmより多い場合である(m<L)。2つ目の段階は、そのファイルシステムへのアクセス頻度Lがm以下である場合である(L≦m)。ここで、mは、アクセス頻度Lに基づいて区分するための閾値である。
共有ホスト数Hの区分に使用される第1の閾値nとアクセス頻度Lの区分に使用される第2の閾値mとは、システム管理者等により手動で設定することもできるし、あるいは、自動的に算出して設定することもできる。
図3(a)に示す各カテゴリには、共有ホスト数Hの各段階を示す数字と、アクセス頻度Lの各段階を示す数字とが添えられている。例えば、共有ホスト数Hが1であって(H=1)、アクセス頻度Lがm以下の場合(L≦m)は、共有ホスト数の区分が第3段階で、アクセス頻度の区分が第2段階なので、「カテゴリ32」として表現される。また、例えば、共有ホスト数Hがn以上であって(n≦H)、アクセス頻度Lがmよりも大きい場合(m<L)は、共有ホスト数の区分が第1段階であり、アクセス頻度の区分も第1段階であるので、「カテゴリ11」と表現される。
図3(a)の左上から右下に向かうに従って、そのファイルシステムを利用するホスト装置5の数、及びそのファイルシステムへのアクセス頻度が増加する傾向にある。「カテゴリ32」に属するファイルシステムは、使用状況が最も不活発なファイルシステムであり、「カテゴリ11」に属するファイルシステムは、使用状況が最も活発なファイルシステムである。その他の「カテゴリ12」、「カテゴリ22」、「カテゴリ21」及び「カテゴリ31」に属するファイルシステムは、共有ホスト数Hまたはアクセス頻度Lのいずれかの指標によれば、中程度の使用状況に置かれているファイルシステムである。
そこで、本実施例では、以下に述べるように、6つのカテゴリを3つのグループにまとめ、各グループ毎に、それぞれ異なる引継処理動作(レベル)を設定している。そして、各ファイルシステムが所属するカテゴリは、最新の使用状況に応じて動的に変化するようになっており、最新の使用状況に応じた引継処理動作が行われるようにしている。なお、ファイルシステムのカテゴリ分けは、上記の例に限定されない。例えば、アクセス頻度Lのみ、あるいは、共有ホスト数Hのみのいずれか一方の指標に基づいて、カテゴリを分けてもよい。また、1つの閾値を用いるのではなく、複数の閾値を採用し、より細かくカテゴリを分けることもできる。さらに、各カテゴリのグループ化も、上記の例に限らず、例えば、2グループまたは4グループ以上にまとめることもできる。
図3(b)は、フェイルオーバ動作定義テーブルT2の一例を示す説明図である。本実施例では、フェイルオーバ時の引継処理動作として、以下の3つのレベルを用意する。第1のレベルは、フェイルオーバの開始と共に、ファイルシステムをフェイルオーバ先ノードにマウントさせるものである。第2のレベルは、フェイルオーバの開始時にはマウントせず、そのファイルシステムへのアクセス要求が発生した場合に、フェイルオーバ先のノードにマウントさせるものである。第3のレベルは、フェイルオーバが開始されても、そのファイルシステムをフェイルオーバ先のノードにマウントさせないものである。
「カテゴリ11」に属するファイルシステムは、最も活発に使用されているので、レベル1が与えられる。「カテゴリ32」に属するファイルシステムの使用状況は、最も不活発であるため、この「カテゴリ32」に属するファイルシステムには、レベル3が与えられる。その他のカテゴリに属するファイルシステムは、中程度の使用状況であるから、レベル2が与えられる。
レベル1は、フェイルオーバの開始と同時に、フェイルオーバ元ノードからファイルシステムをアンマウントし、フェイルオーバ先ノードへマウントし直すモードであり、例えば、即時マウントモードと呼ぶことができる。但し、フェイルオーバの開始と同時にファイルシステムをマウントし直すとは、フェイルオーバの開始によってフェイルオーバ先ノードへのマウントを直ちに試みるという程度の意味である。ファイルシステムのアンマウントやマウントには、データの整合性等を保つために所定の処理が必要であり、この所定の処理の分だけ時間を要する。
レベル2は、そのファイルシステムへのアクセス要求が発生したときに、フェイルオーバ先ノードへマウントするモードであり、例えば、オンデマンドマウントモードと呼ぶこともできる。基本的に、レベル2に属するファイルシステムは、アクセス要求の発生によってフェイルオーバ元からフェイルオーバ先へと移動する。しかし、後述のように、アクセス要求が発生しない場合でも、フェイルオーバ先ノードが所定の低負荷状態にある場合は、ファイルシステムがフェイルオーバ先ノードに移される。このモードは、フェイルオーバ先ノードが低負荷状態になるのを待ってから実行されるため、例えば、遅延マウントモードと呼ぶことができる。
レベル3は、フェイルオーバが開始された場合でも、フェイルオーバ元ノードからフェイルオーバ先ノードに移動することはなく、そのファイルシステムへのアクセス要求が発生した場合でも、フェイルオーバ先ノードにマウントされないモードである。レベル3では、フェイルオーバ時のマウントは行わず、フェイルオーバ元ノードが復旧してフェイルバック要求が出された場合に、フェイルオーバ元ノードに再マウントされるモードであり、例えば、非マウントモードと呼ぶことができる。
なお、図3(b)に示すフェイルオーバ動作定義テーブルT2は、共有LU4に記憶させてもよいし、記憶させなくてもよい。
図3(c)は、ファイルシステム動作割当リストT3の一例を示す説明図である。ファイル動作割当リスト(以下、動作割当リストと略記)T3には、各ファイルシステム毎に、フェイルオーバ時の引継処理動作が規定されている。
例えば、図示の例では、ファイルシステムFS1Aには、レベル1の動作が割り当てられており、ファイルシステムFS1Bには、レベル2の動作が割り当てられている。そして、ファイルシステムFS1Cには、レベル3の動作が割り当てられている。
ノード1に障害が発生してフェイルオーバが開始された場合、レベル1の動作が割り当てられているファイルシステムFS1Aは、直ちにノード1からノード2に移される。フェイルオーバ開始直後に、ノード1からノード2に移されるファイルシステムはFS1Aのみである。従って、ノード2は、ファイルシステムFS1Aのみをマウントするだけで、FS1Aを利用する業務サービスを直ちに提供することができる。
ノード1に残されたままのファイルシステムFS1B,FS1Cのうち、レベル2の動作が割り当てられているファイルシステムFS1Bは、ホスト装置5からのアクセス要求が発生した場合に、ノード1からノード2に移される。フェイルオーバの開始時点からファイルシステムFS1Bへのアクセス要求が発生するまでの時間だけ、ファイルシステムFS1Bの移動開始は遅延する。しかし、ファイルシステムFS1A〜FS1Cの全体をノード2に移動させた後で全ての業務サービスを再開する場合に比べて、ファイルシステムFS1Bのみを移動させてから必要とされる業務サービスを部分的に再開する方が、クラスタシステム全体としての応答性は向上する。
レベル3の動作が割り当てられているファイルシステムFS1Cは、フェイルオーバが開始された場合でも、ノード1からノード2に移動されない。もしも、ホスト装置5がファイルシステムFS1Cへのアクセスを要求した場合は、そのホスト装置5に対してエラーが返される。ノード1が復旧し、ノード1からノード2にフェイルバック要求が出された場合に、フェイルシステムFS1Cはノード1に再マウントされる。本実施例では、最も使用状況が不活発で、フェイルバック先への移動の必要性に乏しいファイルシステムFS1Cを、フェイルオーバ時に移動させずにそのまま放置する。従って、ノード2は、無駄なマウントを省略することができ、その分だけ他のファイルシステムFS1A,FS1Bを利用する業務サービスを早期に再開することができる。また、フェイルバック時には、ファイルシステムFS1Cのアンマウント処理を行う必要がなく、その分だけフェイルバックを速やかに完了させることができる。
図4は、アクセス要求受付処理111,211により実行される処理の概要を示すフローチャートである。以下の説明では、ノード1をフェイルオーバ元、ノード2をフェイルオーバ先とした場合を例に挙げる。ノード1がフェイルオーバ先、ノード2がフェイルオーバ元の場合は、処理の内容に差はないため説明を省略する。
ノード2は、ホスト装置5からアクセス要求が発生したか否かを監視する(S1)。ホスト装置5からのアクセス要求が検出された場合(S1:YES)、ノード2は、フェイルオーバの発生前であるか否かを判定する(S2)。フェイルオーバ発生前のアクセス要求である場合(S2:YES)、即ち、通常状態におけるアクセス要求である場合は、そのアクセス要求に関する情報をアクセスログに記憶させる(S3)。アクセスログは、ノード2のローカルLUやローカルメモリ等に保存してもよいし、共有LU4に保存してもよい。アクセスログの一例を、図7(c)に示す。このアクセスログT6には、アクセス日時(年月日時分秒)と、アクセスされたファイルシステム名称とが対応付けられて記録される。そして、ノード2は、ホスト装置5からのアクセス要求に応じた処理を行う(S4)。
例えば、ホスト装置5からファイルの更新を要求された場合は、新たなファイルをホスト装置5から受信して、所定のファイルシステムに書き込む。また、例えば、ホスト装置5からファイルの読み出しを要求された場合、ノード2は、要求されたファイルを所定のファイルシステムから読み出して、ホスト装置5に送信する。
フェイルオーバ発生前において、各ノード1,2のアクセス要求受付処理111,211は、それぞれS1〜S4の処理を繰り返し、ファイルシステムFS1A〜FS1C,FS2A〜FS2Cへのアクセスログをそれぞれ更新する。このアクセスログに基づいて、各ファイルシステム毎のアクセス頻度をそれぞれ求めることができる。
一方、ノード1からノード2へのフェイルオーバ発生後において、ホスト装置5からアクセス要求があった場合(S2:NO)、ノード2は、アクセス対象のファイルシステムを特定し、動作割当リストを参照する。これにより、ノード2は、アクセス対象のファイルシステムに割り当てられている引継処理動作のレベルを把握する(S5)。
次に、ノード2は、アクセス対象のファイルシステムについて、レベル2の動作が割り当てられているか否かを判定する(S6)。そのファイルシステムについてレベル2の動作が割り当てられている場合(S6:YES)、ノード2は、マウント済フラグがオフ状態か否かを判定する(S7)。マウント済フラグとは、ファイルシステムが既にマウントされている状態を示す情報である。ファイルシステムがマウントされている場合、マウント済フラグはオン状態となり、ファイルシステムが未だマウントされていない場合、マウント済フラグはオフ状態となる。
レベル2の動作が割り当てられているファイルシステムが未だマウントされていない場合(S7:YES)、ノード2は、目的のファイルシステムをノード1からアンマウントし、自身にマウントさせる(S8)。そして、ノード2は、マウント済フラグをオン状態にセットする(S9)。
ホスト装置5からアクセスを要求されたファイルシステムにレベル2の動作が割り当てられていない場合(S6:NO)、ノード2は、そのファイルシステムに割り当てられている動作がレベル3であるか否かを判定する(S10)。レベル3の動作が設定されたファイルシステムは、フェイルオーバ先のノード2にマウントされず、フェイルオーバ元のノード1が復旧した場合に、ノード1に再マウントされる。従って、アクセス対象のファイルシステムにレベル3の動作が設定されている場合(S10:YES)、ノード2は、エラー処理を行う(S11)。ノード2からエラーを返されたホスト装置5は、例えば、時間をおいてから再度アクセスを試みる。その時点で、ノード1の復旧が完了している場合、ノード1を介してサービスが提供される。
ホスト装置5からアクセスを要求されたファイルシステムに、レベル2またはレベル3のいずれの動作も割り当てられていない場合(S10:NO)、そのファイルシステムには、レベル1の動作が設定されている。レベル1のファイルシステムは、フェイルオーバの開始と略同時にノード2にマウントされているため、直ちに使用可能である。そこで、ノード2は、アクセス情報をアクセスログに記憶し(S12)、ホスト装置5からのアクセス要求を処理する(S13)。
同様に、レベル2のファイルシステムであっても、既にノード2にマウント済である場合(S7:NO)、ノード2は、そのファイルシステムを直ちに利用可能である。そこで、アクセスログを更新し(S12)、アクセス要求を処理する(S13)。
上述したアクセス要求受付処理の動作概要をまとめると、以下の通りとなる。
(1)フェイルオーバ発生前の通常状態
アクセスログを更新してファイルシステムの利用頻度を記憶し、また、アクセス要求を処理する。
(2)フェイルオーバ発生後、レベル1のファイルシステムにアクセスされた場合
レベル1のファイルシステムは、他のファイルシステムに優先してマウントされるため、通常状態(1)と同様の処理が行われる。
(3)フェイルオーバ発生後、レベル2のファイルシステムにアクセスされた場合
そのファイルシステムがマウントされていなければマウントし、マウント済であれば、通常状態(1)と同様に処理する。
(4)フェイルオーバ発生後、レベル3のファイルシステムにアクセスされた場合
そのファイルシステムは、いずれのノードからも利用できないので、ホスト装置5にエラーを返す。
次に、図5は、優先順位決定処理112,212による処理の概略を示すフローチャートである。この処理は、フェイルオーバの有無を問わずに、各ノード1,2において、定期的に実行されるバッチプロセスである。
ノード1,2は、それぞれ所定時間が経過したか否かを判定する(S21)。所定時間が経過した場合(S21:YES)、ノード1,2は、それぞれのアクセスログT6を読み出して取得する(S22)。各ノード1,2は同期して本処理を実行してもよいし、各ノード1,2が独自のサイクルでそれぞれ本処理を実行してもよい。
各ノード1,2は、アクセスログT6に基づいて、各ファイルシステムのアクセス頻度Lを算出する(S23)。また、各ノード1,2は、自身の環境情報等に基づいて、各ファイルシステムを共有しているホスト装置5の数Hを算出する(S24)。各ファイルシステムへのアクセス頻度L及び共有ホスト数Hを算出した後、各ノード1,2は、動作割当リスト更新処理を呼び出す(S25)。なお、これらの共有ホスト数H,アクセス頻度Lは、例えば、所定期間における平均値としてそれぞれ算出される。
図6は、優先順位決定処理112,212によりそれぞれ実行される動作割当リストの更新処理を示すフローチャートである。本処理は、図5中のS25で呼び出されることにより開始される。
まず、各ノード1,2は、ユーザ(システム管理者等)から入力されるアクセス頻度閾値mと、共有ホスト数閾値nとをそれぞれ取得する(S31)。各ノード1,2は、前記S24で算出した共有ホスト数Hをそれぞれ読み出し、ファイルシステム毎の共有ホスト数Hを管理するファイルシステム−共有ホスト数情報(以下、FS−H情報)を生成する(S32)。FS−H情報T4の概略を図7(a)に示す。FS−H情報T4では、各ファイルシステムをそれぞれ共有しているホスト装置5の数Hが、各ファイルシステム毎にまとめられている。
次に、各ノード1,2は、前記S23で算出したアクセス頻度Lをそれぞれ読み出し、ファイルシステム毎のアクセス頻度Lを管理するファイルシステム−アクセス頻度情報(以下、FS−L情報)を生成する(S33)。図7(b)に示すように、FS−L情報T5は、各ファイルシステムに対するアクセス頻度Lが、各ファイルシステム毎にまとめられている。FS−L情報T5の生成方法については、さらに後述する。
各ノード1,2は、ユーザから入力された各閾値m,nと、FS−H情報T4及びFS−L情報T5とに基づいて、各ファイルシステムが属すべきカテゴリをそれぞれ決定する(S34)。カテゴリ決定処理の詳細は、さらに後述する。
次に、各ノード1,2は、フェイルオーバ動作定義テーブルT2を参照し(S35)、各ファイルシステムの属するカテゴリと各カテゴリに設定されたフェイルオーバ時の動作とに基づいて、動作割当リストT3を生成または更新する(S36)。この動作割当リストT3は、共有LU4の所定位置に格納され、クラスタを構成する全てのノード1,2により共有される。
図8は、優先順位決定処理112,212により実行されるFS−L情報生成処理を示すフローチャートである。
まず、各ノード1,2は、それぞれのアクセスログT6から1レコード分の情報をそれぞれ読み込み(S41)、アクセスログT6を最後尾(EOF)まで読み出したか否かを判定する(S42)。
アクセスログT6の最後尾に到達していない場合(S42:NO)、各ノード1,2は、1レコード分の情報からファイルシステム名を検出し、各ファイルシステム毎のアクセス回数をカウントする(S43)。例えば、読み出したレコードがFS1Aへのアクセスを示している場合、FS1Aのアクセス頻度を数えるためのカウンタ変数が、1つだけインクリメントされる。
各ノード1,2は、読み出したレコードからアクセス日時を検出し、各ファイルシステム毎の最古アクセス日時を更新する(S44)。また、各ノード1,2は、アクセス日時に基づいて、各ファイルシステム毎の最新日時を更新する(S45)。即ち、読み出したレコードのアクセス日時が、最古アクセス日時よりも前の日時を示している場合は、最古アクセス日時を更新する。同様に、読み出したレコードのアクセス日時が、最新アクセス日時よりも後の日時を示している場合は、最新アクセス日時を更新する。この作業をアクセスログT6の全体について繰り返すことにより、そのアクセスログT6に記録されている最古のアクセス日時と最新のアクセス日時とをそれぞれ検出することができる。即ち、アクセスログT6の記録期間を求めることができる。
アクセスログT6の全てのレコードについてS43〜S45の処理を行った場合(S42:YES)、各ノード1,2は、ファイルシステム毎のアクセス頻度Lを算出し、FS−L情報T5に1レコード分出力する(S46)。全てのファイルシステムについてFS−L情報T5への出力を完了するまで、S46を繰り返す(S47)。ここで、アクセス頻度Lは、例えば、そのファイルシステムへのアクセス総数ΣLを最古アクセス日時Toldから最新アクセス日時Tnewまでの時間で除算することにより求めることができる(L=ΣL/(Tnew−Told)。
図9は、各ノード1,2の優先順位決定処理112,212により実行される各ファイルシステムのカテゴリ決定処理を示す。本処理は、図6中のS34に対応する。
各ノード1,2は、FS−L情報T5から1レコード分の情報を読込み(S51)、FS−L情報T5の最後尾に到達したか否かを判定する(S52)。FS−L情報T5に記憶されている全てのファイルシステムについて、帰属先カテゴリが決定されるまで、以下の処理が繰り返される。
各ノード1,2は、FS−H情報T4から1レコード分の情報を読込む(S53)。ここで、FS−H情報T4及びFS−L情報T5は、それぞれファイルシステム名でソートされており、両者のレコード数は一致しているものとする。従って、FS−L情報T5から読み込んだレコードと、FS−H情報T4から読み込んだレコードとは、ともに同一のファイルシステムに関する属性(アクセス頻度L,共有ホスト数H)を示す。
以下、カテゴリ決定テーブルT1と共に上述したように、共有ホスト数H及びアクセス頻度Lの2つの指標に基づいて、各ファイルシステムを6つのカテゴリのうちいずれか1つのカテゴリに分類する。
ファイルシステムに関する共有ホスト数Hが閾値n以上で(H≧n)、かつ、アクセス頻度Lがmよりも大きい場合(L>m)、そのファイルシステムは、カテゴリ11に決定される(S54:YES、S55)。
ファイルシステムの共有ホスト数Hが閾値n以上で(H≧n)、かつ、アクセス頻度Lがm≧の場合(L≦m)、そのファイルシステムは、カテゴリ12に決定される(S56:YES、S57)。
ファイルシステムの共有ホスト数Hが2以上n未満で(2≦H<n)、かつ、アクセス頻度Lがmよりも大きい場合(L>m)、そのファイルシステムは、カテゴリ21に決定される(S58:YES、S59)。
ファイルシステムの共有ホスト数Hが2以上n未満で(2≦H<n)、かつ、アクセス頻度Lがm以下の場合(L≦m)、そのファイルシステムは、カテゴリ22に決定される(S60:YES、S61)。
ファイルシステムyの共有ホスト数Hが1で(H=1)、かつ、アクセス頻度Lがmよりも大きい場合(L>m)、そのファイルシステムは、カテゴリ31に決定される(S62:YES、S63)。
ファイルシステムyの共有ホスト数Hが1で(H=1)、かつ、アクセス頻度Lがm以下の場合(L≦m)、そのファイルシステムは、カテゴリ32に決定される(S64:YES、S65)。
以上の通り、優先順位決定処理112,212では、各ファイルシステムの使用状況(アクセス頻度L及び共有ホスト数H)をそれぞれ検出し、各ファイルシステムの使用状況に基づいて、各ファイルシステムを複数用意されたカテゴリのうちいずれか1つのカテゴリに分類する。そして、優先順位決定処理112,212は、各ファイルシステムのカテゴリに応じて、各ファイルシステムのフェイルオーバ時の動作を規定するレベルをそれぞれ付与する。これらの処理は、各ノード1,2においてそれぞれ実行され、各ノード1,2でそれぞれ生成された動作割当リストT3は、共有LU4に格納される。
図10は、フェイルオーバ処理121,221により実行される処理を示すフローチャートである。フェイルオーバ先をノード2にした場合を例に挙げて説明するが、ノード1がフェイルオーバ先でも同様である。
ノード2のフェイルオーバ処理221は、ハートビート監視処理222による通知に基づいて実行される。例えば、回線切断やシステムダウン等の障害がノード1に発生すると、ハートビート通信が断絶し、このハートビート通信の停止は、ハートビート監視処理222によって検出される。所定時間以上ハートビート通信が停止したような場合、ハートビート監視処理222は、ノード1が停止したものと判断し、フェイルオーバ処理221を起動させる。
フェイルオーバ先であるノード2は、まずIPアドレスの継承を行う(S71)。これにより、ホスト装置5は、今まで通りのIPアドレスに接続するだけで、業務サービスを利用することができる。ホスト装置5からは、クラスタ全体が1つのサーバとして見えている。ホスト装置5は、クラスタ内でフェイルオーバが発動され、現用系サーバが変更されたことまで認識しない。
IPアドレスの継承を終えた後、ノード2は、共有LU4にアクセスして、ノード1で生成された動作割当リストT3を参照し、1レコード分の情報を読込む(S72)。動作割当リストT3の最後尾に達するまで(S73:NO)、以下の処理が繰り返される。即ち、ノード2は、動作割当リストT3に登録されているファイルシステムに対し、レベル1の動作が対応付けられているか否かを判定する(S74)。レベル1が設定されたファイルシステムの場合(S74:YES)、ノード2は、そのファイルシステムのマウントを直ちに開始する(S75)。
動作割当リストT3から読み出されたファイルシステムに対し、レベル1以外の他のレベル(レベル2またはレベル3)が設定されている場合(S74:NO)、何もせずに次のレコードを読み込む(S72)。
そして、動作割当リストT3に登録されている全てのファイルシステムを検査した後(S73:YES)、低負荷状態マウントの監視プロセスを起動させる(S76)。この監視プロセスについては、さらに後述する。
以上の通り、フェイルオーバ処理では、予めレベル1の動作、即ち、即時マウントが指定されているファイルシステムのみをフェイルオーバの実行と共にマウントし、それ以外のレベルが付与されたファイルシステムについては、フェイルオーバ開始時にはマウント処理を行わない。従って、フェイルオーバ開始時では、レベル1が設定されたファイルシステムのみをノード1からアンマウントして、ノード2にマウント等すればよく、レベル1のファイルシステムを利用する業務サービスを早期に再開することができる。
図11は、フェイルオーバ先が低負荷状態の場合にマウントするための処理を示すフローチャートである。この処理は、図10中のS76に対応する。本処理は、以下に述べるように、2つの部分から構成される。一つは、まだマウントされていないレベル2のファイルシステムを検出して待ち行列に登録する処理(S81〜S85)であり、マウント待ちリソース検出処理と呼ぶことができる。他の一つは、フェイルオーバ先のノードが所定の低負荷状態に達した場合に、待ち行列に登録されたファイルシステムをフェイルオーバ先ノードにマウントさせる処理(S86〜S93)であり、低負荷時移行処理と呼ぶこともできる。
フェイルオーバ先であるノード2は、動作割当リストT3から1レコード分の情報を読込む(S81)。ノード2は、読み込んだレコードに記述されているファイルシステムについて、レベル2の動作が設定されているか否かを判定する(S82)。レベル2のファイルシステムである場合(S82:YES)、ノード2は、マウント済フラグがオフ状態であるか否かを判定する(S83)。レベル2が与えられているファイルシステムが未だノード2にマウントされていない場合(S83:YES)、ノード2は、そのファイルシステムをマウント待ちリストに登録する(S84)。
ノード2は、動作割当リストT3に登録された全てのファイルシステムについて検査を終えるまで、S81〜S84の処理を繰り返す(S85)。これにより、フェイルオーバ開始後であって、まだアクセス要求が発生していないレベル2のファイルシステムが全て検出され、マウント待ちリストに追加される。
まだマウントされていないレベル2のファイルシステムを全て検出した後、ノード2は、例えば、数分〜十数分程度の所定時間待機する(S86)。所定時間が経過すると(S86:YES)、ノード2は、現在のCPU利用率を取得する(S87)。ノード2は、現在のCPU利用率が予め設定されている所定値よりも小さいか否かを判定する(S88)。この所定値は、システム管理者が手動で設定することもできるし、他の環境情報等に基づいて自動的に設定することもできる。
CPU利用率が所定値以上の場合(S88:NO)、再びS86に戻って所定時間待機する。一方、CPU利用率が所定値より低い場合は(S88:YES)、ノード2が低負荷状態にあり、アンマウント処理やマウント処理等のファイルシステム移行に伴う処理を実行しても、既存の業務サービスの応答性等に影響を与えないと考えられる状態である。
そこで、ノード2は、マウント待ちリストに登録されているファイルシステムの名称を取得し(S89)、このファイルシステムを自身にマウントさせる(S90)。ノード2は、このマウントしたファイルシステムについて、マウント済フラグをオン状態にセットする(S91)。また、ノード2は、このマウントしたファイルシステムの名称を、マウント待ちリストから削除する(S92)。ノード2は、マウント待ちリストが空になるまで、S86〜S92の処理を繰り返す(S93)。なお、マウント待ちリストが空になる前に、ノード1が復旧してフェイルバック要求が出された場合は、マウント待ちリストは消去される。
このように、本処理では、レベル2が割り当てられているファイルシステムは、アクセス要求が生じる前であっても、フェイルバック先ノードが低負荷状態にある場合に、フェイルバック先に移行させる。従って、レベル2のファイルシステムは、2つの場合に、ノード1からノード2に引き継がれることになる。一つは、レベル2のファイルシステムに対してアクセス要求が発生した場合(オンデマンドマウント)であり、他の一つは、フェイルオーバ先ノードが所定の低負荷状態の場合(低負荷時マウント)である。
本実施例では、オンデマンドマウントと低負荷時マウントとはそれぞれ独立して実行可能である。レベル2のファイルシステムへのアクセス要求が発生した場合は、フェイルオーバ先ノードが低負荷状態でなくても、引継処理が開始される。このように、複数の方法でレベル2のファイルシステムを引継可能としたので、レベル2のファイルシステムに対するアクセス要求を、早期に処理できる可能性が高まる。
なお、負荷状態を検出するための指標としては、CPU利用率に限定されない。例えば、単位時間あたりの入出力要求数(IOPS)やキャッシュメモリの使用量を用いることもできるし、複数の指標を組み合わせて判断することもできる。
図12及び図13は、本実施例によりフェイルオーバが段階的に実行されている様子を模式的に示す説明図である。図12,図13では、説明の便宜上、ノード1のファイルシステムのみを示す。
図12を参照する。ノード1は、3個のファイルシステムFS1A〜FS1Cを備えている。図12において、ファイルシステムFS1Aにはレベル1が、ファイルシステムFS1B,FS1Cにはレベル2が、それぞれ設定されているものとする。
時刻T1でノード1に障害が発生し、フェイルオーバが開始されると、レベル1のファイルシステムFS1Aについて、ノード1からノード2への引継処理が開始される。その他のファイルシステムFS1B,FS1Cについては、ノード1からノード2への引継処理は行われない。ノード2は、レベル1のファイルシステムFS1Aのみを自身にマウントし、ファイルシステムFS1Aを利用する業務サービスを再開する。
時刻T2において、ファイルシステムFS1Bへのアクセス要求が発生した場合、ノード2は、ファイルシステムFS1Bをノード1からアンマウントさせ、自身にマウントさせる。
時刻T3において、ノード2が低負荷状態になると、ノード2は、ノード1に残されていたファイルシステムFS1Cの引継処理を開始する。従って、フェイルオーバ開始後に、ファイルシステムFS1Cへのアクセス要求が発生していない場合でも、ノード2が所定の低負荷状態になったときには、レベル2のファイルシステムFS1Cは、ノード1からノード2に引き継がれる。従って、時刻T3の後で、ファイルシステムFS1Cへのアクセス要求が発生した場合は、既にマウント処理が完了しているため、速やかにアクセス要求を処理することができる。
時刻T4において、ノード1が障害から復旧した場合、ノード1は、ノード2に対してフェイルバックを要求する。ノード2は、フェイルバック要求を受信すると、ノード1から引き継いだ各ファイルシステムFS1A〜FS1Cをアンマウントし、ノード1に戻すようになっている。フェイルバックを行う場合、ノード1から引き継いだ全てのファイルシステムFS1A〜FS1Cを一斉にノード1に戻してもよいし、フェイルオーバ時と略同様に、優先順に段階的に戻してもよい。即ち、優先順位の高いファイルシステムFS1Aを先行してノード1に戻し、残りのファイルシステムFS1B,FS1Cについては、アクセス要求が発生した場合やノード1が所定の低負荷状態になった場合、あるいは所定時間が経過した場合等に、段階的に戻すように構成してもよい。
図13は、他の場合におけるファイルオーバ時の動作を示す模式図である。図13において、ファイルシステムFS1Aにはレベル1が、ファイルシステムFS1Bにはレベル2が、ファイルシステムFS1Cには、レベル3がそれぞれ設定されている。即ち、図12と図13とでは、ファイルシステムFS1Cに設定されているレベルが異なる。
時刻T1において、ノード1に障害が発生し、フェイルオーバが開始されると、レベル1のファイルシステムFS1Aは、ノード1からノード2に引き継がれる。時刻T2において、レベル2のファイルシステムFS1Bに対し、アクセス要求が発生すると、ファイルシステムFS1Bはノード1からノード2に引き継がれる。
ファイルシステムFS1Cには、レベル3の動作が設定されている。従って、ファイルシステムFS1Cは、ノード2への引継処理は行われない。もしもフェイルオーバ期間中に、ホスト装置5からファイルシステムFS1Cにアクセスが要求された場合、ホスト装置5にはエラーが返される。
時刻T4において、ノード1が復旧し、フェイルバック要求が出されると、ノード2は、ノード1から引き継いだファイルシステムFS1A,FS1Bをノード1に戻す。ファイルシステムFS1Cは、ノード1に再マウントされる。レベル3のファイルシステムFS1Cについては、フェイルオーバ中に引継処理が行われず、フェイルバック時に再マウントされる。従って、フェイルオーバ時には、ファイルシステムFS1Cの引継処理を行う必要がない。また、フェイルバック時には、ファイルシステムFS1Cをノード2からアンマウントする処理を行う必要がない。
本実施例は上述のように構成されるので、以下の効果を奏する。本実施例では、フェイルオーバを行う場合に、フェイルオーバ対象のフェイルシステムを全て一括して、フェイルオーバ先ノードに引き継がせるのではなく、段階的に引継ぐことができるように構成した。部分的に段階的に引継処理を行うことにより、業務サービス再開に要する時間を短縮することができる。従って、フェイルオーバ元で提供されていた業務サービスを部分的に段階的に再開することができ、使い勝手が向上する。
本実施例では、フェイルオーバ対象のファイルシステムに設定される優先順位に基づいて、ファイルシステムを段階的に引継ぎ可能に構成した。従って、優先度の高いファイルシステムから先にフェイルオーバ先ノードに引き継がせることができる。これにより、重要度の高い業務サービスから優先的に再開し、重要度の低い業務サービスの再開を後回しにすることができる。この結果、優先度の高い業務サービスの再開に要する時間を短縮することができる。
本実施例では、ファイルシステムの使用状況に基づいて優先順位を設定し、優先順位に従って段階的に移行させる構成とした。従って、例えば、アクセス頻度が高く、多くのホスト装置5によって利用されているファイルシステムから先に引継処理を行うことができ、優先度の高い業務サービスを早期に再開することができる。
本実施例では、動作割当リスト等の引継情報を共有LU4に記憶し、各ノード1,2によって共有する構成とした。従って、各ノード1,2は、共有LU4にアクセスするだけで、段階的なフェイルオーバを実行することができる。引継情報は共有LU4に集約されて記憶されるため、構成を簡素化することもできる。例えば、共有LU4に代えて、引継情報を各ノード間でコピーする方法も考えられる。ノード1の引継情報をノード2にコピーし、ノード2の引継情報をノード1にコピーさせる場合は、構成が複雑化し、引継情報の同期を取るのが難しい。なお、引継情報を各ノード間でコピーする構成も、本発明の範囲に含まれる。
本実施例では、フェイルオーバ開始時に直ちに引継処理を実行させるレベル1と、フェイルオーバ開始時には引継処理を行わず、アクセス要求が発生した場合に引継処理を実行させるレベル2との複数種類の引継動作を用意する構成とした。従って、例えば、使用状況が活発なファイルシステムにレベル1の動作を割り当て、相対的に使用状況が活発ではないファイルシステムにレベル2の動作を割り当てることにより、より優先度の高いファイルシステムの引継処理を先行して実行することができる。また、優先度が相対的に低いファイルシステムは、必要に応じて引継処理を行うことができる。この結果、フェイルオーバクラスタシステム全体としての応答性を改善することができる。
本実施例では、フェイルオーバ先ノードが所定の低負荷状態になった場合に、ファイルシステムを引き継がせる低負荷時マウントモードを用意する構成とした。従って、フェイルオーバ先ノードの負荷状態を問わずに引継処理を実行する場合に比較して、より早期に引継処理を完了させることができ、応答性が向上する。
また、本実施例では、アクセス要求の発生をトリガとして引継処理を開始するレベル2のファイルシステムにおいて、アクセス要求が発生していない場合でも、フェイルオーバ先ノードが所定の低負荷状態になった場合は、引継処理を実行する構成とした。従って、レベル2のファイルシステムをより早期にフェイルオーバ先ノードに移行させることができ、レベル2のファイルシステムに対するアクセス要求が発生した場合には、このアクセス要求を速やかに処理することができる。
本実施例では、フェイルオーバを開始した場合でも、引継処理を実行しないレベル3の引継動作を用意する構成とした。従って、利用度の低いファイルシステムにレベル3の動作を割り当てることにより、アンマウント処理やマウント処理等のようなフェイルオーバに伴う各処理を行う必要がなく、より利用度の高いファイルシステムの引継処理を早期に完了させることができる。また、フェイルバック時には、フェイルバック先ノードにおけるアンマウント処理が不要であり、フェイルバックを早期に完了できる。
図14〜図16に基づいて、本発明の第2実施例を説明する。本実施例は、第1実施例の変形例に該当する。本実施例の特徴は、3個以上のサーバからクラスタを構成した場合に本発明を適用させる点にある。
図14は、本実施例の概略を示す説明図である。図14(a)に示すように、このフェイルオーバクラスタシステムは、ノード1,ノード2,ノード3の合計3個のノードを含んで構成されている。各ノード1〜3は、共有LU4Aを介して、フェイルオーバに使用する情報等を共有している。
ノード1はノード2を、ノード2はノード3を、ノード3はノード1を、それぞれ監視している。フェイルオーバ管理テーブルT7には、各サーバ毎に、監視先のサーバ名及び自身の状態が対応付けられている。この管理テーブルT7は、共有LU4Aに記憶され、各ノード1〜3により共有されている。また、各ノード1〜3は、それぞれのファイルシステムの使用状況をそれぞれ監視しており、使用状況に基づいて各ファイルシステムにレベル1〜3のいずれかの動作を割り当てている。各ノード1〜3で生成される動作割当リストは、共有LU4に格納されている。
図14(b)に示すように、ノード1に障害が発生してシステムダウンすると、ノード3は、ノード1で提供されていた業務サービスを引継ぐ。ノード3の状態は、「稼働中」から「引継中」に変更される。ノード1の状態は、「稼働中」から「ダウン」に変更される。また、ノード1のシステムダウンに伴い、ノード2,ノード3の監視先がそれぞれ変更される。ノード2とノード3は、互いに相手方を監視することになる。
図14(c)に示すように、ノード1が復旧する前にノード2もシステムダウンした場合は、ノード3は、ノード2で提供されていた業務サービスも引継ぐ。従って、ノード3は、ノード1とノード2の両方でそれぞれ提供されていた業務サービスを全て引継ぐことになる。
3個以上のノードでフェイルオーバクラスタを構成する場合は、図14に示したように、複数のノードでそれぞれ障害が発生する可能性まで考慮する必要がある。そこで、本実施例のフェイルオーバ処理を図15に示す。
フェイルオーバ先ノードは、ハートビート通信の途絶に基づくシステムダウンの検出により、フェイルオーバ処理を開始する。フェイルオーバ先ノードは、フェイルオーバ元ノードのIPアドレスを引継ぎ(S101)、フェイルオーバ管理テーブルT7の状態を更新させる(S102)。
次に、ノードは、動作割当リストから1レコードの情報を読込み(S103)、動作割当リストの最後尾に到達したか否かを判定する(S104)。動作割当リストに記載された全てのファイルシステムについて、レベル1の動作が設定されているか否かを判定する(S105)。レベル1の動作が設定されている場合(S105:YES)、ノードは、そのファイルシステムの引継処理を行う(S106)。
レベル1の動作が割り当てられている全てのファイルシステムについて引継処理を完了した場合(S104:YES)、ノードは、監視先ノードの状態が「引継中」であるか、または、監視先ノードが監視しているノードと自身との間のハートビート通信が断絶しているかを判定する。
例えば、このフェイルオーバ処理をノード3が実行している場合、監視先ノードはノード1であり、監視先ノードの監視先はノード2である。S107において、ノード3は、監視先であるノード1の状態が「引継中」であるか否かを判定する。監視先ノードの状態が「引継中」の場合は、ノード1がノード2の業務サービスを引き継いでいる最中に、ノード1がシステムダウンした場合である。従って、この場合、ノード3は、ノード1で提供されていた業務サービス以外に、ノード2で提供されていた業務サービスまで引継ぐ必要がある。
また、上記の例において、ノード3は、監視先ノードであるノード1の監視先(ノード2)と自身との間のハートビート通信が断絶しているか否かも判定する。ノード2とノード1とが略同時にシステムダウンする場合を考慮したものである。この場合も、ノード3は、ノード1で提供されていた業務サービスに加えて、ノード2で提供されていた業務サービスまで引継ぐ必要がある。
そこで、監視先ノードが引継処理中にシステムダウンした場合、または監視先ノードと監視先ノードが監視していたノードとの両方が略同時にシステムダウンした場合は(S107:YES)、管理テーブルT7を参照することにより、システムダウンした監視先ノードがどのノードを監視していたかを取得する(S108)。上記の例では、ノード3は、ノード1の監視先がノード2であったことを把握する。
そして、フェイルバック先のノードは(上記例では、ノード3)、監視先ノードの監視先に関する動作割当リストT3を共有LU4Aから取得する(S109)。フェイルバック先ノードは、この動作割当リストT3に登録されているファイルシステムを、そのレベルに応じて自身にマウントする(S110)。
上記の例では、3個のノードのうち唯一稼働しているノード3は、監視先ノードの監視先であるノード2の動作割当リストT3を取得し、この動作割当リストT3に登録されているファイルサーバの引継を行う。ここで、ノード3は、ノード2のファイルシステムを全て一度に引継ぐのではなく、第1実施例で述べたように、レベル1の動作が設定されているファイルシステムのみを優先して引継ぐようになっている。
レベル1のファイルシステムを引き継いだノードは、フェイルオーバ管理テーブルT7の監視先を更新し(S111)、低負荷状態でマウントさせるための監視プロセスを起動させる(S112)。なお、クラスタ内のノードが同時に複数システムダウンしていない場合(S107:NO)、S108〜S111の処理はスキップされ、S112に移る。
図16は、本実施例によるフェイルオーバ処理の様子を模式的に示す説明図である。説明の便宜上、図16(a)に示すように、ノード1は、FS1A〜FS1Cの3個のファイルシステムを備えており、ノード2は、1個のファイルシステムFS2Aを備えているものとする。ファイルシステムFS1A,FS2Aには、それぞれレベル1の動作が設定されているものとする。また、図14に示す例とは逆回りに、図16では、ノード3の監視先はノード2、ノード2の監視先はノード1、ノード1の監視先はノード3に設定されているものとする。
図16(b)に示すように、ノード1に障害が発生してシステムがダウンした場合、ノード1のフェイルオーバ先であるノード2は、レベル1のファイルシステムFS1Aをノード1から引継ぐ。
図16(c)に示すように、ノード1が復旧する前に、ノード2にも障害が発生してシステムがダウンした場合、ノード2の監視先であるノード3は、レベル1の動作が設定されているファイルシステムFS1A,FS2Aの両方を、ノード2から引継ぐ。もしもノード2がノード1からの引継処理中にシステムダウンした場合、ノード3は、ノード2からファイルシステムFS2Aを引継ぐと共に、ノード1からファイルシステムFS1Aを引継ぐ。
以上のように、本発明は、3個以上のノードから構成される場合にも有効に適用することができ、第1実施例で述べたと同様の効果が得られる。
なお、本発明は、上述した各実施例に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。例えば、レベル1〜3の全てを採用する必要はなく、例えば、レベル1とレベル2のみ、レベル1とレベル3のみ、レベル2とレベル3のみのように、いずれか複数のレベルを使用する構成でもよい。
また、低負荷状態でのみ引継処理を実行するモードを、レベル2のファイルシステムに関連付けて使用する場合を説明したが、この低負荷状態で引継処理を実行するレベルをレベル2とは別のレベルとして独立させる構成でもよい。この場合、例えば、低負荷状態時に引継処理を実行するレベルが設定されたファイルシステムは、ホスト装置からのアクセス要求の有無を問わず、フェイルオーバ先ノードが所定の低負荷状態になった場合に、引継処理が行われる。
また、フェイルオーバ対象リソースとして、ファイルシステムを例示したが、本発明はこれに限らず、例えば、ファイルシステムを利用するアプリケーションプログラム等のような他のリソースにも適用可能である。
本発明の概略を示す説明図である。 本発明の実施形態に係るファイルオーバクラスタシステムの全体構成を示す機能ブロック図である。 各種テーブルの構成を示し、(a)はカテゴリ決定テーブルを、(b)はファイルオーバ動作定義テーブルを、(c)はファイルシステム動作割当リストを、それぞれ示す。 アクセス要求受付処理のフローチャートである。 優先順位決定処理の一部を示すフローチャートである。 優先順位決定処理の他の一部を示すフローチャートである。 各種情報の構成を示し、(a)はファイルシステム毎に共有ホスト数を対応付けた情報を、(b)はファイルシステム毎にアクセス頻度を対応付けた情報を、(c)はアクセスログを、それぞれ示す。 ファイルシステム−アクセス頻度情報の生成処理を示すフローチャートである。 カテゴリ決定処理を示すフローチャートである。 フェイルオーバ処理を示すフローチャートである。 フェイルバック先が低負荷状態のときに引継処理を行うフローチャートである。 フェイルバックの一例を模式的に示す説明図である。 フェイルバックの他の一例を模式的に示す説明図である。 本発明の第2実施例に係り、3個以上のノードでクラスタを構成する場合の概略を示す説明図である。 フェイルオーバ処理のフローチャートである。 3個以上のノードで構成されるクラスタにおいて、複数のノードが同時にダウンした場合のフェイルバックの様子を示す説明図である。
符号の説明
1〜3…ノード、4…共有LU、5…ホスト装置、11…ファイル共有機能、12…フェイルオーバ機能、21…ファイル共有機能、22…フェイルオーバ機能、111…アクセス要求受付処理、112…優先順位決定処理、121…フェイルオーバ処理、122…ハートビート監視処理、211…アクセス要求受付処理、212…優先順位決定処理、221…フェイルオーバ処理、222…ハートビート監視処理、CN1〜CN3…通信ネットワーク、FS1A〜FS1C,FS2A〜FS2C…ファイルシステム、T1…カテゴリ決定テーブル、T2…フェイルオーバ動作定義テーブル、T3…ファイルシステム動作割当リスト、T4…ファイルシステム−共有ホスト数情報、T5…ファイルシステム−アクセス頻度情報、T6…アクセスログ、T7…フェイルオーバ管理テーブル、m…アクセス頻度閾値、n…共有ホスト数閾値

Claims (11)

  1. 複数のコンピュータを接続し、所定の場合に、フェイルオーバ元コンピュータのフェイルオーバ対象リソースをフェイルオーバ先コンピュータに引き継がせるフェイルオーバクラスタシステムであって、
    前記フェイルオーバ対象リソースを段階的に引継ぎ可能な制御部を備えたフェイルオーバクラスタシステム。
  2. 前記制御部は、前記フェイルオーバ対象リソースに設定される優先順位に基づいて、前記フェイルオーバ対象リソースを段階的に引継ぎ可能である請求項1に記載のフェイルオーバクラスタシステム。
  3. 前記制御部は、前記フェイルオーバ対象リソースの使用状況に基づいて、前記フェイルオーバ対象リソースに予め前記優先順位を設定する請求項2に記載のフェイルオーバクラスタシステム。
  4. 前記各コンピュータは、共有記憶装置を介して、前記フェイルオーバ対象リソースの引継ぎに関する引継情報を共有しており、
    前記制御部は、前記共有記憶装置の引継情報を参照することにより、前記優先順位に基づいて、前記フェイルオーバ対象リソースを段階的に引継ぎ可能である請求項3に記載のフェイルオーバクラスタシステム。
  5. 前記引継情報は、前記フェイルオーバ対象リソースを特定するための情報と、前記優先順位に従って前記フェイルオーバ対象リソースに設定される引継処理動作とを関連付けて構成されている請求項4に記載のフェイルオーバクラスタシステム。
  6. 前記優先順位には、直ちに引継処理を実行させる第1順位と、前記フェイルオーバ対象リソースへのアクセス要求が発生した場合に引継処理を実行させる第2順位とが含まれている請求項5に記載のフェイルオーバクラスタシステム。
  7. 前記優先順位には、さらに、前記フェイルオーバ先コンピュータが所定の低負荷状態である場合に、前記フェイルオーバ対象リソースの引継処理を実行させる第3順位が含まれている請求項6に記載のフェイルオーバクラスタシステム。
  8. 前記優先順位には、さらに、引継処理を実行しない第4順位が含まれている請求項6に記載のフェイルオーバクラスタシステム。
  9. 前記フェイルオーバ対象リソースは、ファイルシステムであり、各ファイルシステム毎に前記優先順位がそれぞれ予め設定される請求項6に記載のフェイルオーバクラスタシステム。
  10. 互いにフェイルオーバ関係に立つ複数のコンピュータを接続して構成されるフェイルオーバクラスタシステムのフェイルオーバ方法であって、
    フェイルオーバ対象リソースの使用状況を監視するステップと、
    前記使用状況に基づいて、前記フェイルオーバ対象リソースの優先順位を設定するステップと、
    前記フェイルオーバ対象リソースを特定するための情報と、前記優先順位に従って前記フェイルオーバ対象リソースに設定される引継処理動作とを関連付けて構成される引継情報を、前記各コンピュータにより共有される共有ディスクに記憶させるステップと、
    フェイルオーバ実行条件が成立したか否かを判定するステップと、
    前記フェイルオーバ実行条件が成立したと判定された場合は、前記共有ディスクに記憶された前記引継情報を参照し、前記優先順位に基づいて、フェイルオーバ元コンピュータの前記フェイルオーバ対象リソースをフェイルオーバ先コンピュータに段階的に引き継がせるステップと、
    を含むフェイルオーバ方法。
  11. フェイルオーバ元コンピュータと、
    このフェイルオーバ元コンピュータに接続されるフェイルオーバ先コンピュータと、
    前記フェイルオーバ元コンピュータと前記フェイルオーバ先コンピュータとに共有される共有ディスクと、を備え、
    前記フェイルオーバ元コンピュータには、
    フェイルオーバ対象となっている各ファイルシステムの使用状況に基づいて、各ファイルシステムを第1カテゴリ、第2カテゴリ、または第3カテゴリのいずれかに区分し、この前記各ファイルシステムと前記各カテゴリとの対応関係を前記共有ディスクに記憶させる優先順位決定処理部を設け、
    前記フェイルオーバ先コンピュータには、
    前記第1カテゴリに属するファイルシステムについては、即時マウントを実行するフェイルオーバ処理部と、
    前記第2カテゴリに属するファイルシステムについてアクセス要求が発生した場合に、前記第2カテゴリに属するファイルシステムのマウントを実行し、前記第3カテゴリに属するファイルシステムについては、アクセス要求の有無を問わずにマウントしない、アクセス要求受付処理部とを設けたフェイルオーバクラスタシステム。
JP2004070057A 2004-03-12 2004-03-12 フェイルオーバクラスタシステム及びフェイルオーバ方法 Expired - Fee Related JP4462969B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2004070057A JP4462969B2 (ja) 2004-03-12 2004-03-12 フェイルオーバクラスタシステム及びフェイルオーバ方法
US10/876,295 US7055053B2 (en) 2004-03-12 2004-06-23 System and method for failover
US11/407,162 US7313722B2 (en) 2004-03-12 2006-04-18 System and method for failover

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004070057A JP4462969B2 (ja) 2004-03-12 2004-03-12 フェイルオーバクラスタシステム及びフェイルオーバ方法

Publications (2)

Publication Number Publication Date
JP2005258847A true JP2005258847A (ja) 2005-09-22
JP4462969B2 JP4462969B2 (ja) 2010-05-12

Family

ID=34918514

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004070057A Expired - Fee Related JP4462969B2 (ja) 2004-03-12 2004-03-12 フェイルオーバクラスタシステム及びフェイルオーバ方法

Country Status (2)

Country Link
US (2) US7055053B2 (ja)
JP (1) JP4462969B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006260357A (ja) * 2005-03-18 2006-09-28 Hitachi Ltd フェイルオーバークラスタシステム及びフェイルオーバー方法
JP2009032200A (ja) * 2007-07-30 2009-02-12 Ricoh Co Ltd 情報処理装置、情報処理方法、情報処理プログラム、及び記憶媒体
JP2010198204A (ja) * 2009-02-24 2010-09-09 Nippon Telegr & Teleph Corp <Ntt> クラスタリングサーバシステム、および、データ転送方法
JP2011053918A (ja) * 2009-09-02 2011-03-17 Alaxala Networks Corp ネットワークシステム、ネットワーク中継装置、それらの制御方法
WO2012066691A1 (ja) * 2010-11-16 2012-05-24 株式会社日立製作所 クラスタシステム
JP2012134838A (ja) * 2010-12-22 2012-07-12 Ricoh Co Ltd 画像処理装置、機器管理システム、機器管理方法、機器管理プログラム、及びそのプログラムを記録した記録媒体
JP2018536229A (ja) * 2015-10-30 2018-12-06 ネットアップ,インコーポレイテッド コンピューティングノード間の切り替え動作を実行する方法、装置、及び媒体

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6922791B2 (en) * 2001-08-09 2005-07-26 Dell Products L.P. Failover system and method for cluster environment
US7315862B1 (en) * 2002-12-20 2008-01-01 Nortel Networks Limited Concurrent lock-free access to a record by write and read processes
FI20031628A0 (fi) * 2003-11-10 2003-11-10 Nokia Corp Tietokoneryväs, tietokoneyksikkö ja menetelmä muistisaannin ohjaukseen tietokoneyksiköiden välillä
US20050125557A1 (en) * 2003-12-08 2005-06-09 Dell Products L.P. Transaction transfer during a failover of a cluster controller
JP2005301436A (ja) * 2004-04-07 2005-10-27 Hitachi Ltd クラスタシステムおよびクラスタシステムにおける障害回復方法
US7640328B1 (en) * 2004-06-30 2009-12-29 Symantec Operating Corporation Method and apparatus for prioritizing provisioning data in a provisioning server
US7346811B1 (en) * 2004-08-13 2008-03-18 Novell, Inc. System and method for detecting and isolating faults in a computer collaboration environment
US8224784B2 (en) * 2004-08-13 2012-07-17 Microsoft Corporation Combined computer disaster recovery and migration tool for effective disaster recovery as well as the backup and migration of user- and system-specific information
US7444538B2 (en) * 2004-09-21 2008-10-28 International Business Machines Corporation Fail-over cluster with load-balancing capability
US7451347B2 (en) * 2004-10-08 2008-11-11 Microsoft Corporation Failover scopes for nodes of a computer cluster
JP4462024B2 (ja) * 2004-12-09 2010-05-12 株式会社日立製作所 ディスク引き継ぎによるフェイルオーバ方法
GB0501697D0 (en) * 2005-01-27 2005-03-02 Ibm Controlling service failover in clustered storage apparatus networks
JP2006253900A (ja) * 2005-03-09 2006-09-21 Hitachi Ltd Ipアドレス引き継ぎ方法、ipアドレスアドレス引き継ぎプログラム、サーバおよびネットワークシステム
JP4831599B2 (ja) * 2005-06-28 2011-12-07 ルネサスエレクトロニクス株式会社 処理装置
US8326990B1 (en) * 2005-07-15 2012-12-04 Symantec Operating Corporation Automated optimal workload balancing during failover in share-nothing database systems
US7694166B1 (en) * 2005-11-30 2010-04-06 Network Appliance, Inc. Integrating control of service during cluster failover
US20070294600A1 (en) * 2006-05-08 2007-12-20 Inventec Corporation Method of detecting heartbeats and device thereof
US7487383B2 (en) * 2006-06-29 2009-02-03 Dssdr, Llc Data transfer and recovery process
US7797566B2 (en) * 2006-07-11 2010-09-14 Check Point Software Technologies Ltd. Application cluster in security gateway for high availability and load sharing
US7913105B1 (en) * 2006-09-29 2011-03-22 Symantec Operating Corporation High availability cluster with notification of resource state changes
JP4923990B2 (ja) * 2006-12-04 2012-04-25 株式会社日立製作所 フェイルオーバ方法、およびその計算機システム。
US7631214B2 (en) * 2007-05-31 2009-12-08 International Business Machines Corporation Failover processing in multi-tier distributed data-handling systems
US8453016B2 (en) * 2007-09-23 2013-05-28 Dell Products L.P. Methods and systems for managing response data in an information handling system
TWI351849B (en) * 2007-12-31 2011-11-01 Ind Tech Res Inst Apparatus and method for transmitting streaming se
JP4547440B2 (ja) * 2008-03-31 2010-09-22 富士通株式会社 仮想テープシステム
JP4802207B2 (ja) * 2008-04-23 2011-10-26 株式会社日立製作所 情報処理システムの制御方法、情報処理システム、およびプログラム
JP2010086364A (ja) * 2008-10-01 2010-04-15 Fujitsu Ltd 情報処理装置、動作状態監視装置および方法
JP4648447B2 (ja) * 2008-11-26 2011-03-09 株式会社日立製作所 障害復旧方法、プログラムおよび管理サーバ
US8549364B2 (en) * 2009-02-18 2013-10-01 Vmware, Inc. Failure detection and recovery of host computers in a cluster
US9454444B1 (en) 2009-03-19 2016-09-27 Veritas Technologies Llc Using location tracking of cluster nodes to avoid single points of failure
US8458515B1 (en) 2009-11-16 2013-06-04 Symantec Corporation Raid5 recovery in a high availability object based file system
US8291258B2 (en) * 2010-01-08 2012-10-16 Juniper Networks, Inc. High availability for network security devices
US8695012B2 (en) * 2010-02-05 2014-04-08 Telefonaktiebolaget L M Ericsson (Publ) Load and backup assignment balancing in high availability systems
US8578202B2 (en) * 2010-07-29 2013-11-05 Ca, Inc. System and method for providing high availability for distributed application
US8495323B1 (en) 2010-12-07 2013-07-23 Symantec Corporation Method and system of providing exclusive and secure access to virtual storage objects in a virtual machine cluster
US8954786B2 (en) 2011-07-28 2015-02-10 Oracle International Corporation Failover data replication to a preferred list of instances
US9344494B2 (en) 2011-08-30 2016-05-17 Oracle International Corporation Failover data replication with colocation of session state data
US9154367B1 (en) * 2011-12-27 2015-10-06 Google Inc. Load balancing and content preservation
US9342348B2 (en) * 2012-01-23 2016-05-17 Brocade Communications Systems, Inc. Transparent high availability for stateful services
GB2499822B (en) * 2012-02-29 2020-01-08 Metaswitch Networks Ltd Failover processing
US9514174B2 (en) * 2012-06-30 2016-12-06 Microsoft Technology Licensing, Llc Classification of data in main memory database systems
GB2524000B (en) * 2014-03-10 2018-11-21 Coull Ltd Distributed computing system
AU2015201304B2 (en) * 2014-03-12 2019-03-21 Ainsworth Game Technology Limited Devices and methodologies for implementing redundant backups in NVRAM reliant environments
CN106155846B (zh) * 2015-04-15 2019-06-28 伊姆西公司 对块对象执行批量故障回复的方法和装置
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
US9954958B2 (en) * 2016-01-29 2018-04-24 Red Hat, Inc. Shared resource management
US11048559B2 (en) * 2019-07-08 2021-06-29 Hewlett Packard Enterprise Development Lp Managing ownership transfer of file system instance in virtualized distributed storage system
US11609776B1 (en) * 2019-12-23 2023-03-21 Cisco Technology, Inc. Elastic internet protocol (IP) address for hypervisor and virtual router management in a branch environment

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6247139B1 (en) 1997-11-11 2001-06-12 Compaq Computer Corp. Filesystem failover in a single system image environment
US6316356B1 (en) * 1998-03-10 2001-11-13 Micron Technology, Inc. Thermal processing of metal alloys for an improved CMP process in integrated circuit fabrication
JPH11353292A (ja) 1998-06-09 1999-12-24 Toshiba Corp クラスタシステムおよび同システムのフェールオーバ制御方法
US6748550B2 (en) 2001-06-07 2004-06-08 International Business Machines Corporation Apparatus and method for building metadata using a heartbeat of a clustered system
US6944785B2 (en) 2001-07-23 2005-09-13 Network Appliance, Inc. High-availability cluster virtual server system
US6922791B2 (en) * 2001-08-09 2005-07-26 Dell Products L.P. Failover system and method for cluster environment

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006260357A (ja) * 2005-03-18 2006-09-28 Hitachi Ltd フェイルオーバークラスタシステム及びフェイルオーバー方法
JP4516458B2 (ja) * 2005-03-18 2010-08-04 株式会社日立製作所 フェイルオーバークラスタシステム及びフェイルオーバー方法
JP2009032200A (ja) * 2007-07-30 2009-02-12 Ricoh Co Ltd 情報処理装置、情報処理方法、情報処理プログラム、及び記憶媒体
JP2010198204A (ja) * 2009-02-24 2010-09-09 Nippon Telegr & Teleph Corp <Ntt> クラスタリングサーバシステム、および、データ転送方法
JP2011053918A (ja) * 2009-09-02 2011-03-17 Alaxala Networks Corp ネットワークシステム、ネットワーク中継装置、それらの制御方法
US8489913B2 (en) 2009-09-02 2013-07-16 Alaxala Networks Corporation Network system and network relay apparatus
WO2012066691A1 (ja) * 2010-11-16 2012-05-24 株式会社日立製作所 クラスタシステム
JP2012134838A (ja) * 2010-12-22 2012-07-12 Ricoh Co Ltd 画像処理装置、機器管理システム、機器管理方法、機器管理プログラム、及びそのプログラムを記録した記録媒体
JP2018536229A (ja) * 2015-10-30 2018-12-06 ネットアップ,インコーポレイテッド コンピューティングノード間の切り替え動作を実行する方法、装置、及び媒体

Also Published As

Publication number Publication date
US20050204183A1 (en) 2005-09-15
US7313722B2 (en) 2007-12-25
JP4462969B2 (ja) 2010-05-12
US20060190760A1 (en) 2006-08-24
US7055053B2 (en) 2006-05-30

Similar Documents

Publication Publication Date Title
JP4462969B2 (ja) フェイルオーバクラスタシステム及びフェイルオーバ方法
US8245272B2 (en) System and method for monitoring computer system resource performance
US7469289B2 (en) Storage system having virtualized resource
US8713577B2 (en) Storage apparatus and storage apparatus management method performing data I/O processing using a plurality of microprocessors
JP4790372B2 (ja) ストレージのアクセス負荷を分散する計算機システム及びその制御方法
JP2019101703A (ja) 記憶システム及び制御ソフトウェア配置方法
US10970190B2 (en) Hybrid log viewer with thin memory usage
JP2004246852A (ja) 論理ボリュームコピー先性能調整方法及び装置
JP2007156815A (ja) データマイグレーション方法及びシステム
US8769147B2 (en) Method, apparatus and system to dynamically manage logical path resources
JP2007279890A (ja) バックアップシステム及びバックアップ方法
WO2021057108A1 (zh) 一种读数据方法、写数据方法及服务器
EP3956771B1 (en) Timeout mode for storage devices
US11726684B1 (en) Cluster rebalance using user defined rules
US11182107B2 (en) Selective allocation of redundant data blocks to background operations
US20230205638A1 (en) Active-active storage system and data processing method thereof
US11941030B2 (en) Methods for hierarchical propagation in tree structures and devices thereof
US11334279B2 (en) Hierarchical blacklisting of storage system components
JP7332488B2 (ja) ストレージシステム及びストレージシステムの制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070131

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20070131

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090123

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090313

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100121

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

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

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

Free format text: PAYMENT UNTIL: 20130226

Year of fee payment: 3

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140226

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees