[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2007286860A - データ転送方法及び情報処理装置 - Google Patents

データ転送方法及び情報処理装置 Download PDF

Info

Publication number
JP2007286860A
JP2007286860A JP2006112892A JP2006112892A JP2007286860A JP 2007286860 A JP2007286860 A JP 2007286860A JP 2006112892 A JP2006112892 A JP 2006112892A JP 2006112892 A JP2006112892 A JP 2006112892A JP 2007286860 A JP2007286860 A JP 2007286860A
Authority
JP
Japan
Prior art keywords
data
storage device
identifier
host computer
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.)
Pending
Application number
JP2006112892A
Other languages
English (en)
Inventor
Makoto Uchikado
内角  真
Kenichi Oyamada
健一 小山田
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 JP2006112892A priority Critical patent/JP2007286860A/ja
Priority to US11/455,816 priority patent/US7613674B2/en
Publication of JP2007286860A publication Critical patent/JP2007286860A/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/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • G06F11/1662Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • 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/2094Redundant storage or storage space

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】
別の記憶装置へデータをバックアップするシステムにおいて、所定時間におけるコピー元とコピー先のデータの整合性をとることを目的とする。
【解決手段】
ホスト計算機から業務の区切り毎に、識別子を付して記憶装置に書き込み要求を送り、ホスト計算機は、与えられた時間内に、バックアップ(コピー)可能なデータ量を識別子毎に求め、記憶装置にバックアップ指示を発行する。
【選択図】 図1

Description

