JP2007279890A - バックアップシステム及びバックアップ方法 - Google Patents

バックアップシステム及びバックアップ方法 Download PDF

Info

Publication number
JP2007279890A
JP2007279890A JP2006103047A JP2006103047A JP2007279890A JP 2007279890 A JP2007279890 A JP 2007279890A JP 2006103047 A JP2006103047 A JP 2006103047A JP 2006103047 A JP2006103047 A JP 2006103047A JP 2007279890 A JP2007279890 A JP 2007279890A
Authority
JP
Japan
Prior art keywords
node
failover
priority
file server
failure
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.)
Withdrawn
Application number
JP2006103047A
Other languages
English (en)
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 JP2006103047A priority Critical patent/JP2007279890A/ja
Priority to US11/448,861 priority patent/US7487390B2/en
Publication of JP2007279890A publication Critical patent/JP2007279890A/ja
Withdrawn 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/2023Failover techniques
    • G06F11/203Failover techniques using migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality

Abstract

【課題】ノードの優先度に応じてフェールオーバ処理の順位を決定し、優先度の高いノードの復旧が遅延するのを防止する。
【解決手段】ローカルサイト1のノードに障害が発生したときにはローカルサイト1のノードまたはリモートサイト2のノードでファイルサーバを引き継ぐ方法であって、ローカルサイト1の各ノードについて、フェールオーバの優先度を設定し、予め設定した優先度とフェールオーバ先の範囲の関係に基づいて、ローカルサイト1のノード毎のフェールオーバ先をリモートサイト2またはローカルサイト1のノードのいずれかに設定し、決定したフェールオーバ先のノードへデータのバックアップを行い、フェールオーバ先のノードとの間で障害を検知し、フェールオーバ先のノードが障害を検知したときには、フェールオーバ先のノードが業務を引き継ぐ。
【選択図】図1

Description

