JP2006011581A - ストレージシステム及びストレージシステムの制御方法 - Google Patents
ストレージシステム及びストレージシステムの制御方法 Download PDFInfo
- Publication number
- JP2006011581A JP2006011581A JP2004184524A JP2004184524A JP2006011581A JP 2006011581 A JP2006011581 A JP 2006011581A JP 2004184524 A JP2004184524 A JP 2004184524A JP 2004184524 A JP2004184524 A JP 2004184524A JP 2006011581 A JP2006011581 A JP 2006011581A
- Authority
- JP
- Japan
- Prior art keywords
- site
- host computer
- storage device
- volume
- instruction information
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2002—Error 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 interconnections or communication control functionality are redundant
- G06F11/2007—Error 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 interconnections or communication control functionality are redundant using redundant communication media
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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/2023—Failover techniques
- G06F11/2033—Failover techniques switching over of hardware resources
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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/2046—Error 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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/2048—Error 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 neither address space nor persistent storage
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2069—Management of state, configuration or failover
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2058—Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using more than 2 mirrored copies
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2071—Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/82—Solving problems relating to consistency
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99955—Archiving or backup
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】 リモートコピーに障害が発生した場合に、古いデータを記憶するボリュームに基づいて誤った制御が行われるのを未然に防止する。
【解決手段】 ストレージシステムは、第1サイト1Aと第2サイト1BとをネットワークCN1,CN2で接続して構成される。各ホストコンピュータ3A1,3B1等には、それぞれ基準指示部5が設けられている。基準指示部5は、リモートコピーに障害が発生した場合に、いずれのサイト(ボリューム)に最新のデータが記憶されているかを特定し、管理する。これにより、リモートコピーの障害発生後に、最新のデータを利用可能なサイト内でフェイルオーバ等を行うことができる。
【選択図】 図1
【解決手段】 ストレージシステムは、第1サイト1Aと第2サイト1BとをネットワークCN1,CN2で接続して構成される。各ホストコンピュータ3A1,3B1等には、それぞれ基準指示部5が設けられている。基準指示部5は、リモートコピーに障害が発生した場合に、いずれのサイト(ボリューム)に最新のデータが記憶されているかを特定し、管理する。これにより、リモートコピーの障害発生後に、最新のデータを利用可能なサイト内でフェイルオーバ等を行うことができる。
【選択図】 図1
Description
本発明は、ストレージシステム及びストレージシステムの制御方法に関する。
地理的に離れた複数のサイトにそれぞれ記憶装置を設け、各サイト間を通信ネットワークを介して相互に接続するストレージシステムは、知られている(特許文献1)。このようなストレージシステムでは、いわゆるリモートコピーと呼ばれる技術によって、各サイトに設置された記憶装置の記憶内容を一致させる。従って、いずれかのサイトが使用不能となった場合でも、残された正常なサイトを利用して、業務サービスを引き続き提供することができる。
リモートコピーとは、上位装置としてのホストコンピュータやサーバを介在させることなく、物理的に離れた複数の記憶装置間で、記憶内容を一致させる技術をいう。リモートコピーを行う場合、一方のサイトの記憶装置内にコピー元となる論理ボリュームを用意し、他方のサイトの記憶装置内にコピー先となる論理ボリュームを用意する。これら2つの論理ボリュームは、コピーペアを形成し、コピー元の論理ボリュームにおいてデータが更新された場合、この更新はコピー先の論理ボリュームに反映される。
なお、複数のサーバを疎結合させて一つの集合体を構成し、あたかも一つのサーバであるかのようにして、クライアントマシンへのサービスを提供するクラスタシステムも知られている。
米国特許第5742792号明細書
物理的に離れた複数のサイト間でデータ内容を同期させ、各サイト毎にそれぞれ別々のサーバにストレージサービスを提供するような場合、もしもリモートコピー機能に障害が発生すると、各サイト間でデータを同期させることができない。従って、各サイト間でデータ内容に相違が生じる。この状態でストレージサービスを提供すると、コピー先論理ボリュームを有するサイトでは、更新データが反映されていない古いデータ群を用いて、誤った運用が行われる可能性がある。
ところで、耐障害性を向上させるために、リモートコピー技術に加えて、クラスタシステムを採用することも考えられる。しかし、クラスタシステムでは、単に、フェイルオーバ元のサーバとフェイルオーバ先のサーバとによって、共有論理ボリュームを排他的に使用しているに過ぎない。クラスタシステムでは、共有された論理ボリュームを単一のボリュームとして認識するだけであり、別々のサイトに設けられた異なる論理ボリューム間でデータが同期しているか否かまでは考慮していない。従って、単純にクラスタシステムとリモートコピー技術とを組み合わせただけでは、有効なディザスタリカバリシステムを構築することはできない。
そこで、本発明の一つの目的は、複数サイトにそれぞれ設けられた記憶装置間の記憶内容を同期させる処理に障害が発生した場合でも、誤った運用が行われるのを未然に防止し、信頼性を向上できるようにしたストレージシステム及びストレージシステムの制御方法を提供することにある。本発明の一つの目的は、フェイルオーバ処理と同期処理とを整合させて、有効なディザスタリカバリシステムを構築可能としたストレージシステム及びストレージシステムの制御方法を提供することにある。本発明の一つの目的は、ホストコンピュータやネットワークに過大な負荷をかけることなく、最新のデータ群を保持する記憶装置を必要なタイミングで特定し、同期障害への耐久性を向上できるようにしたストレージシステム及びストレージシステムの制御方法を提供することにある。本発明のさらなる目的は、後述する実施形態の記載から明らかになるであろう。
上記課題を解決すべく、本発明のストレージシステムは、複数のホストコンピュータ及びこれら各ホストコンピュータに論理ボリュームをそれぞれ提供する記憶装置をそれぞれ備える複数のサイトと、各サイトを互いに通信可能に接続するサイト間ネットワークと、サイト間ネットワークを介して、各記憶装置の論理ボリュームを同期させる同期部と、同期部による処理に同期障害が発生した場合において、基準となるべき記憶装置を指示するための基準指示情報を管理する基準管理部と、基準指示情報に基づいて論理ボリュームの使用を制御する制御部と、を備える。
複数のサイトは物理的に離れており、サイト間ネットワークを介して通信可能に接続されている。各サイトには、それぞれ複数のホストコンピュータ及び少なくとも一つ以上の記憶装置が設けられている。各記憶装置は、例えば、ハードディスクドライブや半導体メモリドライブあるいは光ディスクドライブ等のような複数の記憶デバイスを備えたディスクアレイ装置として構成可能である。複数の記憶デバイスが提供する物理的な記憶領域上には、論理的な記憶領域である論理ボリュームが形成される。各サイト内で、各ホストコンピュータは、それぞれに割り当てられた論理ボリュームにアクセスし、データの読み書きを行う。
各サイトの論理ボリュームのうち同期対象として指定されている論理ボリュームは、同期部によって定期的にまたは不定期に、その記憶内容が同期される。即ち、一方の論理ボリュームがコピー元、他方の論理ボリュームがコピー先としてそれぞれ設定され、同期部は、コピー元の論理ボリュームで更新されたデータを、コピー先の論理ボリュームに転送して書き込ませる。このような物理的に離れたサイト間で記憶内容を一致させる処理は、リモートコピー技術とも呼ばれる。同一の更新データを両方の論理ボリュームにそれぞれ書き込むことにより、コピー元の論理ボリュームの記憶内容とコピー先の論理ボリュームの記憶内容とを一致させることができる。コピー先の論理ボリュームへ更新データを反映させるタイミングとしては、同期式と非同期式とが知られている。詳細はさらに後述するが、同期式の場合は、コピー元の論理ボリュームに更新データを書き込むと略同時に、コピー先の論理ボリュームにも更新データを書き込む。非同期式の場合は、コピー元の論理ボリュームに更新データを書き込んだ後、所定のタイミングで、コピー先の論理ボリュームに更新データを転送する。
例えば、サイト間ネットワークの通信障害や記憶装置内部の障害等により、同期処理を正常に実行できない場合がある。同期処理の正常な実行に影響を与える障害を、ここでは、同期障害と呼ぶ。基準管理部は、基準指示情報を管理する。基準指示情報とは、同期障害が発生した場合において、基準となるべき記憶装置を指し示す情報である。
例えば、一方のサイトの論理ボリューム(コピー元)から他方のサイトの論理ボリューム(コピー先)にデータをコピーしている場合において、同期処理に障害が発生すると、コピー元の論理ボリュームにおける更新内容をコピー先の論理ボリュームに反映させることができない。この場合、最新のデータを保持しているのは、コピー元の論理ボリュームであり、コピー先の論理ボリュームには、同期障害が発生する前の古いデータが保持されている。従って、この場合は、コピー元の論理ボリュームを有する記憶装置が、基準となるべき記憶装置となる。即ち、基準指示情報は、最新のデータを保持している記憶装置(あるいはその記憶装置を有するサイト、またはその記憶装置が有する論理ボリューム)を特定するための情報である。同期障害の発生時には、基準指示情報を参照することにより、2つの論理ボリュームのうちいずれの論理ボリュームが最新のデータを保持しているかを判別することができる。従って、制御部は、例えば、古いデータを記憶する論理ボリュームへのアクセスを中止する等のような制御を行うことができる。
同期部と、基準管理部と、制御部とは、各サイトにそれぞれ設けることができる。これらの各部は、各サイトの各ホストコンピュータにそれぞれ設けることができる。または、同期部と制御部とは、各サイトの各ホストコンピュータにそれぞれ設け、基準管理部は、各サイトの記憶装置にそれぞれ設けることもできる。
各サイトの各ホストコンピュータにより、全体として一つのクラスタを構成することができる。そして、制御部は、障害の発生したホストコンピュータで提供されていた所定のサービスを正常な他のホストコンピュータに引き継がせるフェイルオーバ処理を制御することができる。現在運用されているホストコンピュータが機能を停止した場合、そのホストコンピュータからクライアントマシンに提供されていた情報処理サービス(業務処理サービス)は、待機しているホストコンピュータに引き継がれる。待機していたホストコンピュータは、機能を停止したホストコンピュータが使用している論理ボリュームの使用権限や、IPアドレス等の各種ネットワーク設定情報等を受け継いで、クライアントマシンへの情報処理サービスを再開する。機能を停止した現用系ホストコンピュータから待機系ホストコンピュータへ情報処理サービスの実行を肩代わりさせる処理を、フェイルオーバ処理と呼ぶ。現用系ホストコンピュータの機能が回復し、待機系ホストコンピュータから現用系ホストコンピュータに情報処理サービスの実行を戻す処理を、フェイルバック処理と呼ぶ。
制御部は、基準指示情報に基づいて、フェイルオーバ処理等を行うことができる。例えば、同期障害が発生し、コピーペアを形成する複数の論理ボリューム間で記憶内容が不一致となった場合、最新データを記憶する論理ボリュームを利用可能なホストコンピュータが、フェイルオーバ処理を実行する。
基準管理部は、各サイトのうち基準指示情報の通知を必要とする所定のサイトに、基準指示情報をそれぞれ通知することができる。例えば、基準管理部が各サイトにそれぞれ設けられている場合、同期障害の発生したサイトは、既に同期障害の発生を認識しているので、通知する必要はない。「基準指示情報の通知を必要とする所定のサイト」とは、同期障害の発生したサイト以外の他のサイトを意味する。通知を受けたサイトでは、例えば、半導体メモリやハードディスクドライブ等から構成可能な基準指示情報記憶部に、基準指示情報を格納することができる。
複数の通知をサイトが受信する場合も考えられる。この場合、複数の通知を受信したサイトは、いずれか古い方の基準指示情報を保持することができる。古い方の基準指示情報は、より以前に発行されたものであり、その古い方の基準指示情報を発行したサイトでは、更新データの差分が蓄積されていると考えられる。そこで、古い方の基準指示情報を採用する。
基準管理部による所定のサイトへの通知が正常に完了した場合に、論理ボリュームの使用を許可することができる。即ち、どのサイトが最新データを有するかを、全てのサイトが認識した後で、論理ボリュームの使用を許可することができる。この後、例えば、フェイルオーバ処理が実行されるような場合、各サイトの各ホストコンピュータは、自己の使用する論理ボリュームが最新のデータを記憶しているか否かを判断し、フェイルオーバ先ホストコンピュータとして作動するか否かを決定することができる。
基準指示情報には、予め優先サイトを示す情報を対応付けることもできる。そして、基準管理部による所定のサイトへの通知が正常に完了しなかった場合でも、優先サイトへの通知が正常に完了した場合には、論理ボリュームの使用を許可することもできる。
最新の基準指示情報は、各サイトにそれぞれ通知され、各サイトでそれぞれ保持されるが、例えば、通信障害等の発生により、一部のサイトへの通知が正常に完了しない場合もあり得る。そこで、全サイトへの通知が完了しない場合でも、予め設定された優先サイトへの通知が正常に完了している場合は、論理ボリュームの使用を許可する。優先サイトとは、同期障害が発生した場合に基準として優先的に選択されるサイトであり、システム管理者等によって予め設定される。
優先サイトには、予め指定された所定のサイト、障害発生前における運用サイト、障害発生前における待機サイトのうち、少なくともいずれか一つまたは複数を設定することができる。例えば、複数のサイトのうち、いずれか一つのサイトを優先サイトとして予め指定することができる。例えば、同期障害が発生する前に、情報処理サービスを提供していたサイト(運用サイト)を、優先サイトとして予め設定しておくことができる。例えば、同期障害が発生する前に、待機サイトであったサイトを優先サイトとして予め設定することができる。基準指示情報は、同期処理の対象となる論理ボリュームのペア毎にそれぞれ設定することができる。従って、同期処理の対象となる論理ボリュームのペアが複数存在する場合は、各ペア毎にそれぞれ異なる優先サイトを指定することもできる。
基準管理部は、同期障害の発生が検出された場合に、基準指示情報を更新させることができる。例えば、同期障害が発生する前においても、所定時間毎に基準指示情報を更新し、各サイトに通知する構成も考えられる。しかし、この場合は、更新周期等によっても相違するが、基準指示情報の更新処理、基準指示情報の通知処理、基準指示情報を受信して記憶する処理が頻繁に実行される可能性がある。従って、ホストコンピュータや通信ネットワークの負荷が増加する。また、基準指示情報が各サイトで利用されるのは、同期障害が発生した後である。そこで、同期障害の発生が検出された場合に、基準指示情報を更新させる。これにより、ホストコンピュータ等に大きな負担をかけずに、基準指示情報を更新(生成)させることができる。なお、本発明は、同期障害の発生前に基準指示情報を生成または更新させる構成を意図的に放棄するものではない。特許請求の範囲の記載によっては、このような構成も本発明の範囲に含まれる。
サイト間ネットワークは、各サイトの記憶装置同士を通信可能に接続する記憶装置間ネットワークと、各サイトの各ホストコンピュータ同士を通信可能に接続するホストコンピュータ間ネットワークとを含んで構成することができる。そして、同期部は、記憶装置間ネットワークを介して、各記憶装置の論理ボリュームを同期させ、基準管理部は、ホストコンピュータ間ネットワークを介して、各サイトのうち基準指示情報の通知を必要とする所定のサイトに、基準指示情報をそれぞれ通知する。このように、同期処理で用いるネットワークとは別系統のネットワークを介して、基準指示情報を各サイトに通知させることにより、記憶装置間ネットワークの故障等によって同期障害が発生した場合でも、基準指示情報を各サイトに通知することができる。
サイト間ネットワークは、さらに、各サイト内で各ホストコンピュータと記憶装置とを通信可能に接続するサイト内ネットワーク同士を通信可能に接続するサイト内ネットワーク間ネットワークを含むことができる。そして、基準管理部は、ホストコンピュータ間ネットワークまたはサイト内ネットワーク間ネットワークのいずれか一つを介して、各サイトのうち基準指示情報の通知を必要とする所定のサイトに、基準指示情報をそれぞれ通知することもできる。
各サイトの各ホストコンピュータのうち、所定のホストコンピュータにのみ基準指示情報を保持させ、他のホストコンピュータは所定のホストコンピュータにアクセスすることにより、基準指示情報を利用する構成でもよい。
同期部は、同期障害が解消した場合に、基準指示情報に示されている記憶装置をコピー元の記憶装置として、同期処理を実行することもできる。これにより、障害回復後に、最新データを記憶する記憶装置から他の記憶装置に最新データを転送し、両者の記憶内容を一致させることができる。
そして、障害回復後の同期処理が正常に完了した場合、基準管理部は、基準指示情報をリセットすることができる。
本発明の機能、手段、ステップの全部または一部は、例えば、マイクロコンピュータにより実行されるコンピュータプログラムとして構成可能な場合がある。そして、このコンピュータプログラムは、例えば、ハードディスク、光ディスク、半導体メモリ等の記憶媒体に固定して配布することができる。または、コンピュータプログラムをインターネット等の通信ネットワークを介して、配信することもできる。
以下、図面に基づき、本発明の実施の形態を説明する。図1は、本実施形態の全体概念図である。詳細はさらに後述するが、図1に示すように、本実施形態のストレージシステムは、複数の第1ホストコンピュータ(3A1,3A2)及びこれら各第1ホストコンピュータ(3A1,3A2)に論理ボリュームをそれぞれ提供する第1記憶装置(2A)を有する第1サイト(1A)と、複数の第2ホストコンピュータ(3B1,3B2)及びこれら各第2ホストコンピュータ(3B1,3B2)に論理ボリュームをそれぞれ提供する第2記憶装置(2B)を有する第2サイト(1B)と、第1サイト(1A)内で、各第1ホストコンピュータ(3A1,3A2)と第1記憶装置(2A)とを通信可能に接続する第1サイト内ネットワーク(CN3A)と、第2サイト(1B)内で、各第2ホストコンピュータ(3B1,3B2)と第2記憶装置(2B)とを通信可能に接続する第2サイト内ネットワーク(CN3B)と、第1記憶装置(2A)と第2記憶装置(2B)とを通信可能に接続する記憶装置間ネットワーク(CN1)と、各第1ホストコンピュータ(3A1,3A2)と各第2ホストコンピュータ(3B1,3B2)とを通信可能に接続するホストコンピュータ間ネットワーク(CN2)と、を備えている。
そして、本実施形態では、各第1ホストコンピュータ(3A1,3A2)及び各第2ホストコンピュータ(3B1,3B2)に、各第1,第2ホストコンピュータ(3A1,3A2,3B1,3B2)を全体として一つのクラスタに構成するクラスタ制御部(4)と、記憶装置間ネットワーク(CN1)を介して、第1記憶装置(2A)の論理ボリュームと第2記憶装置(2B)の論理ボリュームとを同期させる同期部(後述の実施例を参照)と、同期部による処理に同期障害が発生した場合に、第1記憶装置(2A)と第2記憶装置(2B)のいずれを基準とすべきかを指示するための基準指示情報を管理する基準管理部(5)とを、それぞれ設けてある。
基準管理部(5)は、同期障害の発生が検出された場合に、基準指示情報を更新して、相手方のサイト(1Aまたは1B)に基準指示情報を通知する。クラスタ制御部(4)は、フェイルオーバ発生原因となる障害が発生した場合に、基準指示情報に基づいて、フェイルオーバ処理を実行する。
以上が本実施形態の全体構成の概要である。各部の構成をさらに詳しく述べると、サイト1Aとサイト1Bとは、例えば、ある都市と別のある都市、同一構内のある建物と別のある建物等のように、物理的に離れて設けられる。ここで、例えば、サイト1Aは、図示せぬ多数のクライアントマシンに対して情報処理サービスを提供する現用系サイトであり、サイト1Bは、サイト1Aに不測の事態が発生した場合のバックアップとなる待機系サイトである。
各サイト1A、1Bには、それぞれ複数のホストコンピュータ及び一つ以上の記憶装置が設けられている。記憶装置2A,2Bは、例えば、ディスクアレイサブシステム等のような大容量の外部記憶装置システムとして構成される。記憶装置2A,2Bは、それぞれのホストコンピュータに対して論理ボリュームを提供する。
ホストコンピュータ3A1,3A2,3B1,3B2(以下、全体としてホストコンピュータ3)は、例えば、サーバマシンとして構成される。ホストコンピュータ3は、自己に割り当てられた論理ボリュームにアクセスし、データの読み書きを行う。また、ホストコンピュータ3は、クラスタを構成している。
通常時には、図1中の上側に示すように、サイト1Aの各ホストコンピュータ3A1,3A2からクライアントマシンに対して、情報処理サービスが提供される。同期障害(リモートコピー障害)が発生する前の通常状態では、基準指示情報に「ノーマル」状態が設定される。
図1中の下側に示すように、例えば、ケーブルの断線やリンク障害等を原因として、記憶装置間ネットワークCN1を介した同期処理に障害が発生した場合を考える。この場合は、サイト1Aの記憶装置2Aに書き込まれたデータを、サイト1Bの記憶装置2Bに転送することができない。同期障害が発生した後も、サイト1Aでは、各ホストコンピュータ3A1,3A2のいずれかまたは両方が、クライアントマシンからの要求に応じて記憶装置2Aにアクセスし、データの更新を続ける。サイト1Aの記憶装置2Aには、差分データ6が蓄積されていく。差分データ6は、コピーペアを形成する2つの論理ボリュームの間に生じたデータ群であり、コピー元の記憶装置2A内で発生し、蓄積される。
同期障害の発生が検出されると、基準指示情報は、「ノーマル」状態から「第1サイト(1A)」状態に変更される。「第1サイト」状態とは、最新のデータを保有するサイトが第1サイト1Aであることを示している。もしも、同期障害が回復する前に、ホストコンピュータ3A1が機能を停止した場合は、フェイルオーバ処理が実行される。ホストコンピュータ3は、自己の使用可能な記憶装置が最新のデータを保持しているか否かに基づいて、フェイルオーバ処理を行うか否かを決定する。
図1に示す例では、最新データは記憶装置2Aに保持されている。従って、この記憶装置2Aを利用可能なホストコンピュータ3A2がフェイルオーバ処理を実行する。第2サイト1Bのホストコンピュータ3B1,3B2は、基準指示情報に示された記憶装置2Aを利用することができないので、フェイルオーバ処理を実行しない。これにより、同期障害の発生した後で、古いデータに基づく誤った運用が開始されるのを防止することができ、ストレージシステムの信頼性を高めることができる。また、フェイルオーバ先の候補となるホストコンピュータが複数存在する場合でも、最新のデータにアクセス可能か否かに基づいて、適切なフェイルオーバ先コンピュータを選択することができる。これにより、システム管理者が明示の指示を与えることなく、自動的に適切なホストコンピュータでフェイルオーバ処理を実行させることができ、使い勝手が向上する。以下、本実施形態をより詳細に説明する。
図2は、ストレージシステムの全体概要を示すブロック図である。このストレージシステムは、例えば、第1サイト10Aと、第2サイト10Bとを備えており、各サイト10A,10B間は、通信ネットワークCN12,CN13によって接続されている。なお、後述の実施例からも明らかなように、ストレージシステムは3つ以上のサイトから構成することもできる。
第1サイト10Aと第2サイト10Bとは、例えば、別々の都市に設置することができる。また、第1サイト10Aと第2サイト10Bとは、例えば、同一行政区画に位置する異なる地点に設置することもできる。さらに、第1サイト10Aと第2サイト10Bとは、例えば、同一敷地内のそれぞれ異なる建物内に設けることもできる。
第1サイト10Aと第2サイト10Bとは、基本的に同一構造を備える。ディザスタリカバリシステムとしての機能を発揮可能であれば、両サイト10A,10Bは異なる構成であってもよい。一つの例として、第1サイト10Aは、図外のクライアントマシンに対して情報処理サービスを提供する現用系サイト(稼働系サイト)である。第2サイト10Bは、第1サイト10Aに障害が発生した場合にバックアップするバックアップサイト(待機系サイト)である。
もっとも、サイト全体を稼働系または待機系のいずれか一方として使用する必要はなく、情報処理サービスを提供するアプリケーションプログラム毎に、稼働系サイトと待機系サイトとをそれぞれ設定してもよい。例えば、第1のアプリケーションプログラムの稼働系サイトを第1サイト10Aとし、第2のアプリケーションプログラムの稼働系サイトを第2サイト10Bとすることもできる。
第1サイト10Aは、複数のホストコンピュータHA1,HAnと、記憶装置システム20Aとを備えている。各ホストコンピュータHA1,HAnは、図3と共に後述するように、マイクロコンピュータを用いたサーバマシンとして構成される。各ホストコンピュータHA1,HAnは、データ最新性保障モジュール30と、クラスタソフトウェア40と、リモートコピー制御モジュール50とを、それぞれ備えている。これら各ソフトウェア30,40,50の詳細は、図4と共に後述する。
記憶装置システム20Aは、例えば、ディスクアレイサブシステムとして構成することができる。記憶装置システム20Aは、後述のように、複数の論理ボリューム212を備えており、これらの論理ボリューム212は、ホストコンピュータHA1,HAnによって利用される。
各ホストコンピュータHA1,HAnは、サイト内の通信ネットワークCN11を介して、記憶装置システム20Aと接続されている。この通信ネットワークCN11は、例えば、SAN(Storage Area Network)として構成され、ファイバチャネルプロトコルに従ってデータ通信を行う。
各ホストコンピュータHA1,HAnは、ホストコンピュータ間を相互に接続する通信ネットワークCN12を介して、それぞれ接続されている。また、第1サイト10Aの各ホストコンピュータHA1,HAnは、通信ネットワークCN12を介して、第2サイト10Bの各ホストコンピュータHB1,HBnとも相互に接続されている。このホストコンピュータ間の通信ネットワークCN12は、例えば、インターネット、LAN(Local Area Network)、WAN(Wide Area Netwrok)、MAN(Metropolitan Area Network)等のようなネットワークとして構成され、TCP/IP(Transmission Control Protocol/Internet Protocol)等に基づいてデータ通信を行う。
第2サイト10Bも、上述した第1サイト10Aと同様に、複数のホストコンピュータHB1,HBnと、記憶装置システム20Bとを備えている。これらの構成は、第1サイト10Aで述べたと同様であるので、その説明を省略する。
ここで、記憶装置システム20Aと記憶装置システム20Bとは、記憶装置間ネットワークとしてのリモートコピーラインCN13によって直接的に接続されている。リモートコピーラインCN13は、例えば、専用線または公衆回線により構成される。
なお、サイト内ネットワークCN11は、ファイバチャネルプロトコル(SCSI:Small Computer System Interface)を用いる構成に限らず、例えば、iSCSIのように、SCSIコマンドをIPパケットで包み込み、ブロックレベルのデータ転送をIP網で実行する構成でもよい。
図3は、サイトのハードウェア構成に着目した概略ブロック図である。図3では、第1サイト10Aを中心に説明するが、第2サイト10Bも同様のハードウェア構成を備えている。
ホストコンピュータHA1,HAnは、基本的に同一構造を備えているので、ホストコンピュータHA1を例に挙げてその構成を説明する。なお、以下の説明では、各ホストコンピュータを特に区別しない場合に、「ホストコンピュータH」または「ホストコンピュータH(番号)」と示す。
ホストコンピュータHA1は、例えば、CPU310と、メモリ320と、ディスク330と、ディスクインターフェース(以下「I/F」)340と、上位ネットワークI/F350と、キーボードスイッチ360と、ディスプレイ370とを備え、これら各部はバス380により相互に接続されている。
CPU(Central Processing Unit)310は、メモリ320に記憶されているプログラムコードを読み込んで実行する。CPU310が所定のプログラムコードを実行することにより、クラスタ制御やリモートコピー制御等の各処理または機能がホストコンピュータHA1上に実現される。
メモリ320は、例えば、ROM(Read Only Memory)やRAM(Random Access Memory)等から構成される。図中では、ROMとRAMの区別をしていないが、実際には、プログラムコード等を格納するROMと、一時的記憶領域や作業領域等として使用されるRAMとが設けられる。ディスク330は、例えば、ハードディスクドライブとして構成される。ディスク330には、例えば、プログラムやデータが記憶される。また、ディスク330の一部の記憶領域は、一時ファイルを格納するために使用される場合もある。
ディスクI/F340は、サイト内ネットワークCN11を介して、記憶装置システム20Aとの間のデータ授受を制御する回路である。ディスクI/F340は、例えば、SCSIやiSCSI等に基づいて、ブロックレベルのデータ転送を制御する。上位ネットワークI/F350は、ホストコンピュータ間ネットワークCN12を介して、他のホストコンピュータ(HAn,HB1〜HBn)との間のデータ授受を制御する回路である。上位ネットワークI/F350は、例えば、IP(Internet Protocol)に基づいて、データ転送を制御する。
キーボードスイッチ360は、情報入力手段の一例であり、システム管理者は、キーボードスイッチ360を介して、必要な指示等を入力することができる。ディスプレイ370は、情報出力手段の一例であり、例えば、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ、プラズマディスプレイ、EL(Electronic Luminescent)ディスプレイ等から構成される。ディスプレイ370には、システム管理者からの明示の要求に応じて、あるいは自発的に、種々の情報が表示される。なお、これらに限らず、例えば、音声入力装置、音声出力装置、ポインティングデバイス、プリンタ等を用いてもよい。
記憶装置システム20Aのハードウェア構成を説明する。記憶装置システム20Aは、例えば、RAIDグループ210と、ディスク制御部220と、ホストI/F230と、装置間I/F240と、キャッシュメモリ250と、共有メモリ260と、スイッチング制御部270と、サービスプロセッサ(SVP)280と、を備えて構成される。
RAID(Redundant Array of Independent Disks)グループ210は、複数のディスクドライブ211を含んでおり、例えば、RAID1やRAID5等のRAIDに基づく冗長記憶を提供する。各ディスクドライブ211は、例えば、ハードディスクドライブ、半導体メモリ装置、光ディスクドライブ、光磁気ディスクドライブ等の記憶デバイスから構成することができる。各ディスクドライブ211が提供する物理的な記憶領域上には、論理的な記憶領域である論理ボリューム212を少なくとも一つ以上設定可能である。論理ボリューム212には、ホストコンピュータHから利用される多数のデータが記憶される。また、別の論理ボリューム212には、制御情報等を格納し、システム領域として利用することもできる。なお、ディスクドライブ211は、その全てが記憶装置システム20Aの筐体内に位置する必要はない。例えば、同一サイト内に設置された他の記憶装置システム(不図示)が有する論理ボリュームを、記憶装置システム20Aの論理ボリュームとして使用することもできる。以下の説明では、論理ボリュームを「ボリューム」と省略して記載する場合がある。
ディスク制御部220は、各ディスクドライブ211との間のデータ授受を制御するものである。ディスク制御部220は、例えば、CPUやROM、RAM等を含んだマイクロコンピュータシステムとして構成される。ディスク制御部220は、記憶装置システム20A内に複数設けられる。ディスク制御部220は、例えば、SCSIやiSCSI等に基づいて、ディスクドライブ211との間でブロックレベルのデータ転送を行う。
ホストI/F230は、サイト内ネットワークCN11を介して、ホストコンピュータHとの間のデータ転送を制御するものである。ホストI/F230は、ディスク制御部220と同様に、マイクロコンピュータシステムとして構成可能である。ホストI/F230は、ホストコンピュータHの種類(サーバかメインフレームか等)に応じて、それぞれ用意することができる。なお、本実施例では、ホストコンピュータHをサーバとして構成する場合を例に挙げて説明するが、メインフレームであってもよい。
装置間I/F240は、リモートコピーラインCN13を介して、他のサイト10Bの記憶装置システム20Bとの間でデータ通信を行うものである。装置間I/F240は、論理ボリューム212に書き込まれた更新データや差分データを、ホストコンピュータHを介さずに、相手方の記憶装置システム20Bに転送する。
ここで、リモートコピーについて、簡単に説明すると、記憶装置システム20Aが有する複数の論理ボリューム212と、記憶装置システム20Bが有する複数の論理ボリューム212とのうち、同期対象となる論理ボリュームが予めそれぞれ選択される。これら選択された一対の論理ボリューム212は、一方がコピー元ボリュームとなり、他方がコピー先ボリュームとなる。ホストコンピュータHからコピー元ボリュームに書き込まれたデータ(更新データ)は、装置間I/F240からリモートコピーラインCN13を介して、コピー先ボリュームに転送され、コピー先ボリュームに書き込まれる。
また、リモートコピーの停止期間中に、コピー元ボリュームに書き込まれたデータは、差分データとして管理される。差分データは、例えば、差分ビットマップテーブル等を用いて管理可能である。リモートコピーを再開する場合、まず先に、コピー元ボリュームからコピー先ボリュームに差分データが転送され、各ボリュームの再同期が行われる。
キャッシュメモリ250は、例えば、揮発または不揮発の半導体メモリから構成することができる。キャッシュメモリ250は、ホストコンピュータHからのライトデータを記憶する。また、キャッシュメモリ250は、論理ボリューム212から読み出されたリードデータを記憶する。ここで、キャッシュメモリ250上に記憶されるデータは、例えば、以下のように分類可能である。一つは、キャッシュメモリ250にのみ記憶され、ディスクドライブ211に書き込まれていない状態のデータである。この状態のデータを、例えば「ダーティデータ」と呼ぶ。もう一つは、キャッシュメモリ250とディスクドライブ211のいずれにも記憶されている状態のデータである。この状態のデータを、例えば、「クリーンデータ」と呼ぶ。
共有メモリ260は、例えば、不揮発または揮発の半導体メモリから構成することができる。共有メモリ260は、例えば、ホストコンピュータHから受信した各種コマンドや、記憶装置システム20Aの制御に使用する制御情報等を記憶する。これらのコマンドや制御情報等は、複数の共有メモリ260によって、冗長記憶される。なお、キャッシュメモリ250と共有メモリ260とは、それぞれ別々のメモリとして構成することもできるし、あるいは、一つのメモリの一部をキャッシュメモリ領域として使用し、残りを共有メモリ領域として使用することもできる。
スイッチング制御部270は、各ディスク制御部220と、各ホストI/F230と、装置間I/F240と、キャッシュメモリ250と、共有メモリ260とを、それぞれ相互に接続するものである。スイッチング制御部270は、例えば、超高速クロスバスイッチ等から構成することができる。
SVP280は、ホストI/F230を介して、記憶装置システム20A内の各部の状態を収集し監視する。SVP280は、収集した内部状態の情報を生データのままで、あるいは、統計処理したデータとして、外部の管理端末(不図示)に出力する。SVP280が収集可能な情報としては、例えば、装置構成、電源アラーム、温度アラーム、入出力速度(IOPS)等が挙げられる。システム管理者は、管理端末からSVP280を介して、RAID構成の設定変更や、各種パッケージ(ホストI/F、ディスク制御部等)の閉塞処理等を行うことができる。
次に、記憶装置システム20Aの作動について説明する。ホストI/F230は、サイト内ネットワークCN11を介して、ホストコンピュータHからライトコマンド及びライトデータを受信する。受信されたライトコマンドは共有メモリ260に記憶され、受信されたライトデータはキャッシュメモリ250に記憶される。ディスク制御部220は、共有メモリ260を随時参照している。ディスク制御部220は、共有メモリ260に記憶されている未処理のライトコマンドを発見すると、このライトコマンドに従って、キャッシュメモリ250からライトデータを読み出し、アドレス変換等を行う。ディスク制御部220は、ライトコマンドによって指定された論理ボリューム212を構成する各ディスクドライブ211に、ライトデータを記憶させる。
ホストコンピュータHからデータを書き込まれた論理ボリューム212が、コピー元ボリュームに設定されている場合、このライトデータは、装置間I/F240からリモートコピーラインCN13を介して、コピー先ボリュームを有する記憶装置システム20Bに転送される。転送先の記憶装置システム20Bは、装置間I/Fを介してライトデータを受信すると、このライトデータをキャッシュメモリに格納し、転送元の記憶装置システム20Aに対して、書込み完了を報告する。転送先の記憶装置システム20Bは、書込み完了の報告後、適当なタイミングで、ライトデータをコピー先ボリュームに書込む。
転送元の記憶装置システム20AのホストI/F230は、転送先の記憶装置システム20Bから書込み完了が報告されたことを確認した後、ホストコンピュータHに対して、書込み完了を報告する。以上のように、転送先の記憶装置システム20Bからの書込み完了報告を待ってから、ホストコンピュータHに書込み完了を報告する方法を、同期式リモートコピーと呼ぶ。
これに対し、転送元の記憶装置システム20Aが、ホストコンピュータHからのライトデータをキャッシュメモリ250に記憶させた時点で、ホストコンピュータHに書込み完了を報告する方法を非同期式リモートコピーと呼ぶ。同期式リモートコピーの場合は、転送先からの応答を待つ時間だけ処理時間が長くなる。しかし、転送が正常に完了したことを確認してからホストコンピュータHに書込み完了を報告するため、コピー元ボリュームとコピー先ボリュームとが同期していることを保証できる。非同期式リモートコピーの場合は、相手方の記憶装置システム20Bにライトデータを転送する前に、ホストコンピュータHに書込み完了を報告するため、応答時間を短縮することができる。しかし、コピー元ボリュームの記憶内容が更新されたか否かを確認していないため、リモートコピーが正常に完了したことを確実に保証することはできない。
以上のように、同期式リモートコピーと非同期式リモートコピーとの2つの方式が知られている。これら各方式は、それぞれの構成に由来する技術的性質を有する。同期式リモートコピーの確実性と、非同期式リモートコピーの高速性とは、例えば、サイト間の物理的な距離や要求される応答性等を考慮して、必要に応じた使い分けが可能である。
例えば、稼働系サイト10Aと待機系サイト10Bとの距離が、数十キロ以下程度のような比較的短い場合は、同期式リモートコピーを採用しても、伝播遅延や応答時間による影響を受けにくい。本実施例では、同期式リモートコピーを例に挙げて説明する。しかし、後述の実施例からも明らかなように、本発明は、非同期式リモートコピーを採用することもできる。
ホストコンピュータHからのリード要求を処理する場合を説明する。ホストI/F230は、ホストコンピュータHからリードコマンドを受信すると、このリードコマンドを共有メモリ260に記憶させる。ディスク制御部220は、共有メモリ260内で未処理のリードコマンドを発見すると、このリードコマンドによって指定された論理ボリューム212を構成する各ディスクドライブ211からデータを読み出す。ディスク制御部220は、読み出したデータをキャッシュメモリ250に記憶させる。また、ディスク制御部220は、要求されたデータの読出しが完了した旨を、共有メモリ260を介して、ホストI/F230に通知する。ホストI/F230は、キャッシュメモリ250からデータを読み込み、ホストコンピュータHに送信する。
図4は、ホストコンピュータHのソフトウェア構成の要部を模式的に示すブロック図である。ホストコンピュータHは、例えば、OS(Operating System)や各種デバイスドライバ等を備えている。これに加えて、ホストコンピュータHは、図4に示すように、データ最新性保障モジュール(以下、「保障モジュール」とも呼ぶ)30と、クラスタソフトウェア40と、リモートコピー制御モジュール50とを備えている。
なお、図4中では、ホストコンピュータH1にのみ各ソフトウェア30,40,50を設けているかのように示しているが、実際には、クラスタシステムを構成する全てのホストコンピュータH1,H2,H3に、それぞれ各ソフトウェア30,40,50が実装されている。また、各ソフトウェア30,40,50がそれぞれ実現すべき各機能は、プログラムコードやデータから構成する必要はなく、例えば、その一部または全部をハードウェア回路から構成してもよい。
保障モジュール30は、どのサイトに設けられているボリュームが最新のデータを記憶しているかを管理するためのソフトウェアであり、他の保障モジュール30との間で通信を行うための通信機能を備えている。
保障モジュール30は、例えば、最新性管理情報31と、更新管理情報32とをそれぞれ管理することができる。最新性管理情報31は、図6と共に後述するように、各コピーペア毎に、どのサイトのボリュームが最新のデータを記憶しているかを、それぞれ記憶している。なお、最新性管理情報を「データ最新性管理情報」とも呼ぶ。最新性管理情報31は、「基準指示情報」に対応する。
更新管理情報32は、最新性管理情報31が他の全てのホストコンピュータHに対して、通知されたか否かを管理するものである。つまり、更新管理情報32は、最新性管理情報31の各ホストコンピュータHへの通知状態を管理するための情報である。詳細はさらに後述するが、保障モジュール30は、リモートコピーに障害が発生した場合に、更新管理情報32を更新し、他の各ホストコンピュータHにそれぞれ通知する。
即ち、保障モジュール30は、リモートコピーの障害が発生した場合に、基準となるべきボリューム(最新データを記憶するボリューム)を判定し、他のホストコンピュータHにそれぞれ通知する。この通知は、例えば、リモートコピーの障害発生を検出した保障モジュール30から、他の全ての保障モジュール30に対し、所定の情報をそれぞれ送信させることにより、実現可能である。また、例えば、所定回数だけ繰り返して通知することもできる。
クラスタソフトウェア40は、クラスタシステムを制御するものである。各サイト10A,10Bの各ホストコンピュータH(ノード)は、各クラスタソフトウェア40の連携により、全体として一つのクラスタを構成している。各クラスタソフトウェア40は、例えば、ハートビート通信を行うことにより、監視対象のホストコンピュータHが機能を停止したか否かを監視することができる。
また、クラスタソフトウェア40は、クラスタを制御するための各種のモジュールを備えている。本発明と関連するモジュールとしては、例えば、リソース管理モジュール41と、コピー管理リソース42とを挙げることができる。
リソース管理モジュール41は、クラスタ制御の一部として、クラスタに使用されるリソースを管理するものである。リソースとしては、例えば、各論理ボリュームやホストコンピュータHのネットワーク設定等を挙げることができる。
コピー管理リソース42は、設定されたリモートコピーのペアをクラスタのリソースとして登録し、リモートコピーを管理するものである。コピー管理リソース42は、コピーペアの操作に関する指示を受け取って、ボリュームの設定を変更する。また、コピー管理リソース42は、定期的に、コピーペアを構成するボリュームの状態を確認することもできる。さらに、コピー管理リソース42は、リモートコピーの障害が発生した場合に、保障モジュール30に対して、そのボリュームが使用可能であるか否かを問い合わせることもできる。
リモートコピー制御モジュール50は、リモートコピーの作動を制御する。リモートコピー制御モジュール50は、コピー管理リソース42からの指示に基づいて、例えば、コピーペアの形成、コピーペアの分割、コピーペアの状態確認、コピーペアの反転といった操作を行う。コピーペアの各状態については、さらに後述する。なお、以下の説明では、コピーペアを「ペア」と略記する場合がある。
フェイルオーバの実行方法について簡単に説明する。一つの方法として、いずれかのホストコンピュータHが機能を停止すると、そのホストコンピュータHとの間のハートビート通信が途絶し、そのホストコンピュータHの機能停止が検出される。フェイルオーバ先として選択されたホストコンピュータHのクラスタソフトウェア40は、フェイルオーバ元のホストコンピュータHが使用していたボリュームやネットワーク設定情報等の資源を引継ぐ。フェイルオーバ先のホストコンピュータHは、フェイルオーバ元で提供されていた情報処理サービス(業務サービス)を再開する。ホストコンピュータHの情報処理サービスを利用するクライアントマシンは、稼働系ホストコンピュータHから待機系ホストコンピュータHへの交替を特に意識しない。
このような処理方法とは別に、例えば、計画的な停止を行う場合や、稼働系ホストコンピュータHが部分的に機能を停止する場合、稼働系ホストコンピュータHが一時的に過負荷状態になったような場合には、別の方法を実行することができる。即ち、フェイルオーバ元の稼働系ホストコンピュータHから、フェイルオーバ先として選択されたホストコンピュータHに対し、フェイルオーバ処理の開始を明示的に要求する。このフェイルオーバ処理の開始要求を受信したホストコンピュータHは、ネットワーク設定情報やボリューム等の資源を引き継いで、情報処理サービスの提供を開始する。
図5は、ボリュームが取り得る各種のペア状態とこれら各ペア状態間での遷移を模式的に示す状態遷移図である。図5に示すように、リモートコピーの対象となるボリュームのペア状態としては、例えば、「ペア分割状態」、「コピー元状態」及び「コピー先状態」の3種類を挙げることができる。
「ペア分割状態」とは、リモートコピーの対象となっていない状態を示す。「ペア分割状態」のボリュームに対して、このボリュームに繋がるホストコンピュータHは、リードアクセス及びライトアクセスの両方を行うことができる。ここで、例えば、「ペア分割状態」になった場合に、ペア分割以後に生じた差分データをビットマップ等で別途管理しておくことができる。これにより、コピーペアの再同期時には、差分データのみをコピー先ボリュームに転送すればよく、再同期の所要時間を短縮することができる。または、コピーペアをいったん分割した後で再同期させる場合、コピー元ボリュームの記憶するデータを丸ごと全てコピー先ボリュームに転送して、ペア状態を再構築する方法等もある。
「コピー元状態」とは、コピー元ボリュームとして設定された状態である。「コピー元状態」のボリュームに対して、このボリュームに繋がるホストコンピュータHは、リードアクセス及びライトアクセスの両方が可能である。「コピー元状態」に設定されたボリュームの記憶内容が更新されると、これに同期して、「コピー先状態」に設定されたボリュームの記憶内容も更新される。なお、リモートコピーに何らかの障害が発生している場合は、コピー元ボリュームの記憶内容の変更に応じて、コピー先ボリュームの記憶内容を変更させることができなくなる。即ち、リモートコピーの障害時には、コピー元ボリュームへのライトアクセスを許可しても、ライトデータをコピー先ボリュームに書き込ませることができない。従って、リモートコピーに障害が発生した場合は、「コピー元状態」のボリュームへのライトアクセスを禁止する。この場合、コピー元ボリュームに対するホストコンピュータHのI/O要求(ライトアクセス)は、失敗となる。
「コピー先状態」とは、「コピー元状態」と対になる状態であり、コピー先ボリュームとして設定された状態を示す。「コピー先状態」に設定されたボリュームには、「コピー元状態」に設定されたボリュームへの更新が、同期して反映される。「コピー先状態」に設定されたボリュームに対しては、このボリュームに繋がれるホストコンピュータHからライトアクセスすることはできない。なお、「コピー先状態」に設定されたボリュームへのリードアクセスは、許可してもよいし、禁止してもよい。
次に、各ペア状態間の遷移について説明する。仮に、コピーペアを構成する各ボリュームの初期状態を「ペア分割状態」であるとする。「ペア分割状態」の2つのボリュームのうち、一方のボリュームに関して「ペア形成指示」を発行すると(P1)、このボリュームは、「ペア分割状態」から「コピー元状態」に変化する。このボリュームは、コピー元ボリュームとなる。そして、このコピー元ボリュームとペアを構成する他方のボリュームは、「ペア分割状態」から「コピー先状態」に変化する(P3)。
「コピー元状態」に設定されているボリュームに関して、そのボリュームに繋がるホストコンピュータHから「ペア分割指示」を発行した場合(P2)、「コピー元状態」から「ペア分割状態」に変化する。これとほぼ同時に、「コピー先状態」に設定されているボリュームも、「ペア分割状態」に変化する。「コピー先状態」に設定されているボリュームに関して「ペア分割指示」を発行した場合も(P4)、上記同様の変化を生じる。即ち、「コピー先状態」のボリュームも「コピー元状態」のボリュームも、ともに「ペア分割状態」に変化する。
リモートコピーの方向は、ボリュームに設定された状態により定まる。「コピー元状態」に設定されているボリュームから、「コピー先状態」に設定されているボリュームに向けて、ライトデータが転送される。このリモートコピーの方向は、「ペア反転指示」を発行することにより、反転させることができる。
「コピー元状態」に設定されているボリュームに関して、そのボリュームに繋がるホストコンピュータHから「ペア反転指示」を発行すると(P5)、そのボリュームは「コピー元状態」から「コピー先状態」に変化する。同時に、相手方のボリュームは、「コピー先状態」から「コピー元状態」に変化する。同様に、「コピー先状態」に設定されているボリュームに関して、そのボリュームに繋がるホストコンピュータHから「ペア反転指示」を発行すると(P6)、「コピー先状態」のボリュームは「コピー元状態」に変化し、「コピー元状態」のボリュームは「コピー先状態」に変化する。
図6は、保障モジュール30によって管理される最新性管理情報31及び更新管理情報32の構成をそれぞれ示す説明図である。
最新性管理情報31は、図6中の上側に示すように、例えば、コピーペアをそれぞれ識別するためのコピーペア番号と、ペア基準状態を登録した時刻と、ペア基準状態とをそれぞれ対応付けることにより、構成することができる。なお、登録時刻には、年月日を含めてもよい。
ペア基準状態とは、上述したペア状態とは異なり、基準となるべきボリュームを指定する情報である。基準となるべきボリュームとは、ペアを構成する各ボリュームのうち最新のデータを記憶している方のボリュームを意味する。ペア基準状態としては、例えば、「ノーマル状態」、「第1サイト(稼働系サイト)」及び「第2サイト(待機系サイト)」を挙げることができる。
「ノーマル状態」とは、通常の運用に従う状態であり、従って、コピー元ボリュームが基準となる。「第1サイト状態」とは、第1サイト10Aに設けられているボリュームが基準となることを示す状態である。「第2サイト状態」とは、第2サイト10Bに設けられているボリュームが基準となることを示す状態である。このように、最新性管理情報31は、各リモートコピーのペア毎に、それぞれのペアで基準となるべきボリュームを指示している。最新性管理情報31は、リモートコピーの障害が発生した場合に、基準となるべきボリュームを、そのボリュームの設置されているサイト名で指定する。
なお、図6中では、ペアボリューム#1が「ノーマル状態」、ペアボリューム#2が「第1サイト状態」、ペアボリューム#3が「第2サイト状態」としてそれぞれ表示されているが、これは説明のための表示である。
更新管理情報32は、図6中の下側に示すように、例えば、コピーペア番号と、そのペアボリュームを利用するホストコンピュータ名と、最新性管理情報31を通知した結果を示す更新結果状態とを、それぞれ対応付けることにより、構成可能である。
更新結果状態としては、例えば、「未実施状態」、「成功状態」及び「失敗状態」を挙げることができる。ここで、「未実施状態」とは、最新性管理情報31をホストコンピュータHに通知する前の状態を示す。「成功状態」とは、ホストコンピュータHへの最新性管理情報31の通知が成功し、そのホストコンピュータHで最新性管理情報31が更新された状態を示す。「失敗状態」とは、ホストコンピュータHへの最新性管理情報31の通知が失敗に終わった状態を示す。なお、更新結果中の「−」は、最新性管理情報31の発行元であるため、通知が不要な状態を示す。
図7は、フェイルオーバ処理の概要を示すフローチャートである。フェイルオーバ処理は、同一サイト内で実行することもできるし、他のサイトで実行することもできる。
クラスタを構成する各ホストコンピュータHは、それぞれのクラスタソフトウェア40によって、フェイルオーバを実行すべき障害が検出されたか否か、または、フェイルオーバの開始要求を受信したか否かを、監視している(S1)。
他のホストコンピュータHで障害が発生した場合、または、他のホストコンピュータHからフェイルオーバ開始要求を受信した場合には(S1:YES)、フェイルオーバ処理の実行に必要な共有ボリューム(論理ボリューム)を使用可能か否かを判定する(S2)。この共有ボリュームは、リモートコピーペアを構成している。後述するように、その共有ボリュームのペア操作が可能な場合は、そのボリュームを利用してフェイルオーバ処理を実行することができる。また、その共有ボリュームのペア操作(ペア状態の変更操作)ができない場合でも、データ最新性保障モジュール処理により、使用可能と判断された場合は、そのボリュームを用いてフェイルオーバ処理を実行することができる。
フェイルオーバに必要な共有ボリュームを利用できない場合(S2:NO)、クラスタソフトウェア40は、フェイルオーバ元のホストコンピュータまたは他のホストコンピュータの全てに対し、フェイルオーバ処理の実行が不能である旨を通知する(S3)。必ずしもそうである必要はないが、この処理不能通知を受信した他のホストコンピュータHは、自身でフェイルオーバ処理を実行可能か否かを判定することができる。
フェイルオーバに必要な共有ボリュームを利用可能な場合(S2:YES)、フェイルオーバ先となるホストコンピュータHは、フェイルオーバ元のホストコンピュータHからIPアドレス等のネットワーク設定情報を引継ぎ(S4)、フェイルオーバ元ホストコンピュータに成り代わる。また、フェイルオーバ先ホストコンピュータHは、Reserveコマンド等を発行することにより、共有ボリュームの排他制御を開始する(S5)。そのほか、業務サービスの再開に際して必要な各処理を終えた後、フェイルオーバ先ホストコンピュータHは、クライアントマシンに対するサービス提供を再開する(S6)。
例えば、第1サイト10AのホストコンピュータHA1が業務サービスを提供していると仮定し、このホストコンピュータHA1が機能を停止したとする。リモートコピーに障害が発生していない場合、ホストコンピュータHA1が使用しているコピー元ボリュームの記憶内容は、コピー先ボリュームに同期して反映されており、両者の記憶内容は一致している。従って、業務サービスの提供に使用されているコピー元ボリュームまたはコピー先ボリュームのいずれか一方を利用可能なホストコンピュータであれば、フェイルオーバ処理を実行することができる。
これに対し、もしも、フェイルオーバ処理の開始前に、リモートコピーに障害が発生している場合は、業務サービスの提供に使用されているコピー元ボリュームとコピー先ボリュームとの記憶内容は、一致していない。両者の記憶内容は相違し、最新のデータは、コピー元ボリュームの側に差分データとして蓄積されている。この場合、もしも、最新のデータが反映されていないボリュームを用いて、フェイルオーバ処理を実行すると、データの整合性が失われ、誤った運用が行われる。従って、本実施例では、後述のように、コピーペアを構成する2つのボリュームのうち、最新のデータを記憶しているボリュームを基準として運用を再開させるようにしている。
図8は、コピー管理リソース42によって実行される制御処理を示すフローチャートである。図8に示す処理は、コピー管理リソース42がリソース管理モジュール41から要求を受信すると開始する。
コピー管理リソース42は、リソース管理モジュール41からの要求が「オンライン要求」であるか「状態確認要求」であるかを判別する(S11)。ここで、オンライン要求とは、ボリュームの使用開始を要求するためのものである。「状態確認要求」とは、ボリュームの状態を確認するためのものである。
リソース管理モジュール41がオンライン要求を発行した場合、このリソース管理モジュール41を有するホストコンピュータHがコピー元となるように、リモートコピー制御モジュール50に指示を出し、このホストコンピュータHに繋がるボリュームの状態を「コピー元状態」に変更させる(S12)。このコピー元ステータスへの変更処理(S12)については、図9と共に後述する。
次に、「コピー元状態」への変更が成功したか否かを判定する(S13)。「コピー元状態」への変更が成功した場合は、リソース管理モジュール41への戻り値に「成功」をセットする(S14)。何の異常も生じていない通常の場合は、S13の判定結果は「成功」となる。
これに対し、もしも、例えば、リモートコピーラインCN13にリンク切れ等の障害が発生していたり、あるいは、記憶装置システム内のリモートコピー機能に異常が生じているような場合は、対象とするボリュームの状態を「コピー元状態」に変更させることができない。
「コピー元状態」への変更が失敗した場合は、保障モジュール30に対して、ペア操作を試みたボリュームを使用可能か否か、即ち、そのボリュームが最新のデータを記憶しているボリュームであるか否かを問い合わせる(S15)。このデータ最新性保障モジュール処理の詳細は、図10と共に後述する。
保障モジュール30は、コピー管理リソース42からの問合せに対して、「成功」または「失敗」のいずれかを回答する。「成功」とは、「コピー元状態」への変更操作に失敗したボリュームが最新データを記憶しており、そのボリュームを用いてフェイルオーバ処理等を実行可能であることを意味する。「失敗」とは、そのボリュームが最新のデータを記憶しておらず、そのボリュームを用いてフェイルオーバ処理等の制御処理を実行すると、誤った運用が行われる可能性があることを意味する。
保障モジュール30からの応答が「成功」の場合は、「ペア分割指示」を発行させ(S17)、リソース管理モジュール41に「成功」した旨を応答する(S14)。操作対象のコピーペアを解除させることにより、図5と共に説明したように、そのボリュームへのリードアクセス及びライトアクセスが可能となる。
保障モジュール30からの応答が「失敗」の場合は、そのボリュームを用いてフェイルオーバ処理等を行うことができない場合なので、リソース管理モジュール41に「失敗」した旨を報告する(S18)。
以上のS12〜S18は、リソース管理モジュール41からのオンライン要求を処理するためのステップである。次に、リソース管理モジュール41がステータスの確認を要求した場合の処理(S19〜S25)を説明する。
リソース管理モジュール41は、定期的にボリュームの状態を確認する。コピー管理リソース42は、リソース管理モジュール41からステータス確認要求を受け取ると、リモートコピー制御モジュール50を介して、コピーペアの状態を確認する(S19)。
ペア状態の確認結果(S20)は、2種類に分けることができる。一つは、そのボリュームのペア状態が「コピー元状態(正常)」である場合である。他の一つは、そのボリュームのペア状態が「コピー元状態(異常)」または「ペア分割状態」のいずれかの場合である。「コピー元状態(正常)」とは、そのボリュームがコピー元に設定されており、かつ、何の異常もなく正常に使用可能であることを示す。「コピー元状態(異常)」とは、そのボリュームがコピー元に設定されているが、何らかの異常(リモートコピー障害)が生じている場合を示す。
ペア状態が「コピー元状態(正常)」の場合は、リソース管理モジュール41に「成功」した旨を報告する(S21)。ペア状態が「コピー元(異常)」または「ペア分割状態」のいずれかである場合は、保障モジュール30に対し、そのボリュームを使用可能か否かを問い合わせる(S22)。
S15の説明でも述べたように、保障モジュール30からの回答が「成功」の場合は、そのボリュームを使用可能な場合なので、「ペア分割指示」を発行し(S24)、リソース管理モジュール41に「成功」を報告する(S21)。なお、「ペア分割指示」は、自動的に発行してもよいし、システム管理者が手動で発行させてもよい。一方、保障モジュール30からの回答が「失敗」の場合は、リソース管理モジュール41に「失敗」を報告する(S25)。
以上のように、何の障害も発生していない場合は、リソース管理モジュール41からのオンライン要求及びステータス確認要求のいずれに対しても、コピー管理リソース42は「成功」を報告する。これに対し、例えば、リンク切れや記憶装置システムの異常等により、リモートコピーの制御を正常に実行できない場合は、コピー管理リソース42からリソース管理モジュール41に「失敗」が報告される。
図9は、図8中にS12で示した「コピー元ステータス変更処理」の詳細を示すフローチャートである。まず最初に、コピー管理リソース42は、ペア状態の変更が要求されたボリュームの現在のペア状態を確認する(S31)。
そして、現在のペア状態の確認結果に応じて、以降の処理を行う(S32)。現在のペア状態が「ペア分割状態」の場合は、戻り値に「失敗」をセットする(S33)。現在のペア状態が「コピー先状態」の場合は、「コピー元状態」に設定変更させるべく、「ペア反転指示」を実行させる(S34)。ペアの反転指示が成功したか否かを判定し(S35)、ペア反転に成功した場合は、戻り値に「成功」をセットする(S36)。ペア反転に失敗した場合は、戻り値に「失敗」をセットする(S37)。
現在のペア状態が「コピー元状態(正常)」の場合は、戻り値に「成功」をセットする(S38)。現在のペア状態が「コピー元状態(異常)」の場合は、戻り値に「失敗」をセットする(S39)。
図10は、図8中にS15,S22で示した「データ最新性保障モジュール処理」の詳細を示すフローチャートである。保障モジュール30は、以下に述べるように、コピー管理リソース42からの要求により、所望のボリュームを使用可能か否かを判定する。ここで、図8と共に述べたように、所望のボリュームに対するペア状態操作が失敗した場合に、保障モジュール30は、コピー管理リソース42から問合せを受ける。ペア状態の操作に失敗する場合とは、例えば、リモートコピーラインCN13の故障や、記憶装置システム内の障害等により、コピーペアを構成するボリュームの状態を変更できない場合、つまり、少なくともリモートコピー機能の実行に障害が生じている場合である。
このように、図10に示す処理は、ストレージシステム内でリモートコピー障害が発生しているような場合に、実行される。まず、保障モジュール30は、コピー管理リソース42からボリュームの使用可否について問合せを受けると、最新性管理情報31を確認する(S41)。
保障モジュール30は、問合せされたボリュームについてのペア基準状態を確認する(S42)。上述の通り、「ペア基準状態」とは、リモートコピー障害の発生時に基準となるべきボリュームを特定するための情報であり、「ノーマル状態」、「第1サイト状態」、「第2サイト状態」の3種類が用意されている。「ノーマル状態」が設定されている場合は正常な状態を、「第1サイト状態」及び「第2サイト状態」のようにサイト名が登録されている場合は異常発生状態を、それぞれ示す。
最新性管理情報31に現在設定されているペア基準状態が「ノーマル状態」の場合は、ペア基準状態として自サイト名を登録し、また、現在時刻を登録する(S43)。もしも、図10の処理が第1サイト10Aに属するホストコンピュータHA1〜HAnのいずれかで実行された場合、これら各ホストコンピュータHAにそれぞれ繋がるボリュームのペア基準状態として、「第1サイト状態」がセットされる。逆に、第2サイト10Bに属するホストコンピュータHB1〜HBnのいずれかで、上記処理が実行された場合、これら各ホストコンピュータHBにそれぞれ接続されたボリュームのペア基準状態として、「第2サイト状態」がセットされる。つまり、ペア基準状態が「ノーマル状態」にセットされていた場合は、そのサイト内のボリュームに差分データが蓄積されているか、または蓄積される可能性がある。そこで、そのサイト内のボリュームが最新データを保有する基準ボリュームであることを、最新性管理情報31に登録する。
次に、保障モジュール30は、他のホストコンピュータHにそれぞれ設けられている保障モジュール30に対して、最新性管理情報31に変更が生じた旨をそれぞれ通知し、保持させる(S44)。本実施例では、この最新性管理情報31の通知・登録処理を「他サイト登録処理」と呼ぶ。なお、「他サイト」の保障モジュール30に限らず、自サイト内の他の保障モジュール30にも通知され、登録が要求される。他サイト登録処理の詳細は、図11と共に後述する。
次に、各サイトの各保障モジュール30に対して、最新性管理情報31の更新がそれぞれ通知され、登録されたかを判定する(S45)。最新性管理情報31の通知及び登録要求の処理が全て成功した場合は、戻り値に「成功」をセットする(S46)。いずれか一つの保障モジュール30において、最新性管理情報31の通知等が失敗した場合は、戻り値に「失敗」をセットする(S47)。
一方、前記S42で現在のペア基準状態として、いずれかのサイト名が登録されていた場合(逆に言えば、「ノーマル状態」以外の状態であった場合)は、登録済のサイト名が自サイト名であるか否かを判定する(S48)。
最新性管理情報31に自サイト名が既に登録されている場合は、戻り値に「成功」をセットする(S49)。最新性管理情報31にセットされているサイト名が他のサイトの名称である場合は、戻り値に「失敗」をセットする(S50)。使用を所望するボリュームに関するペア基準状態に他のサイト名が登録されている場合、その所望のボリュームは最新データを記憶しておらず、リモートコピー障害発生後の基準ボリュームとして使用不能な場合である。従って、この場合、戻り値に「失敗」がセットされる。
図11は、図10中にS44として示した「他サイト登録処理」の詳細を示すフローチャートである。まず、保障モジュール30は、最新性管理情報31を参照し、通知すべきホストコンピュータHを特定する(S61)。即ち、ペア基準状態が変更されたボリュームを共有するホストコンピュータHを全て検出する。
次に、保障モジュール30は、そのボリュームを共有する各ホストコンピュータHの保障モジュール30に対して、更新されたペア基準状態をそれぞれ通知し、サイト名登録処理の開始をそれぞれ要求する(S62)。サイト名登録処理の詳細は、図12と共に後述するが、簡単には、他の保障モジュール30に対してペア基準状態の更新を要求する処理である。
そして、保障モジュール30は、ペア基準状態を通知した他の各ホストコンピュータH(保障モジュール30)からの応答を待つ(S63)。保障モジュール30は、他の各保障モジュール30からの応答結果を、更新管理情報32の「更新結果」の欄にそれぞれ登録する(S64)。
保障モジュール30は、更新管理情報32を参照し、他の各保障モジュール30からの応答(戻り値)が全て「成功」であるか否かを判定する(S65)。更新管理情報32の更新結果が全て「成功」である場合、ペア基準状態が正常に通知されて更新された場合だから、戻り値に「成功」をセットする(S66)。これに対し、更新結果の欄に一つでも「失敗」が登録された場合は、基準となるべきボリュームがどのボリュームであるかについて、正確に認識していないホストコンピュータHが存在する場合である。この場合は、正確に認識していないホストコンピュータHにより、誤ったペア操作が行われる可能性がある。そこで、戻り値に「失敗」をセットする(S67)。
図12は、図11中のS62に関連し、ペア基準状態としてのサイト名の登録要求を処理するフローチャートである。
ペア基準状態を更新(生成)した保障モジュール30からサイト名登録処理要求を受信すると、図12に示す処理が実行される。ここで、通知元の保障モジュール30が発行するサイト名登録処理要求には、ペア基準状態が変更されたペアボリュームを特定するためのコピーペア番号と、ペア基準状態の更新時刻と、更新されたペア基準状態の内容とが、それぞれ含まれている。
まず、通知を受けた保障モジュール30は、自己の保有する最新性管理情報31を確認する(S71)。通知を受けた保障モジュール30は、通知されたボリュームに関するペア基準状態を確認する(S72)。通知されたボリュームのペア基準状態に「ノーマル状態」がセットされている場合、通知先の保障モジュール30は、現在のペア基準状態を通知されたペア基準状態に書き換える(S73)。
即ち、サイト名の登録を要求してきた保障モジュール30の存在するサイト名(要求元サイト名)と、要求元サイト名でペア基準状態が更新された時刻とを、自己の最新性管理情報に登録する。そして、通知先の保障モジュール30は、通知元の保障モジュール30に対し、「成功」した旨を応答する(S74)。
一方、S72において、通知先の最新性管理情報にサイト名が既に登録されていた場合、この登録済のサイト名と通知元(要求元)のサイト名とが一致するか否かを判定する(S75)。登録済のサイト名と通知元のサイト名とが一致する場合(S75:YES)、戻り値に「成功」をセットする(S74)。登録済のサイト名と通知元のサイト名とが不一致の場合(S75:NO)、登録済サイト名を登録した時刻(そのペア基準状態が更新された時刻)と、通知されたサイト名の更新時刻とをそれぞれ確認し(S76)、両者を比較する(S77)。つまり、既に登録済のサイト名を旧ペア基準状態、新たに通知されたサイト名を新ペア基準状態と呼ぶと、あるホストコンピュータHの保障モジュール30において旧ペア基準状態が生成された時刻(図中の「登録時刻」)と、別のあるホストコンピュータHの保障モジュール30において新ペア基準状態が生成された時刻(図中の「要求時刻」)とを比較する。
新ペア基準状態の生成時刻の方が古い場合は、新ペア基準状態としてのサイト名及び生成時刻を最新性管理情報にそれぞれ登録し(S78)、戻り値に「成功」をセットする(S74)。これに対し、新ペア基準状態の生成時刻の方が旧ペア基準状態の生成時刻よりも新しい場合は、最新性管理情報を更新することなく、戻り値に「失敗」をセットする(S79)。つまり、より以前に生成されたペア基準状態が優先する。ペア基準状態を先に生成した方のサイトでは、より早くから最新のデータが蓄積されている可能性が高いためである。
このように、本実施例では、ペア基準状態の通知が競合した場合に、より古い方のペア基準状態を優先させることにより、より早くから蓄積されている方の差分データが尊重されるようにしている。
図13は、リカバリ処理を示すフローチャートである。このリカバリ処理は、例えば、リモートコピーの障害が復旧した後で、コピーペアを再度形成するような場合に、システム管理者が手動で実行させることができる。
まず、保障モジュール30は、最新性管理情報31に登録されている各ペア基準状態をそれぞれ「ノーマル状態」に設定し、ペア基準状態を初期化する(S81)。また、保障モジュール30は、最新性管理情報31に登録されている各更新時刻をそれぞれ消去し、更新時刻の初期化を行う(S82)。
次に、保障モジュール30は、各コピーペア毎に(ペアボリューム毎に)、そのボリュームを共用するホストコンピュータ名を確認する(S83)。保障モジュール30は、確認された各ホストコンピュータHに対して、それぞれの保障モジュール30が有する最新性管理情報の初期化をそれぞれ要求する(S84)。
この初期化要求を受けた他の保障モジュール30は、ペア基準状態を「ノーマル状態」に戻し(S85)、また、更新時刻を消去し(S86)、最新性管理情報の初期化が完了した旨を初期化要求元の保障モジュール30に通知する(S87)。
最新性管理情報の初期化を要求した保障モジュール30は、他の保障モジュール30からの初期化完了通知が到着するのを待ち(S88)、初期化完了通知が到着するたびに更新管理情報32の更新結果の欄に「未実施」をセットする(S89)。
ここで、最新性管理情報31の全体を一律に初期化させる必要はなく、リモートコピー障害の回復に関係する部分のみを初期化させればよい。また、初期化要求元の保障モジュール30は、初期化完了通知を受領するたびに更新管理情報32を更新させる構成でもよいし、受領した初期化完了通知をメモリ上に保存しておき、全ての初期化完了通知を受領した後で、一括して更新管理情報32を更新させる構成でもよい。
図14は、障害復旧処理のフローチャートである。この障害復旧処理は、図13と共に述べたリカバリ処理を自動的に実行させるための処理である。この障害復旧処理は、保障モジュール30が実行してもよいし、保障モジュール30とは別のモジュールで実行させてもよい。ここでは、保障モジュール30の一機能とした場合を説明する。
ここで、図14に関連するクラスタソフトウェア40は、リモートコピー障害等の障害が発生した後に、障害が回復したか否かを調査させるべく、コピー管理リソース42に対して調査要求を定期的に出力する機能を備えているものとする。図14に示す以外の場合、クラスタソフトウェア40は、定期的な障害回復調査機能を保有している必要性は必ずしもない。
コピー管理リソース42は、クラスタソフトウェア40からの調査指示を受けて、障害が回復したか否かを調査する。障害が回復している場合、コピー管理リソース42は、保障モジュール30に障害が回復した旨を通知する。この通知を受けて、図14に示す障害回復処理が実行される。
保障モジュール30は、最新性管理情報31に登録されているペア基準状態を一つ分(1行)だけ確認し(S91)、ペア基準状態にサイト名が登録されているか否かを判定する(S92)。ペア基準状態に「ノーマル状態」が登録されている場合(S92:NO)、処理を終了する。
ペア基準状態に「第1サイト状態」または「第2サイト状態」のいずれかが登録されている場合(S92:YES)、保障モジュール30は、最新のデータ内容を有するボリュームのペア状態が「コピー元状態」となるように、リモートコピー制御モジュール50に対して、コピーペアの形成を指示する(S93)。
コピーペアの形成に失敗した場合は(S94:失敗)、リモートコピー障害が完全に回復していないか、あるいは、新たなリモートコピー障害が発生している場合なので、コピーペアの操作を諦め、S91に戻る。そして、次のペア基準状態を確認する。
コピーペアの操作に成功した場合は(S94:成功)、図13で説明したリカバリ処理を開始させる(S95)。これにより、リモートコピー機能が障害から回復した後に、自動的に、最新性管理情報31等の初期化を行うことができる。
図15,図16は、障害が発生した場合の全体動作の概要を示す説明図である。まず、ある時点で、記憶装置システム20Aに第1の障害が発生したとする。この記憶装置システム内の障害により、リモートコピー機能も停止する。業務処理サービスの提供(運用)は、ホストコンピュータHA1で行われているとする。
リモートコピーに障害が発生した後、稼働系ホストコンピュータHA1に別の第2の障害が発生し、業務処理サービスの運用が停止したとする。これにより、他のホストコンピュータHAn,HB1〜HBnでフェイルオーバを実行する必要を生じる。
フェイルオーバ先の選定方法には、種々のものが知られているが、例えば、生存しているノード数(正常なホストコンピュータ数)の多いサイトでフェイルオーバを実行させる方法や、疑似乱数等を用いてフェイルオーバ先をランダムに決定する方法等がある。
図15に示す第1の障害発生パターンでは、第1サイト10Aの記憶装置システム20Aが第1の障害によって機能を停止しているので、第2サイト10BのいずれかのホストコンピュータHB1〜HBnにより、フェイルオーバが実行される。フェイルオーバ先のホストコンピュータは、障害発生前にコピー先ボリュームとして使用されていたボリュームを、コピー元ボリュームに反転させて、業務処理サービスを提供する。
図16は、第2の障害発生パターンを示す。この例では、リモートコピーラインCN13に第3の障害が発生したものとする。この障害により、コピー元ボリュームとコピー先ボリュームとを同期させることができなくなる。第1サイト10A内では、ホストコンピュータHA1〜HAnからのI/O要求によって、新たなデータが時々刻々と発生する。これらの新たな更新データは、コピー先ボリュームに転送することができないため、差分データDとして記憶装置システム20A内に蓄積される。
リモートコピーの発生後に、稼働系ホストコンピュータHA1に第4の障害が発生し、機能を停止したとする。上述のように、例えば、生存ノード数の多いサイトまたはランダムに、フェイルオーバ先が決定される。
もしも、第2サイト10BのホストコンピュータHB1〜HBnのいずれかがフェイルオーバ先として選定された場合、ホストコンピュータHBは、同期が取られていないボリューム(障害発生前のコピー先ボリューム)を用いて、業務処理サービスの提供を再開する可能性がある。しかし、上述のように、本実施例では、保障モジュール30によって基準となるべきボリュームを管理しており、ボリュームの使用を開始する前に、保障モジュール30に対してそのボリュームの使用可否を問い合わせる。
従って、本実施例では、リモートコピーの障害が回復してリカバリ処理が行われない限り、第2サイト10B内の各ホストコンピュータHB1〜HBnは、いずれもフェイルオーバ先として稼働することはできない。
第2サイト10B内でフェイルオーバ先の選択が失敗する結果、やがて、第1サイト10A内のホストコンピュータHAnがフェイルオーバ先として選定される。最新データは第1サイト10A内に保持されているので、第1サイト10A内のホストコンピュータHAは、フェイルオーバ先として適切である。
つまり、本実施例によれば、リモートコピーの障害時に、フェイルオーバ先として不適当なホストコンピュータは、必要なボリュームを使用することができないため、その不適当なホストコンピュータによってフェイルオーバ処理が実行されることはない。従って、古いデータに基づいた誤った運用が開始されるのを未然に防止することができる。
本実施例は、上述のように構成されるので、以下の効果を奏する。本実施例では、リモートコピーに障害が発生した場合において、最新データを保持している基準となるべきボリューム(または記憶装置システムあるいはサイト)を特定して管理し、最新性管理情報31に基づいてボリュームの使用を制御する。従って、リモートコピーの障害発生後に、例えば、フェイルオーバ処理等の別の制御処理が古いデータに基づいて開始されるのを未然に防止できる。これにより、ストレージシステムの信頼性を向上させることができ、また、リモートコピー処理とフェイルオーバ処理とを整合させて、より有効なディザスタリカバリシステムを構築することができる。
本実施例では、リモートコピーの障害発生後において、ペアボリュームの使用を開始する場合に、最新性管理情報31のペア状態を更新し、他の保障モジュール30に通知する構成とした。従って、例えば、一定周期でペア状態を更新して通知させる場合に比べて、ホストコンピュータやネットワークの負荷を低減させつつ、ストレージシステムの信頼性を高めることができる。
図17〜図20に基づいて、第2実施例を説明する。本実施例の特徴の一つは、最新性管理情報の通知が一部のホストコンピュータについて正常に処理されなかった場合であっても、ボリュームの使用を可能とする点にある。
図17は、本実施例によるストレージシステムの一部を構成するホストコンピュータの機能構成の概略を示すブロック図である。ソフトウェアの機能構成は、第1実施例とほぼ同様であるが、最新性管理情報31A及び更新管理情報32Aの構成が第1実施例と相違する。
図18に示すように、最新性管理情報31Aには、新たに「ポリシー」の情報が各コピーペア毎にそれぞれ対応付けられている。このポリシーとは、例えば、ホストコンピュータ間ネットワークCN12の障害やホストコンピュータ内の障害等により、最新性情報の交換が不能となった場合に備えて、予め基準となるサイト(ボリュームまたは記憶装置システム)を指定しておくための情報である。
ポリシーには、例えば、「第1サイト状態」または「第2サイト状態」のようにサイト名を設定することができる。あるいは、ポリシーとして、「障害発生前運用サイト」または「障害発生前待機サイト」を設定することもできる。障害発生前運用サイトとは、障害発生前において稼働系サイトであったサイトを障害発生後の基準サイトとする情報であり、障害発生前待機サイトとは、障害発生前において待機系サイトであったサイトを障害発生後の基準サイトとする情報である。
更新管理情報32Aには、新たに「所属サイト」の情報が各ホストコンピュータ毎にそれぞれ対応付けられている。所属サイトとは、そのホストコンピュータが所属しているサイトを特定するための情報である。
図19は、保障モジュール30により実行されるデータ最新性保障モジュール処理のフローチャートである。本実施例に特徴的な部分を説明すると、他サイト登録処理が失敗に終わった場合(S45:失敗)、ポリシー判定処理が実行される(S101)。ポリシー判定処理の詳細は、図20と共に後述する。
次に、ポリシー判定処理の判定結果が「成功」の場合は、所望のボリュームの使用が可能な場合なので、戻り値に「成功」をセットする(S46)。これに対し、ポリシーの判定結果が「失敗」の場合は、所望のボリュームの使用が許可されない場合なので、戻り値に「失敗」をセットする(S47)。
つまり、本実施例では、一部の保障モジュール30において最新性管理情報の更新処理(サイト名登録要求受信処理)が正常に行われなかった場合に、直ちにそのボリュームを使用不可とするのではなく、予め設定されているポリシーを参照し、使用可能か否かを再度判定する。これにより、もしも、ホストコンピュータ間ネットワークCN12に通信障害等が発生し、他サイト登録処理が失敗に終わった場合でも、ポリシーに基づいてボリュームの使用を許可することができる。
図20は、図19中のS101で示すポリシー判定処理のフローチャートである。まず、保障モジュール30は、最新性管理情報31Aに設定されているポリシーを確認する(S111)。保障モジュール30は、更新管理情報32Aを参照し、その更新結果の欄に「失敗」がセットされているホストコンピュータの名称及び所属サイト名をそれぞれ確認する(S112)。更新結果の欄に「失敗」がセットされているホストコンピュータは、最新性管理情報の更新を行うことができなかったコンピュータである。
次に、保障モジュール30は、最新性管理情報31Aにセットされているポリシーのサイト名(以下、「ポリシー登録サイト名」)と、更新に失敗したホストコンピュータが所属するサイト名(以下、「失敗サイト名」)とを比較し、ポリシー登録サイト名と失敗サイト名とが一致するか否かを判定する(S113)。
ポリシー登録サイト名と失敗サイト名とが一致しない場合、即ち、失敗サイト名の中にポリシー登録サイト名が含まれていない場合は、優先サイトとして予め指定されたサイトへの通信が正常に行われている場合なので、保障モジュール30は、戻り値に「成功」をセットする(S114)。
ポリシー登録サイト名と失敗サイト名とが一致する場合、即ち、失敗サイト名の中にポリシー登録サイト名が含まれている場合は、基準となるべきサイトで何らかの障害が発生している場合なので、戻り値に「失敗」をセットする(S115)。
但し、ポリシー判定の結果が「成功」であったとしても、間違ったポリシーが設定されていたような場合は、そのボリュームを使用することはできない。例えば、第2サイト10Bが優先サイトとしてポリシーに設定されており、第1サイト10Aで他サイト登録処理を実行したような場合である。この場合、第2サイト10Bに何の障害も発生していなければ、ポリシー判定結果は「成功」となるが、第1サイト10AのホストコンピュータHAは、第2サイト10Bの記憶装置システム20Bを利用することはできない。そこで、例えば、ポリシー登録サイト名と失敗サイト名とが不一致であって、かつ、ポリシー登録サイト名と自サイト名とが一致する場合に、戻り値に「成功」をセットするように構成することができる。あるいは、最新性管理情報31Aにポリシーを定義する場合に、優先サイト名と自サイト名との整合性をチェックするように構成してもよい。
図21に基づいて、第3実施例を説明する。本実施例の特徴の一つは、優先サイトを相対的に選択する点にある。第2実施例では、図18中の最新性管理情報31Aのペアボリューム番号#1の行に示すように、ポリシーとして、優先すべきサイトが直接指定されている場合を説明した。
これに対し、本実施例では、図18中の最新性管理情報31Aのペアボリューム番号#2,#3にそれぞれ示すように、ポリシーとして、優先すべきサイトを相対的に指定する場合を説明する。
本実施例のポリシー判定処理では、図21に示すように、最新性管理情報31Aを参照してポリシーを確認した後(S121)、対象となるペアボリュームのペア状態(コピー元、コピー先、ペア分割)を確認する(S122)。また、保障モジュール30は、更新管理情報32Aを参照し、失敗サイト名を確認する(S123)。
次に、保障モジュール30は、相対的に指定されているポリシー登録サイト名と、現在のペア状態とが一致するか否かを判定し、さらに、現在のペア状態がポリシーに適合する場合は、このポリシー登録サイト名と失敗サイト名とが一致するか否か(失敗サイト名にポリシー登録サイト名が含まれているか否か)を判定する(S124)。
ポリシー登録サイト名と失敗サイト名とが不一致の場合、保障モジュール30は、戻り値に「成功」をセットする(S125)。ポリシー登録サイト名と失敗サイト名とが一致する場合、保障モジュール30は、戻り値に「失敗」をセットする(S126)。
具体例を挙げる。例えば、所望のボリュームのペア状態が「コピー元状態」、ポリシーが「障害前運用サイト」の場合、現在のペア状態とポリシーとは適合する。また、この場合は、自サイトであるため、失敗サイト名とポリシー登録サイト名とは一致しない。従って、このコピー元ボリュームの使用は許可される。
図22に基づいて、第4実施例を説明する。本実施例では、ペア状態が「コピー元状態(異常)」である場合に、ホストコンピュータHからのライトアクセスを可能とした点に一つの特徴がある。
このように構成すると、リモートコピー障害時の動作が、第3実施例において、ポリシーに障害発生前運用サイトを設定する場合と同様の動作となる。つまり、本実施例では、リモートコピーに障害が発生した場合、運用サイトのホストコンピュータは、今まで使用していたコピー元ボリュームをそのまま継続して使用することができる。
また、リモートコピーが行われていない場合でも、コピー元ボリュームへのライトアクセス(及びリードアクセス)が許可されるので、本実施例は、いわゆる非同期式リモートコピーの場合に適用することができる。即ち、非同期式リモートコピーの場合、リモートコピーの停止期間中は、同期式リモートコピーにおいてリモートコピーに障害が発生している期間と結果的に同様となる。
第5実施例では、図23に示すように、クラスタソフトウェア40内に複数のコピー管理リソース42を設け、複数のボリューム212を同時に利用する。
第6実施例では、図24に示すように、コピー管理リソース42Aをクラスタソフトウェア40Aから独立させる。クラスタソフトウェア40Aは、例えば、データベースアプリケーションプログラム等のような外部ディスク(論理ボリューム)を利用する他のアプリケーションプログラム40Bと同様に、プログラムの開始時にコピー管理リソース42Aを呼び出して、オンライン要求処理等を利用する。
図25に基づいて、第7実施例を説明する。本実施例の特徴の一つは、全てのホストコンピュータ内で最新性管理情報を保持するのではなく、各サイト内でそれぞれ一つのホストコンピュータにのみ最新性管理情報を保持させる点にある。
図25の全体ブロック図に示すように、各サイト10A,10B内において、それぞれ一つ以上のホストコンピュータHA1,HB1のみが最新性管理情報31を保持している(図中では、各サイトで一つずつ保持する場合を示す)。これら各ホストコンピュータHA1,HB1を、例えば、最新性管理ホストコンピュータと呼ぶことができる。
そして、他のホストコンピュータHAn,HBnは、問合せ処理33を実行させることにより、最新性管理ホストコンピュータHA1,HB1から最新性管理情報31を取得して使用する。つまり、最新性管理ホストコンピュータHA1,HB1以外の他のホストコンピュータの保障モジュール30Aは、データ最新性保障モジュール処理の実行を最新性管理ホストコンピュータHA1,HB1の保障モジュール30に委ね、その処理結果を利用する。
図26は、本実施例によるコピー管理リソース制御処理のフローチャートである。この処理は、最新性管理ホストコンピュータ以外のホストコンピュータで実行される。最新性管理ホストコンピュータの処理は、前記実施例と同様である。本実施例では、S130,S131にそれぞれ示すように、最新性管理ホストコンピュータのデータ最新性保障モジュール30へ処理を委ねる。
なお、信頼性向上の観点からは、各サイト内に複数の最新性管理ホストコンピュータを設けるのが好ましい。このように、サイト内の全ホストコンピュータに最新性管理情報31を保持させるのではなく、その中の一部(但し、複数であるのが好ましい)のホストコンピュータにのみ最新性管理情報31を保持させる。これにより、他サイト登録処理によって最新性管理情報31の更新を要求する場合に、要求先のホストコンピュータ数を少なくすることができ、他サイト登録処理の成功確率を高めることができる。
図27は、第8実施例によるストレージシステムの全体構成図である。本実施例の一つの特徴は、最新性管理情報31を各記憶装置システム20A,20Bにそれぞれ保持させる点にある。
各保障モジュール30Aは、リモートコピーに障害が発生した場合、ペア基準状態を特定し、記憶装置システム内の最新性管理情報31に登録させる。そして、各保障モジュール30Aは、コピー管理リソース42からボリューム使用可否の問合せを受けると、自サイト内の記憶装置システムにアクセスし、最新性管理情報31を参照する。
従って、他サイト登録処理では、各サイトの記憶装置システム20A,20Bにそれぞれ最新性管理情報31を記憶させるだけでよく、他サイト登録処理の成功率を高めることができる。なお他のサイトの記憶装置システムに最新性管理情報31を記憶させる場合、ホストコンピュータ間ネットワークCN12を介して、そのサイトに存在するいずれか一つのホストコンピュータHに最新性管理情報31を送信すればよい。最新性管理情報31を受信したホストコンピュータHは、この最新性管理情報31を自サイトの記憶装置システムに記憶させる。
図28は、第9実施例に係るストレージシステムの全体構成図である。本実施例では、第8実施例と同様に、各サイト10A,10Bの各記憶装置システム20A,20B内に最新性管理情報31を記憶させる。
第8実施例と異なる点は、各サイト10A,10Bのサイト内ネットワークCN11同士がネットワークCN14によって連結されており、保障モジュール30Aは、サイト内ネットワークCN11等を介して、直接的に最新性管理情報31を記憶装置システム20A,20Bにそれぞれ記憶させることができる点にある。
なお、第8実施例と本実施例とを結合させ、各保障モジュール30Aから各記憶装置システム20A,20Bに最新性管理情報31を送信する経路を、ホストコンピュータ間ネットワークCN12とサイト内ネットワークCN11との2系統設けてもよい。このように、複数の経路で最新性管理情報31を記憶装置システム20A,20Bに送信可能とすることにより、冗長性が増し、より信頼性を高めることができる。
図29は、第10実施例に係るストレージシステムの全体構成図である。本実施例の一つの特徴は、保障モジュール30Bを各記憶装置システム20A,20B内にそれぞれ設け、かつ、これら各保障モジュール30BをリモートコピーラインCN13とは別のネットワークCN15で直接的に接続した点にある。
従って、本実施例では、ホストコンピュータH上で実行されていたデータ最新性保障モジュール処理は、記憶装置システム20A,20B内で実行される。保障モジュール間ネットワークCN15としては、例えば、SANやインターネット等を採用可能である。
図30は、第11実施例に係るストレージシステムの全体構成図である。本実施例では、3個のボリュームが同期して運用されている。即ち、第1サイト10A内のボリュームと、第2サイト10B内のボリュームと、第3サイト10C内のボリュームとは、互いに同期している。いずれか一つのボリュームがコピー元となり、他の二つのボリュームがコピー先となる。4個以上のボリュームを同期させることもできる。
なお、本発明は、上述した実施の形態に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。例えば、当業者であれば、前記各実施例を適宜組み合わせることができる。
1A…サイト(稼働系)、1B…サイト(待機系)、2A,2B…記憶装置、3A,3B…ホストコンピュータ、4…基準指示部、5…クラスタ制御部、6…差分データ、10A,10B,10C…サイト、20A,20B,20C…記憶装置システム、30,30A,30B…データ最新性保障モジュール、31,31A…最新性管理情報、32,32A…更新管理情報、40,40A…クラスタソフトウェア、40B…アプリケーションプログラム、41…リソース管理モジュール、42,42A…コピー管理リソース、50…リモートコピー制御モジュール、210…RAIDグループ、211…ディスクドライブ、212…論理ボリューム、220…ディスク制御部、230…ホストI/F、240…装置間I/F、250…キャッシュメモリ、260…共有メモリ、270…スイッチング制御部、310…CPU、320…メモリ、330…ディスクドライブ、340…ディスクI/F、350…上位ネットワークI/F、360…キーボードスイッチ、370…ディスプレイ、380…バス、CN…ネットワーク、H…ホストコンピュータ
Claims (20)
- 複数のホストコンピュータ及びこれら各ホストコンピュータに論理ボリュームをそれぞれ提供する記憶装置をそれぞれ備える複数のサイトと、
前記各サイトを互いに通信可能に接続するサイト間ネットワークと、
前記サイト間ネットワークを介して、前記各記憶装置の前記論理ボリュームを同期させる同期部と、
前記同期部による処理に同期障害が発生した場合において、基準となるべき記憶装置を指示するための基準指示情報を管理する基準管理部と、
前記基準指示情報に基づいて前記論理ボリュームの使用を制御する制御部と、
を備えたストレージシステム。 - 前記同期部と、前記基準管理部と、前記制御部とは、前記各サイトにそれぞれ設けられている請求項1に記載のストレージシステム。
- 前記同期部と、前記基準管理部と、前記制御部とは、前記各サイトの前記各ホストコンピュータにそれぞれ設けられている請求項1に記載のストレージシステム。
- 前記同期部と、前記制御部とは、前記各サイトの前記各ホストコンピュータにそれぞれ設け、前記基準管理部は、前記各サイトの前記記憶装置にそれぞれ設けられている請求項1に記載のストレージシステム。
- 前記各サイトの前記各ホストコンピュータは、全体として一つのクラスタを構成しており、
前記制御部は、障害の発生したホストコンピュータで提供されていた所定のサービスを正常な他のホストコンピュータに引き継がせるフェイルオーバ処理を制御するものである請求項1に記載のストレージシステム。 - 前記基準管理部は、前記各サイトのうち前記基準指示情報の通知を必要とする所定のサイトに、前記基準指示情報をそれぞれ通知する請求項1に記載のストレージシステム。
- 前記所定のサイトは、前記通知を複数受信した場合に、いずれか古い方の前記基準指示情報を保持する請求項6に記載のストレージシステム。
- 前記基準管理部による前記所定のサイトへの前記通知が正常に完了した場合に、前記論理ボリュームの使用が許可される請求項6に記載のストレージシステム。
- 前記基準指示情報には、予め優先サイトを示す情報が対応付けられており、
前記基準管理部による前記所定のサイトへの前記通知が正常に完了しなかった場合でも、前記優先サイトへの前記通知が正常に完了した場合には、前記論理ボリュームの使用が許可される請求項6に記載のストレージシステム。 - 前記優先サイトには、予め指定された所定のサイト、障害発生前における運用サイト、障害発生前における待機サイトのうち、少なくともいずれか一つまたは複数を設定可能である請求項9に記載のストレージシステム。
- 前記基準管理部は、前記同期障害の発生が検出された場合に、前記基準指示情報を更新させる請求項1に記載のストレージシステム。
- 前記サイト間ネットワークは、前記各サイトの記憶装置同士を通信可能に接続する記憶装置間ネットワークと、前記各サイトの各ホストコンピュータ同士を通信可能に接続するホストコンピュータ間ネットワークとを含んでおり、
前記同期部は、前記記憶装置間ネットワークを介して、前記各記憶装置の前記論理ボリュームを同期させるものであり、
前記基準管理部は、前記ホストコンピュータ間ネットワークを介して、前記各サイトのうち前記基準指示情報の通知を必要とする所定のサイトに、前記基準指示情報をそれぞれ通知するものである、請求項6に記載のストレージシステム。 - 前記サイト間ネットワークは、さらに、前記各サイト内で前記各ホストコンピュータと前記記憶装置とを通信可能に接続するサイト内ネットワーク同士を通信可能に接続するサイト内ネットワーク間ネットワークを含んでおり、
前記基準管理部は、前記ホストコンピュータ間ネットワークまたは前記サイト内ネットワーク間ネットワークのいずれか一つを介して、前記各サイトのうち前記基準指示情報の通知を必要とする所定のサイトに、前記基準指示情報をそれぞれ通知するものである、請求項13に記載のストレージシステム。 - 前記各サイトの前記各ホストコンピュータのうち、所定のホストコンピュータにのみ前記基準指示情報を保持させ、他のホストコンピュータは前記所定のホストコンピュータにアクセスすることにより、前記基準指示情報を利用する請求項1に記載のストレージシステム。
- 前記同期部は、前記同期障害が解消した場合に、前記基準指示情報に示されている記憶装置をコピー元の記憶装置として、前記同期処理を実行する請求項1に記載のストレージシステム。
- 前記基準管理部は、前記同期処理が正常に完了した場合に、前記基準指示情報をリセットさせる請求項15に記載のストレージシステム。
- 複数の第1ホストコンピュータ及びこれら各第1ホストコンピュータに論理ボリュームをそれぞれ提供する第1記憶装置を有する第1サイトと、
複数の第2ホストコンピュータ及びこれら各第2ホストコンピュータに論理ボリュームをそれぞれ提供する第2記憶装置を有する第2サイトと、
前記第1サイト内で、前記各第1ホストコンピュータと前記第1記憶装置とを通信可能に接続する第1サイト内ネットワークと、
前記第2サイト内で、前記各第2ホストコンピュータと前記第2記憶装置とを通信可能に接続する第2サイト内ネットワークと、
前記第1記憶装置と前記第2記憶装置とを通信可能に接続する記憶装置間ネットワークと、
前記各第1ホストコンピュータと前記各第2ホストコンピュータとを通信可能に接続するホストコンピュータ間ネットワークと、を備え、
(A)前記各第1ホストコンピュータ及び前記各第2ホストコンピュータには、
(A1)前記各第1,第2ホストコンピュータを全体として一つのクラスタに構成するクラスタ制御部と、
(A2)前記記憶装置間ネットワークを介して、前記第1記憶装置の前記論理ボリュームと前記第2記憶装置の前記論理ボリュームとを同期させる同期部と、
(A3)前記同期部による処理に同期障害が発生した場合に、前記第1記憶装置と前記第2記憶装置のいずれを基準とすべきかを指示するための基準指示情報を管理する基準管理部と、をそれぞれ設け、
(B)前記基準管理部は、前記同期障害の発生が検出された場合に、前記基準指示情報を更新して、相手方のサイトに前記基準指示情報を通知し、
(C)前記クラスタ制御部は、フェイルオーバ発生原因となる障害が発生した場合に、前記基準指示情報に基づいて、フェイルオーバ処理を実行する、
ストレージシステム。 - 複数のホストコンピュータ及びこれら各ホストコンピュータに論理ボリュームをそれぞれ提供する記憶装置をそれぞれ備える複数のサイトと、前記各サイトを互いに通信可能に接続するサイト間ネットワークと、このサイト間ネットワークを介して、前記各記憶装置の前記論理ボリュームを同期させる同期部と、を備えたストレージシステムの制御方法であって、
前記同期部による処理に同期障害が発生したか否かを検出する検出ステップと、
前記同期障害が検出された場合に、前記各記憶装置のうち基準となるべき記憶装置を一つ選択して基準指示情報を生成する生成ステップと、
前記生成された基準指示情報を、前記各サイトのうち前記基準指示情報の通知を必要とする所定のサイトにそれぞれ通知する通知ステップと、
前記所定のサイトへの通知を終えた後に、前記各記憶装置の利用を許可する許可ステップと、
を含むストレージシステムの制御方法。 - さらに、フェイルオーバ処理を実行するか否かを判定する第1判定ステップと、
前記フェイルオーバ処理を実行すべきと判定された場合に、前記基準指示情報に基づいて、前記フェイルオーバ処理に使用する論理ボリュームが使用可能か否かを判定する第2判定ステップと、
前記フェイルオーバ処理に使用する論理ボリュームが使用可能な場合は、前記フェイルオーバ処理を実行する実行ステップと、
前記フェイルオーバ処理に使用する論理ボリュームが使用不能な場合は、他のホストコンピュータに前記フェイルオーバ処理の実行を依頼する依頼ステップと、
を含む請求項18に記載のストレージシステムの制御方法。 - 前記許可ステップは、予め設定されている優先サイトへの前記通知が正常に完了した場合には、前記所定のサイトへの前記通知が全て正常に完了していない場合でも、前記各記憶装置の利用を許可するようになっている請求項18に記載のストレージシステムの制御方法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004184524A JP2006011581A (ja) | 2004-06-23 | 2004-06-23 | ストレージシステム及びストレージシステムの制御方法 |
| US10/915,557 US7269611B2 (en) | 2004-06-23 | 2004-08-11 | Storage system and storage system control method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004184524A JP2006011581A (ja) | 2004-06-23 | 2004-06-23 | ストレージシステム及びストレージシステムの制御方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2006011581A true JP2006011581A (ja) | 2006-01-12 |
Family
ID=35507624
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2004184524A Withdrawn JP2006011581A (ja) | 2004-06-23 | 2004-06-23 | ストレージシステム及びストレージシステムの制御方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US7269611B2 (ja) |
| JP (1) | JP2006011581A (ja) |
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007200171A (ja) * | 2006-01-30 | 2007-08-09 | Fujitsu Ltd | ディスク制御装置 |
| JP2007287152A (ja) * | 2006-04-18 | 2007-11-01 | Internatl Business Mach Corp <Ibm> | シーケンシャル・アクセス・データ・ストレージ・デバイスのセカンダリ通信ポートを使用して入出力操作を移送する方法、装置、およびプログラム |
| JP2009181308A (ja) * | 2008-01-30 | 2009-08-13 | Hamamatsu Photonics Kk | ストレージシステム |
| JP2009187254A (ja) * | 2008-02-06 | 2009-08-20 | Hitachi Ltd | ストレージ構成回復方法及びストレージ管理システム |
| JP2013084022A (ja) * | 2011-10-06 | 2013-05-09 | Hitachi Ltd | ディザスタリカバリ方法およびシステム |
| US9063853B2 (en) | 2011-05-31 | 2015-06-23 | Fujitsu Limited | Storage device, storage system, and method for controlling storage device |
| JP2017037514A (ja) * | 2015-08-11 | 2017-02-16 | 日本電信電話株式会社 | 更新システム、更新方法、および更新プログラム |
| JP2017138668A (ja) * | 2016-02-01 | 2017-08-10 | 日本電気株式会社 | ストレージ管理システムおよびストレージ管理方法 |
Families Citing this family (24)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7278000B2 (en) * | 2004-08-03 | 2007-10-02 | Hitachi, Ltd. | Data migration with worm guarantee |
| JP4843976B2 (ja) * | 2005-03-25 | 2011-12-21 | 日本電気株式会社 | レプリケーションシステムと方法 |
| US8108853B2 (en) * | 2006-05-05 | 2012-01-31 | Honeywell International Inc. | Apparatus and method for allowing a fail-back to a prior software release in a process control system |
| US8140788B2 (en) * | 2007-06-14 | 2012-03-20 | International Business Machines Corporation | Apparatus, system, and method for selecting an input/output tape volume cache |
| US8019732B2 (en) | 2008-08-08 | 2011-09-13 | Amazon Technologies, Inc. | Managing access of multiple executing programs to non-local block data storage |
| EP2592556A1 (en) * | 2010-07-07 | 2013-05-15 | Fujitsu Limited | Management device, management program and management method |
| US8924498B2 (en) | 2010-11-09 | 2014-12-30 | Honeywell International Inc. | Method and system for process control network migration |
| US8904141B2 (en) * | 2011-03-04 | 2014-12-02 | Lsi Corporation | Merging a storage cluster into another storage cluster |
| US8423822B2 (en) * | 2011-03-23 | 2013-04-16 | Hitachi, Ltd. | Storage system and method of controlling the same |
| US20150317175A1 (en) * | 2012-11-19 | 2015-11-05 | Hitachi Systems, Ltd. | Virtual machine synchronization system |
| US9110838B2 (en) | 2013-07-31 | 2015-08-18 | Honeywell International Inc. | Apparatus and method for synchronizing dynamic process data across redundant input/output modules |
| US9727357B2 (en) * | 2013-10-01 | 2017-08-08 | International Business Machines Corporation | Failover detection and treatment in checkpoint systems |
| US9720404B2 (en) | 2014-05-05 | 2017-08-01 | Honeywell International Inc. | Gateway offering logical model mapped to independent underlying networks |
| US10042330B2 (en) | 2014-05-07 | 2018-08-07 | Honeywell International Inc. | Redundant process controllers for segregated supervisory and industrial control networks |
| US10536526B2 (en) | 2014-06-25 | 2020-01-14 | Honeywell International Inc. | Apparatus and method for virtualizing a connection to a node in an industrial control and automation system |
| US9699022B2 (en) | 2014-08-01 | 2017-07-04 | Honeywell International Inc. | System and method for controller redundancy and controller network redundancy with ethernet/IP I/O |
| US9817722B2 (en) | 2014-08-29 | 2017-11-14 | Vmware, Inc. | Storage policy-based automation of protection for disaster recovery |
| US10148485B2 (en) | 2014-09-03 | 2018-12-04 | Honeywell International Inc. | Apparatus and method for on-process migration of industrial control and automation system across disparate network types |
| US10162827B2 (en) | 2015-04-08 | 2018-12-25 | Honeywell International Inc. | Method and system for distributed control system (DCS) process data cloning and migration through secured file system |
| US10409270B2 (en) | 2015-04-09 | 2019-09-10 | Honeywell International Inc. | Methods for on-process migration from one type of process control device to different type of process control device |
| US10423588B2 (en) * | 2015-08-25 | 2019-09-24 | International Business Machines Corporation | Orchestrated disaster recovery |
| US11422980B2 (en) * | 2015-08-31 | 2022-08-23 | Vmware, Inc. | Policy-based selection and configuration of target site resources for data replication |
| US10296482B2 (en) | 2017-03-07 | 2019-05-21 | Honeywell International Inc. | System and method for flexible connection of redundant input-output modules or other devices |
| US10401816B2 (en) | 2017-07-20 | 2019-09-03 | Honeywell International Inc. | Legacy control functions in newgen controllers alongside newgen control functions |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5544347A (en) | 1990-09-24 | 1996-08-06 | Emc Corporation | Data storage system controlled remote data mirroring with respectively maintained data indices |
| US6304980B1 (en) | 1996-03-13 | 2001-10-16 | International Business Machines Corporation | Peer-to-peer backup system with failure-triggered device switching honoring reservation of primary device |
| JP4689137B2 (ja) | 2001-08-08 | 2011-05-25 | 株式会社日立製作所 | リモートコピー制御方法、及びストレージシステム |
| US6209002B1 (en) * | 1999-02-17 | 2001-03-27 | Emc Corporation | Method and apparatus for cascading data through redundant data storage units |
| US6654912B1 (en) | 2000-10-04 | 2003-11-25 | Network Appliance, Inc. | Recovery of file system data in file servers mirrored file system volumes |
| US6880052B2 (en) * | 2002-03-26 | 2005-04-12 | Hewlett-Packard Development Company, Lp | Storage area network, data replication and storage controller, and method for replicating data using virtualized volumes |
| US7117386B2 (en) | 2002-08-21 | 2006-10-03 | Emc Corporation | SAR restart and going home procedures |
| JP2004334434A (ja) * | 2003-05-06 | 2004-11-25 | Hitachi Ltd | 双方向コピー制御機能を有する記憶装置システム |
| JP4319017B2 (ja) * | 2003-12-02 | 2009-08-26 | 株式会社日立製作所 | ストレージシステムの制御方法、ストレージシステム、及び記憶装置 |
-
2004
- 2004-06-23 JP JP2004184524A patent/JP2006011581A/ja not_active Withdrawn
- 2004-08-11 US US10/915,557 patent/US7269611B2/en not_active Expired - Fee Related
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007200171A (ja) * | 2006-01-30 | 2007-08-09 | Fujitsu Ltd | ディスク制御装置 |
| JP2007287152A (ja) * | 2006-04-18 | 2007-11-01 | Internatl Business Mach Corp <Ibm> | シーケンシャル・アクセス・データ・ストレージ・デバイスのセカンダリ通信ポートを使用して入出力操作を移送する方法、装置、およびプログラム |
| US9383938B2 (en) | 2006-04-18 | 2016-07-05 | International Business Machines Corporation | Method, system, and apparatus for re-conveying input/output operations utilizing a sequential-access data storage device secondary communication port |
| JP2009181308A (ja) * | 2008-01-30 | 2009-08-13 | Hamamatsu Photonics Kk | ストレージシステム |
| JP2009187254A (ja) * | 2008-02-06 | 2009-08-20 | Hitachi Ltd | ストレージ構成回復方法及びストレージ管理システム |
| US9063853B2 (en) | 2011-05-31 | 2015-06-23 | Fujitsu Limited | Storage device, storage system, and method for controlling storage device |
| JP2013084022A (ja) * | 2011-10-06 | 2013-05-09 | Hitachi Ltd | ディザスタリカバリ方法およびシステム |
| JP2017037514A (ja) * | 2015-08-11 | 2017-02-16 | 日本電信電話株式会社 | 更新システム、更新方法、および更新プログラム |
| JP2017138668A (ja) * | 2016-02-01 | 2017-08-10 | 日本電気株式会社 | ストレージ管理システムおよびストレージ管理方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| US7269611B2 (en) | 2007-09-11 |
| US20050289553A1 (en) | 2005-12-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2006011581A (ja) | ストレージシステム及びストレージシステムの制御方法 | |
| JP4488807B2 (ja) | ボリューム提供システム及び方法 | |
| JP6317856B2 (ja) | クラスタ間冗長構成におけるスムーズな制御部交代 | |
| US9182918B2 (en) | Network storage systems having clustered raids for improved redundancy and load balancing | |
| JP4751117B2 (ja) | データ複製を利用したフェイルオーバとデータ移行 | |
| US7542987B2 (en) | Automatic site failover | |
| US8285824B2 (en) | Storage system and data replication method that refuses one or more requests for changing the first logical configuration information until the first storage apparatus and second storage apparatus are synchronized | |
| US6345368B1 (en) | Fault-tolerant access to storage arrays using active and quiescent storage controllers | |
| US7640451B2 (en) | Failover processing in a storage system | |
| JP5213108B2 (ja) | データ複製方法及びデータ複製システム | |
| JP2002526821A (ja) | 複数のファイルサーバ間における永続状況情報の調整 | |
| US20120166886A1 (en) | Non-disruptive failover of rdma connection | |
| JP4671399B2 (ja) | データ処理システム | |
| JP2002312189A (ja) | クラスターシステムにおける遠隔ミラーを使用した障害通知方法及びシステム | |
| JP2007058611A (ja) | ストレージシステム及びストレージシステムの管理方法 | |
| CN103793271A (zh) | 用于在镜像卷之间进行切换的方法和系统 | |
| CN109005045A (zh) | 主备服务系统及主节点故障恢复方法 | |
| JP2007072571A (ja) | 計算機システム及び管理計算機ならびにアクセスパス管理方法 | |
| JP2005267216A (ja) | ストレージリモートコピー方法および情報処理システム | |
| US7886186B2 (en) | Storage system and management method for the same | |
| US7752493B2 (en) | High reliability system, redundant construction control method, and program | |
| JP4806382B2 (ja) | 冗長化システム | |
| JP2018116477A (ja) | 情報処理装置および情報処理システム | |
| WO2016181462A1 (ja) | 情報処理システムおよびクラスタ管理方法 | |
| JP2008242742A (ja) | クラスタシステム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20070904 |