あるストレージ装置から遠隔地に配置されたストレージ装置へデータを転送する技術に関する。
災害等により、ホストに接続されたストレージ装置に障害が発生する場合に備えて、遠隔地に別のストレージ装置を配置し、この遠隔地に配置されたストレージ装置にデータを退避するディザスタリカバリの技術がある。ここで、ホストと接続されたストレージ装置を正ストレージ装置、正ストレージ装置に対して遠隔地に配置されたストレージ装置を副ストレージ装置と呼ぶ。このように、正ストレージ装置、副ストレージ装置を備えたシステムにおいて、正ストレージ装置から副ストレージ装置へ同期又は非同期にデータを送る技術がある(特許文献1)。
正ストレージ装置から副ストレージ装置へ同期してデータを送る場合は、ホストからの書込み要求に対して正ストレージ装置、副ストレージ装置の両方に対してデータの書込みが完了した後に、ホストへ応答を返す。一方、非同期の場合は、副ストレージ装置へデータを書き込む前に、ホストへ応答を返し、その後、正ストレージ装置から副ストレージ装置へデータが送られ、副ストレージ装置にデータが書き込まれる。
特開2005−222110
上述のように、同期の場合は正ストレージ装置と同一なデータが副ストレージ装置に格納されていることが保証できる。しかしながら、正ストレージ装置と副ストレージ装置との距離が長くなると副ストレージ装置へのデータ転送に時間がかかり、ホストでの業務に支障をきたすことになる。一方、非同期の場合は正ストレージ装置と副ストレージ装置との距離を長くしてもホストの業務に支障をきたすことはないが、正ストレージ装置と副ストレージ装置との間で、ある時点において同一なデータが格納されていないといったことが起こる。この場合、災害により正ストレージ装置がダウンし、副ストレージ装置で業務を再開しようとしても、書き込まれたはずのデータが副ストレージ装置に格納されていない場合が生じ、業務の再開に時間がかかってしまうといった問題が生ずる。同様に、副ストレージ装置に格納されたデータを正ストレージ装置へリストアした場合にも、正ストレージ装置を障害発生前の状態に完全に戻せない場合が生じ、業務の再開に時間がかかってしまうといった問題が生じる。
ホストは、データを書き込む際に業務的に意味のある区切りを示す区切り識別子を書込要求に付して記憶システムであるストレージ装置に送る。ストレージ装置は、区切り識別子毎にデータ量を管理し、ホストから要求を受けた場合に、区切り識別子とデータ量とをホストに送る。ホストでは送られてきたデータ量に基づいて、所定時間内に転送可能なデータを区切り識別子の単位で求め、求めた区切り識別子をストレージ装置へ送る。ストレージ装置は、送られてきた区切り識別子に関するデータをコピー先のストレージ装置へ優先的に送る。
副ストレージ装置を利用した業務の再開をできる限り早く行うことが可能となる。
図1に情報処理システムの構成を示す。
情報処理システムは、ホスト101a−101d、ストレージ装置102a−102dとを有している。ホスト101a、101dとストレージ装置102a、ホスト101bとストレージ装置102b、ホスト101cとストレージ装置102cとは、それぞれネットワークを介して接続されている。また、ストレージ装置102aとストレージ装置102dとはネットワークを介して接続されている。更に、ストレージ装置102a、ストレージ装置102cは、それぞれストレージ装置102bとネットワークを介して接続されている。ここで、ホスト101a、101d、ストレージ装置102a、102dをサイトA、ホスト101bとストレージ装置102bをサイトB、ホスト101cとストレージ装置102cをサイトCとすると、サイトA、サイトB、サイトCは地理的に離れた場所に配置されている。また、サイトA、Cのホスト101a、101d、101cは通常業務を行うメインサイトである。サイトBのホスト101cはサイトA、Cのデータの複製をバックアップデータとして保持し、障害が発生した場合に、サイトA、サイトCに代替してホスト101bが業務を行うサブサイトである。
ホスト101は、プロセッサ103と、メモリ104とを有している。ホスト101dのメインメモリ104dには、業務プログラム110が格納されている。また、ホスト101a〜101cのメモリ104a〜104cには、それぞれ業務プログラム110と、コピー制御プログラム111が格納されている。プロセッサ103は、メモリ104に格納された業務プログラムやコピー制御プログラム111を読み出して、実行する。業務プログラム110の実行により、プロセッサ103から書込みデータ及び書込みコマンド、読出しコマンドが発行されるが、業務の区切りとなる書込みデータを送る際に書込みコマンドに業務的な区切りを意味する識別子(以下、「区切り識別子」と称す。)を付す。業務的な区切りとは、例えば、業務プログラム110が一連の処理を繰り返し実行する場合における、この繰り返される単位である。コピー制御プログラム111の処理については、後述する。
なお、ホスト101bのメモリ104bには、それぞれホスト101a、101d、101cの業務プログラムが格納されており、サイトA、サイトCが障害により業務を実行できなくなった場合に、サイトBで業務を再開できるようになっている。
ストレージ装置102は、制御部105と、複数の記憶媒体106とを有している。記憶媒体106は、例えば、ディスク装置や、半導体メモリ等である。また、ストレージ装置102は、制御コマンドボリューム121、データボリューム122、ジャーナルボリューム123、スナップショットボリューム124を有している。各ボリュームは、1つ又は複数の記憶媒体106の記憶領域を論理的に区切った記憶領域(ボリューム)であり、これは制御部105によって提供される。なお、図1では各ストレージ装置102が、それぞれ一つのボリュームを有しているが、複数のボリュームを持つように設定することもできる。ホスト101は、この制御コマンドボリューム121、データボリューム122に対してデータの書込み又は読出しを行う。なお、制御コマンドボリューム121に格納されるデータは、後述するようにコマンドや各種パラメータであるデータを含む。また、1つの業務プログラムは、複数のデータボリューム122に対してデータの書込み又は読出しを行うよう割当てることができる。
また、サイトA、Cのストレージ装置が有するデータボリューム122、ジャーナルボリューム123とサイトBのストレージ装置が有するデータボリューム122、ジャーナルボリューム123とはペアが形成されており、サイトA、Cのデータボリューム122、ジャーナルボリューム123に格納されたデータ又はジャーナルデータは、非同期でサイトBのデータボリューム122、ジャーナルボリューム123へ転送される。更に、サイトAのストレージ装置102aとストレージ装置102dとの間でも、データボリューム122、ジャーナルボリューム123とは、必要に応じてペアが形成されており、非同期でデータが転送されている。
なお図1では、ストレージ装置102dがサイトA内にある場合を示したが、別のサイトにあっても良い。その場合、ホスト101aは、ストレージ装置102bと同じようにストレージ装置102dを扱うことになる。また、ストレージ装置102aに格納されているデータは、ストレージ装置102d、102bにコピー(バックアップ)されるように、同じデータのコピー先が複数のストレージ装置に行われる構成としても良い。
以下、各ホスト及びストレージ装置の処理について詳細に説明する。
図2は、コピー制御プログラム111の構成と、コピー制御プログラム111の処理に必要な情報が格納されたテーブルを示したものである。このコピー制御プログラム111及び必要なテーブルは、ホスト101のメモリ104に格納されている。尚、コピー制御プログラム111は、プロセッサ103に読まれて実行されるが、プロセッサ103内にハードウェアとして構成されても、あるいは別々のハードウェアで構成されていてもよい。
コピー制御プログラム111はデータ退避決定部201、未送信データ取得部202、退避データ決定部203、退避指示実行部204を含む。また、コピー制御プログラム111を実行するために、危険情報保持テーブル211、サイト一覧テーブル212、業務データ格納先一覧テーブル213、データ退避先一覧テーブル214、未送信データ取得テーブル215、未送信データ一覧テーブル216、退避データ一覧テーブル217がある。
図3A〜Gは、各テーブルを示したものである。ここでは、ホスト101aが保持しているテーブルを示すが、他のホストも項目としては同様である。
図3Aは、危険情報保持テーブル211を示したものである。このテーブルは、ホスト101が後述する災害予測情報を受けた場合に、その情報を登録するためのテーブルであり、災害の発生予測時刻301、被災規模302が設定される。
図3Bは、サイト一覧テーブル212を示したものである。このテーブルは、ホスト101と同じエリアに配置されているストレージ装置102の装置識別子311、各ストレージ装置102の災害に耐えうる値(耐被災許容値)312、完全にストレージ装置が停止すると予測される値(耐被災上限値)313とが設定される。ここでは、サイトAのホスト101aと同じエリアに配置されているストレージ装置102a(装置識別子0001)、102d(装置識別子0002)の装置識別子、耐被災許容値、耐被災上限値が管理者により設定されている。
図3Cは、業務データ格納先一覧テーブル213を示したものである。これは、同じエリアに配置された各ホストの業務プログラムと業務プログラムのデータの格納先が設定されるテーブルであり、業務プログラム名321、データ名322、コピー元のストレージ装置の装置識別子323、コピー元のボリューム識別子(コピー先vol識別子)324が管理者により設定される。ここで、業務プログラムA、Bはホスト102aが実行する業務プログラムであり、業務プログラムC、Dはホスト102bが実行する業務プログラムである。
図3Dは、データ退避先一覧テーブル214を示したものである。これは、図3Cに示した業務プログラムのデータが格納されるボリュームのペア関係が設定されるテーブルであり、コピー元装置識別子331、コピー元vol識別子332、コピー先装置識別子333、コピー先vol識別子334、コピータイプ335、優先度336、データ転送速度337が設定される。コピー元装置識別子331、コピー元vol識別子332、コピー先装置識別子333、コピー先vol識別子334、コピータイプ335、管理者が設定しても良いし、後述するストレージ装置のペア定義テーブルから読み出して設定しても良い。優先度336は、データ退避する場合の優先度である。管理者は、データの内容や、コピータイプに基づいて優先度を設定する。ここでは数値が小さいものほど優先度が高い場合を示している。データ転送速度337は、ペア毎に設定されている。これは、ストレージ装置間のデータ転送においては、全てのボリュームのデータを同じポート利用する場合や、異なったポートを利用する場合があるため、ボリューム毎にデータ転送速度が登録できるようになっている。このデータ転送速度328は、設計時の値を管理者が登録してもよいし、ストレージ装置において実際のデータ転送で測定される値を収集し、登録しても良い。
図3Eは、未送信データ取得テーブル215を示したものである。これは、後述するストレージ装置から未送信データに関する情報(未送信データ情報)を取得するための情報(未送信データ取得情報)であり、コピー元装置識別子341、コピー元vol識別子342、コピー先装置識別子343、コピー先vol識別子344が含まれる。取得フラグ345は、未送信データ情報をストレージ装置から取得したかどうかを示すものであり、「0」はまだ取得していない状態を、「1」は取得した状態を示している。
図3Fは、未送信データ一覧テーブル216を示したものであり、図3Eの未送信データ取得情報によって、ストレージ装置から取得した未送信データ情報が登録されている。未送信データ情報は、区切り識別子351、タイムスタンプ352、コピー元装置識別子353、コピー元vol識別子354、コピー先装置識別子355、コピー先vol識別子356、データ量357を含むものである。
図3Gは、退避データ一覧テーブル217を示したものである。このテーブルは、コピー元のストレージ装置毎に生成されるテーブルであり、ストレージ装置においてデータ退避に利用される情報が設定される。各テーブルには、発生予測時刻361、災害規模362、危険到達猶予時刻363、書込み拒否フラグ364、退避データ情報365が登録されている。退避データ情報365は、退避するデータを特定するための情報であり、区切り識別子、タイムスタンプ、コピー元装置識別子、コピー元vol識別子、コピー先装置識別子、コピー先vol識別子を含む未送信データ情報である。また、ストレージ装置へ、この未送信データ情報を送信したか否かを設定する状態366が設定される。
図3A〜Gでわかるように、本情報処理システムでは、ホスト101dがコピー制御プログラム111を有していないため、ホスト102aがホスト101dのデータの退避を行う構成としている。ホスト101dが、コピー制御プログラム111を有するようにしてもよい。
以下、ホスト101aが災害予測情報を受けた場合を例に、コピー制御プログラム111の処理について説明する。ここで説明する災害予測情報は、地震に関するものであり、揺れの到達時刻と揺れの大きさの情報が含まれる。また、この災害予測情報は、所定エリア毎に災害予測情報を発信する装置があり、このエリア内のホストが受信する。従って、サイトA、B、Cが異なるエリアである場合、サイトAのみ災害予測情報が送られる場合がある。また、広域災害となる場合には、サイトA、B、Cに災害予測情報が送られるが、その情報の内容が各サイトで異なったり、あるいは異なるタイミングで災害予測情報を受取る。災害予測情報は、無線、あるいは有線のネットワークを介して送られてくる。各ホストは、無線あるいは有線のネットワークを介して送られてくる災害予測情報を受信する受信装置を有しており、受信によりコピー制御プログラム111が実行される。
図4は、コピー制御プログラム111の処理を示したものである。
コピー制御プログラム111は、受取った災害予測情報を危険情報保持テーブル211に設定する(ステップ401)。具体的には、ホスト101aが災害予測情報を受取った場合、発生予測時刻301に災害予測情報に含まれる揺れの到達時刻を、被災規模302に災害予測情報に含まれる揺れの大きさの情報を登録する。
次に、データの退避が必要かどうかを判断する(ステップ402)。これは、危険情報保持テーブル211の被災規模302の値と、サイト一覧テーブル212の耐被災許容値312とを比較し、被災規模の値が耐被災許容値より小さい場合(ステップ402で「N」)、データの退避が不要と判断し、処理を終了する。一方、被災規模の値が耐被災許容値以上となるストレージ装置がある場合、データの退避が必要と判断し(ステップ402で「Y」)、被災規模の値が耐被災許容値以上となるストレージ装置を特定する(ステップ403)。次に、特定したストレージ装置がコピー元のストレージ装置であるデータを特定し(ステップ404)、更に、特定したストレージ装置がコピー先のストレージでないデータを特定し(ステップ405)、この特定したデータを未送信データ取得テーブル214に設定する(ステップ406)。図3A、Bより、ステップ403で、ストレージ装置102a、102dが特定される(ストレージ装置102a、102dの装置識別子は、それぞれ0001、0002である。)。そして、ステップ404により、ストレージ装置102a、102dがコピー元のストレージ装置であるデータ(DB−A〜DB−D)が特定され、その後、ステップ405で、ストレージ装置102a、102dがコピー先のストレージ措置であるデータ(DB−C、DB−D)が除かれ、結果としてDB−A、DB−Bのデータが未送信データ取得テーブル215に設定される。なお、未送信データ取得テーブル215への設定は、データ退避先一覧テーブル214に設定された優先順位に従う。次に、未送信データ一覧テーブル215の取得フラグに「0」を設定し(406)、未送信データ取得部202、退避データ決定部203、退避指示実行部204を実行する(ステップ407)。これにより未送信データ取得部202、退避データ決定部203、退避指示実行部204の処理が、本処理と並行して実行される。次に、危険情報保持テーブル211の被災規模302と、サイト一覧テーブル212の耐被災上限値313とを比較し(ステップ408)、被災規模が耐被災上限値以上のストレージ装置がある場合、当該ストレージ装置の退避データ一覧テーブル217の書込み拒否フラグに「1」を、状態に「未送信」を設定し(ステップ409)、処理を終了する。ステップ408で全てのストレージ装置について被災規模が耐被災上限値より小さい場合、そのまま処理を終了する。
次に、未送信データ取得部202の処理を説明する。図5は、未送信データ取得部202の処理を示したものである。まず、未送信データ取得テーブル215の取得フラグに「0」が設定されている、未送信データ取得情報を特定する(ステップ501)。ここでは、番号1の未送信データ取得情報が選択される。未送信データ取得情報が特定されたので(ステップ502で「Y」)、選択した未送信データ取得情報に含まれるコピー元装置識別子が同一で、取得フラグが「0」の未送信データ取得情報を特定し(ステップ503)、特定した未送信データ取得情報により、ストレージ装置へ送るデータを生成する(ステップ504)。ここでは、ステップ501で選択された、シーケンス番号1のコピー元装置識別子(0001)と同じ、コピー元装置識別子を有し、取得フラグが「0」である、番号2の未送信データ取得情報が特定される。そして、ステップ504で、図6Aに示すデータを生成する。図6Aはストレージ装置へ送られるデータの構造を示したものであり、後述する未送信データ情報を取得する未送信データ情報取得プログラム918を実行するコマンドと、取得する未送信データ情報を特定するコピー元装置識別子、コピー元vol識別子、コピー先装置識別子、コピー先vol識別子を含むものである。次に、生成したデータをストレージ装置102へ送る(ステップ505)。この生成したデータはストレージ装置102の制御コマンドボリューム121へ格納される。ストレージ装置102では、このデータに含まれるコマンドにより、未送信データ情報取得プログラム918を実行し、未送信データ情報を取得し、制御コマンドボリューム121に格納する。未送信データ取得部202は、制御コマンドボリューム121に格納された未送信データ情報を読み出す(ステップ506)。次に、読み出された未送信データ情報が、未送信データ一覧テーブル216に登録されているか判断し(ステップ507)、既に登録されていれば、ステップ501へ戻る。登録されていない場合には、未送信データ一覧テーブル216に登録する(ステップ508)。
次に退避データ決定部203の処理について説明する。図7は、退避データ決定部203の処理を示したものである。
まず、i=1を設定する(ステップ701)。次に、データ退避先一覧テーブル213で優先度がiのコピー元装置識別子、コピー元vol識別子、コピー先装置識別子、コピー先vol識別子を特定する(ステップ702)。次に、特定されたコピー元装置識別子、コピー元vol識別子、コピー先装置識別子、コピー先vol識別子と同じコピー元装置識別子、コピー元vol識別子、コピー先装置識別子、コピー先vol識別子を有する未送信データ情報を未送信データ一覧テーブル217から特定する(ステップ703)。例えば、優先度が1(i=1)の場合、図3では、ステップ702でデータ退避先一覧テーブル213の番号1が特定され、ステップ703で未送信データ一覧テーブル216の番号1〜3の未送信データ情報が特定される。次に、未送信データ情報があるかを判断し(ステップ704)、未送信データ情報がある場合、区切り識別子毎に、回線速度とデータ量からデータ伝送予測時間(データ量/データ転送速度)を求める(ステップ705)。このステップ705で、番号1〜3は、それぞれ2.5secと求められる。次に、退避データ一覧テーブル217に危険到達猶予時間が設定されているかを判断し(ステップ706)、登録されていない場合、危険情報保持テーブル211の発生予測時刻301と、ホスト101の時計による現在の時刻から、災害発生予測時刻までの残りの時間(危険到達猶予時間)を求め、退避データ一覧テーブル217に求めた危険到達猶予時間と、危険情報保持テーブル211に登録されている発生予測時刻、被災規模とを設定する(ステップ708)。退避データ一覧テーブルに危険到達猶予時間が既に登録されている場合(ステップ706で「Y」)、登録された危険到達猶予時間から退避データ一覧テーブル217に登録された退避データ情報のデータ伝送予測時間を差し引いた時間を新たな危険到達猶予時間とする(ステップ707)。新たな危険到達猶予時間を求める理由については後述する。
そして、求めたデータ伝送予測時間と危険到達猶予時間より、タイムスタンプが小さい順(つまり、古いデータ順)に、危険到達猶予時間内で転送可能な未送信データ情報を特定する(ステップ709)。例えば、危険到達猶予時間が4secである場合、シーケンス番号1の未送信データ情報が特定され、危険到達猶予時間が、10secである場合には、シーケンス番号1〜3の未送信データ情報が特定される。危険到達猶予時間が1secであれば、いずれの未送信データ情報も選択されない。
次に、未送信データ情報が特定されたかを判断し(ステップ710)、特定されていれば、未送信データ情報を退避データ一覧テーブル217の退避データ情報365として登録し、状態に「未送信」を設定する(ステップ711)。次にi=i+1とし(ステップ712)、優先度がiのデータがデータ退避先一覧テーブル214に登録されているかを判断し(ステップ713)、登録されていればステップ702から処理を開始する。もし登録されていなければ、ステップ701に戻り、優先度1から同じ処理を行う。このように再び優先度1から同じ処理を行う理由は、未送信データ取得部202がストレージ装置から順次、未送信データ情報を取得しているためである。従って、図7に示す処理で、未送信データ情報が特定され退避データ情報として登録されたとしても、その後、新たに未送信データ情報が登録される場合があるからである。このように新たな未送信データ情報について転送可能かを判断するために、ステップ707で既に求めた危険到達猶予時間から既に退避データ情報として登録されたデータの転送時間を差し引いたものを新たな危険到達猶予時間としている。
以上、未送信データ取得部202、退避データ決定部203について説明したが、この処理は、次に説明する退避指示実行部204によって終了されるまで、繰り返し実行される。
次に、退避指示実行部205の処理について説明する。図8は、退避指示実行部204の処理を示したものである。
まず、退避データ一覧テーブル217を順次参照し、状態366が「未送信」となっているものがあるかを判断する(ステップ801)。そして、「未送信」となっているものがあれば、当該退避データ一覧テーブルの「未送信」となっているものからストレージ装置へ送るデータを生成する(ステップ802)。
図6Bはデータ形式の一例を示したものである。コマンドとしては、登録コマンド、データ退避プログラム実行コマンド、転送コマンドがある。また、登録コマンドのパラメータとして、書込み拒否フラグ、発生予測時刻、被災規模、危険到達猶予時間がある。データ退避プログラム実行コマンドのパラメータとして、区切り識別子毎に、区切り識別子、コピー元vol識別子、コピー先vol識別子、タイムスタンプがある。また転送コマンドのパラメータとして、転送先であるストレージ装置を特定する装置識別子、登録コマンド、発生予測時刻、被災規模、危険到達猶予時間がある。転送コマンドとは例えば、ストレージ装置102aを介してストレージ装置102bへパラメータを送る場合に用いるものである。そのため、転送コマンドと共に、転送先のストレージ装置で実行するコマンド(登録コマンド)が含まれている。「未送信」となっているもののコマンド及びパラメータを設定し、それ以外はNULLを設定する。例えば、退避データ一覧テーブルの書込み禁止フラグについて「未送信」が設定されている場合、登録コマンド、書込み禁止フラグのみ設定し、その他についてはNULLを設定する。
次に、退避指示実行部204は、生成したデータを書込みデータとしてストレージ装置102へ送り、状態を「送信済」に設定する(ステップ803)。次に、現在時刻と発生予測時刻を比較し(ステップ804)、まだ発生予測時刻でない場合には、ステップ801へ戻る。現在時刻が発生予測時刻以上となっている場合、未送信データ取得部202、退避データ決定部203の処理を終了させ(ステップ805)、予め定めた所定時間待ち(ステップ806)、ストレージ装置を通常状態に戻すためのデータをストレージ装置102へ送り(ステップ807)、処理を終了する。ストレージ装置を通常の状態に戻すためには、ストレージ装置で管理されている書込み拒否フラグ、発生予測時刻、被災規模、危険到達猶予時間、優先制御情報を削除すれば良い。そのため、図6Cに示すように削除コマンドと、削除対象を指定するパラメータである書込み拒否フラグ、発生予測時刻、被災規模、危険到達猶予時間、優先制御情報を含むデータをストレージ装置へ送る。
以上説明したように、コピー制御プログラム111は、災害発生までの残り時間から退避すべきデータの特定、ストレージ装置への書込み拒否の設定を行うものである。尚、ここで説明したように、ストレージ装置102に処理を実行させるためのコマンドをデータの形式に変換して行っているが、ホスト101とストレージ装置102とを専用のネットワークで接続し、ストレージ装置102の制御部105へ直接、コマンドを送るようにしてもよい。また、コピー制御プログラム111の機能をストレージ装置102に設け、ストレージ装置102内で処理を行う構成としても良い。
次に、ストレージ装置102の処理について説明する。
図9は、ストレージ装置102の制御部105を示したものである。制御部105は、処理を実行するプロセッサ901と各種プログラムやプログラムの実行に必要なデータが格納される共有メモリ902、及び書込みデータ又は読出しデータが格納されるキャッシュメモリ903とを有している。共有メモリ902には、制御コマンド処理プログラム911、I/O処理プログラム912、コピーデータ送信プログラム913、ジャーナルデータ送信プログラム914、ジャーナルデータ反映プログラム915、スナップショット取得プログラム916、データ回復プログラム917、未送信データ情報取得プログラム918、未送信データ退避プログラム919、優先制御プログラム920、制御テーブル931、コピー制御テーブル932、ボリューム管理テーブル933、ペア定義テーブル934、ジャーナルデータ管理テーブル935、スナップショット管理テーブル936が格納されている。尚、上述した各プログラムは、プロセッサ901に読まれて実行されるが、制御コマンド処理部、I/O処理部、コピーデータ転送部、ジャーナルデータ送信部、データ反映部、スナップショット取得部、データ回復部、退避データ取得部、データ退避部としてプロセッサ901内にハードウェアとして構成されても、あるいは別々のハードウェアで構成されていてもよい。
また、ここでは、全てのストレージ装置102の制御部105が同じ構成をとることを前提としているが、必要に応じて構成を変えても良い。例えば、ジャーナルデータによるコピーをしない場合には、ジャーナルデータ送信プログラム914、ジャーナルデータ反映プログラム915はなくても良い。また、ジャーナルデータによるコピーを行う場合、ジャーナルデータを送信するストレージ装置の制御部には、ジャーナルデータ反映プログラム915は不要であり、ジャーナルデータを受信するストレージ装置の制御部には、ジャーナルデータ送信プログラム914は不要であることが後述の説明から明らかである。テーブルについても、プログラムに必要なテーブルを有していれば良いことが後述の説明から明らかである。
図10A〜10Hはストレージ装置の共有メモリに格納、管理されている情報を示したものである。ここでは、ストレージ装置102aを例に、図10A〜図10Fを用いて説明する。
図10Aは、制御テーブル931を示したものである。このテーブルには、書込拒否フラグ1001、災害情報1002、優先制御情報1003、スナップショット制御情報1004、データ回復制御情報1005が設定される。書込拒否フラグ1001は、「0」が設定されている場合には、ホスト又はストレージ装置から送られてきたデータの書込み要求に対して記憶領域にデータを書込み、ホストから送られてきた読出し要求に対しては記憶領域からデータを読み出す。「1」が設定されている場合には、ホスト又はストレージ装置からの書込み要求に対して「エラー」を戻し、データの書込みは行わない。読出し要求に対しては記憶領域からデータを読出し、データを要求元へ送信する。災害情報1002は、自ストレージ装置の災害情報と、他ストレージ装置の災害情報とを設定できるようになっている。災害情報としては、ストレージ装置の装置識別子、災害発生予測時刻、災害規模、危険到達猶予時間の情報が設定される。優先制御情報1003は、一次的に優先される処理(プログラム)が登録される。スナップショット制御情報1004は、スナップショットを取得の対象となるデータボリュームの識別子、スナップショットの開始時刻、スナップショットを取得する間隔が登録される。ここでは、2つのデータボリュームに対して、スナップショットを取得することが設定されている。データ回復制御情報1005は、データ回復の対象となるボリューム識別子と、回復したい時刻の情報が設定される。
図10Bは、コピー制御テーブル932を示したものである。このテーブルは、他のストレージ装置へ送信するデータが発生した場合に、タイムスタンプ1011、区切り識別子1012、データが格納されたキャッシュメモリのアドレス1013、コピー元vol識別子1014、コピー先vol識別子1015、優先フラグ1016が設定される。そして、番号(#)の小さい順にデータが送られる。タイムスタンプ1011は、ストレージ装置で書込みデータを受信した時刻である。区切り識別子1012は、ホストから送られてくる書込みコマンドに区切り識別子が付されている場合に、その区切り識別子が設定される。優先フラグ1016は、通常は「0」が設定されているが、ホストからのデータの退避指示を受け、優先して送信するデータがある場合に設定される。なお、番号1〜10、13〜22については、タイムスタンプの小さい順に並んでいる。これは、番号1〜10、13〜22が後述するリモートコピーのデータであり、ストレージ装置への書込み要求の順に設定されるためである。一方、番号11、12は、後述するジャーナルコピーであり、コピー先のストレージ装置から要求を受けたタイミングでデータの転送を行ためである。
図10Cは、ボリューム管理テーブル933を示したものである。このテーブルには、ストレージ装置で管理されているボリュームの識別子1021、ボリュームの用途1022、ボリュームが使われているかどうかを示す状態1023が設定されている。ボリュームの用途1022とは、制御コマンドボリューム、データボリューム、ジャーナルボリューム、スナップショットボリューム等である。状態1023で「使用中」とは、ホストがアクセス可能なように設定されている場合、書込みデータが格納された場合を意味する。
図10Dは、ペア定義テーブル934を示したものである。このテーブルには、コピー元のストレージ装置の識別子であるコピー元装置識別子1031、コピー元のボリュームの識別子であるコピー元vol識別子1032、コピー先のストレージ装置の識別子であるコピー先装置識別子1033、コピー先のボリュームの識別子であるコピー先vol識別子1034、タイプ1035、ジャーナルデータが格納されるジャーナルデータボリュームの識別子であるJNLvol識別子1036、コピーグループ識別子1037が設定される。タイプ1035は、後述するリモートコピー(RC)、又はジャーナルコピー(JC)のいずれが設定される。JNLvol識別子1026は、ジャーナルコピーの場合に、ジャーナルデータが格納されるボリュームの識別子が設定される。コピーグループ識別子1037は、複数のボリュームのデータをグループとしてコピーする場合に設定される。図10Dでは、番号6、7にコピーグループ識別子が設定されている。この2つのボリュームに格納されるデータは、所定のタイミングで同期がとられてコピーされる。なお、番号5については、コピー先装置識別子、コピー先vol識別子が設定されていないにもかかわらず、JNLvol識別子が設定されている。これは、単にコピー元vol識別子1:06に格納されるデータのジャーナルデータを取得していることを意味している。
図10Eは、ジャーナルデータ管理テーブル935を示したものである。このテーブルは、ジャーナルデータが格納さるボリュームの識別子(vol識別子)1041と、最新のジャーナルデータが書き込まれているボリュームのアドレス1042及びタイムスタンプ1043、ジャーナルデータが読み出されたところのボリュームのアドレス1044及びタイムスタンプ1045が登録されている。このタイムスタンプ1043、1045は、ストレージ装置で書込みデータを受信した時刻である。例えば、ボリューム1:05については、09:52:30のタイムスタンプのデータまで格納され、その中から09:50:30までのデータが読み出されたことを意味する。ボリューム1:05は、図10Dのペア定義テーブルより、データボリューム1:04のデータに対するジャーナルデータが格納されていることが分かる。また、このジャーナルボリューム1:05からジャーナルコピーのために09:50:10、09:50:30のタイムスタンプのデータが読み出され、図10Bのコピー制御テーブルの番号11、12に設定されている。なお、ボリュームの記憶領域は、制限があるため、全ての記憶領域にジャーナルデータが書き込まれると、既に読み出されたジャーナルデータに対して上書きしていく。また、ジャーナルデータ管理テーブル935の要求フラグ1046は、コピー先のストレージ装置で利用されるものである。後述するようにジャーナルコピーの場合、コピー先のストレージ装置からの要求に基づいてジャーナルデータを送信する。要求フラグ1046は、コピー先のストレージ装置で、コピー元のストレージ装置にジャーナルデータの送信要求を行ったか否かを示すもので、要求を行った場合に「1」、要求に対してジャーナルデータを取得した場合に「0」が設定される。図10Eは、コピー元のストレージ装置のジャーナルデータ管理テーブルを示したものであり、このフラグは利用しないので、「不要」を設定している。なお、コピー先のストレージ装置のジャーナルデータ管理テーブルの例を図10Gに示す。
図10Fは、スナップショット管理テーブル936を示したものである。このテーブルは、スナップショットの取得対象であるデータボリュームの識別子(データvol識別子)1051、スナップショットのデータが格納されているボリュームの識別子(スナップショットvol識別子)1052、スナップショットを取得した時刻1053が設定される。
図10G、10Hは、コピー先のストレージ装置で管理されているペア定義テーブル934、ジャーナルデータ管理テーブル935を示したものである。設定される情報の項目は、図10D、図10Eと同じである。
まず、ストレージ装置102における、リモートコピー、ジャーナルコピー及び、データ回復処理について説明する。
図11は、リモートコピー、ジャーナルコピー、データ回復処理の概念を示した図である。ここでは、コピー元のストレージ装置をストレージ装置102a、コピー先のストレージ装置をストレージ装置102bとして示している。
まず、リモートコピーについて説明する。リモートコピーは、コピー元のストレージ装置からコピー先のストレージ装置のデータボリュームに格納されるデータを送るものである。
図12は、データ送信プログラム913の処理を示したものである。
データ送信プログラム913は、コピー制御テーブル932に送信すべきデータがあるかを判断する(ステップ1201)。コピー制御テーブル932に制御情報が設定されていれば、送信すべきデータがあることになる。また、データの送信は、コピー制御テーブル932の番号が小さいものから行う。送信すべきデータがある場合、制御情報のコピー先vol識別子1015とペア定義テーブル943のコピー先vol識別子1034からコピー先のストレージ装置を特定し(ステップ1202)、コピー制御情報のキャッシュメモリのアドレスに基づいてキャッシュメモリに格納されているデータと、書込みコマンドを特定したストレージ装置へ送信する(1203)。データの送信が完了すると、コピー制御テーブル932から送信したデータに関する制御情報を削除する(ステップ1204)。その後、コピー制御テーブル932に送信すべきデータがあるかを判断するため、ステップ1201へ戻る。
なお、ストレージ装置102bに送られたデータは、ストレージ装置102bのキャッシュメモリ903bに格納され、順次、対応するデータボリューム122bに対応する記憶媒体106bに格納される。
次に、ジャーナルコピーについて説明する。ジャーナルコピーは、コピー元のストレージ装置からコピー先のストレージ装置へ、ジャーナルデータを送るものである。具体的には、図11に示すようにストレージ装置102aのボリューム1:04に格納されているデータのジャーナルデータがボリューム1:05に格納され、このジャーナルデータをストレージ装置103bのボリューム3:05に格納し、その後、ジャーナルデータに含まれるデータをボリューム3:04に格納するものである。ジャーナルデータについては、後述する。なお、ストレージ装置102aからジャーナルデータの送信は、ストレージ装置102bの送信要求に基づいて行われる。
図13は、ストレージ装置102bのジャーナルデータ反映プログラム915の処理を示したものである。ジャーナルデータ反映プログラム915は、ストレージ装置102bの制御テーブルの優先制御情報を参照し、ジャーナルコピーが設定されているかを判断する(ステップ1301)。優先制御情報にジャーナルコピーが設定されている場合(ステップ1301で「Y」の場合)、優先制御情報に設定されているコピー先vol識別子と、ストレージ装置102bのペア定義テーブルからジャーナルデータを格納するJNLvol識別子を特定し(ステップ1302)、ステップ1304の処理に移る。ステップ1301で優先制御情報にジャーナルコピーが設定されていない場合(ステップ1301で「N」の場合)、ジャーナルデータ管理テーブルの要求フラグに「0」が設定され、書込みタイムスタンプと、読出しタイムスタンプの差が大きいジャーナルボリュームを特定する(ステップ1303)。図10Gは、ストレージ装置102bのジャーナルデータ管理テーブル935を示したものである。ここで、ボリューム3:05、3:12、3:13は、ジャーナルコピーで利用されるジャーナルボリュームである。書込みのタイムスタンプは、ジャーナルデータに格納された最新のジャーナルデータのタイムスタンプであり、読出しのタイムスタンプはデータボリュームへデータを反映するために読み出されたジャーナルデータのタイムスタンプである。従って、書込みのタイムスタンプと読出しのタイムスタンプが一致していないことは、データボリュームへ反映されていないデータがあることを意味する。ここで、要求フラグが「1」となっているものは、既にこのジャーナルボリュームに対するジャーナルデータの送信要求を行っているものである。ステップ1303により、ジャーナルデータの送信要求を行っていない、送信フラグが「0」のジャーナルボリューム3:05、3:13について、書込みのタイムスタンプと、読出しのタイムスタンプの差より、ボリューム3:05が特定される。なお、コピーグループが設定されている場合には、コピーグループの単位でボリュームを特定する。
次に、ステップ1302、1303で特定されたジャーナルボリュームからジャーナルデータを読出し(ステップ1304)、読み出したデータを対応するデータボリュームへ格納し(ステップ1305)、空き領域を求める(ステップ1306)。ここで空き領域とは、読み出されたジャーナルデータが格納されていた領域である。つまり、データが反映された後は、ジャーナルデータが不要となるので、この領域を空き領域とし、新たなジャーナルデータを受取った場合に、この領域にジャーナルデータを格納する。空き領域が所定値以上であるかを判断し(ステップ1307)、所定値以上であれば、このジャーナルボリュームを利用してペアを形成するコピー元vol識別子、コピー先vol識別子と、空き領域の情報を含むジャーナルデータ送信要求をコピー元のストレージ装置へ送信し(ステップ1308)、ジャーナルデータ管理テーブルの要求フラグに「1」を設定しステップ1301へ戻る。また、空き領域が所定値以上ない場合にも、ステップ1201へ戻る。なお、ジャーナルデータ送信要求については、後述するように制御コマンドボリュームにデータとして格納し、コピー元のストレージ装置へ送る。
図14は、ストレージ装置102aのジャーナルデータ送信プログラム914の処理を示したものである。ジャーナルデータ送信プログラム914は、ストレージ装置102bからの空き領域の情報を含むジャーナルデータ送信要求を受けることにより実行される。ジャーナルデータ送信プログラム914は、ジャーナルデータ送信要求があると(ステップ1401で「Y」の場合)、ジャーナルデータ送信要求に含まれる、コピー元vol識別子、コピー先vol識別子とペア定義テーブルから対応するジャーナルボリュームを特定する(ステップ1402)。特定されたジャーナルボリュームからジャーナルデータを読出し、キャッシュメモリへジャーナルデータを格納するとともに、制御情報をコピー制御テーブルへ設定する(1403)。ジャーナルデータの読出しによりジャーナルデータ管理テーブルを変更し(1404)、ステップ1401へ戻る。なお、ジャーナルデータの読出しは、ジャーナルデータ送信要求に含まれる空き容量を満たすまで読み出す。なお、容量を満たす前に、書込みのタイムスタンプまでのジャーナルデータが読み出された場合には、そこまでのジャーナルデータを特定する。
次に、データ回復処理について説明する。データ回復処理は、これまで説明したリモートコピー、ジャーナルコピーのようにストレージ装置102aからストレージ装置102bへデータが転送されるものとは異なり、各ストレージの中で行われる処理である。このデータ回復処理は、ホストからの要求された時刻の状態にボリュームのデータを変更するものである。
ここでは、ストレージ装置102aでデータ回復処理を行う場合を例に説明する。
図11に示すように、ボリューム1:06に格納されるデータに対してジャーナルデータが作成され、ボリューム1:08に格納される。ここで、ボリューム1:06は、09:40:00までのデータが格納され、ボリューム1:08には、図10Eに示すように09:40:00までのジャーナルデータが格納されている。また、ボリューム1:06に格納されたデータに対して、図10Fに示すように07:00:00のデータ(スナップショットデータ)が、ボリューム1:09に、08:00:00のデータがボリューム1:10に格納されている。このような状態において、例えば、ホストから08:40:00のデータに回復する要求があった場合、ボリューム1:10のスナップショットデータをボリューム1:07にコピーする。これで、ボリューム1:07は08:00:00の状態になる。次に、ボリューム1:08に格納されているジャーナルデータのうち、08:00:00から08:40:00までのジャーナルデータを読出し、ジャーナルデータに含まれるデータをボリューム1:07に格納する。これにより、ボリューム1:07は、08:40:00の状態となる。このようにしてホストからの要求に応じた時刻のボリュームに回復する。なお、回復するデータをボリューム1:07に作成するようにしたが、これをデータが格納されているボリューム1:06に対して行うようにしても良い。
図15は、スナップショット取得プログラム916の処理を示したものである。
スナップショット取得プログラム916は、制御テーブル931の開始時刻、間隔をストレージ装置の時計を使って監視している(ステップ1501)。開始時刻、間隔によりスナップショットを取得する時刻になると(ステップ1501で「Y」)、スナップショットデータを格納するボリュームを選択し(1502)、スナップショットを取得する対象となるボリュームのデータを選択されたボリュームにコピーする(1403)。コピーが終了すると、スナップショット管理テーブルに、スナップショットデータが格納されたボリュームの識別子、取得した時刻を設定する(1504)。その後、ステップ1501へ戻る。ステップ1502におけるスナップショットデータを格納するボリュームの選択は、図10Cに示すボリューム管理テーブルを参照し、種別にスナップショットが設定され、状態が未使用のボリュームを選択する。図15において、スナップショットデータをデータのコピーにより取得する方法で説明しているが、次のように既に取得したスナップショットデータとジャーナルデータから新たなスナップショットデータを作成してもよい。具体的には、図11のボリューム1:10に対するスナップショットのデータは、図10Fより07:00:00時点のボリューム1:09のデータをボリューム1:10にコピーし、その後、08:00:00までのボリューム1:08に格納されたジャーナルデータのデータを格納することにより08:00:00時点のスナップショットデータを生成することができる。
図16は、データ回復処理プログラム917の処理を示したものである。データ回復処理プログラム917は、制御テーブル931のデータ回復時刻を監視している(ステップ1601)。データ回復時刻が登録された場合に、制御テーブル931のデータボリューム識別子と、スナップショット管理テーブルから、データ回復時刻に近いスナップショットデータが格納されているボリュームを特定する(ステップ1602)。次に、回復するデータを格納するボリュームを特定する(ステップ1603)。これは、制御テーブル931に、データ回復ボリュームが登録されていれば、そのボリュームを、登録されていなければ、スナップショットデータの取得の対象となるデータボリュームを回復するデータを格納するボリュームとする。次に、特定されたボリュームに、ステップ1602で特定されたボリュームのスナップショットデータをコピーし(ステップ1604)、特定したスナップショットデータの取得時刻が、登録された回復時刻と一致するかを判断し(1605)、一致していない場合、回復時刻までのジャーナルデータをジャーナルボリュームから読出し、ジャーナルデータのデータをスナップショットデータがコピーされたボリュームに格納し(1606)、ステップ1601へ戻る。なお、ステップ1605で、一致した場合には、ステップ1601へ戻る。
以上、ストレージ装置102における、リモートコピー、ジャーナルデータによるコピー及び、データ退避処理について説明した。
上記の説明では、ストレージ装置102aからストレージ装置102bへデータを送る場合について説明したが、ストレージ装置102bからストレージ装置102aへデータを送る場合も同様の構成により実現できる。
次に、制御コマンド処理プログラム911、I/O処理プログラム912、データ取得プログラム918、データ退避プログラム919、優先制御プログラム920について説明する。
図17は、制御コマンド処理プログラム911の処理を示したものである。
制御コマンド処理プログラム911は、ボリューム管理テーブル933に「制御コマンド」と登録されたボリュームについて、ホストから送られたデータが格納されているかを判断する(ステップ1701)。データが格納されていない場合には、ステップ1701に戻る。データが格納されている場合、そのデータに転送コマンドが含まれているかを判断する(ステップ1702)。転送コマンドが含まれている場合には、データの編集を行い(ステップ1703)、キャッシュメモリに編集したデータを格納し、コピー制御テーブルへ制御情報を設定する(ステップ1704)。ここで、データの編集とは、転送コマンド以降のコマンド及びパラメータを取り出し、決められた形式のデータとすることである。
次に、転送コマンド以外のコマンドがあるかを判断し(ステップ1705)、転送コマンド以外のコマンドがある場合には、コマンドの処理を行う。ここでのコマンドの処理としては、データ取得プログラム918、データ退避プログラム919の実行あるいは、制御テーブルへのパラメータの設定を行う登録処理、制御テーブルへ登録されたパラメータを削除する削除処理がある。
図18は、I/O処理プログラム912の処理を示したものである。
このI/O処理プログラム921は、ホスト101及び他のストレージ装置からI/Oが送られてきた場合に処理を行う。例えば、図1に示したシステムでは、ストレージ102aは、主にホスト101a、101dから送られてくるI/Oを処理するものであり、ストレージ装置102bは、ホスト101b、ストレージ装置102a、102cから送られてくるI/Oを処理するものである。ここで、I/Oの例としては、データの読出し要求、書込みデータを伴う書込み要求である。
I/Oが送られてきた場合、書込み要求であるかを判断する(ステップ1801)。書込み要求である場合、制御テーブルの書込み拒否フラグが「0」であるかを判断する(ステップ1802)。書込み制御フラグが「0」である場合、書込みデータをキャッシュメモリに格納し(1803)、送信元へ書込みが完了した旨を通知する(ステップ1804)。なお、書込みデータをキャッシュメモリに格納する時点で、データに対するタイムスタンプが設定される。次に、ペア定義テーブル934を参照してコピーのタイプを判断する(1805)。コピータイプの判断は、書込み要求に含まれるボリュームの識別子とペア定義テーブル934のコピー元vol識別子1032からタイプ1035の情報を参照することで判断する。リモートコピータイプである場合、コピー制御テーブル932へ制御情報を格納し(ステップ1806)、処理を終了する。制御情報とは、タイムスタンプ、キャッシュメモリのアドレス、コピー元、コピー先のボリューム識別子であり、また書込み要求に識別子が付されている場合には、この識別子も制御情報となる。
ステップ1805で、ジャーナルコピーと判断された場合には、ジャーナルデータを作成し、ジャーナルボリュームへジャーナルデータを格納する(ステップ1807)。ジャーナルデータは、ヘッダ部とデータ部からなり、ヘッダ部にはシーケンス番号、書込みデータを受信した時刻、書込み要求に含まれるボリュームの識別子、書込みデータが格納されるボリュームの論理アドレス、データサイズ、書込み要求に識別子が付与されていれば、識別子が格納される。データ部は、書込みデータが格納される。そして、作成されたジャーナルデータをボリュームに格納する。この時に、ジャーナルデータ管理テーブルに、ジャーナルデータを格納したボリュームのアドレス、及びタイムスタンプを登録する。
ステップ1805で、リモートコピー、ジャーナルデータコピーのいずれでもない場合には、そのまま処理を終了する。
また、ステップ1802において、書込み拒否フラグが「1」である場合、書込み要求の送信元に対して、「エラー」を通知し(ステップ1808)、処理を終了する。書込み拒否フラグ1001は、先に説明したように当該サイトが災害により被災する可能性がある場合に「1」に設定される。従って、災害発生前であっても、ホスト又はストレージ装置からの書込みを拒否することにより、被害の拡大を防止している。つまり、キャッシュメモリ903にデータを格納した状態で、ホスト、ストレージ装置に対して書込み完了の応答をした場合であっても、キャッシュメモリ903から記憶媒体106にデータを格納している際中に、障害となれば、記憶媒体106へ正常にデータが格納されないことが起こる。この場合、どこまでのデータが記憶媒体へ格納されたか不明となり、回復に時間がかかってしまう。本実施例では、事前に書込み要求に対して「エラー」を戻すことで、このようなことを防止するようにしている。
一方、ホストからのI/Oが読出し要求である場合(ステップ1801で「N」の場合)、キャッシュメモリ903に対象となるデータがあるか調べ(ステップ1809)、データがあれば、送信元へデータを送る。データがない場合には、記憶媒体106からデータを読み出し(ステップ1810)、送信元へ読み出したデータを送信する。
図19は、未送信データ情報取得プログラム918の処理を示したものである。未送信データ情報取得プログラム918は、制御コマンド処理プログラム911によって実行される。つまり、ホスト101から制御コマンドボリューム121に未送信データ取得情報と未送信データ取得プログラム918の実行指示が含まれたデータが書き込まれ、制御コマンド処理プログラム911が、このデータに基づいて未送信データ情報取得プログラム918を実行する。なお、未送信データ取得情報とは、図3Eで示したコピー元装置識別子、コピー元vol識別子、コピー先装置識別子、コピー先vol識別子が含まれる。
未送信データ情報取得プログラム918は、制御コマンドボリューム121に格納された未送信データ取得情報を読出す(ステップ1901)。次に、未送信データ取得情報に含まれるコピー元vol識別子、コピー先vol識別子と一致する制御情報をコピー制御テーブル931で特定する。(ステップ1902)。例えば、未送信データ取得情報が図3E、コピー制御情報テーブルが図10Bであった場合、番号1、3、14、15を除く制御情報が特定される。次に、特定された制御情報の中で、区切り識別子毎のデータ量を求める(ステップ1903)。区切り識別子毎のデータは次のようにして求める。例えば、図10Bの番号10の区切り識別子の場合、このタイムスタンプより小さいタイムスタンプを有し、区切り識別子を有する制御情報までを特定する。この場合、番号7、9の制御情報が特定される。そして、番号7、9、10のデータ量の合計を区切り識別子のデータ量とする。同様に、他の区切り識別子についてもデータ量を求める。
このようにして求めたデータ量を、区切り識別子、タイムスタンプ、コピー元、コピー先装置識別子、コピー元、コピー先vol識別子と共に未送信データ情報として、制御コマンドボリューム121に格納する(ステップ1904)。また、ジャーナル管理テーブル935から未送信となっているジャーナルデータに対しても同様に、区切り識別子毎のデータ量を求める(ステップ1904)。未送信のジャーナルデータは、ジャーナル管理テーブル935の書込みと読出しの差(間)の部分である。この間にあるジャーナルデータに含まれる区切り識別子を特定し、この区切り識別子に関連するデータのデータ量を求める。これについては、上述のコピー制御テーブル932に登録された制御情報から求める場合と同じである。なお、この場合、区切り識別子で区切られる一部のジャーナルデータが送信対象となり、キャッシュメモリ903に格納されている場合もある。従って、ジャーナルデータから区切り識別子を特定した場合、コピー制御テーブル932を参照して、データ量を求める。このようにして、求めたデータ量を、区切り識別子、タイムスタンプ、コピー元、コピー先装置識別子、コピー元、コピー先vol識別子と共に未送信データ情報として、制御コマンドボリューム121に格納し(ステップ1905)、処理を終了する。
図20は、データ退避プログラム919の処理を示したものである。このデータ退避プログラム919は、制御コマンド処理プログラム911によって実行される。つまり、ホストから、図3Gに示す区切り識別子、タイムスタンプ、コピー元、コピー先装置識別子、コピー元、コピー先vol識別子、優先度を含むデータ退避情報と、データ退避プログラム実行コマンドとが制御コマンドボリューム121に格納され、制御コマンド処理プログラム911により、データ退避プログラム919が実行される。
ここで示しているデータ退避プログラム919は、リモートコピー、ジャーナルコピーにおけるデータ又はジャーナルデータの送信側と、受信側との処理が含まれるものになっている。
データ退避プログラム919は、制御コマンドボリューム121に格納されたデータ退避情報から、優先度が高く、かつ、タイムスタンプが小さいデータ退避情報を読み出すとともに、当該読み出したデータ退避情報を制御コマンドボリューム121から消去する(ステップ2001)。次に、読み出したデータ退避情報に含まれるコピー元装置識別子、コピー元vol識別子、コピー先装置識別子、コピー先vol識別子から、ペア定義テーブル934を参照し、このデータはリモートコピーであるかジャーナルコピーであるかを判断する(ステップ2002)。リモートコピーである場合、読み出したデータ退避情報によって特定されるデータが優先して転送されるように、コピー制御テーブル932を変更し、優先処理フラグを設定する(ステップ2003)。例えば、コピー制御テーブル932が、図10Bの状態であり、ステップ2001でタイムスタンプ09:50:00、コピー元vol識別子1:03、コピー先vol識別子3:03のデータ退避情報を読み出した場合、番号2、4、5の制御情報を番号1、2、3に設定し、これに合わせて、その他の制御情報を変更する。また番号1、2、3の優先フラグに「1」を設定する。この結果を図10Hに示す。なお、コピー制御テーブル932の変更は、既に優先処理フラグが設定されている部分の設定は変更しない。つまり、図10Hの状態で、次に、番号7、9、10の制御情報を変更する場合、番号3、4、5に番号7.9、10の制御情報が設定される。このように、コピー制御テーブル932を変更した後、制御テーブル931の優先制御情報1003に「リモートコピー」を設定する(2004)。これにより、リモートコピーにおけるデータ送信プログラムが優先して実行される。次に、データ制御コマンドボリューム121に格納されたデータ退避情報のうち、タイムスタンプが小さいデータ退避情報があるかを判断し(ステップ2005)、あればステップ2001へ戻る。なければ、処理を終了する。
一方、ステップ2002で、ジャーナルコピーである場合、コピー先のストレージ装置からジャーナルデータ送信要求を発行させるためのデータを生成する(ステップ2006)。既に説明したようにジャーナルコピーの場合、コピー先のストレージ装置からジャーナルデータ送信要求によって、コピー元のストレージ装置からコピー先のストレージ装置へジャーナルデータが送られる。従って、コピー先のストレージ装置において、ジャーナルデータ反映プログラムを優先して実行するようにする必要がある。そのため、制御テーブルの優先制御情報の設定コマンドと、優先制御情報に設定する「ジャーナルコピー」、コピー元vol識別子、コピー先vol識別子をパラメータとするデータを生成する。制御テーブルの優先制御情報にこれらの情報が設定されると、ジャーナルデータ反映プログラムが優先的に、設定したコピー元、コピー先vol識別子で特定されるジャーナルボリュームにデータを格納するようジャーナルデータ送信要求を発行するようになる。
ステップ2006で生成されたデータは、キャッシュメモリへ格納されるとともに、優先して転送されるようにコピー制御テーブルへ制御情報を設定し、優先処理フラグを設定する(ステップ2007)。更に、制御テーブルの優先情報に「ジャーナルコピー」を登録する(2008)。これにより、コピー元のストレージ装置では、ジャーナルデータ送信プログラム914が優先して実行される。
図21は、優先制御プログラム920の処理を示したものである。
優先処理プログラムは920、制御テーブル931の優先制御情報から優先して処理すべきプログラムがあるかを判断する(ステップ2101)。優先制御情報が設定されていれば、プロセッサの負荷を収集し(ステップ2102)、優先制御情報に関連しないプログラムの処理性能を低下させる(2103)。例えば、プログラムが時分割で実行されている場合に、優先制御情報としてリモートコピーが設定されている場合、データ送信プログラムの実行時間を長く、その他のプログラムの実行時間を短くする。もし、データ送信プログラムが十分に実行されなければ、ジャーナルデータ反映プログラム915、ジャーナルデータ送信プログラム914といった、リモートコピーとは関係しないプログラムの実行を停止する。次のステップ2104〜2107は、2108〜2112で災害発生が予測されるストレージ装置でデータ反映プログラムを実行している場合に、災害発生予測時刻前にこのプログラムを停止させるための処理である。まず、自ストレージ装置の災害情報が設定されているかを判断する(ステップ2104)。災害情報が設定されている場合には、データ回復プログラムが実行中であるかを判断し(ステップ2105)、実行中であれば、後述するステップ2112で求めたデータ回復プログラムの停止時刻になったかを判断する(ステップ2106)。停止時刻になっている場合、データ回復プログラムを停止し(ステップ2107)、ステップ2101へ戻る。災害発生中にデータ回復を行った場合に、災害の影響による障害データが格納される可能性がある。これを防止するために災害発生前にデータ回復処理を停止するようにしている。
一方、ステップ2101で優先制御情報が設定されていない場合、自ストレージ装置の災害情報が設定されているかを判断する(ステップ2108)。設定されている場合、ペア定義テーブルからデータ回復が可能なコピー元ボリューム、ジャーナルデータボリュームを特定する(ステップ2109)。例えば、図10Dの番号5のコピー元ボリューム、ジャーナルデータボリュームが特定される。次に、特定したコピー元ボリュームを制御テーブルのデータボリューム識別子に設定し(ステップ2110)、災害発生し予測時刻を制御テーブル931の回復時刻に設定し、優先制御情報にデータ回復を設定する(ステップ2111)。最後にデータ回復プログラム停止時刻を求め(ステップ2112)、ステップ2101へ戻る。なおデータ回復プログラム停止時刻は、災害発生予測時刻でもよいし、災害発生時刻から所定時間前の時刻としてもよい。このようにステップ2108〜2112では、災害を受けるストレージ装置内で、データ回復制御を実行するようにしている。これにより、災害でホスト又はストレージ装置がダウンしても、災害発生前のデータから直ぐに業務を再開することが可能となる。
また、ステップ2108で自ストレージ装置の災害情報が設定されていない場合、制御テーブル913に他のストレージ装置の災害情報が設定されているか判断する(ステップ2113)。他のストレージ装置の災害情報が設定されている場合、ペア定義テーブル934から、データ回復が可能なコピー元ボリューム、ジャーナルデータボリュームを特定する(ステップ2114)。次に特定したコピー元ボリュームを制御テーブル931のデータ回復制御情報のデータボリューム識別子に設定する(ステップ2115)。また、災害発生予測時刻を制御テーブル回復時刻に設定し、優先制御情報にデータ回復を設定する(2116)。このステップ1214〜ステップ1216は、コピー先のストレージ装置で行われる処理である。例えば、図1のストレージ装置102aからストレージ装置102bへリモートコピー又はジャーナルコピーが行われ、更にストレージ装置102bでスナップショットデータ、ジャーナルデータを取得している場合、ストレージ装置102aで災害が発生する直前のデータを生成するようにしている。これにより、ストレージ装置102aが障害となり、ストレージ装置102bへ業務が引き継がれた場合、災害発生前のデータから直ぐに業務を実行することが可能となる。
なお、ステップ2101、ステップ2108、ステップ2113での判断が「N」である場合、通常の処理状態にしてステップ2101へ戻る。通常の処理とは、例えば時分割処理を行っている場合に、実行されているプログラムの実行時間を均等に割当てることである。また、ステップ2103で、プロセッサの処理により優先制御情報に設定された処理を関連しないプログラムの処理を低下させることを説明したが、図1のストレージ装置102a、ストレージ装置102cから、例えばリモートコピーの優先制御情報が設定された場合、ストレージ装置102bの負荷が大きくなってしまう場合がある。この場合、制御テーブルに設定された発生時刻が近い方のストレージ装置からのリモートコピーを優先的に処理するようにしても良い。同様に、災害規模が大きい方のストレージ装置からのリモートコピーを優先的に処理するようにしてもよい。これは、例えば優先的に処理するデータをキャッシュメモリからコピー先のボリュームに格納するようにすれば良い。また、I/O処理プログラム912で、優先的に処理しないストレージ装置からの書込み要求に対しては、何回かの割合で、エラーを戻すようにしてもよい。
なお、ここでは、災害規模を例に説明したが、通常、ストレージ装置は建物の中に置かれており、地震によりストレージ装置に障害が発生するかは、建物の耐震強度との関係を考慮してもよい。つまり、図3Bで、ホストは、ストレージ装置の耐被災許容値を管理しているが、これに加えて建物の耐被災許容値を管理する。そして、災害情報を受取ったホストは、ストレージ装置の耐被災許容値と建物の耐被災許容値との差を求め、この差をストレージ装置へ通知する。例えば、図1のストレージ装置102bが、サイトA、サイトCから、ストレージ装置の耐被災許容値と建物の耐被災許容値との差を受けた場合、この差が大きい方のストレージ装置に対するデータのコピーを優先的に行うように処理するようにしても良い。
なお、ここでは地震を例に説明したが、これ以外の災害であっても、発生予測時刻、災害規模のように退避すべきかどうかを判断する情報があれば、適用することができる。
これまでの説明は、災害予測情報に基づいてデータを退避するものであったが、災害予測情報に関わらず、所定の時刻までに、コピー元ストレージからコピー先ストレージ装置へデータを送るよう運用することができる。これにより、所定の周期でコピー元とコピー先のデータの一致を保証することが可能となる。
図22は、管理者によりホストに設定されるコピー管理テーブルの一例を示したものである。このコピー管理テーブルは、ホストのメモリに格納されている。コピー管理テーブルは、ストレージ装置2201、データ2202、開始時刻2203、実行間隔2204、対象ジョブ2205、データ退避所要上限時間2206が設定できるようになっている。ストレージ装置2201は、コピー元のストレージ装置を特定する場合に設定するものである。この場合は、設定されたストレージ装置がコピー元となる全てのデータが対象になり、優先度に従ってデータが退避される。データ2202は、対象となるデータを指定するものである。設定にあたっては、ストレージ装置2201と、データ2202の両方を設定してもよいし、いずれかを設定しても良い。開始時刻2203、実行間隔2204は、データ退避の実行時刻を定めるものであり、開始時刻以降は、実行間隔により所定周期でデータ退避が実行されることになる。対象ジョブ2202は、ジョブ名称を設定するものであり、設定されたジョブが終了するたびに、データ退避が実行される。なお、開始時刻及び実行間隔と、対象ジョブとは、選択的に設定されても良いし、両方設定されても良い。データ退避所要上限時間2206は、データ退避を行う時間を設定するものである。データ退避は、対象となるデータが優先的にコピーされることになるので、対象外のデータのコピー優先度が下がり、場合によってはコピーが停止する場合がある。この状態が長く続くと、長い間コピーされないデータが発生する。これを防止するためにデータ退避所要上限時間を設定する。図22は、ストレージ装置識別子001のデータDB-A、DB-Bについて、0時から24時間毎に、また業務プログラムのJOB1が終了する毎に、1分間だけデータの退避が優先的に行われることを示している。なお、先に述べたように、これらは選択的に設定されても良い。
図23は、コピー管理テーブルの設定により実行されるコピー制御プログラム111の処理を示した図である。
コピー制御プログラム111は、コピー管理テーブルが設定されると処理を実行する。
まず、実行開始時刻2203、実行間隔2204、ホストの時計より実行開始時刻となっているかを判断する(ステップ2301)。実行開始時刻であれば、初期設定を行う(ステップ2301)。実行開始時刻でなければ、対象ジョブ2205が終了しているかを判断し(2302)、終了していれば初期設定を行う(ステップ2303)。対象ジョブ2202が終了していなければ、ステップ2201へ戻る。尚、ジョブとは複数の処理から業務プログラムが構成されている場合、この処理の単位であるが、業務プログラムを単位としても良い。
初期設定とは、未送信データ一覧テーブル、退避データ一覧テーブルに設定された値を削除(クリア)することである。
次にストレージ装置2201が設定されているかを判断し(ステップ2304)、設定されていれば、設定されたストレージ装置がコピー元のストレージ装置であるデータを特定し(ステップ2305)、次にデータ2202が設定されているかを判断する(2306)。ステップ2304でストレージ装置2201が設定されていないと判断した場合には、次にデータが特定されているかを判断する(ステップ2306)。データ2202が設定されていれば、データを特定し(ステップ2307)、特定したデータを未送信データ取得テーブル215へ設定する(ステップ2308)。データ2202が設定されていなければ、ステップ2305で特定されたデータを未送信データ取得テーブル215へ設定する(ステップ2308)。次に、未送信データ一覧テーブル215の取得フラグに「0」を設定し、未送信データ取得部202、退避データ決定部203、退避指示実行部204を実行し(ステップ2309)、ステップ2301へ戻る。これにより未送信データ取得部202、退避データ決定部203、退避指示実行部204の処理が、本処理と並行して実行される。
図24は、退避データ決定部203の処理を示したものである。
退避データ決定部203の処理は、図7に示した処理とほぼ同様の処理であるが、ステップ2405でデータ退避上限時刻が定められるかを判断している部分が相違する。データ退避上限時刻とは、実行開始時刻2203、実行間隔2204、データ退避上限時間2206から求めたものであり、データ退避処理を終了する時刻である。従って、データ退避上限時間2206が設定されている場合には、データ退避上限時刻有り、設定されていない場合には、データ退避上限時刻なしと判断する。データ退避上限時刻がない場合には、次の優先度を求め(ステップ2415)、ステップ2402へ戻る。
データ退避上限時刻がある場合、区切り識別子毎に、回線速度とデータ量からデータ伝送予測時間(データ量/データ転送速度)を求める(ステップ2406)。次に、退避データ一覧テーブル217に猶予時間が設定されているかを判断し(ステップ2407)、登録されていない場合、データ退避上限時刻と、ホスト101の時計による現在の時刻から、データ退避上限時刻までの残りの時間(猶予時間)を求め、退避データ一覧テーブル217に求めた猶予時間と、データ退避上限時刻とを設定する(ステップ2409)。退避データ一覧テーブルに猶予時間が既に登録されている場合(ステップ2407で「Y」)、登録された猶予時間から退避データ一覧テーブル217に登録された退避データ情報のデータ伝送予測時間を差し引いた時間を新たな猶予時間とする(ステップ2408)。
そして、求めたデータ伝送予測時間と猶予時間より、タイムスタンプが小さい順(つまり、古いデータ順)に、猶予時間内で転送可能な未送信データ情報を特定する(ステップ709)。
次に、未送信データ情報が特定されたかを判断し(ステップ2411)、特定されていれば、未送信データ情報を退避データ一覧テーブル217の退避データ情報365として登録し、状態に「未送信」を設定する(ステップ2412)。次にi=i+1とし(ステップ2413)、優先度がiのデータがデータ退避先一覧テーブル214に登録されているかを判断し(ステップ2414)、登録されていればステップ2402から処理を開始する。もし登録されていなければ、ステップ2401に戻り、優先度1から同じ処理を行う。
図25は、退避指示実行部205の処理を示したものである。
退避指示実行部205の処理は、図8に示した処理とほぼ同様の処理であるが、ステップ2504でデータ退避上限時刻が定められるか判断する処理と、ステップ2505で現在時刻がデータ退避上限時刻を越えているかを判断する処理が相違する。ステップ2504でデータ退避上限時刻が定められていない場合には、実行開始時刻2203、実行間隔2204、ホストの時計から実行開始時刻になっているかを判断する。実行開始時刻でない場合には、対象JOBが終了しているかを判断する。実行開始時刻でなく、対象JOBが終了していない場合には、ステップ2501へ戻る。実行開始時刻となっている場合、または対象JOBが終了している場合には、未送信データ取得部、退避データ決定部を終了する(ステップ2506)。つまり、データ退避上限時刻が定められない場合、つまりデータ退避上限時間が設定されていない場合には、次のデータ退避の開始時刻までデータ退避が続く場合が生じる。この場合、これまでのデータ退避を一旦終了させ、新たにデータ退避を行うようにしている。
なお、その他のステップ2506から2509については、図8のステップ805から808の処理と同じ処理を行う。
これ以外の処理部については、既に説明したのと同様の処理を行う。但し、処理の説明で、発生予測時刻と説明しているのはデータ退避上限時刻、危険到達猶予時間と説明しているのは猶予時間として処理が行われる。
これにより、コピー管理テーブルで設定した条件で、データのコピーが実行される。つまり、管理者によって定められた条件(時刻又はJOBの実行終了)で優先的にデータ退避を行うことが可能となる。
尚、本実施例で「データ退避」、「データコピー」とは、あるボリュームに格納されたデータと同じデータが、別のボリュームに格納されることを意味している。「データバックアップ」も同様に、あるボリュームに格納されたデータと同じデータが別のボリュームに格納されることを意味する。
情報システムの構成の一例を示した図である。 コピー制御プログラム及びコピー制御プログラムの実行に必要な情報を示した図である。 危険情報保持テーブルの一例を示したものである。 サイト一覧テーブルの一例を示したものである。 業務データ格納先一覧テーブルの一例を示したものである。 データ退避先一覧テーブルの一例を示したものである。 未送信データ取得テーブルの一例を示したものである。 未送信データ一覧テーブルの一例を示したものである。 退避データ一覧テーブルの一例を示したものである。 コピー制御プログラムの処理を示した図である。 未送信データ取得部の処理を示した図である。 データ形式の一例を示した図である。 データ形式の一例を示した図である。 退避データ決定部の処理を示した図である。 退避指示実行部の処理を示した図である。 ストレージ装置の制御部の構成を示した図である。 制御テーブルの一例を示した図である。 コピー制御テーブルの一例を示した図である。 ボリューム管理テーブルの一例を示した図である。 ペア定義テーブルの一例を示した図である。 ジャーナルデータ管理テーブルの一例を示した図である。 スナップショット管理テーブルの一例を示した図である。 ペア定義テーブルの一例を示した図である。 ジャーナルデータ管理テーブルの一例を示した図である。 コピーの概要を示した図である。 データ送信プログラムの処理を示した図である。 ジャーナルデータ反映プログラムの処理を示した図である。 ジャーナルデータ送信プログラムの処理を示した図である。 スナップショット取得プログラムの処理を示した図である。 データ回復処理プログラムの処理を示した図である。 制御コマンド処理プログラムの処理を示した図である。 I/O処理プログラムの処理を示した図である。 未送信データ情報取得プログラムの処理を示した図である。 データ退避プログラムの処理を示した図である。 優先制御プログラムの処理を示した図である。 コピー管理テーブルの一例を示した図である。 データ退避決定部の処理を示した図である。 退避データ決定部の処理を示した図である。 退避指示実行部の処理を示した図である。
符号の説明
101 ホスト
102 ストレージ装置
103 プロセッサ
104 メモリ
105 制御部
106 記憶媒体
110 業務プログラムイ
111 コピー制御プログラム
121 制御コマンドボリューム
122 データボリューム
123 ジャーナルボリューム
124 スナップショットボリューム

Claims (19)

  1. ホスト計算機と、前記ホスト計算機と接続された第1の記憶装置と、前記第1の記憶装置に接続された第2の記憶装置とを有し、前記ホスト計算機からのデータの格納要求を受けた前記第1の記憶装置が前記第1の記憶装置が有する第1の記憶領域にデータを格納するのと非同期に前記第2の記憶装置へ前記データを送信するデータ転送方法であって、
    前記ホスト計算機は、業務の区切りとなるデータの格納要求に、業務の区切り単位を示す識別子を付して前記第1の記憶装置に送信し、
    前記第1の記憶装置は前記ホスト計算機からの要求に基づいて、前記第2の記憶装置に未送信であるデータのデータ量を前記識別子毎に求め、前記識別子と前記データ量を前記ホスト計算機に送信し、
    前記ホスト計算機は、前記第1の記憶装置から受けた前記データ量に基づいて前記第1の記憶装置から受けた識別子の中から特定の識別子を選択し、選択された識別子を前記第1の記憶装置に送信し、
    前記第1の記憶装置は、前記識別子によってグループ化されたデータを前記第2の記憶装置へ優先的に送信することを特徴とするデータ転送方法。
  2. 前記ホスト計算機は、前記第1の記憶装置がデータの送信元となるデータを特定し、特定されたデータに関して、前記第1の記憶装置から前記第2の記憶装置へ未送信であるデータのデータ量を前記第1の記憶装置に要求することを特徴とする請求項1記載のデータ転送方法。
  3. 前記ホスト計算機は、予め定めた時間情報に基づいて周期的に前記要求を前記第1の記憶装置に送信することを特徴とする請求項2記載のデータ転送方法。
  4. 前記ホスト計算機は、災害情報の通知を受け、前記災害情報に含まれる災害発生予測時間までに前記第2の記憶装置に送信可能なデータ量から前記識別子を特定することを特徴とする請求項1記載のデータ転送方法。
  5. 前記ホスト計算機は、予め定められたデータ退避完了時刻までに前記第2の記憶装置に送信可能なデータ量から前記識別子を特定することを特徴とする請求項1記載のデータ転送方法。
  6. 前記ホスト計算機は、第1の記憶装置が災害に耐えられる値を有し、災害情報に含まれる災害の予測値と前記災害に耐えられる値を比較し、災害予測値が大きい場合に、前記第1の記憶装置に対するデータ格納要求に対してエラーを通知するよう前記第1の記憶装置に対して要求することを特徴とする請求項1記載のデータ転送方法。
  7. 前記ホスト計算機は、前記エラー通知を解除する要求を前記第1の記憶装置に送信することを特徴とする請求項5記載のデータ転送方法。
  8. 前記第1の記憶装置から前記第2の記憶装置へ送られるデータは、前記ホスト計算機から送られたデータとデータの格納要求に関する更新情報とを含むデータであって、当該データは、前記第2の記憶装置からの要求に基づいて前記第1の記憶装置から前記第2の記憶装置へ送信されることを特徴とする請求項1記載のデータ転送方法。
  9. 前記第1の記憶装置は、前記ホスト計算機で特定された識別子を受けた場合に、前記第2の記憶装置に、当該識別子に関するデータの送信要求を送るように前記第2の記憶装置に指示することを特徴とする請求項7記載のデータ転送方法。
  10. 業務の区切りとなるデータの格納要求に業務の区切り単位を示す識別子を付して発行するホスト計算機と、
    記憶領域を有する第2の記憶装置と、
    前記ホスト計算機と前記第2の記憶装置と接続され、前記ホスト計算機からのデータの格納要求を受けて第1の記憶領域にデータを格納し、前記データの格納と非同期に前記第2の記憶装置へ前記データを送信する第1の記憶装置とを有する情報処理システムであって、
    前記第1の記憶装置は、前記ホスト計算機から未送信データに関する要求に基づいて、前記第2の記憶装置に未送信であるデータのデータ量を前記識別子毎に求め、前記識別子と前記データ量を前記ホスト計算機に送信し、前記ホスト計算機から送られてきた前期識別子に基づいて、前記識別子によってグループ化されるデータを前記第2の記憶装置へ優先的に送信することを特徴とする情報処理システム。
  11. 前記ホスト計算機は、前記第1の記憶装置がデータの送信元となるデータを特定し、特定されたデータに関して、前記第1の記憶装置から前記第2の記憶装置へ未送信であるデータのデータ量を前記第1の記憶装置に要求することを特徴とする請求項10記載の情報処理システム。
  12. 前記ホスト計算機は、予め定めた時間情報に基づいて周期的に前記要求を前記第1の記憶装置に送信することを特徴とする請求項11記載の情報処理システム。
  13. 前記ホスト計算機は、災害情報に含まれる災害発生予測時間までに前記第2の記憶装置に送信可能なデータ量から前記識別子を特定することを特徴とする請求項10記載の情報処理システム。
  14. 前記ホスト計算機は、予め定められたデータ退避完了時刻までに前記第2の記憶装置に送信可能なデータ量から前記識別子を特定することを特徴とする請求項10記載の情報処理システム。
  15. 前記ホスト計算機は、第1の記憶装置が災害に耐えられる値を有し、災害情報に含まれる災害の予測値と前記災害に耐えられる値を比較し、災害予測値が大きい場合に、前記第1の記憶装置に対するデータ格納要求に対してエラーを通知するよう前記第1の記憶装置に対して要求することを特徴とする請求項10記載の情報処理システム。
  16. 前記ホスト計算機は、前記エラー通知を解除する要求を前記第1の記憶装置に送信することを特徴とする請求項10記載の情報処理システム。
  17. 前記第1の記憶装置は、前記ホスト計算機から送られたデータとデータの格納要求に関する更新情報とを含むデータを生成し、前記第2の記憶装置からの要求に基づいて生成したデータを前記第2の記憶装置へ送信することを特徴とする請求項10記載の情報処理システム。
  18. 前記第1の記憶装置は、前記ホスト計算機で特定された識別子を受けた場合に、前記第2の記憶装置に、当該識別子に関するデータの送信要求を送るように前記第2の記憶装置に指示することを特徴とする請求項17記載の情報処理システム。
  19. 前記第1の記憶装置は、第1の記憶領域に格納されるデータに対してデータと格納要求に関する更新情報とを含むデータを第2の記憶領域に格納するとともに、前記第1の記憶領域の所定時刻におけるデータのコピーを第3の記憶領域に格納し、前記ホスト計算機から災害発生の予測時刻を受けた場合に、前記第2の記憶領域に格納されたデータと、前記第3の記憶領域に格納されたデータから、前記予測時刻より所定時間前のデータを生成することを特徴とする請求項10記載の情報処理システム。
JP2006112892A 2006-04-17 2006-04-17 データ転送方法及び情報処理装置 Pending JP2007286860A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006112892A JP2007286860A (ja) 2006-04-17 2006-04-17 データ転送方法及び情報処理装置
US11/455,816 US7613674B2 (en) 2006-04-17 2006-06-20 Data transfer method and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006112892A JP2007286860A (ja) 2006-04-17 2006-04-17 データ転送方法及び情報処理装置

Publications (1)

Publication Number Publication Date
JP2007286860A true JP2007286860A (ja) 2007-11-01

Family

ID=38686443

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006112892A Pending JP2007286860A (ja) 2006-04-17 2006-04-17 データ転送方法及び情報処理装置

Country Status (2)

Country Link
US (1) US7613674B2 (ja)
JP (1) JP2007286860A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010092634A1 (ja) * 2009-02-16 2010-08-19 日本電気株式会社 ストレージシステム
JP2011049759A (ja) * 2009-08-26 2011-03-10 Ntt Docomo Inc データ退避システム及びデータ退避方法
JP2017513105A (ja) * 2014-03-11 2017-05-25 アイイーエックス グループ,インコーポレーテッド メッセージ再送信メカニズムの技術
JP2017536624A (ja) * 2014-12-31 2017-12-07 華為技術有限公司Huawei Technologies Co.,Ltd. スナップショット処理方法および関係付けられたデバイス
JP2018010495A (ja) * 2016-07-14 2018-01-18 富士通株式会社 情報処理装置、情報処理プログラムおよび情報処理システム
JP2020067722A (ja) * 2018-10-22 2020-04-30 富士通株式会社 並列処理装置、並列演算実行プログラムおよびバックアップ方法
JP2021033782A (ja) * 2019-08-27 2021-03-01 株式会社日立製作所 リモートコピーシステム

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8072987B1 (en) 2005-09-30 2011-12-06 Emc Corporation Full array non-disruptive data migration
US8107467B1 (en) 2005-09-30 2012-01-31 Emc Corporation Full array non-disruptive failover
US7697554B1 (en) 2005-12-27 2010-04-13 Emc Corporation On-line data migration of a logical/virtual storage array by replacing virtual names
US7697515B2 (en) * 2005-12-27 2010-04-13 Emc Corporation On-line data migration of a logical/virtual storage array
US9348530B2 (en) * 2005-12-27 2016-05-24 Emc Corporation Presentation of virtual arrays using n-port ID virtualization
US8533408B1 (en) 2006-06-29 2013-09-10 Emc Corporation Consolidating N-storage arrays into one storage array using virtual array non-disruptive data migration
US8583861B1 (en) 2006-06-29 2013-11-12 Emc Corporation Presentation of management functionality of virtual arrays
US7757059B1 (en) 2006-06-29 2010-07-13 Emc Corporation Virtual array non-disruptive management data migration
US8589504B1 (en) 2006-06-29 2013-11-19 Emc Corporation Full array non-disruptive management data migration
US8452928B1 (en) 2006-06-29 2013-05-28 Emc Corporation Virtual array non-disruptive migration of extended storage functionality
US8539177B1 (en) 2006-06-29 2013-09-17 Emc Corporation Partitioning of a storage array into N-storage arrays using virtual array non-disruptive data migration
US7908504B2 (en) * 2007-03-23 2011-03-15 Michael Feldman Smart batteryless backup device and method therefor
US9098211B1 (en) 2007-06-29 2015-08-04 Emc Corporation System and method of non-disruptive data migration between a full storage array and one or more virtual arrays
US9063896B1 (en) * 2007-06-29 2015-06-23 Emc Corporation System and method of non-disruptive data migration between virtual arrays of heterogeneous storage arrays
US9063895B1 (en) * 2007-06-29 2015-06-23 Emc Corporation System and method of non-disruptive data migration between heterogeneous storage arrays
JP4916420B2 (ja) * 2007-11-16 2012-04-11 株式会社日立製作所 ストレージシステム及びリモートコピー制御方法
JP5244430B2 (ja) * 2008-03-21 2013-07-24 株式会社日立製作所 ストレージ装置及びその制御方法
TWI514249B (zh) * 2009-01-23 2015-12-21 Infortrend Technology Inc 遠端非同步資料卷複製的方法及執行該方法的儲存系統
JP4924645B2 (ja) * 2009-03-31 2012-04-25 富士通株式会社 ストレージ制御装置、ストレージシステム及びコピー方法。
JP6140937B2 (ja) * 2012-05-23 2017-06-07 キヤノン株式会社 ネットワークデバイス、プログラム、システムおよび方法
CN114065274A (zh) * 2020-08-07 2022-02-18 伊姆西Ip控股有限责任公司 用于处理信息的方法、电子设备和计算机程序产品

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000330933A (ja) * 1999-05-21 2000-11-30 Yamaha Corp 共有資源へのアクセスシステム
JP2001236258A (ja) * 1999-12-16 2001-08-31 Hitachi Ltd 記憶制御装置
JP2004259079A (ja) * 2003-02-27 2004-09-16 Hitachi Ltd データ処理システム
JP2005018738A (ja) * 2003-06-26 2005-01-20 Hitachi Ltd ストレージベースのジャーナリングを用いてバックアップ及びリカバリを行う方法と装置
JP2005157521A (ja) * 2003-11-21 2005-06-16 Hitachi Ltd 遠隔記憶装置の状態情報監視方法および記憶サブシステム
JP2005222110A (ja) * 2004-02-03 2005-08-18 Hitachi Ltd ストレージサブシステム
JP2005242403A (ja) * 2004-02-24 2005-09-08 Hitachi Ltd 計算機システム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000187561A (ja) * 1998-12-24 2000-07-04 Hitachi Ltd 記憶装置システム
JP2007156597A (ja) * 2005-12-01 2007-06-21 Hitachi Ltd ストレージ装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000330933A (ja) * 1999-05-21 2000-11-30 Yamaha Corp 共有資源へのアクセスシステム
JP2001236258A (ja) * 1999-12-16 2001-08-31 Hitachi Ltd 記憶制御装置
JP2004259079A (ja) * 2003-02-27 2004-09-16 Hitachi Ltd データ処理システム
JP2005018738A (ja) * 2003-06-26 2005-01-20 Hitachi Ltd ストレージベースのジャーナリングを用いてバックアップ及びリカバリを行う方法と装置
JP2005157521A (ja) * 2003-11-21 2005-06-16 Hitachi Ltd 遠隔記憶装置の状態情報監視方法および記憶サブシステム
JP2005222110A (ja) * 2004-02-03 2005-08-18 Hitachi Ltd ストレージサブシステム
JP2005242403A (ja) * 2004-02-24 2005-09-08 Hitachi Ltd 計算機システム

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010092634A1 (ja) * 2009-02-16 2010-08-19 日本電気株式会社 ストレージシステム
JP2010191499A (ja) * 2009-02-16 2010-09-02 Nec Corp ストレージシステム
US8555007B2 (en) 2009-02-16 2013-10-08 Nec Corporation Storage system with journal disks dynamically assigned
JP2011049759A (ja) * 2009-08-26 2011-03-10 Ntt Docomo Inc データ退避システム及びデータ退避方法
JP2017513105A (ja) * 2014-03-11 2017-05-25 アイイーエックス グループ,インコーポレーテッド メッセージ再送信メカニズムの技術
JP2017536624A (ja) * 2014-12-31 2017-12-07 華為技術有限公司Huawei Technologies Co.,Ltd. スナップショット処理方法および関係付けられたデバイス
US10503415B2 (en) 2014-12-31 2019-12-10 Huawei Technologies Co., Ltd. Snapshot processing method and related device
JP2018010495A (ja) * 2016-07-14 2018-01-18 富士通株式会社 情報処理装置、情報処理プログラムおよび情報処理システム
JP2020067722A (ja) * 2018-10-22 2020-04-30 富士通株式会社 並列処理装置、並列演算実行プログラムおよびバックアップ方法
US11392463B2 (en) 2018-10-22 2022-07-19 Fujitsu Limited Effective backup of data used by multiple nodes executing parallel processing
JP7192388B2 (ja) 2018-10-22 2022-12-20 富士通株式会社 並列処理装置、並列演算実行プログラムおよびバックアップ方法
JP2021033782A (ja) * 2019-08-27 2021-03-01 株式会社日立製作所 リモートコピーシステム

Also Published As

Publication number Publication date
US20070266212A1 (en) 2007-11-15
US7613674B2 (en) 2009-11-03

Similar Documents

Publication Publication Date Title
JP2007286860A (ja) データ転送方法及び情報処理装置
US7197615B2 (en) Remote copy system maintaining consistency
JP4796854B2 (ja) 差分リモートコピーにおける中間ボリュームのデータ溢れ対策
US6745303B2 (en) Data synchronization of multiple remote storage
US6950915B2 (en) Data storage subsystem
JP4301849B2 (ja) 情報処理方法及びその実施システム並びにその処理プログラム並びにディザスタリカバリ方法およびシステム並びにその処理を実施する記憶装置およびその制御処理方法
JP4282464B2 (ja) リモートコピーシステム
JP5191062B2 (ja) ストレージ制御システム、ストレージ制御システムに関する操作方法、データ・キャリア及びコンピュータ・プログラム
WO2017022002A1 (ja) ストレージ装置、ストレージシステム、ストレージシステムの制御方法
JP5094460B2 (ja) 計算機システム、データ一致化方法およびデータ一致化処理プログラム
JP2003248605A (ja) ストレージシステム、主記憶システム、副記憶システム、及びそのデータ複写方法
JP2007188277A (ja) 記憶制御装置及びそのデータ管理方法
US20210240351A1 (en) Remote copy system and remote copy management method
JP5422657B2 (ja) ストレージシステム及びストレージシステムの処理効率向上方法
CN106855834B (zh) 一种数据备份方法、装置和系统
CN106528338A (zh) 一种远程数据复制方法、存储设备及存储系统
JP2008090798A (ja) データ処理システムのバックアップ制御装置及びシステム
JP2006048300A (ja) ディスクアレイ装置群およびそのコピー処理方法
US20130282998A1 (en) Backup system and backup method
JP6461101B2 (ja) データベースシステム、情報処理装置、方法およびプログラム
JP6257748B2 (ja) データベースシステム、情報処理装置、方法およびプログラム
US7587466B2 (en) Method and computer system for information notification
JP5509272B2 (ja) 計算機システム、データ一致化方法およびデータ一致化処理プログラム
EP1693756B1 (en) Storage subsystem and storage system
JP6036690B2 (ja) 分散実行システム及び分散プログラム実行方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090225

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110705

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111206