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

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

Info

Publication number
JP2006309447A
JP2006309447A JP2005130238A JP2005130238A JP2006309447A JP 2006309447 A JP2006309447 A JP 2006309447A JP 2005130238 A JP2005130238 A JP 2005130238A JP 2005130238 A JP2005130238 A JP 2005130238A JP 2006309447 A JP2006309447 A JP 2006309447A
Authority
JP
Japan
Prior art keywords
storage device
data
storage
storage devices
stored
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.)
Pending
Application number
JP2005130238A
Other languages
English (en)
Inventor
Takashi Uchiyama
隆司 内山
Masaki Aizawa
正樹 相澤
Fumio Yamaguchi
文男 山口
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 JP2005130238A priority Critical patent/JP2006309447A/ja
Priority to US11/166,082 priority patent/US7472241B2/en
Publication of JP2006309447A publication Critical patent/JP2006309447A/ja
Pending 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/2053Error 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/2056Error 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/2058Error 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
    • 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/2053Error 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/2056Error 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/2064Error 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 while ensuring consistency
    • 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/2053Error 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/2056Error 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/2069Management of state, configuration or failover
    • 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/2053Error 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/2056Error 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/2071Error 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
    • G06F11/2074Asynchronous techniques
    • 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/2053Error 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/2056Error 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/2071Error 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
    • G06F11/2076Synchronous techniques

Abstract

【課題】
ステム全体としての性能を劣化させることなく、信頼性を向上させ得る記憶システム及びバックアップ方法を提案する。
【解決手段】
かかる課題を解決するため本発明においては、第1の記憶装置が、上位装置から送信されるデータを記憶すると共に、記憶した当該データを第2及び第3の記憶装置に送信し、第2及び第3の記憶装置が、それぞれ第1の記憶装置から送信されるデータを記憶すると共に、記憶した当該データの整合性を第2及び第3の記憶装置間で検証するようにした。
【選択図】 図4

Description