本発明は、ストレージ装置に格納されたファイルをバックアップする技術の改良に関する。
複数のコンピュータを用いてバックアップを行う場合、一方のコンピュータに障害が発生したときには、他方のコンピュータで業務を引き継ぐフェールオーバ処理が知られている。
例えば、複数ノードをクラスタで構成し、ノード間で互いに障害の発生を監視し、障害発生時に正常なノードが障害ノードの処理を引き継ぐものが知られている(例えば、特許文献1)。
特開2005−301560号
上記フェールオーバ処理での引継ぎ先としては、ローカルサイト内の近接したノードだけでなく、遠隔地にあるリモートサイト内のノードもフェールオーバ処理を実現できる。また、ノード内に複数のファイルサーバが実行される場合(ノード内に複数のブレードサーバが内蔵されている計算機やノード内で仮想的に複数のファイルサーバが実行されている計算機)では、ノード内でフェールオーバ処理を実行することもできる。
フェールオーバ先としては、同一のノード内やローカルサイト内の他ノードに加えて、リモートサイト内のノードといったように複数の選択肢を持つことを考慮すると、以下のような問題が生じる。
ローカルサイトにある複数のノードで障害が発生した場合に、どのノードもリモートサイトへフェールオーバさせる場合では、全てのノードについてフェールオーバ処理を実施するため、本来優先的に回復が必要なノードにも回復遅延(転送処理による遅れ)等の影響を与える可能性がある。
また、同一のノード内やローカルサイト内の他ノードでフェールオーバを行う場合は、災害発生時などで時間とともに障害(災害)の規模が拡大し、フェールオーバ後にさらにフェールオーバが発生することがある。このような場合、引き継ぐ処理が増えたり、引継ぎ先のノードの負荷が増えたり、複数回のフェールオーバによって業務の中断が頻発する可能性がある。このため、各ノードが提供する業務について、復旧(引き継ぎ)の際の優先度が異なる場合では、障害復旧と業務遅延の挽回を急がなくてはならない優先度の高いノードにも悪影響を与えてしまう、という問題がある。
したがって、提供する業務の優先度が高いノードと、優先度が低いノードが混在する場合では、上記従来の技術では優先度にかかわらずフェールオーバ処理が実施されるので、上述のような優先度の高いノードの引き継ぎが遅延する場合が生じる。
また、優先度の高い業務を提供するノードについては、可能であれば自ノードに障害が発生するよりも前にフェールオーバ処理を実施するのが望ましいが、前記従来例では自ノードに障害が発生するまでフェールオーバ処理を実施できないという問題があった。
そこで本発明は、上記問題点に鑑みてなされたもので、ノードの優先度に応じてフェールオーバ処理の順位を決定し、優先度の高いノードの復旧が遅延するのを防止することを目的とする。
本発明は、業務を提供する複数のノードと、前記ノードに記憶領域を割り当てた第1のストレージ装置と、を含む第1の系と、業務を提供可能な複数のノードと、前記ノードに記憶領域を割り当てた第2のストレージ装置とを含む第2の系を備えて、前記第1の系のノードに障害が発生したときには、前記第1の系のノードまたは前記第2の系のノードで前記業務を引き継ぐフェールオーバ方法であって、前記第1の系の各ノードについて、フェールオーバの優先度を設定し、予め設定した優先度とフェールオーバ先の範囲の関係に基づいて、前記第1の系のノード毎のフェールオーバ先を前記第2の系のノードまたは第1の系のノードのいずれかに設定し、前記決定したフェールオーバ先のノードへデータのバックアップを行い、前記フェールオーバ先のノードとの間で障害を検知し、前記フェールオーバ先のノードが障害を検知したときには、前記フェールオーバ先の前記ノードが業務を引き継ぐ。
また、前記第2の系が、前記第1の系で発生した障害の数を検知し、前記障害の数が予め設定した上限値を超えたときには、前記第1の優先度が設定された第1の系のノードで障害が発生していなくとも、当該ノードの業務を予め引き継ぐ。
したがって、本発明は、各ノードが提供する業務の優先順位に従ってフェールオーバ先を変えることによって、優先順位の高いノードと優先順位の低いノードが、同時に同じ引き継ぎ先へフェールオーバ処理を行うのを回避することで、優先順位の高いノードの回復遅延等の悪影響を低減することができる。
また、優先順位の高い業務を提供するノードは、自身の障害発生前(周辺のノードで障害が発生しとき)に先行してリモートサイトへフェールオーバさせ、優先順位が高くないノードは障害発生後にフェールオーバさせることで、優先順位に応じたフェールオーバ処理の時間差を作ることで、優先順位の高いノードの回復遅延等の悪影響を低減することができる。
以下、本発明の一実施形態を添付図面に基づいて説明する。
図1は、本発明をストレージ装置としてのNAS(Network Attached Storage)装置に適用した場合の計算機システムの全体的な構成を示すブロック図である。
図1において、業務を提供するローカルサイト(またはプライマリサイト)1は、複数のNAS100、NAS200から構成され、LAN140を介してWAN(ネットワーク)50に接続される。WAN50には、ローカルサイト1が提供するファイルサーバ(業務)を利用するユーザーサイト3と、ローカルサイト1のデータ等をバックアップし、ローカルサイト1に障害が生じたときには業務(ファイル共有機能またはファイルサーバ)を引き継ぐリモートサイト(またはセカンダリサイト)2が接続されているまた、ローカルサイト1内では、NAS100とNAS200が相互にバックアップと、フェールオーバ処理を行う。
ローカルサイト1内のNAS100は、クラスタ構成された複数のノード1−0〜1−nを有し、これらのノード1−0〜1−nが、それぞれファイル共有機能(ファイルサーバ)を提供する。なお、ノード1−0〜1−nは、後述するようにサーバ計算機を構成するNASヘッドして構成される。そして、NAS100は、後述するストレージ制御部により複数のディスクドライブをRAID構成により複数の論理ユニット(または論理ボリューム)として提供するRAIDディスクサブシステム130を備える。このRAIDディスクサブシステム130には、少なくとも一つの共有LU130Sが設定される。この共有LU130Sは、ローカルサイト1内の他のノードやリモートサイト2内のノードからも共有することが可能となっている。
また、ストレージ制御部のリモートコピー部(機能)120により、ローカルサイト1内やリモートサイト2の他のNASへ論理ユニット130の内容を複製してバックアップを実現する。また、ローカルサイト1内の他のNAS200からのバックアップを受け付けて、NAS200の障害発生時にはNAS200のファイル共有機能を引き継ぐ。
NAS200は、ユーザーサイト3へファイル共有機能を提供し、また、ローカルサイト1内でNAS100のバックアップと障害時のフェールオーバ処理を行う。NAS200の構成はNAS100と同様であり、クラスタ構成された複数のノード2−0〜2−nでファイル共有機能を提供可能となっている。また、NAS200は、後述するストレージ制御部により複数のディスクドライブをRAID構成により複数の論理ユニット(または論理ボリューム)として提供するRAIDディスクサブシステム230を備え、NAS100と同様に、少なくとも一つの共有LU230Sが設定される。また、ストレージ制御部のリモートコピー部(機能)220により、リモートサイト2の他のNASへ論理ユニット230の内容を複製してバックアップを実現する。
上記NAS100、200がLAN140で接続されてローカルサイト1を構成する。
リモートサイト2はNAS300を備え、ローカルサイト1とは地理的に離れた位置に構築される。NAS300は、ローカルサイト1のバックアップと業務の引き継ぎを行う。NAS300の構成はNAS100と同様であり、クラスタ構成された複数のノード3−0〜3−nでファイル共有機能を提供可能となっている。また、NAS300は、後述するストレージ制御部により複数のディスクドライブをRAID構成により複数の論理ユニット(または論理ボリューム)として提供するRAIDディスクサブシステム330を備え、NAS100と同様に、少なくとも一つの共有LU330Sが設定される。また、ストレージ制御部のリモートコピー部(機能)320により、ローカルサイト1のNAS100またはNAS200のデータを受信してRAIDディスクサブシステム330へ格納する。なお、リモートサイト2は、LAN240がWAN50に接続され、NAS300は、このLAN240に接続される。
ローカルサイト1とリモートサイト2では、RAIDディスクサブシステム間でリモートコピーによる論理ボリュームの複製が可能であり、ローカルサイト1とリモートサイト2の間は、上述のリモートコピー機能によってローカルサイト1側からリモートサイト2側へファイルシステムの内容が複製される。なお、リモートコピーのタイミングは同期または非同期を任意に設定することができる。
また、ローカルサイト1内のNAS100とNAS200の間でも、リモートコピー機能によってNAS100とNAS200の間でノードが有するデータの複製が相互に実行される。
次に、ユーザーサイト3は、WAN50に接続されたLAN340と、LAN340に接続された複数のクライアント計算機33と、ローカルサイト1やリモートサイト2を管理する管理用クライアント計算機32を備える。
クライアント計算機33は、ローカルサイト1のNAS100が提供するファイル共有機能を利用し、ファイルの参照や更新を行う。管理用クライアント計算機32は、リモートサイト2のNAS100、200や、リモートサイト2のNAS300の設定などを行う。
図2は、リモートサイト1のNAS100のハードウェアの一例を示すブロック図である。なお、NAS200、300もNAS100と同一の構成であるので、以下に説明するNAS100の構成及び機能をNAS200、300も備えるものとする。
NAS100は、複数のノード1−0〜1−nとストレージ制御部110とRAIDディスクサブシステム130を含んで構成されている。
NAS100の各ノード1−0〜1−nには、演算処理を実行するCPU11と、プログラムやデータを一時的に格納するメモリ12と、CPU11とI/Oのアクセスを制御するデータ転送コントローラ13と、LAN140に接続されたネットワークインターフェース14及びストレージ用のインターフェース15が設けられている。なお、メモリ12にデータキャッシュ(図示省略)を設けても良く、あるいは、データキャッシュをデータ転送コントローラ13側に設けても良い。
メモリ12には制御プログラム(後述)がロードされており、CPU11が制御プログラムを呼び出して実行することによって後述する各種処理が行われる。
データ転送コントローラ13は、CPU11、ネットワークインターフェース14、ストレージインターフェース15の間でデータを転送する。
そして、NAS100の複数のノード1−0〜1−nはクラスタ構成されて、それぞれがファイル共有機能を提供するファイルサーバとして機能する。各ノード1−0〜1−nには、それぞれRAIDディスクサブシステム130の論理ユニット(以下、LU)131〜136が割り当てられる。ただし、上述のように共有LU130Sは、同一筐体内のノード1−0〜1−nと他のNASで共有する。
そして、リモートコピー部120は、予め設定されたNAS200またはNAS300にLU131〜136のデータ(ファイル)を複写する。
また、各ノード1−0〜1−nでは、後述するフェールオーバ部を実行しており、ノード1−0〜1−nに障害が生じたときには、後述のようにファイル共有機能の引き継ぎを実行する。
なお、NAS200、300のRAIDディスクサブシステム230、330も上記NAS100と同様に複数のLU131〜136を備えるものとする。
図3はローカルサイト1のNAS100及びNAS200のソフトウェア構成を示すブロック図である。なお、ローカルサイト1のNAS100とNAS200は同一の構成であるので、以下ではNAS100の構成のみを説明し、NAS200も同様の構成のものとする。
NAS100の各ノード1−0〜1−n上では、OS(NAS OS)150が実行され、このOS150上ではクライアント計算機33へ所定のファイルシステムを提供するファイル共有機能(ファイルサーバ)160と、自ノードまたは他のノードに障害が発生したときにフェールオーバ処理を実行するフェールオーバ機能170が実行される。なお、各ノードで実行される機能または処理は、プログラムとして実装されるものである。
ファイル共有機能(以下、ファイルサーバとする)160は、ネットワーク(LAN140、WAN50)に接続されるクライアント計算機33に、ファイル共有プロトコル(NFS、CIFS)を提供し、クライアント計算機33間でファイル共有機能を提供する。ファイルサーバ160は、クライアント計算機33からファイル単位のリクエスト(参照、更新)を受付け、ファイルシステムに対してファイル単位のI/O(read/write)を実行する。
フェールオーバ機能170は、ノード間または、ノード内で2つのファイルサーバをクラスタ構成として、互いに相手を監視し、監視相手のノードが障害等でダウンした場合に処理を引き継ぐ機能である。
フェールオーバ機能170は、ファイルサーバ160のNAS100内での優先順位を決定する優先順位付け処理部171と、同一NAS100内の他のノードや同一ローカルサイト1内の他のノードのファイルサーバの稼働状態を監視するファイルサーバ監視処理172と、自ノードあるいは周囲のノードで障害が発生したときに現在提供しているファイルサーバ160を他のノードに引き継ぐ引き継ぎ処理173と、他のノードのファイルサーバ監視処理172に対して自ノードの稼働状態を応答するファイルサーバ監視応答処理174と、他のノードから遮断要求を受け付けるシャットダウン要求受付部175から構成される。
ここで、フェールオーバを実行するための各種情報は、各ノード1−0〜1−nが所属するNAS100の共有LU130Sに引き継ぎ情報400−1として各NAS装置毎にそれぞれ格納される。つまり、図1で示すように、ローカルサイト1のNAS100の共有LU130Sには、NAS100内のファイルサーバ160に関するリソース情報を保持する引き継ぎ情報400−1が格納され、ローカルサイト1のNAS200の共有LU230Sには、NAS200内のファイルサーバ160に関するリソース情報を保持する引き継ぎ情報400−2が格納され、リモートサイト2のNAS300の共有LU330Sには、NAS300内のファイルサーバ160に関するリソース情報を保持する引き継ぎ情報400−3が格納される。なお、以下では各NAS装置の引き継ぎ情報の総称を引き継ぎ情報400とし、各NAS装置の引き継ぎ情報を400−1〜400−3として識別する。なお、各NAS装置には少なくとも一つの共有LUを備え、そのうちの一つの共有LUに引き継ぎ情報400を格納すればよい。
さらに各共有LUの引き継ぎ情報400は、自NAS装置のファイルサーバ160の引き継ぎ情報400を他のNAS装置の引き継ぎ情報400に配布し、各NAS装置の引き継ぎ情報400は同期している。なお、この引き継ぎ情報400を相互に配布する処理は、各NAS装置のリモートコピー機能を用いることができる。
ローカルサイト1内のNAS200では、共有LU230Sに各ノード2−0〜2−nの引き継ぎ情報400−2が格納される。
そして、他のノードのファイルサーバ160を自ノードに引き継ぐ際、フェールオーバ機能170は、ファイルサーバを引き継ぐ元のノードが所属するNASの共有LUに格納された引き継ぎ情報400に基づいてフェールオーバ処理を実行する。
また、引き継ぎ情報400には、フェールオーバを実行した結果、引き継いだファイルサーバ160の情報も格納する。
図4はリモートサイト2のNAS300のソフトウェア構成を示すブロック図である。
NAS300の各ノード3−0〜3−n上では、OS(NAS OS)350が実行され、このOS350上ではクライアント計算機33へ所定のファイルシステムを提供可能なファイル共有機能(ファイルサーバ)360と、自ノードまたは他のノードに障害が発生したときにフェールオーバ処理を実行するフェールオーバ機能370が実行される。
フェールオーバ機能370は、同一NAS100内の他のノードや同一ローカルサイト1内の他のノードのファイルサーバの稼働状態を監視するファイルサーバ監視処理371と、自ノードあるいは周囲のノードで障害が発生したときに現在提供しているファイルサーバ160を自ノードに引き継ぐ引き継ぎ処理372と、他のノードのファイルサーバ監視処理に対して自ノードの稼働状態を応答するファイルサーバ監視応答処理373と、ローカルサイト1内の障害の発生状況を監視するローカルサイト監視処理374と、引き継ぐファイルサーバ160のノードを決定するフェールオーバ先制御処理375と、を有する。
ここで、リモートサイト2が引き継いだローカルサイト1のファイルサーバ160の情報は、共有LU330Sの引き継ぎ情報400−3に格納される。引き継いだファイルサーバ160をローカルサイト1へ戻す際には、引き継ぎ情報400−3の内容を、ローカルサイト1の共有LU130S、230Sの引き継ぎ情報400−1、400−2に書き込むことになる。
<フェールオーバ処理の概要>
次に、本発明の概要について、図5に示すノード間の概略図に基づいて以下に説明する。
図5においてローカルサイト1のNAS100では、ノード1−0でファイルサーバ160を提供し、また、NAS200では、ノード2−0、2−1でファイルサーバ160を提供する例を示す。
各ノードのファイルサーバ160は、アクセスユーザ数や格納しているファイルサイズ等よってフェールオーバの優先度(優先順位)が設定される。例えば、図示の例では、ノード2−0のファイルサーバ160が最も優先順位が高い優先度Aに設定され、ノード2−1のファイルサーバ160が2番目に優先順位が高い優先度Bに設定され、ノード1−0のファイルサーバ160が3番目の優先順位となる優先度Cに設定されたとする。
本発明では、優先順位の高い順にA>B>Cとした場合、優先度がAのファイルサーバ160は、リモートサイト2へのフェールオーバが可能であり、優先度Bのファイルサーバ160は、ローカルサイト1内の他のノード(1−1)へのフェールオーバに制限される。さらに、最も低い優先度Cのファイルサーバ160は、同一NAS装置内の他のノードに制限される。あるいは、ひとつのノードで複数のファイルサーバ160を提供する場合では、同一ノードの他のファイルサーバ160が引き継ぎ先となる。フェールオーバの優先度は、高くなるほど距離的に遠い他のサイトが引き継ぎ先となり、優先度が低くなるほど距離的に近いノードが引き継ぎ先となる。
また、ローカルサイト1とリモートサイト2のサイト間での監視によって、ローカルサイト1で障害(フェールオーバ)が多発している状態で、稼動中の優先度Aのファイルサーバ160をリモートサイト2に事前にフェールオーバさせることも可能である。つまり、リモートサイト2はローカルサイト1内のフェールオーバを監視し、災害や障害などによりローカルサイト1でフェールオーバが頻発していることを検知すると、優先度Aのファイルサーバ160で障害が発生する前にリモートサイト2へフェールオーバを完了することができる。つまり、リモートサイト2は、ローカルサイト1の全体的な障害の傾向に基づいて、優先度の高いファイルサーバ160に障害が発生する前にフェールオーバを実施する。
そして、優先度がAのファイルサーバ160がリモートサイト2へフェールオーバしてから一定時間が経過すると、優先度毎のフェールオーバ先の制限を緩和(例えば、優先度Bがリモートサイト2へのフェールオーバが可能等)する。これにより、優先度が高いファイルサーバ160のフェールオーバが完了した後に、優先度が低いファイルサーバ160もリモートサイト2へ引き継ぐことが可能となり、災害や障害からのNASの復旧を優先度に応じて迅速に行うことが可能となる。
以上のような処理を実現するため、本発明のフェールオーバ機能170、370は以下のような手順で設定を行う。
(1)判定ルール及びフェールオーバ先の設定
ローカルサイト1内のファイルサーバ160の優先度を設定するための判定ルール(優先度設定情報)と、優先度毎のフェールオーバ先を引き継ぎ情報400に登録する。なお、優先度設定情報は、ユーザーサイト3の管理クライアント32からローカルサイト1やリモートサイト2の管理者が設定する。
各ファイルサーバ160毎にフェールオーバ先の初期値を上記管理者が管理クライアント32から設定する。また、管理クライアント32から各NAS装置のノード毎に対してLUを割り当てておく。例えば、NAS100のノード1−0にはLU131、132を割り当て、ノード1−1にはLU133、134を割り当てておく。
(2)ファイルサーバの優先度設定
各ノード1−0〜1−n、2−0〜2−nにおいて、各ノード内のファイルサーバ160毎にアクセスユーザ数や、格納しているデータ容量などの利用状況を定期的に監視し、ファイルサーバ160毎の優先度を後述するように定期的に更新する。ファイルサーバ160毎の優先度は、共有LU130S、230S上の引き継ぎ情報400−1〜400−3にそれぞれ格納される。また、各ファイルサーバ160のリソース情報(IPアドレス、ファイルシステム、ユーザアカウント情報など)は、予め共有LU130S、230S、330S上の引き継ぎ情報400−1〜400−3に格納しておく。
(3)ファイルサーバのクラスタ構築及び監視処理
各ノード内のファイルサーバ160毎に同じ優先度のファイルサーバ160同士でクラスタを構成する。クラスタ構成の初期設定は管理クライアント32等から管理者が設定する。そして、クラスタを構成するファイルサーバ160は、フェールオーバ機能170のファイルサーバ監視処理172により、互いの障害監視を実行する。
(4)フェールオーバ処理
ファイルサーバ160の障害を検知したとき、障害が発生したファイルサーバ160のリソースを引き継ぎ先のノードが共有LUの引き継ぎ情報400から取得して、フェールオーバ処理を実施する。その後、引き継ぎ先のノードでファイルサーバ160(360)を再開する。
(5)フェールオーバ後のクラスタ再構築
フェールオーバ処理が完了したファイルサーバ160(360)は、フェールオーバ可能な新たな引継ぎ先を探してクラスタを再構築する。ただし、ファイルサーバの優先度によって下記のように引継ぎ先が制限される。
・優先度が低い場合
同一筐体(RAIDディスクサブシステムの他のノード、同一ノードの他のサーバ)でフェールオーバが可能。
・優先度が中の場合
ローカルサイト1内で他のNASへのフェールオーバが可能。
・優先度が高い場合
リモートサイト2へフェールオーバが可能。
上記の制限に基づいて決定した新たな引き継ぎ先について、引き継ぎ先のノードが有する共有LUの引き継ぎ情報400へ格納する。
なお、優先度が最も低いノードの場合には、フェールオーバしない優先順位としてもよい。すなわち、業務に支障が出ないファイル等は敢えてフェールオーバを実施しない。
(6)リモートサイトからのローカルサイト監視
リモートサイト2からローカルサイト1におけるフェールオーバの発生状況を監視し、一定時間内にしきい値を超える回数のフェールオーバが発生した場合、ローカルサイト1で稼動中の優先度の高いファイルサーバ160をリモートサイト2へフェールオーバさせる。フェールオーバの発生状況の監視方法としては、アドレス解決プロトコル(ARP:Address Resolution Protocol)を使用して、ローカルサイト1内の各ファイルサーバ160のMACアドレス変更回数をカウントすることができる。つまり、あるIPアドレスが割り当てられたファイルサーバ160が、頻繁にMACアドレスを変更するということは、頻繁にノードを変更したことになる。したがって、IPアドレスに対応するMACアドレスの変更回数を監視することで、フェールオーバの実施回数を取得できる。
(7)フェールオーバ先変更制御
優先度の高いファイルサーバ160をリモートサイト2へフェールオーバし処理が完了すると、一定時間経過後にローカルサイト1内で優先度が中または低のファイルサーバ160についてフェールオーバ先を拡大する。例えば、
・優先度が低い場合
ローカルサイト1内で他のNAS装置へのフェールオーバが可能。
・優先度が中の場合
リモートサイト2へフェールオーバが可能。
なお、フェールオーバ先の変更後に他の優先度の高いファイルサーバ160のフェールオーバが発生した場合には、フェールオーバ先を上記(5)に示した基本状態に戻すことも可能である。
<引き継ぎ情報の詳細>
次に、共有LUに格納されてフェールオーバの際に、引き継ぐファイルサーバ160のリソースを提供する引き継ぎ情報について以下に説明する。
引き継ぎ情報400−1〜400−3は、共有LU(130S、230S、330S)が所属するNASのノードで実行するファイルサーバ160の設定及び履歴を格納し、引き継ぎ先のノードへ提供するものである。
図6は、引き継ぎ情報400を構成する情報の一例を示すブロック図である。引き継ぎ情報400には、共有LUが所属するNAS装置のファイルサーバ160の設定情報を格納するサーバ情報テーブル401と、ファイルサーバ160毎に設定されたクライアント計算機33へ提供するファイル共有機能のIPアドレスとファイルシステムの情報を格納するサービスIPテーブル402と、ファイルサーバ160毎のユーザのアカウント情報を格納するユーザ情報テーブル403と、ファイルサーバ160のMACアドレスの履歴を格納する格納する引き継ぎ履歴テーブル404と、優先度を設定するためのしきい値やフェールオーバ先の範囲などを格納する優先度設定情報405が含まれる。
図7は、各NAS100〜300の共有LU130S、230S、330Sに格納されるサーバ情報テーブル401の一例を示す。
図7において、サーバ情報テーブル401の1つのエントリには、ファイルサーバ名4011に対応した設定情報が格納される。所属サイト区分4012は、このファイルサーバ160の位置を示し、例えば、ローカルサイト1、またはリモートサイト2のいずれかを設定する。
所属RAIDサブシステム名4013には、ファイルサーバ名4011で識別されるファイルサーバ160に現在割り当てられているNAS装置の名称(または識別子)と記憶領域(LU名)が格納される。
管理IPアドレス4014は、ファイルサーバ160を管理または監視するため、ファイルサーバ名4011に対して予め管理者が割り当てた管理用IPアドレスを格納する。フェールオーバ処理では、この管理IPアドレス4014を使用してハートビートの検出や、クラスタ構築時のファイルサーバの検索を実行する。
クラスタステータス4015は、現在このファイルサーバがクラスタを構成中であるか否かを示し、クラスタを構成していれば「構成中」が設定され、クラスタを構成していなければ「未構成」が設定され、障害が発生していれば「障害中」が格納される。なお、クラスタステータス4015は、初期状態では、クラスタ未構成が設定されている。
サービスIPアドレス4016には、クライアント計算機33に対して、ファイル共有機能を提供するために使用されるサービスIPアドレスの個数が設定される。このサービスIPアドレスは、管理者によって予め設定されたものである。
優先度4017には、ファイルサーバのアクセスユーザ数やアクセス頻度あるいは格納するファイルの容量等によって決定されるフェールオーバ先の制御に使用される値が格納される。例えば、上記のようにA〜Cのいずれかが優先度4017に設定される。
引き継ぎ先RAIDサブシステム名4018には、クラスタステータス4015が「構成中」のものについて、引き継ぎ先のNAS装置の名称(または識別子)とLU番号を格納する。なお、引き継ぎ先RAIDサブシステム名4018には、NAS装置の識別子とノードの識別子を格納しても良い。
上記サーバ情報テーブル401のうち、管理者によって設定されて固定的に利用されるものは、ファイルサーバ名4011、管理IPアドレス4014、サービスIPアドレス4016である。一方、フェールオーバが実施されたときには、当該ファイルサーバ名を実行するノードが変更されると、所属RAIDサブシステム名4013が変更されることになる。なお、このとき、ノードの変更に伴って、管理IPアドレスとMACアドレスの関係が変更されることになる。
次に、図8はファイルサーバ160が提供するサービスIPテーブル402を示す。サービスIPテーブル402には、ファイルサーバ160がクライアント計算機33に対して提供するサービスIPアドレスとファイルシステムの関係が格納される。ひとつのエントリには、サーバ名4021がクライアント計算機33に提供するひとつのサービスIPアドレス4022と、このサービスIPアドレスで提供するファイルシステムの個数4023と、ファイルシステムの個数に応じたファイルシステム情報4024で構成される。ファイルシステム情報4024は、クライアント計算機33によって共有されるファイルサーバ160上のファイルシステムに関する情報で、ファイルシステム名、マウントポイント等が格納される。上記サービスIPテーブル402は、管理クライアント32から管理者が設定する。
次に、図9はファイルサーバ160が受け付けるユーザのアカウント情報を格納するユーザ情報テーブル403の一例を示す。このユーザ情報テーブル403には、サーバ名4031に対応して受け付けるユーザのアカウント数4032と、ユーザアカウント数に応じた個々のユーザアカウント情報4033が格納される。ユーザアカウント情報4033には、ファイルサーバにアクセスするユーザのIDやパスワード等が格納される。なお、上記ユーザ情報テーブル403は、管理クライアント32から管理者が設定する。
次に、図10はローカルサイト1のファイルサーバ160の管理IPアドレスとMACアドレスの関係を格納する引き継ぎ履歴テーブル404の一例を示す。
この引き継ぎ履歴テーブル404の一つのエントリには、管理IPアドレス4041に対応して、引き継いだ日時4042と、管理IPアドレスに対応するノードのMACアドレス4043と引き継ぎ回数4044と、エントリを作成した日時が格納される。この引き継ぎ履歴テーブル404はローカルサイト1に所属するNAS装置のファイルサーバ160に関するもので、ローカルサイト1からリモートサイト2へフェールオーバしたファイルサーバ160の情報は、この引き継ぎ履歴テーブル404から削除される。逆に、リモートサイト2からローカルサイト1へフェールバックされたファイルサーバ160については、この引き継ぎ履歴テーブル404のエントリに追加される。なお、引き継ぎ日時4042はフェールオーバ処理を実行し、処理を引き継いだ日時が格納される。
この引き継ぎ履歴テーブル404は、各ノードの引き継ぎ処理173と、後述するリモートサイト2のローカルサイト監視処理374によって更新される。
優先度設定情報405には、NAS100〜300で稼動するファイルサーバ160のログ情報に基づいて優先度を決定するためのしきい値やパラメータ、条件式などが含まれる。
例えば、同一NAS装置内で、単位期間当たりのアクセス数で優先度を決定する場合、
単位期間当たりのアクセス数>AC1 優先度=A
AC2<単位期間当たりのアクセス数≦AC1 優先度=B
単位期間当たりのアクセス数≦AC2 優先度=C
としてファイルサーバ160毎に設定する。ただし、しきい値AC1、AC2は予め設定したしきい値で、AC1>AC2である。なお、単位時間当たりのアクセス数に代わって、累計のアクセス数を用いても良い。
そして、優先度Aの場合には、リモートサイト2をフェールオーバ先として設定し、優先度Bの場合には同一のローカルサイト1内の他のNAS装置のノードをフェールオーバ先として設定し、優先度Cの場合には同一ノード内の他のLUまたは同一NAS装置内の他のノードをフェールオーバ先として設定する。
上述のように、優先度設定情報405は管理者が管理クライアント32等から予め設定利しておくものである。
この他、ファイル数やファイルの容量あるいはユーザアカウント数などを用いて所定のしきい値や条件式を設定する。あるいは、単位期間当たりのアクセス数とファイル数やファイルの容量及びユーザアカウント数を組み合わせて優先度を設定する条件式を適宜設定してもよい。これらのしきい値や条件式はローカルサイト1やユーザサイト3の特性に応じて適宜設定すればよい。
<ローカルサイト内での処理>
以下では、図3に示したローカルサイト1内のノードで実行されるフェールオーバ処理の詳細について説明する。
次に、上記(2)及び図3で示したファイルサーバの優先度設定処理の詳細について、以下に説明する。この処理は、ローカルサイト1内の各ノードのフェールオーバ機能170を構成するファイルサーバ優先順位付け処理171で、所定の周期毎に実行されるものである。
この優先度設定処理では、ローカルサイト1の各ノードにおいて、ファイルサーバ160へのアクセスログなどの情報と、システム管理者が設定した優先順位付けルールに基づいて、ファイルサーバ160の優先順位を決定し、サーバ情報テーブル401の優先度4017へ書き込む。
ここで、各ファイルサーバ160は、図11に示すようなアクセスログ1300を割り当てられたLU等に格納する。図11において、アクセスログ1300の各エントリには、アクセスを行った日時1301と、アクセスしたファイルのディレクトリのパス情報1302と、アクセスを行ったユーザ情報(ユーザID)1303が格納される。
ファイルサーバ優先順位付け処理171で実行される処理の一例を、図12のフローチャートに示す。
S1では、フェールオーバ機能170を実行するノードが所属するNAS装置の共有LUから引き継ぎ情報400を参照し、優先度設定情報405を読み込む。このとき、変数としてのアクセスユーザ数Nacを0にリセットし、変数としてのデータサイズVflを0にリセットする。S2では、フェールオーバ機能170を実行するノードのファイルサーバが生成したアクセスログ1300を先頭から1行ずつ読み込む。S3では、現在読み込んだアクセスログ1300がファイルの終端(EOF:End Of File)に達したか否かを判定する。ファイルの終端に達していなければS4へ進み、終端に達していた場合にはS6に進む。
S4では、読み込んだアクセスログの一行からアカウント情報を抽出可能であれば、変数としてのアクセスユーザ数Nacに1を加算する。次に、ディレクトリのパス情報1302からアクセスしたファイルのサイズを取得し、変数としてのファイルサイズVflに加算する。そして、S2へ戻ってアクセスログ1300の次の行を読み込む。
ファイルの終端に達したS6では、共有LUの引き継ぎ情報400から読み込んだ優先度設定情報405から読み込んだしきい値及び条件式を、上記アクセスを行ったユーザの総数を示すアクセスユーザ数Nacと、アクセスしたファイルの総容量を示すデータサイズVflに適用して優先度を決定する。
例えば、上記2つの値を適用する場合、優先度設定情報405のしきい値及び条件式は次のようになる、
優先度A:アクセスユーザ数>XX AND データサイズ>YY
優先度B:アクセスユーザ数>VV AND データサイズ>WW
優先度C:アクセスユーザ数>TT AND データサイズ>UU
優先度D:上記以外
以上の処理により、各ファイルサーバ160の優先度が定期的に更新されて。共有LUの引き継ぎ情報400内のサーバ情報テーブル401の優先度4017が更新される。
以上の処理により、各ファイルサーバ160は、所定の周期毎にアクセスを行ったユーザの総数と、アクセスされたファイルの総容量とから当該ファイルサーバの優先度を決定する。ファイルサーバ優先順位付け処理171は、引き継ぎ情報400のサーバ情報テーブル401の優先度4017の内容を、上記決定した優先度で周期的に更新する。
すなわち、優先度は、ファイルサーバ160の利用率が高いほど、優先度は高くなり、格納するファイルの数やファイルの総容量が大きいほど優先度は高く設定される。
<ファイルサーバの監視処理の詳細>
次に、上記(3)で示したファイルサーバの監視処理のうち、ローカルサイト1内でのファイルサーバの監視処理の詳細について以下に説明する。図13は、ローカルサイト1内の各ノードのフェールオーバ機能170を構成するファイルサーバ監視処理172で実行される処理の一例を示すフローチャートである。なお、ファイルサーバ監視処理172は、フェールオーバ機能170が起動している期間はバックグラウンドなどで繰り返して実行される。
S11では、フェールオーバ機能170を実行するノード上のファイルサーバ160の優先度を、共有LUのサーバ情報テーブル401から取得する。
S12では、リモートサイト2へ問い合わせを行い、自ノードのファイルサーバ160の優先度でフェールオーバが可能な範囲を取得する。つまり、同一筐体の他のLU、同一ローカルサイト1内の他のNAS装置あるいはリモートサイト2のいずれかを取得する。この処理の詳細については、後述する。なお、問い合わせ先のリモートサイト2のノード(ファイルサーバ160)は、共有LUの引き継ぎ情報400内のサーバ情報テーブル401から、リモートサイト2でクラスタステータス4015が未構成のものに問い合わせる。なお、リモートサイト2でクラスタステータス4015が未構成のファイルサーバ360がない場合には、「障害中」でないノードに問い合わせればよい。
S13では、共有LUのサーバ情報テーブル401から自ノードのファイルサーバ160の優先度と同一の優先度を持ち、かつ、上記取得した範囲内でファイルサーバ160を検索する。この検索は、ファイルサーバ監視処理172が、他のNAS装置あるいはリモートサイト2のNAS装置の共有LUの引き継ぎ情報400からサーバ情報テーブル401を参照する。
そして、S14では、上記S13で検索したファイルサーバ160のクラスタステータス4015を参照し、クラスタ構成が「未構成」であるか否かを判定し、クラスタを構成するファイルサーバ160を検索する。
クラスタステータス4015が「未構成」のファイルサーバ160があれば、当該ファイルサーバ160をフェールオーバ先のファイルサーバ160として選択する。クラスタステータス4015が「構成中」あるいは「障害中」の場合には、S20へ進んで他のファイルサーバ160を検索する。
ファイルサーバ160を選択すると、S15へ進んで、検索したファイルサーバ160のクラスタステータス4015と自ファイルサーバ160のクラスタステータス4015を「構成中」に変更する。そして、サーバ情報テーブル401の自ファイルサーバ160の引き継ぎ先RAIDサブシステム名4018に、上記選択したファイルサーバ160の識別子(NAS装置の識別子とノードの識別子)を設定する。
ここで、上記S14の判定でクラスタステータスが「未構成」のファイルサーバ160がない場合のS20では、同一の優先度の範囲の全てのファイルサーバ160について検索が完了したか否かを判定する。同一の優先度の範囲で検索すべきファイルサーバ160が残っている場合には、S13へ戻って現在の優先度の範囲で次のファイルサーバ160を検索する。一方、同一の優先度の範囲の全てのファイルサーバ160を検索しても「未構成」のファイルサーバ160がない場合には、S21へ進む。S21では、現在の優先度の範囲でクラスタを構成可能なファイルサーバ160が見つからないため、優先度を所定の値だけ高くする。あるいは、優先度に対応するフェールオーバ先の定義を拡大する。
例えば、優先度を1段階引き上げて、クラスタを構成するファイルサーバ160の検索範囲を拡大する。そして、検索範囲を拡大した後にS13の処理へ戻ってファイルサーバ160の検索を続行する。つまり、優先度が低いときには同一のNAS装置に障害が発生して全てのノードが障害中になると引き継ぎ先がなくなる場合がある。このため、優先度を引き上げて、よりフェールオーバ対象範囲の広い優先度を再設定し、クラスタを構成する。
S16では、決定したクラスタ(フェールオーバ先)のノードに対してハートビートを送信し、障害を検出するためのタイマでカウントを開始する。なお、ハートビートの内容について所望のプロトコルで実施することができる。そして、当該ファイルサーバ160が稼動するNAS装置は、所定のタイミングで、フェールオーバ先のノードへリモートコピーによりデータ(ファイルシステム)の複製を行う。
S17では、送信したハートビートに対する応答の有無を判定する。応答があればS16へ戻って再度ハートビートを送信し、カウントをリセットしてからカウントを開始する。なお、S16、S17の繰り返しは、予め設定したハートビートの送信間隔で実施することができる。
S17で応答がなければ、S18へ進んで、カウンタのカウント値が所定値が超えたか否かを判定する。カウント値が所定値以内あればS17へ戻り、カウント値が所定値を超えても応答がない場合には、クラスタの相手に障害が発生したと判定しS19へ進む。S19では、フェールオーバ処理を実施するため、引き継ぎ処理173を呼び出して起動する。
以上の処理により、ローカルサイト1内の各ノードは優先度に応じたフェールオーバ先の範囲でクラスタステータスが「未構成」のファイルサーバ160を検索し、自ノードのファイルサーバ160とクラスタを構築する。クラスタ内のノード間ではNAS装置のリモートコピー機能によりデータのバックアップが措定のタイミングで実行される。そして、クラスタ内では相互にハートビートの送信により障害の発生を監視し、障害が発生すると引き継ぎ先のノードで引き継ぎ処理173を起動するのである。
ローカルサイト1内のノードにおけるファイルサーバの障害監視処理は、例えば、図14で示すように、優先度が低いときには、同一筐体のNAS装置内の他のノードと自ノードがクラスタを構成する。両者のフェールオーバ機能170同士で、相互の障害発生状況を監視する。そして、クライアント32へサービスを提供するノードに障害が発生すると、フェールオーバ先のファイルサーバ160が共有LUから引き継ぎ情報400を取得してフェールオーバを実施する。
あるいは、図15で示すように、ひとつのノード内に複数のファイルサーバ160を提供する仮想NAS装置(後述)では、同一のノード内のファイルサーバ160間でクラスタを構成し、障害発生の監視を行うことができる。そして、障害発生時には、同一のノード内で引き継ぎを実施する。
一方、優先度が高くなると、同一のローカルサイト1内で他のNAS装置へフェールオーバすることができる。例えば、図16で示すように、NAS100のノードとNAS200のノードでクラスタを構成し、相互に障害発生の監視を実施する。障害時には、NAS200のノードがNAS100のノードを引き継いで、ファイルサーバ160をユーザサイト3へ提供する。このように、各ノードにおいて、ファイルサーバ160の引継ぎ情報400に基づいて、同じ優先度かつクラスタステータスがクラスタ「未構成」のファイルサーバ160を見つけ、引継ぎ情報のステータスをクラスタ「構成中」に更新し、障害監視(ハートビート監視)を開始する。ファイルサーバ160の優先度によって、クラスタを組む相手が同一ノード内、同一サイト(ローカルサイト)内、またはリモートサイト2内のファイルサーバ160、360のいずれかになる。障害監視開始後に障害を検知した場合には、後述の引継ぎ処理を実行する。
<フェールオーバ処理の詳細>
次に、上記図13のS19で呼び出される引き継ぎ処理173の詳細について図17のフローチャートを参照しながら以下に説明する。この処理は、ローカルサイト1内のノードのファイルサーバ監視処理172から呼び出される。
フェールオーバ処理は、引き継ぎ先のノードで実行される引き継ぎ処理173が実行する。
引き継ぎ処理173は、まず、S23で監視対象のファイルサーバ160が所属する共有LUのサーバ情報テーブル401を読み込んで、障害が発生したファイルサーバ160のクラスタステータス4015を「障害中」に更新する。
S24では、障害が発生したファイルサーバ160のリソースを引き継ぐため、共有LUの引き継ぎ情報400のサーバ情報テーブル401から監視対象のファイルサーバ160のファイルサーバ名4011、管理IPアドレス4014、サービスIPアドレス個数4016、優先度4017のリソースを取得する。また、障害が発生したファイルサーバ160のサービスIPテーブル402、ユーザ情報テーブル403等のリソースも取得する。
S25では、引き継ぎ処理173は、上記取得したリソースで引き継ぎ先のファイルサーバ160の設定を更新する。つまり、引き継ぎ処理173は、上記取得したファイルサーバ名4011、管理IPアドレス4014、サービスIPアドレス個数4016、優先度4017を、引き継ぎ先のファイルサーバ160のサーバ情報テーブル401に設定する。また、IPテーブル402、ユーザ情報テーブル403を自ファイルサーバ160が所属するNAS装置の共有LUに設定する。そして、ファイルサーバ160の業務を再開する。
そして、引き継ぎ処理173は、引き継ぎ履歴テーブル404に、引き継いだファイルサーバ160の管理IPアドレス4041、引き継いだ時刻4042、引き継いだノードのMACアドレス4043を書き込む。
S23〜S25でフェールオーバ処理が完了し、S26以降は、クラスタの再構築を実施する。
次にS26では、クラスタの再構築を実施するため、自ノードのファイルサーバ160の優先度をリモートサイト2へ問い合わせ行い、自ノードのファイルサーバ160の優先度でフェールオーバが可能な範囲を取得する。つまり、同一筐体の他のLU、同一ローカルサイト1内の他のNAS装置あるいはリモートサイト2のいずれかを取得する。この処理の詳細については、後述する。なお、問い合わせ先のリモートサイト2のノード(ファイルサーバ160)は、共有LUの引き継ぎ情報400内のサーバ情報テーブル401から、リモートサイト2でクラスタステータス4015が未構成のものに問い合わせる。なお、リモートサイト2でクラスタステータス4015が未構成のファイルサーバ360がない場合には、「障害中」でないノードに問い合わせればよい。
S27では、引き継ぎ情報400のサーバ情報テーブル401から同一の優先度をもつファイルサーバ160を検索する。そして、S28で検索したファイルサーバ160のクラスタステータス4015が「未構成」であるかを判定する。未構成であればクラスタを構成するファイルサーバとして選択してS29へ進む。S29では、自ファイルサーバ160と検索したファイルサーバ160のクラスタステータス4015を「構成中」に変更する。そして、自ファイルサーバ160のサーバ情報テーブル401の引き継ぎ先RAIDサブシステム名4018に、上記選択したファイルサーバ160のノードやLUの識別子などを書き込んで処理を終了し、図13の処理へ戻る。
一方、S28で検索したファイルサーバ160のクラスタステータスが「未構成」でなければS27へ戻って再度検索を実行する。
以上の処理により、障害が発生したクラスタでは、引き継ぎ先のノードが共有LUの引き継ぎ情報400からリソース情報を取得してファイルサーバ160を再開する。そして、同一の優先度をもつファイルサーバ160を検索して、新たなクラスタを構成しておく。
上述のように、フェールオーバ先は優先度4017によって制限され、例えば、
優先順位A → リモートサイト
優先順位B → ローカルサイト内
優先順位C → 同一NAS内
のようにマッピングされる。そして、このような制限された範囲内で、ファイルサーバを検索し、クラスタの再構築を行う。
<ファイルサーバ監視応答処理>
次に、図3のファイルサーバ監視応答処理174について、図18を参照しながら説明する。図18は、監視対象のファイルサーバ160のノードで実行されるファイルサーバ監視応答処理174である。この処理は、監視対象のファイルサーバ160がフェールオーバ先のノードからハートビートを受信する度に実行される。監視対象のファイルサーバ160では、フェールオーバ先のノードからハートビートを受信すると、フェールオーバ先のノードへハートビート(メッセージ)を応答する(S31)。これにより、フェールオーバ先のノードは、監視対象のファイルサーバ160が稼動していることを確認できる。一方、当該ノードで障害が発生すると、このハートビートの応答が不能になるので、フェールオーバ先のノードで障害発生を検知できるのである。
<シャットダウン要求受付処理>
次に、図3のシャットダウン要求受付処理175について、図19を参照しながら説明する。図19は、監視対象のファイルサーバ160のノードが、他のノードからシャットダウン要求を受信したときに実行する処理である。
監視対象のファイルサーバ160では、フェールオーバ先のノードからシャットダウン要求を受け付けると、当該のノードのシャットダウン処理を実行して停止する(S41)
これにより、フェールオーバ先のノードは、障害が発生した監視対象のファイルサーバ160を停止させることができる。
<リモートサイト内での処理>
次に、リモートサイト2で実行される各処理の詳細について以下に説明する。図4で示したように、リモートサイト2のノード3−0〜3−nでは、フェールオーバ機能370が実行される。
フェールオーバ機能370のうち、ローカルサイト監視処理374とフェールオーバ先制御処理375以外の処理は、ローカルサイト1のノードで実行されるファイルサーバ監視処理172と同様である。すなわち、リモートサイト2のフェールオーバ機能370のうち、ファイルサーバ監視処理371はローカルサイト1のファイルサーバ監視処理172と同一の処理であり、引き継ぎ処理372はローカルサイト1の引き継ぎ処理173と同一であり、ファイルサーバ監視応答処理373は、ローカルサイト1のファイルサーバ監視応答処理174と同一の処理である。
以下の説明では、ローカルサイト1のノードと同一の処理についての説明は同一であるので省略し、ローカルサイト1のノードと異なるローカルサイト監視処理374と、フェールオーバ先制御処理375について説明する。
なお、リモートサイト2の各ノードは、ローカルサイト1のバックアップサイト(セカンダリサイト)として機能しているので、ローカルサイト1のノードで実行されるファイルサーバ優先度順位付け処理171とシャットダウン要求受付処理175は有していない。
<ローカルサイト監視処理>
図20は、リモートサイト2の各ノード3−0〜3−nで実行されるローカルサイトの監視処理の一例を示すフローチャートである。この処理は、各ノード3−0〜3−nで所定の周期で実行されるものである。
ローカルサイト監視処理374は、ローカルサイト1で稼動中のファイルサーバ160の稼動状況を監視し、ローカルサイト1において、広域的にファイルサーバ160の障害が発生していないかを監視する。ローカルサイト1でファイルサーバ160の障害が頻発している場合には、ローカルサイト1内で優先度の高いファイルサーバ160に関しては、自身に障害が発生していなくても周辺で障害が発生しているならば、リモートサイト2へ事前にフェールオーバさせて、データの安全を確保する。
ローカルサイト監視処理374は、まずS51で、共有LU300Sの引き継ぎ情報400−3からローカルサイト1内の全てのファイルサーバ160の管理IPアドレスを取得する。S52以降では、ローカルサイト1のファイルサーバ160の管理IPアドレスとMACアドレスの対応関係を取得する。このため、S52では、ローカルサイト1の全てのファイルサーバ160について、管理IPアドレスとMACアドレスの関係を取得したか否かを判定し、完了していればS56へ進み、完了していなければS53に進む。
S53、S54ではローカルサイト監視処理374が、上記取得したローカルサイト1内の管理IPアドレスに対してアドレス解決プロトコル(ARP:Address Resolution Protocol)を用いてMACアドレスを取得する。このMACアドレスは、ファイルサーバ160が稼働するノードのネットワークインターフェース14が有するMACアドレスである。
S55では、取得した管理IPアドレスとMACアドレスの関係を引き継ぎ履歴テーブル404に書き込む。このとき、図10で示した引き継ぎ履歴テーブル404のレコードには、管理IPアドレス4041が追加され、MACアドレス4043、作成日時4045が格納される。
そして、S52へ戻って全ての管理IPアドレスについてMACアドレスを取得したかを判定する。上記S52〜S55の処理を繰り返すことで、ローカルサイト1内の全てのファイルサーバ160について、管理IPアドレスとMACアドレスの対応関係を引き継ぎ履歴テーブル404に記録する。
次に、全ての管理IPアドレスとMACアドレスの対応関係が完了すると、ローカルサイト監視処理374は、S56へ進んで今回、引き継ぎ履歴テーブル404に生成した管理IPアドレスのレコードが既にあるか否かを各管理IPアドレス毎に判定する。引き継ぎ履歴テーブル404に同一の管理IPアドレスでMACアドレスが異なるレコードがある場合にはS57へ進む。一方、現在書き込んだIPアドレスとMACアドレスの関係と、直前のIPアドレスとMACアドレスが一致する場合、あるいは同一の管理IPアドレスがない場合には、処理を終了する。
つまり、引き継ぎ履歴テーブル404を管理IPアドレス4041でソートし、さらに作成日時の順序でソートして、各管理IPアドレス毎に直前のMACアドレスと現在のMACアドレスが変換していないかを調べ、現在と直前のMACアドレスが異なる場合には、フェールオーバ処理を行った結果、MACアドレスが変更されたと判定する。また、現在レコードを作成した管理IPアドレスと同一の各管理IPアドレス4041がない場合は、新たに追加されたファイルサーバ160であると判定する。
MACアドレスが変化した各管理IPアドレスがある場合のS57では、各管理IPアドレスに対するMACアドレスの数を抽出する。つまり、各管理IPアドレスに対するMACアドレスの対応関係の差分を抽出し、その数(MACアドレスの変更回数)を計数する。そして、S58ではこの計数した管理IPアドレス毎のフェールオーバの回数の合計値を出力する。このフェールオーバ回数の出力は、引き継ぎ履歴テーブル404で該当する管理IPアドレス4041のうち、最新の作成日時4045のレコードの引き継ぎ回数4044に設定する。
次に、S59ではMACアドレスの変更回数が予め設定した上限値を超えたか否かを判定する。この判定結果が上限値を超えた場合には、S60へ進んで優先度の高いファイルサーバ160を、事前にフェールオーバさせる。このS59の判定では、S57で抽出した管理IPアドレスのうちのいずれか一つが、変更回数>上限値の条件を満たせば、S60の処理を実行する。
S60では、優先度の高いファイルサーバ160を事前にフェールオーバさせるため、共有LU300Sのサーバ情報テーブル401から、ローカルサイト1内で優先度の高いファイルサーバ160を選択する。例えば、優先度=Aのものを選択する。そして、選択したファイルサーバ160に対してシャットダウンを要求する。要求を受けたファイルサーバ160は、図19の処理によりシャットダウンを実施する。シャットダウンによりハートビートに対する応答が無くなるため、クラスタを構成するファイルサーバが、シャットダウンしたファイルサーバ160を引き継ぐことになる。
以上のように、ローカルサイト1内のファイルサーバ160でフェールオーバが発生すると、障害が発生したファイルサーバ160のIPアドレス(管理IPアドレス、サービスIPアドレス)が別のファイルサーバに引き継がれる。これによって、障害の発生前後で、IPアドレスは変わらないが、ハードウェア(ノード)が変わるためにネットワークインターフェース14のMACアドレスが変わる。定期的にファイルサーバ160のIPアドレスとMACアドレスの対応付けを監視することによって、対応付けの変化回数=フェールオーバ発生回数とみなして、ローカルサイト1内で発生しているフェールオーバの発生回数をカウントすることが可能となる。IPアドレスとMACアドレスの対応付けを確認する為には、ARPなどのアドレス解決プロトコルを使用して、IPアドレスに対応するMACアドレスを取得することで実現可能である。観測されたフェールオーバの回数と予め設定された回数の上限値を比較し、上限を超えている場合、リモートサイト2側にあって、なおかつクラスタを組んでいるファイルサーバ160(優先度=A)に対して、シャットダウンの指示を出して、ハートビート断の状態にする。これにより、ローカルサイト1内で、頻繁にフェールオーバが発生している場合には、優先度の高いファイルサーバ160をシャットダウンさせることで、障害が発生する以前にフェールオーバを実施することができる。
なお、シャットダウンを指令した管理IPアドレスのファイルサーバ160については、リモートサイト2へフェールオーバが実施されるので、この引き継ぎ履歴テーブル404からこの管理IPアドレスのレコード削除しておく。これにより、次回のローカルサイト監視処理374で、フェールオーバが実施された管理IPアドレスのファイルサーバ160が再度フェールオーバされるのを回避する。
また、引き継ぎ履歴テーブル404に格納される管理IPアドレスとMACアドレスの対応関係は、予め設定した期間(時間)に限定し、例えば、S55などの処理で、所定の時間を経過した管理IPアドレスとMACアドレスのレコードを削除するようにしても良い。この場合、所定時間内(例えば、10分)でフェールオーバが頻発すると、ローカルサイト1で災害が生じている可能性が高い。この場合、優先度の高いファイルサーバ160を事前にフェールオーバさせることで、業務の復旧を迅速に行うことができる。
なお、上記では管理IPアドレスとMACアドレスの比較を時系列に行う例を示したが、これらに限定されるものではなく、引き継ぎを行う業務(ファイルサーバ)の識別子と、引き継いだ業務を提供するノードの物理的な識別子とを時系列的に比較することで、フェールオーバの検知を行うことができる。例えば、ファイルサーバの名称とMACアドレスを時系列的に比較しても良い。
図21は、上記ローカルサイト監視処理374によって優先度の高いファイルサーバ160を事前にフェールオーバする場合の手順を示す説明図である。
まず、リモートサイト2のファイルサーバ360では、ローカルサイト監視処理374がARPによりローカルサイト1内の管理IPアドレスとMACアドレスの関係からフェールオーバの回数を取得する。そして、ローカルサイト1内のフェールオーバの回数が所定の上限値を超えると、ローカルサイト監視処理374は、ローカルサイト1内で優先度の高いファイルサーバ160へシャットダウン要求を送信する。
シャットダウン要求を受信したローカルサイト1のファイルサーバ160は、シャットダウン要求受付処理172により、自身をシャットダウンさせる。これにより、ハートビートが停止するため、優先度の高いファイルサーバ160とクラスタを構成するリモートサイト2のノードでは、ローカルサイト1でクラスタを構成するファイルサーバ160が停止したので、ファイルサーバ監視処理371が引き継ぎ処理を実行する。
このように、ローカルサイト1内のフェールオーバの頻度に基づいて、優先度の高いファイルサーバ160を意図的に停止させることで、障害発生前にフェールオーバを実施するのである。
なお、S59、S60では、MACアドレスの変更回数が所定の上限値を超えると優先度の高いファイルサーバ160をフェールオーバさせたが、変更回数>上限値かつ、フェールオーバを実施したファイルサーバ160の数が所定値以上として、MACアドレスの変更回数とフェールオーバを実施したファイルサーバ160の数を条件として、優先度の高いファイルサーバ160について先行してフェールオーバを実施するようにしてもよい。
また、この処理はリモートサイト2のノード3−0〜3−nのうち、クラスタステータス4015が「未構成」となっているノードがあれば、この「未構成」となっているノードのみでローカルサイト監視処理374を実行するようにしても良い。これにより、クラスタを構成中のノードの負荷を低減することができる。あるいは、リモートサイト2のノード3−0〜3−nのうちの一つが、このローカルサイト監視処理374を実行し、他のノードでは、このローカルサイト監視処理374を停止するようにしてもよい。
<フェールオーバ先制御処理>
図22は、リモートサイト2のノード3−0〜3−nで実行されるフェールオーバ先制御処理375の一例を示すフローチャートである。この処理はローカルサイト1内のノードで実行されるファイルサーバ優先順位付け処理171(図13のS12)または引き継ぎ処理173(図17のS26)から呼び出される処理である。
この処理では、ローカルサイト1のファイルサーバ160において、フェールオーバのための引継ぎ処理にて次のフェールオーバ先を決定するために呼び出される。呼び出し元に対して、フェールオーバ可能な範囲を返す。ローカルサイト1のファイルサーバ160は、応答のあった範囲内で、ファイルサーバ160を探し、クラスタ構成を組む。また、リモートサイトの状況(例えば:優先的に使用させるための猶予時間が過ぎた場合)に応じて、優先度の調整によりフェールオーバ先の範囲を変更し、優先度の低い他のファイルサーバ160がリモートサイトへフェールオーバを可能にする。
優先度が低いファイルサーバ160のフェールオーバ先は、同一筐体内またはローカルサイト1内に制限されている。このため、災害などでは優先度の高いファイルサーバ160がリモートサイト2引き継がれるが、優先度の低いファイルサーバ160は引き継がれないことになってしまう。このため、優先度の高いファイルサーバ160がリモートサイト2へのフェールオーバを完了した後に、優先度の低いファイルサーバ160についても、順次リモートサイト2へフェールオーバを実施して、ローカルサイト1のファイルサーバ160をリモートサイト2へ引き継ぐために優先度を柔軟に変更するものがフェールオーバ先制御処理375である。
フェールオーバ先制御処理375はで、まず、S71で共有LU300Sの引き継ぎ情報400から引き継ぎ履歴テーブル404を参照し、直前に実行したフェールオーバの日時(つまり、最新のフェールオーバ時刻)を取得する。
次に、S72では現在の時刻を取得し、S73では、直前のフェールオーバの実行開始から現在時刻までの経過時間を算出する。
次に、S74では上記で求めた経過時間が予め設定した猶予時間を経過したか否かを判定する。経過時間が猶予時間を経過していればS76へ進み、経過時間が猶予時間以内であればS75へ進む。ここで、猶予時間は、優先度の高いファイルサーバ160がリモートサイト2へのフェールオーバを完了するのに必要な時間を考慮して、優先度の低いファイルサーバ160のリモートサイト2へのフェールオーバを開始するまでの時間を示す。この猶予時間は、管理クライアント計算機32等から管理者などが予め優先度設定情報400へ設定したものである。
S75では、経過時間が猶予時間以内であるので、優先度の再設定(変更)は行わず、上記のように予め設定した優先度とフェールオーバ先の関係を呼び出し元へ通知して処理を終了する。経過時間が猶予時間以内のルールは、例えば、次の通りである。
・優先順位A → リモートサイト
・優先順位B → ローカルサイト内
・優先順位C → 同一RAIDディスクサブシステム130(または同一NAS装置内)
S76では、経過時間が猶予時間を超え、優先度の高いファイルサーバ160のフェールオーバが完了しているので、優先度が低いファイルサーバ160のフェールオーバ先の範囲を拡大し、優先度とフェールオーバ先の関係を呼び出し元へ通知して処理を終了する。経過時間が猶予時間を超えたときのルールは、例えば、次の通りでる。
・優先順位A、B → リモートサイト内
・優先順位C → ローカルサイト内
こうして、猶予時間が経過すると、優先度に対するフェールオーバ先を拡大して、データを救済するのである。
なお、上記では、猶予時間をひとつのしきい値として、2つの優先度とフェールオーバ先の関係を定義したが、値の異なる猶予時間を複数のしきい値として設定し、優先度とフェールオーバ先の関係を多数定義してもよい。
以上の処理により、優先度の高いファイルサーバ160のフェールオーバが完了すると、優先度の低いファイルサーバ160はフェールオーバ先を拡大してフェールオーバを実行することができる。したがって、優先度の高いノードのリモートサイト2への引き継ぎをまず最初に行って、重要なデータなどの復旧を迅速に行う。その後、優先度の低いファイルサーバ160のフェールオーバ先を拡大しておくことで、ローカルサイト1に災害が発生したり障害が発生したときのフェールオーバを円滑に行うことができる。
<まとめ>
以上のように、第1の実施形態によれば、優先度の高いファイルサーバ160と優先度の低いファイルサーバ160がほぼ同時にフェールオーバを開始するのを回避することで、優先度の高いファイルサーバ160の回復遅延等の悪影響を低減することができる。
そして優先度の高いファイルサーバ160は、障害発生前(周辺で障害発生しとき)に先行してリモートサイト2へフェールオーバさせ、優先度が高くないファイルサーバ160は障害発生後にフェールオーバさせることで、時間差を作ることで、優先度の高いファイルサーバ160の回復遅延等の悪影響を低減することができる。
<第2実施形態>
図23は第2の実施形態を示し、前記第1実施形態のノード1−0に仮想NAS装置(VNAS:Vortual Network Attached Storage)を採用したもので、その他の構成は前記第1実施形態と同様である。
図23において、ノード1−0上ではOS150上でリソース制御部150を実行し、リソース制御部150はノード1−0のハードウェアを論理的に分割する。そして、リソース制御部150は、分割した各区画V1〜VnにLU131を論理的に分割した領域を割り当てて、各区画V1〜Vnに記憶領域のルートディレクトリをそれぞれ提供する。各区画V1〜Vnではファイルサーバ160とフェールオーバ機能170が実行され、前記第1実施形態と同様に機能する。また、各区画V1〜Vnには、それぞれ異なるネットワークインターフェースが接続される。
このように、ひとつのノード1−0を複数の論理区画V1〜Vnに分割した場合でも、各区画V1〜Vn上のファイルサーバ160を前記第1実施形態と同様に扱うことができる。
なお、仮想NAS装置としては、上記の他にノード1−0を複数の論理区画に分割して各論理区画でファイルサーバ160を実行するものであればよい。例えば、一つのサーバ上で一つのホストOSを実行し、このホストOS上で複数のゲストOSを稼動させ、各ゲストOSをそれぞれサーバとする仮想計算機(米国特許第6,397,242号)を適用することができる。
あるいは、ハイパバイザなどのファームウェア(またはミドルウェア)により、物理計算機を複数の論理区画に分割し、各LPARに対して計算機資源(CPU、主記憶、I/O)を割当て、各LPAR上でそれぞれOSを動作させるも仮想計算機(特開2002−304364号)を適用することができる。
<第3実施形態>
図24は第3の実施形態を示し、前記第1実施形態に第2のリモートサイト300を加えたもので、その他の構成は前記第1実施形態と同様である。
リモートサイト3には、各サイト同様に構成され、複数のノード5−0〜5−nと、RAIDディスクサブシステム530と共有ディスク500Sとリモートコピー機能520を備え、WAN50に接続されている。
第1のリモートサイトは前記第1実施形態と同様に機能し、第2のリモートサイト3は、引継ぎ処理の代行を実行することができる。第1のリモートサイト2は、例えば、図13で示したファイルサーバ監視処理を実行し、自身の負荷状況に応じて、引継ぎ処理呼び出し(S19)を他のリモートサイト(例えば、第2のリモートサイト3)の引継ぎ処理を呼び出す(要求する)ことで、第1のリモートサイト2で行われていた複数の監視処理と引継ぎ処理を、第2のリモートサイト3で分担し、あるいは分散することが可能である。これによって、各リモートサイト2,3がMACアドレスの変化を見て、各自の負荷に応じて引継ぎ可能なリモートサイト2または3へ対象のファイルサーバ160をフェールオーバさせることが可能となる。
<第4実施形態>
図25は第4の実施形態を示し、前記第1実施形態のローカルサイト1からNAS200を独立させて、第2のローカルサイトとしたものである。リモートサイト2は前記第1実施形態と同様である。
第2のローカルサイト1’には、前記第1実施形態と同様のNAS200’が含まれる。このNAS200’は前記第1実施形態のNAS200から共有LUとリモートコピー機能を削除したもので、その他は、前記第1実施形態のNAS200と同様である。第2のローカルサイト1’はLAN140’を介してWAN50に接続されて、ローカルサイト1及びリモートサイト2の共有LUにアクセス可能となっている。
第2のローカルサイト1’ではリモートコピー機能が無いが、WAN50を通じてローカルサイト1のような他のサイトの共有LUにアクセスすることができる。このため、第2のローカルサイト1’の引継ぎ情報400を、ローカルサイト1の共有LU130Sに登録しておくことで、第1のローカルサイトから第2のローカルサイト1’へフェールオーバを行うことができる。したがって、リモートコピーされていないサイトを含む構成に対しても本発明を適用することが可能となる。
すなわち、WAN50等のサイト間を接続するネットワークからアクセス可能な共有LU(共有記憶領域)が少なくとも一つあれば、リモートコピー機能がないストレージ装置(NAS)を用いても、本発明のフェールオーバを実現できるのである。
システムの全体的な構成を示すブロック図。 各NAS装置のハードウェア構成を示すブロック図。 ローカルサイト内のノードで実行されるソフトウェア構成を示すロック図。 リモートサイト内のノードで実行されるソフトウェア構成を示すロック図。 優先度に基づくフェールオーバの様子を示す、ローカルサイトとリモートサイトのノードを示すブロック図。 各NAS装置の共有LUに格納される引き継ぎ情報の概要を示すブロック図。 引き継ぎ情報を構成するサーバ情報テーブルの一例を示す説明図。 同じく、引き継ぎ情報を構成するサービスIPテーブルの一例を示す説明図。 同じく、引き継ぎ情報を構成するユーザ情報テーブルの一例を示す説明図。 同じく、引き継ぎ情報を構成する引き継ぎ履歴テーブルの一例を示す説明図。 各ファイルサーバが生成するアクセスログの一例を示す説明図。 ローカルサイトの各ノードで実行されるファイルサーバ優先順位付け処理の一例を示すフローチャート。 各ノードのファイルサーバ監視処理で実行される処理の一例を示すフローチャートである。 同一のNAS装置内でのフェールオーバの一例を示すブロック図。 同一のオード内でのフェールオーバの一例を示すブロック図。 同一のローカルサイト内で他のNAS装置へのフェールオーバの一例を示すブロック図。 各ノードで実行される引き継ぎ処理の処理の一例を示すフローチャート。 各ノードで実行されるファイルサーバ監視応答処理の一例を示すフローチャート。 ローカルサイトの各ノードで実行されるシャットダウン受付処理の一例を示すフローチャート。 リモートサイトの各ノードで実行されるローカルサイト監視処理の一例を示すフローチャート。 ローカルサイトでフェールオーバが頻発したときに、優先度の高いファイルサーバを事前にフェールオーバさせる例を示すブロック図。 リモートサイトの各ノードで実行されるフェールオーバ先制御処理の一例を示すフローチャート。 第2の実施形態を示し、仮想NAS装置の一例を示すブロック図。 第3の実施形態を示し、システム全体の構成を示すブロック図。 第4の実施形態を示し、システム全体の構成を示すブロック図。
符号の説明
1 ローカルサイト
2 リモートサイト
100,200,300 NAS
120,220,320 リモートコピー機能
130,230,330 RAIDディスクサブシステム
130S,230S,330S 共有LU
50 WAN
160、360 ファイルサーバ
170、370 フェールオーバ機能
171 ファイルサーバ優先度順位付け処理
175 シャットダウン要求受付処理
374 ローカルサイト監視処理
375 フェールオーバ先制御処理

Claims (17)

  1. 業務を提供する複数のノードと、前記ノードに記憶領域を割り当てた第1のストレージ装置と、を含む第1の系と、
    業務を提供可能な複数のノードと、前記ノードに記憶領域を割り当てた第2のストレージ装置とを含む第2の系を備えて、
    前記第1の系のノードに障害が発生したときには、前記第1の系のノードまたは前記第2の系のノードで前記業務を引き継ぐフェールオーバ方法であって、
    前記第1の系の各ノードについて、フェールオーバの優先度を設定する処理と、
    予め設定した優先度とフェールオーバ先の範囲の関係に基づいて、前記第1の系のノード毎のフェールオーバ先を前記第2の系のノードまたは第1の系のノードのいずれかに設定する処理と、
    前記決定したフェールオーバ先のノードへデータのバックアップを行う処理と、
    前記フェールオーバ先のノードとの間で障害を検知する処理と、
    前記フェールオーバ先のノードが障害を検知したときには、前記フェールオーバ先の前記ノードが業務を引き継ぐ処理と、
    を含むことを特徴とするフェールオーバ方法。
  2. 優先度を設定する処理は、
    前記ノードの利用状況に基づいて、第1の優先度または前記第1の優先度よりも優先順位の低い第2の優先度を設定し、
    前記第1の系のノード毎のフェールオーバ先を前記第2の系のノードまたは第1の系のノードのいずれかに設定する処理は、
    前記ノードに第1の優先度を設定したときには、第2の系をフェールオーバ先の範囲として設定し、前記ノードに第2の優先度を設定したときには、第1の系をフェールオーバ先の範囲として設定することを特徴とする請求項1に記載のフェールオーバ方法。
  3. 前記第2の系が、前記第1の系で発生した障害の数を検知する処理と、
    前記障害の数が予め設定した上限値を超えたときには、前記第1の優先度が設定された第1の系のノードで障害が発生していなくとも、当該ノードの業務を予め引き継ぐ処理と、
    を含むことを特徴とする請求項2に記載のフェールオーバ方法。
  4. 前記業務を予め引き継ぐ処理は、
    前記第1の優先度が設定された第1の系のノードを前記第2の系で引き継ぐ処理と、
    予め設定した猶予時間を経過した後に、前記第2の優先度が設定された第1の系のノードを障害の有無にかかわらず前記第2の系で引き継ぐ処理と、
    を含むことを特徴とする請求項3に記載のフェールオーバ方法。
  5. 前記第2の系が、前記第1の系で発生した障害の数を検知する処理は、
    前記ノードが提供する業務の識別子と、前記ノードの物理的な識別子とを時系列的に比較する処理と、
    前記業務の識別子に対応する現在のノードの物理的な識別子と、過去のノードの物理的な識別子が一致しない組み合わせの数に基づいて前記障害の数を検出する処理と、
    を含むことを特徴とする請求項3に記載のフェールオーバ方法。
  6. 前記第1のストレージ装置は、
    前記第1の系の複数のノードにファイルシステムを提供し、前記ノード毎に記憶領域を割り当てるNAS装置であって、
    前記ノードは、一つの計算機リソースを論理的に分割した論理区画上に設定されたことを特徴とする特徴とする請求項1に記載のフェールオーバ方法。
  7. 前記第1の系のノード毎のフェールオーバ先を前記第2の系のノードまたは第1の系のノードのいずれかに設定する処理は、
    前記ノードに設定された優先度に対応する範囲でフェールオーバ先を検索する処理と、
    前記範囲で当該ノードを引き継ぐノードがない場合には、前記優先度を変更してフェールオーバ先の範囲を拡大する処理と、
    を含むことを特徴とする請求項2に記載のフェールオーバ方法。
  8. 前記第1の系と第2の系はネットワークを介して接続され、前記第1のストレージ装置または前記第2のストレージ装置の少なくとも一方には、前記ネットワークを介してアクセス可能な共有記憶領域を有し、
    前記共有記憶領域には、前記引き継ぎを行う第1の系の各ノードの情報を格納し、
    業務を引き継ぐ処理は、
    前記共有記憶領域から業務を引き継ぐ第1の系の各ノードの情報を取得し、当該ノードの情報に基づいて前記業務を引き継ぐことを特徴とする請求項1に記載のフェールオーバ方法。
  9. 前記第1の系のノードに障害が発生したときには、前記第1の系内のノードを引き継ぐ第3の系をさらに有し、
    前記第3の系は、前記第1の系のノードに障害が発生したときには、前記第2の系に代わって前記業務を引き継ぐことを特徴とする請求項1に記載のフェールオーバ方法。
  10. 業務を提供する複数のノードと、前記ノードに対応する記憶領域を割り当てた第1のストレージ装置と、を含む第1の系と、
    業務を提供可能な複数のノードと、前記ノードに対応する記憶領域を割り当てた第2のストレージ装置と、を含む第2の系と、
    前記第1の系と第2の系を接続するネットワークと、前記第1の系のノードに障害が発生したときには前記第2の系のノードで前記業務を引き継ぐバックアップシステムであって、
    前記第1の系のノードは、
    前記第1の系の各ノードについて、フェールオーバの優先度を設定する優先度設定部と、
    前記設定した優先度に基づいて、第1の系の各ノードのフェールオーバ先を前記第2の系のノードまたは第1の系のノードのいずれかに設定するクラスタ設定部と、
    前記設定したフェールオーバ先のノードとの間で、障害の発生を監視する第1の障害検知部と、
    前記設定したフェールオーバ先のノードへ当該ノードのデータをバックアップするバックアップ処理部と、
    前記第1の障害検知部で障害を検知したときには、前記監視対象のノードの業務を引き継ぐ第1のフェールオーバ処理部と、を有し、
    前記第2の系のノードは、
    前記フェールオーバ対象のノードとの間で、障害の発生を監視する第2の障害検知部と、
    前記障害を検知したときには、前記監視対象のノードの業務を前記設定されたノードに引き継ぐ第2のフェールオーバ処理部と、
    を有することを特徴とするバックアップシステム。
  11. 前記優先度設定部は、
    前記第1の系のノードの利用状況に基づいて、第1の優先度または前記第1の優先度よりも優先順位の低い第2の優先度を設定し、
    前記クラスタ設定部は、
    前記ノードに第1の優先度を設定したときには、第2の系をフェールオーバ先の範囲として設定し、前記ノードに第2の優先度を設定したときには、第1の系をフェールオーバ先の範囲として設定することを特徴とする請求項10に記載のバックアップシステム。
  12. 前記第2の系のノードは、
    前記第1の系で発生した障害の数を検知するバックアップ元監視部を含み、
    前記第2のフェールオーバ処理部は、
    前記障害の数が予め設定した上限値を超えたときには、前記第1の優先度が設定された第1の系のノードで障害が発生していなくとも、当該ノードの業務を予め引き継ぐことを特徴とする請求項11に記載のバックアップシステム。
  13. 前記第2のフェールオーバ処理部は、
    前記第1の優先度が設定された第1の系のノードを前記第2の系で引き継ぎを開始した後に、予め設定した猶予時間を経過した後に、前記第2の優先度が設定された第1の系のノードを障害の有無にかかわらず前記第2の系で引き継ぐことを特徴とする請求項12に記載のバックアップシステム。
  14. バックアップ元監視部は、
    前記第1の系のノードが提供する業務の識別子と、前記ノードの物理的な識別子とを時系列的に比較し、前記業務の識別子に対応する現在のノードの物理的な識別子と、過去のノードの物理的な識別子が一致しない組み合わせの数に基づいて前記障害の数を検出することを特徴とする請求項12に記載のバックアップシステム。
  15. 前記第1のストレージ装置は、
    前記第1の系の複数のノードにファイルシステムを提供し、前記ノード毎に前記記憶領域を割り当てるNAS装置であって、
    前記ノードは、一つの計算機リソースを論理的に分割した論理区画上に設定されたことを特徴とする特徴とする請求項10に記載のバックアップシステム。
  16. 前記クラスタ設定部は
    前記第1の系のノードに設定された優先度に対応する範囲でフェールオーバ先を検索し、前記範囲で当該ノードを引き継ぐノードがない場合には、前記優先度を変更してフェールオーバ先の範囲を拡大することを特徴とする請求項11に記載のバックアップシステム。
  17. 前記第1のストレージ装置または前記第2のストレージ装置の少なくとも一方には、前記ネットワークを介してアクセス可能な共有記憶領域を有し、
    前記クラスタ設定部は、
    前記共有記憶領域に前記引き継ぎを行う第1の系の各ノードの情報を格納し、
    前記第2のフェールオーバ処理部は、
    前記共有記憶領域から業務を引き継ぐ第1の系の各ノードの情報を取得し、当該ノードの情報に基づいて前記業務を引き継ぐことを特徴とする請求項10に記載のバックアップシステム。