本発明は、記憶システム及びバックアップ方法に関し、例えば3DC(Data Center)システムに適用して好適なものである。
従来、記憶システムに対する被災対策(ディザスタリカバリ)として、あるサイトにおいて運用されている記憶装置のデータのバックアップを、これと遠隔したサイトに設置された記憶装置において管理する技術(以下、この技術を「リモートコピー」と呼ぶ)が知られており、これに関する種々の技術が提案されている(特許文献1参照)。
例えば、上記特許文献1では、第1の記憶装置が記憶したデータのバックアップデータを第2の記憶装置において記憶すると共に、このバックアップデータを第2の記憶装置から直ちに読み出し、第2記憶装置に記憶されたバックアップデータと、第1の記憶装置に記憶されたデータとを比較することで、データ保証を実現して信頼性を高める技術が開示されている。
また近年では、運用されている第1の記憶装置に記憶されたデータを、第1の記憶装置からもまた相手側の記憶装置からも遠隔したサイトに設置されている2台の第2及び第3の記憶装置において管理する3DCシステムと呼ばれる記憶システムに関する技術も多く提案されている(特許文献2参照)。
例えば、上記特許文献2では、3つのサイトのそれぞれ設置されている記憶装置のうち、複製元として設定されている第1の記憶装置のバックアップデータを、コピー先として設定されている第2及び第3の記憶装置においても管理し、ホスト装置からフェールオーバの実行要求があった場合には、第1の記憶装置に記憶されているデータの複製を、第2及び第3の記憶装置のうちの予備として設定されている第2又は第3の記憶装置において管理することが開示されている。
特開2005−25683号公報 特開2004−206562号公報
ところで、上記特許文献1において提案された方法によると、本番系の第1の記憶装置に蓄積されたデータと、バックアップ系の第2の記憶装置に蓄積されたバックアップデータとの比較を第1の記憶装置において行うこととしているため、第1の記憶装置の負担が多い問題があった。
そして、このようなデータ保証処理に関する第1の記憶装置の負担が多くなると、その分、第1の記憶装置へのユーザからのアクセスに対する処理に遅延を生じさせるなどの不具合が発生することとなって、結局、記憶システム全体としての性能を劣化させることとなる。
本発明は以上の点を考慮してなされたもので、システム全体としての性能を劣化させることなく、信頼性を向上させ得る記憶システム及びバックアップ方法を提案しようとするものである。
かかる課題を解決するため本発明においては、記憶システムであって、第1のサイトに設置された第1の記憶装置と、第2のサイトに設置された第2の記憶装置と、第3のサイトに設置された第3の記憶装置と、前記第1乃至第3の記憶装置を通信可能に接続するネットワークとを備え、前記第1の記憶装置は、上位装置から送信されるデータを記憶すると共に、記憶した当該データを前記第2及び第3の記憶装置に送信し、前記第2及び第3の記憶装置は、それぞれ前記第1の記憶装置から送信される前記データを記憶すると共に、記憶した当該データの整合性を前記第2及び第3の記憶装置間で検証するようにした。
この結果この記憶システムでは、本番系の第1の記憶装置に負担をかけることなく、バックアップデータの整合性を検証することができる。
また本発明においては、バックアップ方法において、第1のサイトに設置された第1の記憶装置と、第2のサイトに設置された第2の記憶装置と、第3のサイトに設置された第3の記憶装置とを有する記憶システムにおけるバックアップ方法において、前記第1の記憶装置が、上位装置から送信されるデータを記憶すると共に、記憶した当該データを前記第2及び第3の記憶装置に送信する第1のステップと、前記第2及び第3の記憶装置が、それぞれ前記第1の記憶装置から送信される前記データを記憶すると共に、記憶した当該データの整合性を前記第2及び第3の記憶装置間で検証する第2のステップとを備えることを特徴とする。
この結果このバックアップ方法によれば、本番系の第1の記憶装置に負担をかけることなく、バックアップデータの整合性を検証することができる。
本発明によれば、本番系の第1の記憶装置に負担をかけることなく、バックアップデータの整合性を検証することができるため、システム全体としての性能を劣化させることなく、信頼性を向上させ得る記憶システム及びバックアップ方法を実現できる。
以下図面について、本発明の一実施の形態を詳述する。
(1)本実施の形態による記憶システムの構成
図1は、本実施の形態による記憶システム1を示している。記憶システム1は、異なる3つのサイト(場所)のそれぞれに設置された複数の記憶装置2〜4と、これら各記憶装置2〜4とそれぞれ接続されたホスト装置5〜7とを含んで構成される。各サイトは、例えば大学や企業などの組織によって運営されるコンピュータ施設や、インターネット上のWebサーバの運営、ASP(Application Service Provider)の運用などが行われているデータセンタなどである。この記憶システム1は、地震、火災、台風、洪水、落雷又はテロなどに対するディザスタリカバリの実現のために構築される。
3つのサイトのうちの第1のサイトには、上位装置でなる第1のホスト装置5及びこれがアクセスする第1の記憶装置2が設置されている。また第2のサイトには、第2のホスト装置6及びこれがアクセスする第2の記憶装置3が設置され、第3のサイトには、第3のホスト装置7及びこれがアクセスする第3の記憶装置4が設置されている。
これら第1〜第3のサイトのうちの一のサイトに設置されているホスト装置5及び記憶装置2は本番系として運用され、他の2つのサイトに設置されているホスト装置6,7及び記憶装置3,4は、本番系に対するバックアップ系として運用される。以下においては、第1のサイトに設置された第1のホスト装置5及び第1の記憶装置2が本番系として使用され、第2及び第3のサイトに設置された第2、第3のホスト装置6,7及び第2、第3の記憶装置3,4がバックアップ系として使用されるものとする。
第1〜第3のサイトに設置された第1〜第3のホスト装置5〜7は、ネットワーク9を介して通信可能に接続されている。このネットワーク9は、具体的にはIPネットワークなどで構成されるWANなどである。
また第1〜第3のサイトに設置された第1〜第3の記憶装置2〜4も、それぞれネットワーク8を介して通信可能に接続されている。この場合におけるネットワーク8としては、後述するリモートコピーにおけるコピーデータの送信のために、例えばギガビットイーサネット(登録商標)、ATM(Asynchronous Transfer Mode)、公衆回線などの高速かつ大容量のネットワークが採用される。
(2)装置構成
第1〜第3のホスト装置5〜7は、CPU(Central Processing Unit)やメモリ等の情報処理資源を備えたコンピュータ装置であり、例えばパーソナルコンピュータや、ワークステーション、メインフレームなどから構成される。第1〜第3のホスト装置5〜7では、オペレーティングシステムが動作し、このオペレーティングシステム上において各種アプリケーションソフトウェアが動作する。
第1〜第3のホスト装置5〜7は、例えばSAN、LAN、インターネット、公衆回線又は専用回線などからなるネットワークやケーブルを介して第1〜第3の記憶装置2〜4と接続される。ネットワークを介した第1〜第3のホスト装置5〜7及び第1〜第3の記憶装置2〜4間の通信は、例えばネットワークがSANである場合にはファイバーチャネルプロトコルに従って行われ、ネットワークがLANである場合にはTCP/IP(Transmission Control Protocol/Internet Protocol)プロトコルに従って行われる。
第1〜第3の記憶装置2〜4は、図2に示すように、複数のチャネルアダプタ10、接続部11、共有メモリ12、キャッシュメモリ13、複数のディスクアダプタ14、管理端末15及び複数のディスクドライブ16を備えて構成されている。本実施の形態の場合、第1〜第3の記憶装置2〜4としてディスクアレイ装置を適用しているが、ディスクアレイ装置以外の例えば半導体記憶装置を適用することもできる。
各チャネルアダプタ10は、それぞれマイクロプロセッサ、メモリ及び通信インタフェース等を備えたマイクロコンピュータシステムとして構成されており、主として接続された第1〜第3のホスト装置5〜7(図1)との間のインタフェースとしての機能を提供する。チャネルアダプタ10は、第1〜第3のホスト装置5〜7からのデータ入出力要求を受信して、そのデータ入出力要求を共有メモリ12に書き込む。なお、後述するリモートコピー機能及びこれに関連する各種機能は、チャネルアダプタ10のマイクロプロセッサがこれらの機能を実現するプログラムを実行することにより提供される。
接続部11は、チャネルアダプタ10、共有メモリ12、キャッシュメモリ13及びディスクアダプタ14と接続されている。チャネルアダプタ10、共有メモリ12、キャッシュメモリ13及びディスクアダプタ14間でのデータやコマンドの授受は、この接続部11を介して行われる。接続部11は、例えば高速スイッチングによりデータ伝送を行う超高速クロスバススイッチなどのスイッチ又はバス等で構成される。
共有メモリ12及びキャッシュメモリ13は、チャネルアダプタ10及びディスクアダプタ14により共有される記憶メモリである。共有メモリ12は、主に制御情報やコマンド等を記憶するために利用され、キャッシュメモリ13は、主にディスクドライブに入出力するデータを一時的に記憶するために利用される。
管理端末15は、その第1〜第3の記憶装置2〜4全体やディスクドライブ16を保守・管理するためのコンピュータであり、LAN17を介して各チャネルアダプタ10とそれぞれ接続されると共に、LAN18を介して各ディスクアダプタ14とそれぞれ接続されている。チャネルアダプタ10やディスクアダプタ14において実行されるソフトウェアやパラメータの変更は、管理端末15の指示により行われる。
各ディスクアダプタ14は、マイクロプロセッサやメモリ等を備えたマイクロコンピュータシステムとして構成され、チャネルアダプタ10により共有メモリ12に書き込まれたデータ入出力要求を読み出してそのデータ入出力要求に設定されているコマンド(例えばSCSI(Small Computer System Interface)規格のコマンド)に従ってディスクドライブ16にデータの書き込みや読み出しなどの処理を実行させる。またディスクアダプタ14は、かかる処理の完了後には、データ完了通知やデータ読出し完了通知などをチャネルアダプタ10に送信する。ディスクアダプタ14は、ディスクドライブ16をいわゆるRAID(Redundant Array of Inexpensive Disks)方式に規定されるRAIDレベル(例えば0,1,5)で制御する機能を備えることもある。
各ディスクドライブ16は、例えばSCSI(Small Computer System Interface)ディスク等の高価なディスクデバイス、又はSATA(Serial AT Attachment)ディスクや光ディスク等の安価なディスクデバイスを内蔵して構成される。これら各ディスクドライブ16内のディスクデバイスはRAID方式で運用される。1又は複数のディスクデバイスにより提供される物理的な記憶領域上に、1又は複数の論理的なボリューム(以下、これを論理ボリュームと呼ぶ)VOLD(図3)が設定される。そしてデータは、この論理ボリュームVOLDに記憶される。
図3は、第1〜第3の記憶装置2〜4におけるチャネルアダプタ10及びディスクアダプタ14のソフトウェア構成を示す。上述のように、チャネルアダプタ10は、マイクロプロセッサやメモリ等を備えたマイクロコンピュータシステムとして構成されており、当該メモリに格納されたプログラムをマイクロプロセッサが実行することで各種処理が行われる。
このようなチャネルアダプタ10の処理内容を機能的に分類すると、ホスト制御部20、通信制御部21、コマンド制御部22、管理情報制御部23及びデータ制御部24に分けることができる。ホスト制御部20は、ホスト装置5〜7との間のインタフェースとしての各種処理を実行する。また通信制御部21は、他の記憶装置2〜4とデータ伝送をするための通信インタフェースであり、後述するリモートコピーにおけるコピーデータの伝送はこの通信制御部21を介して行われる。コマンド制御部22は、ホスト装置5〜7や他の記憶装置2〜4との間で送受する各種コマンドの生成や解釈を行う。管理情報制御部23は、リモートコピーのための各種管理処理を実行する。またデータ制御部24は、リモートコピー時における論理ボリュームVOLDに対するデータの読書き処理等を実行する。
ディスクアダプタ14も同様に、マイクロプロセッサやメモリ等を備えたマイクロコンピュータシステムとして構成されており、当該メモリに格納されたプログラムをマイクロプロセッサが実行することでディスク制御部25が起動される。ディスク制御部25は、上述のように共有メモリ12(図2)に書き込まれたデータ入出力要求に従った論理ボリュームVOLDに対するデータの書き込みや読み出しなどの処理を実行する。
(3)リモートコピー
本実施の形態による記憶システム1は、3DC(Data Center)と呼ばれるタイプのもので、本番系の第1のサイトに設置されている第1の記憶装置2が提供する論理ボリュームVOLDと、バックアップ系の第2及び第3のサイトにそれぞれ設置されている第2及び第3の記憶装置3,4がそれぞれ提供する各論理ボリュームVOLDとの間においてリモートコピーが行われる。
複製元の第1の記憶装置2の論理ボリュームVOLDにデータが書き込まれると、そのデータがネットワーク8を介して複製先の第2及び第3の記憶装置3,4にそれぞれ送信され、これら第2及び第3の記憶装置3,4が提供する論理ボリュームVOLDの同じアドレス位置にそのデータが書き込まれる。すなわちリモートコピーは、対応付けられている本番系の論理ボリュームVOLDとバックアップ系の論理ボリュームVOLDとの内容を一致するように行われる。以下においては、このようにリモートコピーが行われている2つの記憶装置2〜4を、「ペア」を構成している記憶装置と呼ぶ。
リモートコピーの方式には、同期方式と非同期方式とがある。本実施の形態の場合、第1及び第2の記憶装置2,3間におけるリモートコピーは同期方式で行われ、第1及び第3の記憶装置2,4間におけるリモートコピーは非同期方式で行われる。
同期方式の場合には、通常、ホスト装置から本番系の論理ボリュームへのデータ書き込みを指示するデータ入出力要求を受信した本番系の記憶装置は、まず自身の論理ボリュームにデータを書き込む。また書き込んだデータと同じデータをバックアップ系の記憶装置に送信する。バックアップ系の記憶装置は、受信したデータを自身の論理ボリュームに書き込み、その後その旨を本番系の記憶装置に通知する。そして、この通知を受信した本番系の記憶装置はホスト装置にデータの書き込みを完了した旨の通知(以下、これを完了通知と呼ぶ)を送信する。
このように同期方式では、本番系の論理ボリュームとバックアップ系の論理ボリュームの双方にデータが書き込まれたことが確認された後にホスト装置に完了通知が送信される。このため同期方式のリモートコピーでは、ホスト装置が完了通知を受信した時点で本番系の論理ボリュームの内容とバックアップ系の論理ボリュームの内容の一致性が確保されることになる。
但し、バックアップ系の論理ボリュームへのデータの書き込みが完了するまではホスト装置に完了通知が送信されない。従って、同期方式ではホスト装置から本番系の記憶装置にデータ入出力要求が送信され、その後ホスト装置に完了通知が返ってくるまでのレスポンスタイムは一般に非同期方式の場合よりも長くなる。
一方、非同期方式の場合、ホスト装置から本番系の論理ボリュームへのデータ書き込みを指示するデータ入出力要求を受信した本番系の記憶装置は、これに応じて自身の論理ボリュームにデータを書き込む。また、書き込んだデータと同じデータをバックアップ系の記憶装置に送信する。バックアップ系の記憶装置は、受信したデータを自身の論理ボリュームに書き込み、完了通知を本番系のサイトに送信する。
ここで本番系の記憶装置は、自身の論理ボリュームにデータを書き込むと、バックアップ系の記憶装置にデータが書き込まれたかどうかとは関係なく直ちにホスト装置に完了通知を送信する。このため、非同期方式では一般に同期方式の場合に比べてホスト装置へのレスポンスタイムが短くなる。しかしながら本番系の論理ボリュームとバックアップ系の論理ボリュームとの間のデータの一致性は必ずしも保証されない。なお、非同期方式の場合には、バックアップ系の記憶装置に未反映のデータが本番系の記憶装置において管理される。
(4)本実施の形態による記憶システムにおけるリモートコピー機能
次に、この記憶システム1に搭載されたリモートコピー機能について説明する。本実施の形態による記憶システム1では、本番系の第1のサイトに設置された第1の記憶装置2から定期的に与えられるデータチェック要求に応じて、バックアップ系の第2及び第3のサイトにそれぞれ設置された第2及び第3の記憶装置3,4が保持するバックアップデータをこれら第2及び第3の記憶装置3,4間において比較・検証する点を特徴の1つとしている。
図4は、このようなリモートコピー機能に関する記憶システム1のソフトウェア構成を示す。また図5は、このリモートコピー機能に関する本番系の記憶装置である第1の記憶装置2の処理手順(以下、これをプライマリ側バックアップ処理手順RT1と呼ぶ)を示す。図4では、図3との対応部分について、第1の記憶装置2に関しては添え字「A」、第2の記憶装置3に関しては添え字「B」、第3の記憶装置4に関しては添え字「C」をそれぞれ付している。
第1の記憶装置2では、通常時、ホスト制御部22Aが第1のホスト装置5からのデータ書込み要求を待ち受ける(SP1)。そして、ホスト制御部22Aが第1のホスト装置5からのデータ書込み要求及び書込み対象のデータを受信すると(SP1:YES)、第1の記憶装置2の管理報制御部23Aは、このデータについて、図6に示すようなデータフォーマットのコピー制御情報30を作成する(SP2)。
このコピー制御情報30は、本番系の論理ボリュームVOLDAに書き込まれたデータを本番系の論理ボリュームVOLDAからバックアップ系の論理ボリュームVOLDB,VOLDCにリモートコピーする際(つまりバックアップの際)や、バックアップ系の論理ボリュームVOLDB,VOLDC間においてバックアップデータ同士を比較・検証する際に作成されるもので、更新グループ番号フィールド30A、更新番号フィールド30B、ライト先アドレスフィールド30C、データサイズフィールド30D、コピーデータアドレスフィールド30E、コピーデータフィールド30F、データチェック要求ビットフィールド30G、データチェック済みビットフィールド30H、データコンペア要求ビットフィールド30I、データコンペア済みビットフィールド30J、データコンペアエラービットフィールド30K、データ反映要求ビットフィールド30L及びデータ反映済みビットフィールド30Mから構成される。
このうちコピーデータフィールド30Fには、バックアップしようとしている第1の記憶装置2の論理ボリュームVOLDAに書き込まれたデータや、バックアップ系の論理ボリュームVOLDB,VOLDC間において比較・検証しようとしている比較・検証対象のバックアップデータが格納される。
また更新グループ番号フィールド30Aには、コピーデータフィールド30Fに格納されたバックアップ対象又は比較・検証対象のデータが属するグループの識別番号が格納され、更新グループ番号フィールド30Bには、そのグループ内における当該データの順位を表すシーケンシャルな番号が格納される。同一の記憶装置内で、更新グループ番号及び更新番号の組み合わせは一意の値となる。
さらにライト先アドレスフィールド30Cには、かかるバックアップ対象又は比較・検証対象のデータを書き込むべき又は書き込まれている論理ボリュームVOLDB,VOLDCのアドレスが格納される。データは、本番系の論理ボリュームVOLDA及びバックアップ系の論理ボリュームVOLDB,VOLDCのいずれにおいても同じアドレスに格納されるため、例えばバックアップ時には、このライト先アドレスフィールド30Cに、第1のホスト装置5からのデータ入出力要求に含まれるそのデータを書き込むべき本番系の論理ボリュームVOLDAのアドレスがそのまま格納される。
データサイズフィールド30Dには、かるバックアップ対象又は比較・検証対象のデータの大きさが格納される。さらにコピーデータアドレスフィールド30Eには、このコピー制御情報30におけるコピーデータフィールド30Fのアドレスが格納される。
一方、コピー制御情報30のデータチェック要求ビットフィールド30Gからデータ反映済みビットフィールド30Mまでは、バックアップ系の第2及び第3の記憶装置3,4間において,これら第2及び第3の記憶装置3,4が保持する対応するバックアップデータ同士を比較・検証する際に用いられる。
このうちデータチェック要求ビットフィールド30Gには、本番系の記憶装置である第1の記憶装置2がバックアップ系の記憶装置である第2及び第3の記憶装置3,4に対して後述のようなバックアップデータのチェック処理の実行を要求するときにフラグが格納され、データチェック済みビットフィールド30Hには、そのコピー制御情報30のコピーデータフィールド30Fに格納されたバックアップデータについての比較・検証が完了したときにフラグが格納される。
またデータコンペア要求ビットフィールド30Iには、第2又は第3の記憶装置3,4がチェック処理時に相手方となる第3又は第2の記憶装置4,3に対して比較・検証対象のバックアップデータの転送を要求するときにフラグが格納され、データコンペア済みフィールド30Jには、そのコピー制御情報30のコピーデータフィールド30Fに格納されたバックアップデータの比較・検証が終了した場合にフラグが格納される。さらにデータコンペアエラービットフィールド30Kには、そのときそのコピー制御情報30のコピーデータフィールド3Fに格納されているバックアップデータについて比較・検証した結果、第2及び第3の記憶装置3,4がそれぞれ保持するバックアップデータが一致しなかったときにフラグが格納される。
データ反映要求ビットフィールド30Lには、第1の記憶装置2が第2、第3の記憶装置3,4の被災や、これら第2、第3の記憶装置3,4との間のリンク切れを検出したときなどにフラグが格納される。このデータ反映要求ビットフィールド30Lにフラグが格納されている場合、後述のように、バックアップ系の第2及び第3の記憶装置3,4間において、被災した第3又は第2の記憶装置4,3に対する復旧処理が行われる。さらにデータ反映済みビットフィールド30Mには、データ反映要求を受信した第3又は第2の記憶装置4,3において復旧処理が終了した後にフラグが格納される。
なお初期時には、コピー制御情報30のデータチェック要求ビットフィールド30G、データチェック済みビット30H、データコンペア要求ビットフィールド30I、データコンペア済みビットフィールド30J、データコンペアエラービットフィールド30K、データ反映要求ビットフィールド30L及びデータ反映済みビットフィールド30Mには、フラグが格納されない。
図5に戻って、第1の記憶装置2の管理情報制御部23Aは、第1のホスト装置5から論理ボリュームVOLDAに書き込むべきデータが送信されると、そのデータについての更新グループ番号、更新番号、ライト先アドレス、データサイズ及びデータをそれぞれ更新グループ番号フィールド30A、更新番号フィールド30B、ライト先アドレスフィールド30C、データサイズフィールド30D及びコピーデータフィールド30Fにそれぞれ格納するようにしてコピー制御情報30を順次作成し、これをキャッシュメモリ13Aに格納する(SP2)。
この後、データ制御部20Aは、かかる第1のホスト装置5からの書込み対象のデータを、ディスク制御部25Aを介して第1の記憶装置2の論理ボリュームVOLDAに順次書き込ませる(SP3)。またデータ制御部20Aは、キャッシュメモリ13Aに格納されているコピー制御情報30を、データ用の論理ボリュームVOLDAとは別個に設けられたコピー制御情報用の論理ボリューム(以下、これをコピー制御情報ボリュームVOLCAと呼ぶ)に格納する(SP4)。
さらに、この後管理情報制御部23Aは、第1のホスト装置5からのデータ書込み要求の回数が予め定められた設定回数以上となり、又は先行してバックアップデータの検証を要求してから(最後にデータチェック要求を発行してから)予め定められた設定時間経過したか否かを判断する(SP5)。そして管理情報制御部23Aは、このとき肯定結果を得た場合には(SP5:YES)、第2及び第3の記憶装置3,4に後述のチェック処理を実行させるべく、コピー制御情報30のデータチェック要求ビットフィールド30Gにフラグを格納する(SP6)。
この後第1の記憶装置2では、通信制御部21Aが、キャッシュメモリ13Aに格納されているコピー制御情報30を第2及び第3の記憶装置6,7に送信する(SP7)。そして通信制御部21Aは、この後第2及び第3の記憶装置3,4の双方から上述の完了通知が送信されるのを待ち受け(SP8)、一定時間内にこれら第2及び第3の記憶装置3,4の双方からの完了通知を受信したときには(SP8:YES)、再び第1のホスト装置5からのデータ書込み要求を待ち受ける待受けモードに戻る(SP1)。
これに対して、第1の記憶装置2の通信制御部21Aが一定時間内にこれら第2及び第3の記憶装置3,4からの完了通知を受信できなかった場合には(SP8:NO)、受信できなかった第2及び又は第3の記憶装置3,4が被災し又はその第2、第3の記憶装置3,4との間のリンクが切断したことが考えられる。そこで、この記憶システム1では、この場合には後述する第2又は第3のエラー及び復旧処理を実行する(SP9)。
一方、図7は、バックアップ系の記憶装置である第2及び第3の記憶装置3,4のリモートコピーに関する処理手順(以下、これをセカンダリ側バックアップ処理手順RT2と呼ぶ)を示すものである。第2及び第3の記憶装置3,4の各通信制御部21B,21Cは、通常時、第1の記憶装置2からコピー制御情報30が送信されるのを待ち受ける(SP10)。
ここで、第2及び第3の記憶装置3,4の各通信制御部21B,21Cが一定時間内にコピー制御情報30を受信できなかった場合(SP10:NO)、第1の記憶装置2が被災し又は第1の記憶装置と第2及び第3の記憶装置3,4の間のリンクが切断したことが考えられる。そこでこの場合、この記憶システム1では、後述する第1のエラー及び復旧処理を実行する(SP11)。
これに対して第2及び第3の記憶装置3,4の各通信制御部21B,21Cは、一定時間内に第1の記憶装置2からのコピー制御情報30を受信すると(SP10:YES)、これをキャッシュメモリ13B,13Cに書き込む(SP12)。また第2及び第3の記憶装置3,4の各データ制御部24B,24Cは、かかるコピー制御情報30がキャッシュメモリ13B,13Cに格納されると、このコピー制御情報30のライト先アドレスフィールド30Cに格納されているアドレスを読み出し、コピー制御情報30のコピーデータフィールド30Fに格納されているデータをディスク制御部25B,25Cを介してこのアドレスに書き込む。これにより第1の記憶装置2の論理ボリュームVOLDAに書き込まれたデータと同じデータが第2及び第3の記憶装置3,4の各論理ボリュームVOLDB,VOLDCに書き込まれて、バックアップが行われることとなる。
またこれと前後して、第2及び第3の記憶装置3,4の各データ制御部24B,24Cは、キャッシュメモリ13B,13Cに格納されているそのコピー制御情報30を、データ用の論理ボリュームVOLDB,VOLDCとは別個に設けられた論理ボリューム(以下、これをコピー制御情報ボリュームVOLCB,VOLCCと呼ぶ)に格納する(SP13)。そして第2及び第3の記憶装置3,4の管理情報制御部23B,23Cは、かかるコピー制御情報ボリュームVOLCB,VOLCCに格納されたそのデータ制御情報30に基づいて、そのコピー制御情報30のデータチェック要求ビットフィールド30Gにフラグが格納されているか否かを判断する(SP15)。
そして第2及び第3の記憶装置3,4は、データチェック要求ビットフィールド30Gにフラグが格納されていなかったときには(SP15:NO)、再び通信制御部21B,21Cが第1の記憶装置2からコピー制御情報30が送信されるのを待ち受ける待受けモードに戻る(SP10)。
これに対して、第2及び第3の記憶装置3,4は、データチェック要求ビットフィールド30Gにフラグが格納されていたときには(SP15:YES)、これら第2及び第3の記憶装置3,4がそれぞれ保持しているバックアップデータの整合性を検証するためのチェック処理を実行する。このチェック処理は、最後にチェック処理を行ってからそのときまでに取得したバックアップデータについて行われる。なお、第2及び第3の記憶装置3,4は、チェック処理中は第1の記憶装置2からコピー制御情報30に格納されて送信されるバックアップ対象のデータの論理ボリュームVOLDB,VOLDCへの反映を一時的に中止するが、この間も第1の記憶装置2から送信されるコピー制御情報30の受信を続けてキャッシュメモリ13B,13Cに蓄積する。そして第2及び第3の記憶装置3,4は、チェック処理終了後にこれらコピー制御情報30を論理ボリュームVOLDB,VOLDCに反映させる(つまりこれらコピー制御情報30のコピーデータフィールド30Fに格納されているデータを論理ボリュームVOLDB,VOLDCに書き込む)。
図8は、このようなチェック処理を第2の記憶装置3が主導権を握って行う場合における第2の記憶装置3において行われるチェック処理の処理手順(以下、これを主導側チェック処理手順RT3と呼ぶ)を示し、図9は、この場合における第3の記憶装置4において行われるチェック処理の処理手順(従属側チェック処理手順RT4と呼ぶ)を示す。
第2の記憶装置3では、チェック処理に入ると、まず管理情報制御部23Bが、先行するチェック処理の終了後、最初に受信したコピー制御情報30(コピー制御情報ボリュームVOLCCに格納されている最も古いコピー制御情報30に相当)のコピーデータフィールド30Fに格納されていたデータについて、図6について上述したコピー制御情報30を作成し、これをキャッシュメモリ13Bに格納する(SP30)。このコピー制御情報30は、更新グループ番号フィールド30A、更新番号フィールド30B、ライト先アドレスフィールド30C、データサイズフィールド30D及びコピーデータアドレス30Eの内容がコピー制御情報ボリュームVOLCCに格納されている最も古いコピー制御情報30と同じで、コピーデータフィールド30Fにデータが格納されておらず、かつデータコンペア要求ビットフィールド30Iにフラグが格納されたものである。
第2の記憶装置3の通信制御部21Bは、このコピー制御情報30がキャッシュメモリ13Bに格納されると、これを読み出して第3の記憶装置4に送信する(SP31)。また第2の記憶装置の通信制御部21Bは、この後、後述のようにこのコピー制御情報30のコピーデータフィールド30Fに第3の記憶装置4が対応するバックアップデータを格納して返信するのを待ち受ける(SP32)。
ここで、このコピー制御情報30が一定時間内に第3の記憶装置4から返信されなかった場合(SP32:NO)、第3の記憶装置4が被災し又は第2及び第3の記憶装置3,4間のリンクが切断したことが考えられる。そこで、この記憶システム1では、この場合には後述する第2のエラー及び復旧処理を実行する(SP33)。
これに対して、このコピー制御情報30が一定時間内に第3の記憶装置4から返信された場合、第2の記憶装置3の通信制御部21Bは、これをキャッシュメモリ13Bに格納する(SP34)。また第2の記憶装置3のデータ制御部24Bは、この後ディスク制御部25Bを制御して、このコピー制御情報30のコピーデータフィールド30Fに格納されているバックアップデータと対応するバックアップデータを論理ボリュームVOLDBから読み出させる。そしてデータ制御部24Bは、このコピー制御情報30のコピーデータフィールド30Fに格納されている、第3の記憶装置4の論理ボリュームVOLDCから読み出したバックアップデータと、そのとき第2の記憶装置3の論理ボリュームVOLDBから読み出した対応するバックアップデータとを比較する(SP35)。
そして第2の記憶装置3の管理情報制御部23Bは、これらが一致しなかったときには(SP36:NO)、所定のコンペアエラー処理を実行する(SP37)。このコンペアエラー処理は、同期方式でのリモートコピーを行っている第2の記憶装置3が記憶するバックアップデータの方が非同期方式でのリモートコピーを行っている第3の記憶装置4が記憶するバックアップデータよりも信用性が高いであろうとの前提のもとに、第2の記憶装置3が記憶するバックアップデータを第3の記憶装置4が記憶するバックアップデータに上書きするための処理を行う。具体的に、管理情報制御部23Bは、そのときキャッシュメモリ13Bに格納されているコピー制御情報30のコピーデータフィールド30Fに第2の記憶装置3の論理ボリュームVOLDBに保持している対応するバックアップデータを格納すると共にそのコピー制御情報30のデータコンペアエラービットフィールド30Kにフラグを格納して、これを第3の記憶装置4に送信する。
これに対して第2の記憶装置3の管理情報制御部23Bは、第2の記憶装置3の論理ボリュームVOLDBから読み出されたバックアップデータと、第3の記憶装置4の論理ボリュームVOLDCから読み出された対応するバックアップデータとが一致したときには(SP36:YES)、そのときキャッシュメモリ13Bに格納されているコピー制御情報30のデータコンペア済みビットフィールド30Jにフラグを格納する(SP38)。また管理情報制御部23Bは、コンペアエラー処理を終了した後も同様に、そのときキャッシュメモリ13Bに格納されているコピー制御情報30のデータコンペア済みビットフィールド30Jにフラグを格納する(SP38)。
この後、第2の記憶装置3の通信制御部21Bは、このコピー制御情報30を第3の記憶装置4に送信する(SP39)。また第2の記憶装置4の管理情報制御部23Bは、このコピー制御情報30をキャッシュメモリ13Bから削除する(SP40)。さらに第2の記憶装置3のデータ制御部24Bは、この後コピー制御情報ボリュームVOLCBからそのコピー制御情報30を削除する。このようにして第2の記憶装置3では、比較・検証処理を終えたバックアップデータが格納されているコピー制御情報30をコピー制御情報ボリュームVOLCBから順次削除する。
さらに、この後第2の記憶装置2の管理情報制御部23Bは、先行するチェック処理の終了後に取得したすべてのバックアップデータについての検証を終えたか否か(コピー制御情報ボリュームVOLCBにコピー制御情報30が残っていないか否か)を判断し(SP42)、否定結果を得た場合には(SP42:NO)、次のコピー制御情報30に含まれるバックアップデータについての比較・検証処理に移り(SP30)、これに対して肯定結果を得た場合には(SP42:YES)、第2の記憶装置3における一連のチェック処理を終了する。
一方、第3の記憶装置4では、チェック処理(図9)に入ると、通信制御部21Cが第2の記憶装置3からのデータ制御情報30を受信するのを待ち受ける(SP50)。
ここで、第3の記憶装置4の通信制御部21Cが一定時間内にこのデータ制御情報30を受信できなかった場合(SP50:NO)、第2の記憶装置3が被災し又は第2及び第3の記憶装置3,4間のリンクが切断したことが考えられる。そこで、この記憶システム1では、この場合には後述する第3のエラー及び復旧処理を実行する(SP51)。
これに対して、第3の記憶装置4の通信制御部21Cが一定時間内にこのデータ制御情報30を受信した場合(SP50:YES)、第3の記憶装置4の通信制御部21Cは、このコピー制御情報30をキャッシュメモリ13Cに格納する(SP52)。また第3の記憶装置4のデータ制御部24Cは、コピー制御情報30がキャッシュメモリ13Cに格納されると、論理ボリュームVOLDCにおけるこのコピー制御情報30のライト先アドレスフィールド30Cに格納されたアドレス位置に記憶されているバックアップデータを読み出し、これを当該コピー制御情報30におけるコピーデータフィールド30Fに格納する(SP53)。そして、この後第3の記憶装置4の通信制御部21Cは、このコピー制御情報30を第2の記憶装置3に送信する(SP54)。
また第3の記憶装置4の通信制御部21Cは、この後第2の記憶装置3から、第2の記憶装置3の論理ボリュームVOLDBから読み出されたバックアップデータと、第3の記憶装置4の論理ボリュームVOLDCから読み出されたバックアップデータとの比較・検証結果が格納されたコピー制御情報30が送信されるのを待ち受ける(SP55)。このコピー制御情報30は、図8のステップSP37又はステップSP39において第2の記憶装置3から第3の記憶装置4に送信されるコピー制御情報30である。
ここで、第3の記憶装置4が一定時間内にこのコピー制御情報30を受信できなかった場合(SP55:NO)、第2の記憶装置3が被災し、又は第2及び第3の記憶装置3,4間のリンクが切断したことが考えられる。そこで、この記憶システム1では、この場合には後述する第3のエラー及び復旧処理を実行する(SP56)。
これに対して、第3の記憶装置4が一定時間内にこのコピー制御情報30を受信できた場合(SP55:YEO)、第3の記憶装置4の管理情報制御部23Cがこのコピー制御情報30のコンペアエラービットフィールド30Kをチェックし(SP57)、フラグが格納されているときには(SP57:YES)、データ制御部24Cに所定のコンペアエラー処理を実行させる(SP58)。具体的に、管理情報制御部23Cは、そのコピー制御情報30のコピーデータフィールド30Fに格納されているバックアップデータ(図8のステップSP33において格納されたバックアップデータ)を、当該コピー制御情報30のライト先アドレスフィールド30Cに格納されているアドレス位置に上書きする。
一方、第3の記憶装置4の管理情報制御部23Cは、このコピー制御情報30のコンペアエラービットフィールド30Kにフラグが格納されていないときには(SP57:NO)、キャッシュメモリ13Cからこのコピー制御情報30を削除する(SP59)。コンペアエラー処理を終了した後も同様に、キャッシュメモリ13Cからこのコピー制御情報30を削除する(SP59)。また第3の記憶装置4のデータ制御部24Bは、コピー制御情報ボリュームVOLCCからそのコピー制御情報30を削除する(SP60)。
その後第3の記憶装置4の管理情報制御部23Cは、先行するチェック処理終に取得したすべてのバックアップデータについての検証を終えたか否か(コピー制御情報ボリュームVOLCCにコピー制御情報30が残っていないか否か)を判断し(SP61)、否定結果を得た場合には(SP61:NO)、次のコピー制御情報30が第2の記憶装置3から送信されるのを待ち受ける待受けモードに戻り(SP50)、これに対して肯定結果を得た場合には(SP61:YES)、第3の記憶装置4における一連のチェック処理を終了する。
(5)エラー及び復旧処理
次に、この記憶システム1におけるエラー及び復旧処理について説明する。
(5−1)第1のエラー及び復旧処理
本実施の形態による記憶システム1では、例えば図7について上述したセカンダリ側バックアップ処理手順RT2のステップSP10において、第2及び第3の記憶装置3,4の各通信制御部21B,21Cが一定時間経過しても第1の記憶装置2との通信を確保できない場合には(SP10:NO)、第1の記憶装置2に被災などの理由により障害が発生し、又はこれら第2及び第3の記憶装置3,4と第1の記憶装置2との間のリンクが切断したことが考えられる。
そこでこの記憶システム1では、この場合には第2及び第3の記憶装置3,4同士が通信を行って相手側の第3又は第2の記憶装置4,3も第1の記憶装置2からのコピー制御情報30を一定時間受信していないことを確認(通信エラーの有無を確認)し、その後第2の記憶装置3が当該第2の記憶装置3を本番系の記憶装置とする設定を行う。そしてこの記憶システム1では、その後の通常運用により第2の記憶装置3の論理ボリュームVOLDBに書き込まれたデータについては、第2及び第3の記憶装置3,4間において非同期方式でのリモートコピーが行われ、これにより第2の記憶装置3の論理ボリュームVOLDBのバックアップデータが第3の記憶装置4の論理ボリュームVOLDCに保持される。
一方、その後に第1の記憶装置2が復旧し、又は第2及び第3の記憶装置3,4と第1の記憶装置2との間のリンクが復旧した後に、図示しない外部管理装置を介してこの記憶システム1の管理者から第1〜第3の記憶装置2〜4にその旨が通知されると、記憶システム1の復旧処理が開始される。
具体的には、第3の記憶装置4に保持された第2の記憶装置3の論理ボリュームVOLDBのすべてのバックアップデータが、非同期方式で第1の記憶装置2の論理ボリュームVOLDAに順次リモートコピーされる。またこれと併せて、第2の記憶装置3を本番系の記憶装置とし、第1及び第3の記憶装置2,4をバックアップ系の記憶装置とする通常運行により第2の記憶装置3に書き込まれたデータが、図5〜図7について上述した手順で第1及び第3の記憶装置2,4内の各論理ボリュームVOLDA,VOLDCにリモートコピーされる。このときのリモートコピーは、第1及び第2の記憶装置2,3間が同期方式で行われ、第2及び第3の記憶装置3,4間が非同期方式で行われる。
そして、この後復旧処理の開始後に第2の記憶装置3から第1の記憶装置2にリモートコピーしたデータを除くすべてのデータについての第3の記憶装置4から第1の記憶装置2へのデータコピーが終了すると、第3の記憶装置4から第1の記憶装置2へのデータコピーが停止され、その後第2の記憶装置3を本番系の記憶装置とし、第1及び第3の記憶装置2,4をバックアップ系の記憶装置として、通常運行が行われる。
(5−2)第2のエラー及び復旧処理
一方、本実施の形態による記憶システム1では、例えば図5について上述したプライマリ側バックアップ処理手順RT1のステップSP8において、第1の記憶装置2が一定時間経過しても第2の記憶装置3からの完了通知を受信できない場合や、図9について上述した従属側チェック処理手順RT4のステップSP50やステップSP55において、一定時間経過しても第3の記憶装置4が第2の記憶装置3からのコピー制御情報30を受信できない場合には、第2の記憶装置3に被災などの理由により障害が発生し、又はこれら第1若しくは第3の記憶装置2,4と第2の記憶装置3との間のリンクが切断したことが考えられる。
ところで、この記憶システム1では、図8の処理手順のステップSP32において、一定時間経過しても第2の記憶装置3が第3の記憶装置4からのコピー制御情報30を受信できないときや、図9の処理手順のステップSP50やステップSP55において、一定時間経過しても第3の記憶装置4が第2の記憶装置3からのコピー制御情報30を受信できないときには、コピー制御情報30の受信を待ち受けている側の第2又は第3の記憶装置3,4が第1の記憶装置2にエラー信号を送信するようになされている。
従って、この記憶システム1では、第1の記憶装置2が、第2又は第3の記憶装置3,4のいずれか一方からエラー信号が送信されてきたときには、相手方の第3又は第2の記憶装置2,3が被災し、第2及び第3の記憶装置3,4の双方からエラー信号が送信されてきたときには、第2及び第3の記憶装置3,4間のリンクが切断されたと判断することができる。
そこでこの記憶システム1では、図5について上述したプライマリ側バックアップ処理手順RT2のステップSP8において、第1の記憶装置2が一定時間経過しても第2の記憶装置3からの完了通知を受信できないときや、第3の記憶装置4からのみ第2の記憶装置2との通信が行えない旨のエラー信号が送信されてきたときには、第1の記憶装置2から第2の記憶装置3へのコピー制御情報30の送信を停止して(つまり第2の記憶装置3によるバックアップを停止して)、第1及び第3の記憶装置2,4間でのみ非同期方式でのリモートコピーを行う(つまり第3の記憶装置4のみで第1の記憶装置2のバックアップを行う)ようになされている。
そして、その後第2の記憶装置3が復旧し、又は第2及び第3の記憶装置3,4間のリンクが復旧した後に、図示しない外部管理装置を介してこの記憶システム1の管理者から第1〜第3の記憶装置2〜4にその旨が通知されると、記憶システム1の復旧処理が開始される。
具体的には、通常運行により第1の記憶装置2の論理ボリュームVOLDAに書き込まれたデータの第1の記憶装置2から第3の記憶装置4への非同期方式でのリモートコピーをそのまま継続しながら、第1の記憶装置2から第2の記憶装置3への同期方式でのリモートコピーを開始する。またこれと併せて、第3の記憶装置4に保持された第1の記憶装置2の論理ボリュームVOLDAのすべてのバックアップデータが、非同期方式で第2の記憶装置3の論理ボリュームVOLDBにリモートコピーされる。
そして、この後復旧処理の開始後に第1の記憶装置2から第2の記憶装置3にリモートコピーしたデータを除くすべてのデータについての第3の記憶装置4から第2の記憶装置3へのデータコピーが終了すると、第3の記憶装置4から第2の記憶装置3へのデータコピーが停止され、その後第1の記憶装置2を本番系の記憶装置とし、第2及び第3の記憶装置3,4をバックアップ系の記憶装置として、通常運行が行われる。
(5−3)第3のエラー及び復旧処理
他方、本実施の形態による記憶システム1では、プライマリ側バックアップ処理手順RT1のステップSP8において、一定時間経過しても第1の記憶装置2が第3の記憶装置4からの完了通知を受信できないときや、主導側チェック処理手順RT3のステップSP32において、一定時間経過しても第2の記憶装置3が第3の記憶装置4からのコピー制御情報30を受信できないときには、第3の記憶装置4に被災などの理由により障害が発生し、又はこれら第1若しくは第2の記憶装置2,3と第3の記憶装置4との間のリンクが切断したことが考えられる。
そこでこの記憶システム1では、この場合には第1の記憶装置2から第3の記憶装置4へのコピー制御情報30の送信を停止して、第1及び第2の記憶装置2,3間でのみ同期方式でのリモートコピーを行うことにより、第1の記憶装置2の論理ボリュームVOLDAのバックアップデータを第2の記憶装置3においてのみ保持する。
そして、その後第3の記憶装置4が復旧し、又は第1及び第3の記憶装置2,4間のリンクが復旧した後に、図示しない外部管理装置を介してこの記憶システム1の管理者から第1〜第3の記憶装置2〜4にその旨が通知されると、記憶システム1の復旧処理が開始される。
具体的には、通常運行により第1の記憶装置2の論理ボリュームVOLDAに書き込まれたデータの第1の記憶装置2から第2の記憶装置への同期方式でのリモートコピーをそのまま継続しながら、第1の記憶装置2から第3の記憶装置4への同期方式でのリモートコピーを開始する。またこれと併せて、第2の記憶装置4に保持された第1の記憶装置2の論理ボリュームVOLDAのすべてのバックアップデータが、非同期方式で第3の記憶装置4の論理ボリュームVOLDCにリモートコピーされる。
そして、この後復旧処理の開始後に第1の記憶装置2から第2の記憶装置3にリモートコピーしたデータを除くすべてのデータについての第2の記憶装置3から第3の記憶装置4へのデータコピーが終了すると、第2の記憶装置3から第3の記憶装置4へのデータコピーが停止され、その後第1の記憶装置2を本番系の記憶装置とし、第2及び第3の記憶装置3,4をバックアップ系の記憶装置として、通常運行が行われる。
(6)本実施の形態の効果
以上の構成において、本実施の形態による記憶システム1では、第2及び第3の記憶装置3,4がそれぞれ記憶しているバックアップデータの整合性の検証を、これら第2及び第3の記憶装置3,4間で通信して行うため、第1の記憶装置に何らの負担をかけることなく、バックアップデータの整合性を検証することができる。従って、システム全体としての性能を劣化させることなく、信頼性を向上させることができる。
また、このように第1の記憶装置2と、第2及び第3の記憶装置3,4との間だけでなく、第2及び第3の記憶装置3,4間においても通信を行い得るようにしたことにより、各第1〜第3の記憶装置2〜4が他の第1〜第3の記憶装置2〜4とのリンク障害の有無や被災の有無を監視することができ、また被災を検出した場合の対応が迅速となる。
さらに第1〜第3の記憶装置2〜4の被災を検出したときには、バックアップ系の第2及び第3の記憶装置3,4が保持するバックアップデータを用いて復旧処理を行うため、本番系の第1の記憶装置2(又は第2の記憶装置)に負担をかけることなく、被災した第1〜第3の記憶装置2〜4のデータ復旧を行うことができる。
(7)他の実施の形態
なお上述の実施の形態においては、第1及び第2の記憶装置2,3間において同期方式でリモートコピーを行い、第1及び第3の記憶装置3,4間において非同期方式でリモートコピーを行うようにした場合について述べたが、本発明はこれに限らず、第1及び第3の記憶装置2,4間においても同期方式でリモートコピーを行うようにしたり、又は第1及び第2の記憶装置2,3間においても非同期方式でリモートコピーを行うようにしても良い。
この場合において、例えば第1及び第2の記憶装置2,3間においても非同期方式でリモートコピーを行う場合には、第2及び第3の記憶装置3,4がそれぞれ保持するバックアップデータ同士を比較した結果、これらが一致しなかったときには、第2及び第3の記憶装置3,4の双方が第1の記憶装置2に対してそのバックアップデータに対応するデータの転送を要求すると共に、この結果として第1の記憶装置2から第2及び第3の記憶装置3,4の双方にそれぞれ送信されるデータを、これら第2及び第3の記憶装置3,4がそれぞれ対応するバックアップデータに上書きするようにして保持するようにすれば良い。
また第2及び第3の記憶装置3,4の双方が第1の記憶装置2に対してデータの転送を要求するのではなく、第2又は第3の記憶装置3,4の一方のみが第1の記憶装置2に対してそのバックアップデータに対応するデータの転送を要求すると共に、この結果として第1の記憶装置2からその第2又は第3の記憶装置3,4に送信されるデータを、その第2又は第3の記憶装置3,4が他方の第3又は第2の記憶装置4,3に送信するようにしても良い。このようにすることによって、バックアップデータの保証に関する第1の記憶装置2の負担を軽減することができる。
また上述の実施の形態においては、本発明を3DCシステムに適用するようにした場合について述べたが、本発明はこれに限らず、バックアップデータを記憶する記憶装置を3台以上有する記憶システムにも適用することができる。この場合において、バックアップデータの検証を行う記憶装置同士のペア設定は予め設定しておくようにすれば良く、また本番系の記憶装置が予め与えられたプログラムに従って当該ペア設定を行うようにしても良い。
さらに上述の実施の形態においては、第2及び第3の記憶装置2,3間においてデータ検証処理を行わせる際のトリガとして、第1の記憶装置2から第2及び第3の記憶装置3,4にそれぞれ送信するコピー制御情報30の各データチェック要求ビットフレーム30Gにフラグを格納するようにした場合について述べたが、本発明はこれに限らず、第2及び第3の記憶装置3,4のいずれ一方に送信するコピー制御情報30のデータチェック要求ビットフレーム30Gにフラグを格納し、そのコピー制御情報30を受信した第2又は第3の記憶装置3,4が主導してバックアップデータの検証を行うようにしても良い。
本発明は3DCシステムのほか、種々の形態の記憶システムに広く適用することができる。
本実施の形態による記憶システムの構成を示すブロック図である。 第1〜第3の記憶装置のハードウェア構成を示すブロック図である。 第1〜第3の記憶装置のソフトウェア構成を示すブロック図である。 記憶システムのソフトウェア構成を示すブロック図である。 プライマリ側バックアップ処理手順を示すフローチャートである。 コピー制御情報のデータフォーマットを示す略線図である。 セカンダリ側バックアップ処理手順を示すフローチャートである。 主導側チェック処理手順を示すフローチャートである。 従属側チェック処理手順を示すフローチャートである。
符号の説明
1……記憶システム、2〜4……記憶装置、5〜7……ホスト装置、8……ネットワーク、10……チャネルアダプタ、14……ディスクアダプタ、20……ホスト装置、21……通信制御部、22,22A……コマンド制御部、23……管理情報制御部、25……ディスク制御部、30……コピー制御情報、VOLD,VOLDA〜VOLDC……論理ボリューム、VOLC,VOLCA〜VOLCC……コピー制御情報ボリューム、RT1……プライマリ側バックアップ処理手順、RT2……セカンダリ側バックアップ処理手順、RT3……主導側チェック処理手順、RT4……従属側チェック処理手順。