JP2006103047A 2006-04-04 2006-04-04 バックアップシステム及びバックアップ方法 Withdrawn JP2007279890A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006103047A JP2007279890A (ja) 2006-04-04 2006-04-04 バックアップシステム及びバックアップ方法
US11/448,861 US7487390B2 (en) 2006-04-04 2006-06-08 Backup system and backup method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006103047A JP2007279890A (ja) 2006-04-04 2006-04-04 バックアップシステム及びバックアップ方法

Publications (1)

Publication Number Publication Date
JP2007279890A true JP2007279890A (ja) 2007-10-25

Family

ID=38560915

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006103047A Withdrawn JP2007279890A (ja) 2006-04-04 2006-04-04 バックアップシステム及びバックアップ方法

Country Status (2)

Country Link
US (1) US7487390B2 (ja)
JP (1) JP2007279890A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010128886A (ja) * 2008-11-28 2010-06-10 Fujitsu Ltd 故障ノード切り離し処理プログラム、故障ノード切り離し方法及びストレージシステム
JP2011008780A (ja) * 2009-06-25 2011-01-13 Vmware Inc 仮想インフラストラクチャを用いた情報技術リスク管理
JP2011216072A (ja) * 2010-04-01 2011-10-27 Accenture Global Services Ltd 再目的化可能回復環境
JP2012010292A (ja) * 2010-06-28 2012-01-12 Kyocera Corp 通信システム、通信装置および通信方法
US8245077B2 (en) 2008-09-11 2012-08-14 Hitachi, Ltd. Failover method and computer system
WO2015052836A1 (ja) * 2013-10-11 2015-04-16 株式会社日立製作所 ストレージ装置及びフェールオーバ方法
JP2016134111A (ja) * 2015-01-22 2016-07-25 日本電信電話株式会社 クラスタ構成判定装置およびその動作方法

Families Citing this family (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9213609B2 (en) * 2003-12-16 2015-12-15 Hewlett-Packard Development Company, L.P. Persistent memory device for backup process checkpoint states
JP4624829B2 (ja) * 2004-05-28 2011-02-02 富士通株式会社 データバックアップシステム及び方法
US7870288B2 (en) * 2005-10-28 2011-01-11 Yahoo! Inc. Sharing data in scalable software blade architecture
US8074111B1 (en) * 2006-09-18 2011-12-06 Nortel Networks, Ltd. System and method for responding to failure of a hardware locus at a communication installation
JP2008090702A (ja) * 2006-10-04 2008-04-17 Hitachi Ltd 計算機、計算機システム
US7913113B2 (en) 2007-03-23 2011-03-22 Microsoft Corporation Self-managed processing device
JP5032191B2 (ja) * 2007-04-20 2012-09-26 株式会社日立製作所 サーバ仮想化環境におけるクラスタシステム構成方法及びクラスタシステム
JP2008269462A (ja) * 2007-04-24 2008-11-06 Hitachi Ltd ノードの管理装置及び方法
US8332680B2 (en) * 2007-08-13 2012-12-11 Rambus Inc. Methods and systems for operating memory in two modes
JP4547440B2 (ja) * 2008-03-31 2010-09-22 富士通株式会社 仮想テープシステム
JP2009266106A (ja) * 2008-04-28 2009-11-12 Hitachi Ltd 管理装置及び管理方法
US8327186B2 (en) * 2009-03-10 2012-12-04 Netapp, Inc. Takeover of a failed node of a cluster storage system on a per aggregate basis
US8145838B1 (en) 2009-03-10 2012-03-27 Netapp, Inc. Processing and distributing write logs of nodes of a cluster storage system
US8307003B1 (en) 2009-03-31 2012-11-06 Amazon Technologies, Inc. Self-service control environment
US8060792B2 (en) * 2009-03-31 2011-11-15 Amazon Technologies, Inc. Monitoring and automated recovery of data instances
US8713060B2 (en) 2009-03-31 2014-04-29 Amazon Technologies, Inc. Control service for relational data management
US9207984B2 (en) 2009-03-31 2015-12-08 Amazon Technologies, Inc. Monitoring and automatic scaling of data volumes
US8332365B2 (en) 2009-03-31 2012-12-11 Amazon Technologies, Inc. Cloning and recovery of data volumes
US9705888B2 (en) 2009-03-31 2017-07-11 Amazon Technologies, Inc. Managing security groups for data instances
US8069366B1 (en) 2009-04-29 2011-11-29 Netapp, Inc. Global write-log device for managing write logs of nodes of a cluster storage system
US9135283B2 (en) * 2009-10-07 2015-09-15 Amazon Technologies, Inc. Self-service configuration for data environment
US8676753B2 (en) 2009-10-26 2014-03-18 Amazon Technologies, Inc. Monitoring of replicated data instances
US8074107B2 (en) 2009-10-26 2011-12-06 Amazon Technologies, Inc. Failover and recovery for replicated data instances
US8335765B2 (en) 2009-10-26 2012-12-18 Amazon Technologies, Inc. Provisioning and managing replicated data instances
US8832259B1 (en) * 2009-10-30 2014-09-09 Hewlett-Packard Development Company, L.P. Virtual service mode methods for network remote monitoring and managing system
WO2011104743A1 (en) * 2010-02-23 2011-09-01 Hitachi, Ltd. Management system and management method for storage system
US20110239039A1 (en) * 2010-03-26 2011-09-29 Dieffenbach Devon C Cloud computing enabled robust initialization and recovery of it services
US8874526B2 (en) 2010-03-31 2014-10-28 Cloudera, Inc. Dynamically processing an event using an extensible data model
US9081888B2 (en) * 2010-03-31 2015-07-14 Cloudera, Inc. Collecting and aggregating log data with fault tolerance
US9082127B2 (en) 2010-03-31 2015-07-14 Cloudera, Inc. Collecting and aggregating datasets for analysis
US9317572B2 (en) 2010-03-31 2016-04-19 Cloudera, Inc. Configuring a system to collect and aggregate datasets
US8880592B2 (en) 2011-03-31 2014-11-04 Cloudera, Inc. User interface implementation for partial display update
JP5548647B2 (ja) * 2011-04-25 2014-07-16 株式会社日立製作所 計算機システムでの部分障害処理方法
US8683170B1 (en) 2011-09-23 2014-03-25 Netapp, Inc. Consistent distributed storage communication protocol semantics in a clustered storage system
US9203900B2 (en) 2011-09-23 2015-12-01 Netapp, Inc. Storage area network attached clustered storage system
JP5687173B2 (ja) * 2011-11-15 2015-03-18 株式会社日立製作所 通信システム及び方法、ハートビート代行サーバ
US9128949B2 (en) 2012-01-18 2015-09-08 Cloudera, Inc. Memory allocation buffer for reduction of heap fragmentation
US9172608B2 (en) 2012-02-07 2015-10-27 Cloudera, Inc. Centralized configuration and monitoring of a distributed computing cluster
JP6044882B2 (ja) * 2012-03-02 2016-12-14 株式会社Pfu 情報処理システム、管理端末装置、情報処理装置、情報処理方法、及びプログラム
US9405692B2 (en) 2012-03-21 2016-08-02 Cloudera, Inc. Data processing performance enhancement in a distributed file system
US9338008B1 (en) 2012-04-02 2016-05-10 Cloudera, Inc. System and method for secure release of secret information over a network
US9842126B2 (en) 2012-04-20 2017-12-12 Cloudera, Inc. Automatic repair of corrupt HBases
US9009524B2 (en) * 2012-04-30 2015-04-14 Hewlett-Packard Development Company, L.P. Prioritizing recovery in a storage system implementing raid
US9218256B1 (en) * 2012-05-31 2015-12-22 Symantec Corporation Systems and methods for shipping I/O operations to prevent replication failure
US10664354B2 (en) * 2012-08-31 2020-05-26 Hewlett Packard Enterprise Development Lp Selecting a resource to be used in a data backup or restore operation
US9753954B2 (en) 2012-09-14 2017-09-05 Cloudera, Inc. Data node fencing in a distributed file system
US9342557B2 (en) 2013-03-13 2016-05-17 Cloudera, Inc. Low latency query engine for Apache Hadoop
US9369525B2 (en) 2013-06-26 2016-06-14 International Business Machines Corporation Highly resilient protocol servicing in network-attached storage
US9304861B2 (en) 2013-06-27 2016-04-05 International Business Machines Corporation Unobtrusive failover in clustered network-attached storage
US9477731B2 (en) 2013-10-01 2016-10-25 Cloudera, Inc. Background format optimization for enhanced SQL-like queries in Hadoop
US9934382B2 (en) 2013-10-28 2018-04-03 Cloudera, Inc. Virtual machine image encryption
US9690671B2 (en) 2013-11-01 2017-06-27 Cloudera, Inc. Manifest-based snapshots in distributed computing environments
US9348713B2 (en) * 2013-12-13 2016-05-24 Netapp, Inc. Techniques for importation of information to a storage system
EP3108644B1 (en) * 2014-02-19 2021-01-13 Level 3 Communications, LLC Content delivery network architecture with edge proxy
US20150293783A1 (en) * 2014-04-09 2015-10-15 International Business Machines Corporation Scheduling identity manager reconciliation to execute at an optimal time
US9588853B2 (en) 2014-06-05 2017-03-07 International Business Machines Corporation Automatic management of server failures
US9747333B2 (en) 2014-10-08 2017-08-29 Cloudera, Inc. Querying operating system state on multiple machines declaratively
US9507678B2 (en) 2014-11-13 2016-11-29 Netapp, Inc. Non-disruptive controller replacement in a cross-cluster redundancy configuration
US9948711B2 (en) * 2015-06-15 2018-04-17 International Business Machines Corporation Allocating and managing cloud computing resources for disaster recovery
US10938919B1 (en) * 2015-09-15 2021-03-02 EMC IP Holding Company LLC Registering client devices with backup servers using domain name service records
US10613949B2 (en) 2015-09-24 2020-04-07 Hewlett Packard Enterprise Development Lp Failure indication in shared memory
US10990926B2 (en) * 2015-10-29 2021-04-27 International Business Machines Corporation Management of resources in view of business goals
US10140443B2 (en) * 2016-04-13 2018-11-27 Vmware, Inc. Authentication source selection
US10445197B1 (en) * 2017-05-25 2019-10-15 Amazon Technologies, Inc. Detecting failover events at secondary nodes
US11010336B2 (en) 2018-12-27 2021-05-18 Nutanix, Inc. System and method for provisioning databases in a hyperconverged infrastructure system
US11816066B2 (en) 2018-12-27 2023-11-14 Nutanix, Inc. System and method for protecting databases in a hyperconverged infrastructure system
JP7287026B2 (ja) 2019-03-18 2023-06-06 富士フイルムビジネスイノベーション株式会社 情報処理装置、ファイル管理装置、ファイル管理システム及びプログラム
US11265286B2 (en) * 2019-04-24 2022-03-01 Cisco Technology, Inc. Tracking of devices across MAC address updates
US11604705B2 (en) 2020-08-14 2023-03-14 Nutanix, Inc. System and method for cloning as SQL server AG databases in a hyperconverged system
US11907167B2 (en) 2020-08-28 2024-02-20 Nutanix, Inc. Multi-cluster database management services
US11640340B2 (en) * 2020-10-20 2023-05-02 Nutanix, Inc. System and method for backing up highly available source databases in a hyperconverged system
US11604806B2 (en) 2020-12-28 2023-03-14 Nutanix, Inc. System and method for highly available database service
CN112888017A (zh) * 2021-01-12 2021-06-01 杨飞 一种数据快速传输方法
US11892918B2 (en) 2021-03-22 2024-02-06 Nutanix, Inc. System and method for availability group database patching

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020069318A1 (en) * 2000-12-01 2002-06-06 Chow Yan Chiew Real time application accelerator and method of operating the same
JP2002287999A (ja) * 2001-03-26 2002-10-04 Duaxes Corp サーバの二重化方法、二重化サーバシステム、および二重化データベースサーバ
US20040181707A1 (en) * 2003-03-11 2004-09-16 Hitachi, Ltd. Method and apparatus for seamless management for disaster recovery
ITMI20040293A1 (it) * 2004-02-20 2004-05-20 Marconi Comm Spa Sistemi di protezione per reti di comunicazione
JP2005301442A (ja) * 2004-04-07 2005-10-27 Hitachi Ltd ストレージ装置
JP2005301560A (ja) 2004-04-09 2005-10-27 Nec Corp クラスタファイルサーバ
JP4353005B2 (ja) * 2004-06-29 2009-10-28 株式会社日立製作所 クラスタ構成コンピュータシステムの系切替方法
US7577870B2 (en) * 2005-12-21 2009-08-18 The Boeing Company Method and system for controlling command execution

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8245077B2 (en) 2008-09-11 2012-08-14 Hitachi, Ltd. Failover method and computer system
JP2010128886A (ja) * 2008-11-28 2010-06-10 Fujitsu Ltd 故障ノード切り離し処理プログラム、故障ノード切り離し方法及びストレージシステム
JP2011008780A (ja) * 2009-06-25 2011-01-13 Vmware Inc 仮想インフラストラクチャを用いた情報技術リスク管理
JP2011216072A (ja) * 2010-04-01 2011-10-27 Accenture Global Services Ltd 再目的化可能回復環境
JP2012010292A (ja) * 2010-06-28 2012-01-12 Kyocera Corp 通信システム、通信装置および通信方法
WO2015052836A1 (ja) * 2013-10-11 2015-04-16 株式会社日立製作所 ストレージ装置及びフェールオーバ方法
US9262289B2 (en) 2013-10-11 2016-02-16 Hitachi, Ltd. Storage apparatus and failover method
JP2016134111A (ja) * 2015-01-22 2016-07-25 日本電信電話株式会社 クラスタ構成判定装置およびその動作方法

Also Published As

Publication number Publication date
US20070234115A1 (en) 2007-10-04
US7487390B2 (en) 2009-02-03

Similar Documents

Publication Publication Date Title
JP2007279890A (ja) バックアップシステム及びバックアップ方法
US11360854B2 (en) Storage cluster configuration change method, storage cluster, and computer system
EP3518110B1 (en) Designation of a standby node
US7313722B2 (en) System and method for failover
US8195777B2 (en) System and method for adding a standby computer into clustered computer system
US8046632B2 (en) Backup management method based on mode of failure
US10353790B1 (en) Disaster recovery rehearsals
JP6491210B2 (ja) 分散データグリッドにおいて永続性パーティションリカバリをサポートするためのシステムおよび方法
WO2016070375A1 (zh) 一种分布式存储复制系统和方法
JP5412882B2 (ja) 論理ボリューム構成情報提供プログラム、論理ボリューム構成情報提供方法、および論理ボリューム構成情報提供装置
US11106556B2 (en) Data service failover in shared storage clusters
US20100138687A1 (en) Recording medium storing failure isolation processing program, failure node isolation method, and storage system
JP4671399B2 (ja) データ処理システム
JP3909062B2 (ja) Nasの制御装置及びバックアップ方法並びにプログラム
CN101136728A (zh) 群集系统和用于备份群集系统中的副本的方法
US8533525B2 (en) Data management apparatus, monitoring apparatus, replica apparatus, cluster system, control method and computer-readable medium
US7849264B2 (en) Storage area management method for a storage system
CN112181593A (zh) 虚拟机调度方法、装置、设备及存储介质
CN113986450A (zh) 一种虚拟机备份方法及装置
US20230205638A1 (en) Active-active storage system and data processing method thereof
US20240028611A1 (en) Granular Replica Healing for Distributed Databases
JP5890452B2 (ja) クラスタシステムのサーバ装置およびそのプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090223

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20100531