Claims (12)

  1. 第1のサイトに設置された第1の記憶装置と、
    第2のサイトに設置された第2の記憶装置と、
    第3のサイトに設置された第3の記憶装置と、
    前記第1乃至第3の記憶装置を通信可能に接続するネットワークと
    を備え、
    前記第1の記憶装置は、
    上位装置から送信されるデータを記憶すると共に、記憶した当該データを前記第2及び第3の記憶装置に送信し、
    前記第2及び第3の記憶装置は、
    それぞれ前記第1の記憶装置から送信される前記データを記憶すると共に、記憶した当該データの整合性を前記第2及び第3の記憶装置間で検証する
    ことを特徴とする記憶システム。
  2. 前記第1の記憶装置は、
    所定のタイミングで前記第2及び第3の記憶装置の少なくとも一方に検証要求を送信し、
    前記第2及び第3の記憶装置は、
    前記検証要求に応じて、記憶した前記データの整合性を前記第2及び第3の記憶装置間で検証する
    ことを特徴とする請求項1に記載の記憶システム。
  3. 前記第1の記憶装置は、
    前記上位装置からの前記データ書込み要求の回数又は先行して前記検証要求を送信してからの経過時間に基づいて、前記第2及び第3の記憶装置の少なくとも一方に前記検証要求を送信する
    ことを特徴とする請求項2に記載の記憶システム。
  4. 前記第1の記憶装置から前記第2の記憶装置への前記データの送信は、前記上位装置から前記第1の記憶装置への前記データの送信に同期して行われ、
    前記第1の記憶装置から前記第3の記憶装置への前記データの送信は、前記上位装置から前記第1の記憶装置への前記データの送信に同期して行われ、
    前記検証の結果、前記第2及び第3の記憶装置がそれぞれ記憶する前記データが一致しなかったときには、前記第3の記憶装置が記憶する一致しなかった前記データを、前記第2の記憶装置が記憶する対応する前記データに書き換える
    ことを特徴とする請求項1に記載の記憶システム。
  5. 前記第1の記憶装置は、
    前記第2及び第3の記憶装置間の通信エラーの有無に基づいて前記第2及び第3の記憶装置の被災の有無及び又は前記第2及び第3の記憶装置間のリンクの切断の有無を判断する
    ことを特徴とする請求項1に記載の記憶システム。
  6. 一方の前記第2又は第3の記憶装置に障害が発生したときには、当該前記第2又は第3の記憶装置の回復後、他方の前記第3又は第2の記憶装置が記憶している前記データを一方の前記第2又は第3の記憶装置に送信し、
    一方の前記第2又は第3の記憶装置が、他方の前記第3又は第2の記憶装置から送信される前記データを記憶するようにして、当該第2又は第3の記憶装置を復旧する
    ことを特徴とする請求項1に記載の記憶システム。
  7. 第1のサイトに設置された第1の記憶装置と、第2のサイトに設置された第2の記憶装置と、第3のサイトに設置された第3の記憶装置とを有する記憶システムにおけるバックアップ方法において、
    前記第1の記憶装置が、上位装置から送信されるデータを記憶すると共に、記憶した当該データを前記第2及び第3の記憶装置に送信する第1のステップと、
    前記第2及び第3の記憶装置が、それぞれ前記第1の記憶装置から送信される前記データを記憶すると共に、記憶した当該データの整合性を前記第2及び第3の記憶装置間で検証する第2のステップと
    を備えることを特徴とするバックアップ方法。
  8. 前記第1の記憶装置は、
    所定のタイミングで前記第2及び第3の記憶装置の少なくとも一方に検証要求を送信し、
    前記第2及び第3の記憶装置は、
    前記検証要求に応じて、記憶した前記データの整合性を前記第2及び第3の記憶装置間で検証する
    ことを特徴とする請求項7に記載のバックアップ方法。
  9. 前記第1の記憶装置は、
    前記上位装置からの前記データ書込み要求の回数又は先行して前記検証要求を送信してからの経過時間に基づいて、前記第2及び第3の記憶装置の少なくとも一方に前記検証要求を送信する
    ことを特徴とする請求項8に記載のバックアップ方法。
  10. 前記第1のステップにおいて、
    前記第1の記憶装置から前記第2の記憶装置への前記データの送信は、前記上位装置から前記第1の記憶装置への前記データの送信に同期して行われ、
    前記第1の記憶装置から前記第3の記憶装置への前記データの送信は、前記上位装置から前記第1の記憶装置への前記データの送信に同期して行われ、
    前記第2のステップにおいて、
    前記検証の結果、前記第2及び第3の記憶装置がそれぞれ記憶する前記データが一致しなかったときには、前記第3の記憶装置が記憶する一致しなかった前記データを、前記第2の記憶装置が記憶する対応する前記データに書き換える
    ことを特徴とする請求項7に記載のバックアップ方法。
  11. 前記第1の記憶装置が、前記第2及び第3の記憶装置間の通信エラーの有無に基づいて前記第2及び第3の記憶装置の被災の有無及び又は前記第2及び第3の記憶装置間のリンクの切断の有無を判断する第3のステップ
    を備えることを特徴とする請求項7に記載のバックアップ方法。
  12. 一方の前記第2又は第3の記憶装置に障害が発生したときには、当該前記第2又は第3の記憶装置の回復後、他方の前記第3又は第2の記憶装置が記憶している前記データを一方の前記第2又は第3の記憶装置に送信し、
    一方の前記第2又は第3の記憶装置が、他方の前記第3又は第2の記憶装置から送信される前記データを記憶するようにして、当該第2又は第3の記憶装置を復旧する
    ことを特徴とする請求項7に記載のバックアップ方法。

JP2005130238A 2005-04-27 2005-04-27 記憶システム及びバックアップ方法 Pending JP2006309447A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005130238A JP2006309447A (ja) 2005-04-27 2005-04-27 記憶システム及びバックアップ方法
US11/166,082 US7472241B2 (en) 2005-04-27 2005-06-27 Storage system and backup method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005130238A JP2006309447A (ja) 2005-04-27 2005-04-27 記憶システム及びバックアップ方法

Publications (1)

Publication Number Publication Date
JP2006309447A true JP2006309447A (ja) 2006-11-09

Family

ID=37235797

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005130238A Pending JP2006309447A (ja) 2005-04-27 2005-04-27 記憶システム及びバックアップ方法

Country Status (2)

Country Link
US (1) US7472241B2 (ja)
JP (1) JP2006309447A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7886186B2 (en) 2007-03-29 2011-02-08 Hitachi, Ltd. Storage system and management method for the same
JP2011221594A (ja) * 2010-04-05 2011-11-04 Yahoo Japan Corp データベース多重化システム及び多重化方法

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070025345A1 (en) * 2005-07-27 2007-02-01 Bachl Rainer W Method of increasing the capacity of enhanced data channel on uplink in a wireless communications systems
US20070234118A1 (en) * 2006-03-30 2007-10-04 Sardella Steven D Managing communications paths
US7613946B2 (en) * 2006-09-14 2009-11-03 International Business Machines Corporation Apparatus, system, and method for recovering a multivolume data set
US7958406B2 (en) * 2006-10-03 2011-06-07 International Business Machines Corporation Verifying a record as part of an operation to modify the record
US8271648B2 (en) * 2007-04-03 2012-09-18 Cinedigm Digital Cinema Corp. Method and apparatus for media duplication
US7861111B2 (en) * 2007-06-15 2010-12-28 Savvis, Inc. Shared data center disaster recovery systems and methods
US8615678B1 (en) * 2008-06-30 2013-12-24 Emc Corporation Auto-adapting multi-tier cache
US8190575B1 (en) * 2008-08-27 2012-05-29 Western Digital Technologies, Inc. Disk drive maintaining multiple copies of code segments
US8214589B2 (en) * 2009-03-13 2012-07-03 Seagate Technology Llc Data storage system redundancy scheme verification
FR2945644A1 (fr) * 2009-05-18 2010-11-19 Alcatel Lucent Systeme de sauvegarde de donnees
US9436653B2 (en) 2009-09-03 2016-09-06 International Business Machines Corporation Shared-bandwidth multiple target remote copy
JP5447092B2 (ja) * 2010-03-30 2014-03-19 富士通株式会社 処理装置,データ移行方法及びデータ移行プログラム
US8625635B2 (en) * 2010-04-26 2014-01-07 Cleversafe, Inc. Dispersed storage network frame protocol header
JP5150699B2 (ja) * 2010-10-05 2013-02-20 株式会社バッファロー フェイルオーバ情報管理装置、記憶処理装置及びフェイルオーバ制御方法
US11226985B2 (en) * 2015-12-15 2022-01-18 Microsoft Technology Licensing, Llc Replication of structured data records among partitioned data storage spaces
US10599676B2 (en) 2015-12-15 2020-03-24 Microsoft Technology Licensing, Llc Replication control among redundant data centers
CN117349085B (zh) * 2023-12-01 2024-03-05 杭州云动智能汽车技术有限公司 一种数据存储方法、数据备份方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4689137B2 (ja) * 2001-08-08 2011-05-25 株式会社日立製作所 リモートコピー制御方法、及びストレージシステム
JP4037257B2 (ja) 2002-12-26 2008-01-23 株式会社日立製作所 情報処理システムの制御方法、情報処理システム、及びプログラム
JP4371724B2 (ja) 2003-07-03 2009-11-25 株式会社日立製作所 記憶システム及び記憶装置システム
US7188222B2 (en) * 2003-09-29 2007-03-06 International Business Machines Corporation Method, system, and program for mirroring data among storage sites

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7886186B2 (en) 2007-03-29 2011-02-08 Hitachi, Ltd. Storage system and management method for the same
JP2011221594A (ja) * 2010-04-05 2011-11-04 Yahoo Japan Corp データベース多重化システム及び多重化方法

Also Published As

Publication number Publication date
US20060248295A1 (en) 2006-11-02
US7472241B2 (en) 2008-12-30

Similar Documents

Publication Publication Date Title
JP2006309447A (ja) 記憶システム及びバックアップ方法
US6721851B2 (en) System and method for preventing sector slipping in a storage area network
CN101571815B (zh) 信息系统及i/o处理方法
US6345368B1 (en) Fault-tolerant access to storage arrays using active and quiescent storage controllers
JP4236049B2 (ja) データのミラー・コピーを提供するための方法、システム、およびプログラム
US6912629B1 (en) System and method for restoring data from secondary volume to primary volume in a data storage system
US9946655B2 (en) Storage system and storage control method
US7472173B2 (en) Remote data copying among storage systems
US6701455B1 (en) Remote copy system with data integrity
US8468314B2 (en) Storage system, storage apparatus, and remote copy method for storage apparatus in middle of plural storage apparatuses
US7882316B2 (en) Shared data mirroring apparatus, method, and system
US8495014B2 (en) Asynchronous remote copy system and storage control method
JP5147570B2 (ja) ストレージシステム及びリモートコピー復旧方法
US20090006794A1 (en) Asynchronous remote copy system and control method for the same
JP2007122396A (ja) ディスクアレイ装置及びその障害対応検証方法
US20110167044A1 (en) Computing system and backup method using the same
US7890715B2 (en) Suspension of an asynchronous remote copy pair system having a primary controller and a remote controller
US20090228672A1 (en) Remote copy system and check method
US20140040349A1 (en) Server computer, server computer system, and server computer control method
US8281089B2 (en) Storage system and its initial copy method
US20050114740A1 (en) Concurrent PPRC/FCP and host access to secondary PPRC/FCP device through independent error management
JP2011253400A (ja) 分散ミラードディスクシステム、コンピュータ装置、ミラーリング方法およびそのプログラム
JP4721057B2 (ja) データ管理システム,データ管理方法及びデータ管理用プログラム
JP4413723B2 (ja) メモリ交差制御装置およびディスクコピー方法