JP2009140036A - ストレージシステム及びその再同期設定方法 - Google Patents

ストレージシステム及びその再同期設定方法 Download PDF

Info

Publication number
JP2009140036A
JP2009140036A JP2007313025A JP2007313025A JP2009140036A JP 2009140036 A JP2009140036 A JP 2009140036A JP 2007313025 A JP2007313025 A JP 2007313025A JP 2007313025 A JP2007313025 A JP 2007313025A JP 2009140036 A JP2009140036 A JP 2009140036A
Authority
JP
Japan
Prior art keywords
volume
time
resynchronization
storage device
remote copy
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
JP2007313025A
Other languages
English (en)
Inventor
Junichi Kojima
淳一 小島
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 JP2007313025A priority Critical patent/JP2009140036A/ja
Publication of JP2009140036A publication Critical patent/JP2009140036A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【解決課題】ストレージにおいてデータの整合性の保障を図るとともに再同期時間の短縮を図る。
【解決手段】第1のストレージ装置内の第1のボリュームと第2のストレージ装置内の第2のボリュームとでペアを構成し、第1のボリュームに書き込まれたデータを第2のボリュームに第1のストレージ装置に含まれるジャーナルボリュームを利用してリモートコピーするストレージシステムにおいて、リモートコピーを行う更新時間と更新データ量を管理するタイムテーブルと、タイムテーブルを利用して第1のボリュームと第2のボリュームの再同期を行うための再同期時間に関するシミュレーションを行なうシミュレーション制御部と、シミュレーション制御部でシミュレーションした再同期時間に基づいて、リモートコピーを制御するリモートコピー制御部とを備える。
【選択図】図1

Description

本発明は、ストレージシステム及びその再同期設定方法に関し、特に、リモートコピーによりデータをコピーするストレージシステム及びその再同期設定方法に適用しても好適なものである。
正ストレージ装置と副ストレージ装置をそれぞれ離間した場所に配置するとともに正ストレージ装置と副ストレージ装置とをネットワークを介して通信可能に接続し、正ストレージ装置に書き込まれたデータを副ストレージ装置にリモートコピーするストレージシステムが知られている。
このリモートコピーでは、ネットワークに障害等が発生した場合など、正ストレージ装置と副ストレージ装置との間でデータを同期させるために再同期するため処理を行なう必要がある。この再同期処理を行う方法には、例えば、2つの方法がある。第1の方法は、正ストレージ装置と副ストレージ装置のデータの差分をビットマップで管理し更新されたブロックのみを順不同に正ストレージ装置から副ストレージ装置へ送信する方法である。第2の方法は、更新データに更新時間を付与して、その更新時間の順に副ストレージ装置でデータ更新を行う方法である。
なお、ストレージシステムにおけるリモートコピーでは、正ストレージ装置からライト時刻付のライトデータを副ストレージ装置に転送し、副ストレージ装置はライト時刻に基づきボリュームへライトデータを格納する技術(例えば、特許文献1参照)、副ストレージ装置に非同期リモートコピーで正ストレージ装置から転送されるデータを格納するボリュームに対し、二つのレプリカを用意し、それぞれのレプリカは書き込みデータに付与されたタイムスタンプの時間に準じた時刻指定の停止コマンドで交互に停止し、また、時間順序の保証されたレプリカデータを常時準備し、正ストレージ装置に障害が発生した場合、レプリカを用いてデータを復旧する技術(例えば、特許文献2参照)が知られている。
特開2005−190456号公報 特開2006−79568号公報
上記第1の方法だと、再同期のためのデータ量や再同期時間を短縮することができるが、更新順序を保障することができない。よって、再同期動作中に障害等が発生するとデータが破壊されてしまう。また、上記第2の方法だと、更新順序が保障されるため正ストレージ装置と副ストレージ装置とのデータの整合性は保たれるが、再同期のためのデータ量が増大し、再同期の時間が長くなってしまう。
したがって、データの整合性の保障しつつ再同期の時間を短縮することは上記第1、第2のいずれの方法、また、公知文献に記載され技術でも実現することができない。
本発明は、以上の点を考慮してなされたもので、データの整合性の保障を図るとともに再同期時間の短縮を図ることができるストレージシステム及びその再同期設定方法を提案しようとするものである。
本発明は、最同期が必要な時間を、更新順序を保障しない所定期間(所定期間内の更新データは順序性が保障されずに再同期される。以下、再同期時間単位という。)を複数の期間に分割して設けることで、データ整合性の保障と再同期時間の短縮の兼ね合いを図るものである。
その方法として、例えば、ストレージ装置の論理ブロックアドレス毎に更新時間と各更新のデータ量を管理するタイムテーブルを設け、再同期指示の際に、タイムテーブルを用いて複数の異なる再同期時間単位に再同期時間を算出し、ユーザに提示し、ユーザへ再同期時間単位を選択させて、選択された再同期時間を用いて再同期を行なうものである。
また、本発明は複数のサイト間での再同期にも適用することができる。この場合は、各サイトのストレージ装置の有するタイムテーブルが一番新しいストレージ装置がマスターとなる。タイムテーブルは前記一番新しいストレージ装置から読み出すが、データの読み出しは、そのストレージ装置がリモートコピー中か否かに応じてタイムテーブルを読み出した上記一番新しいストレージ装置とは別のストレージ装置から読み出すようにする。
また、本発明は、第1のストレージ装置と第2のストレージ装置を少なくとも含み、前記第1のストレージ装置内の第1のボリュームと前記第2のストレージ装置内の第2のボリュームとでペアを構成し、前記第1のボリュームに書き込まれたデータを前記第2のボリュームに前記第1のストレージ装置に含まれるジャーナルボリュームを利用してリモートコピーするストレージシステムにおいて、前記リモートコピーを行う更新時間と更新データ量を管理するタイムテーブルと、前記タイムテーブルを利用して前記第1のボリュームと前記第2のボリュームの再同期を行うための再同期時間に関するシミュレーションを行なうシミュレーション制御部と、前記シミュレーション制御部でシミュレーションした再同期時間に基づいて、前記リモートコピーを制御するリモートコピー制御部とを備えるものである。
上記のような構成によると、最同期が必要な時間を、更新順序を保障しない所定期間を複数の期間に分割して設けることで、データ整合性の保障と再同期時間の短縮の兼ね合いを図ることができる。
本発明によれば、データの整合性の保障を図るとともに再同期時間の短縮を図ることができるストレージシステム及びその再同期設定方法を提案できる。
以下、本発明の各実施の形態について図面を参照して説明する。
(第1の実施形態)
図1は、本発明を適用したストレージシステム1の構成を示す図である。図1に示すように、ストレージシステム1は、サーバ110,210,310、ストレージ装置120,220,320、ストレージナビゲータ130,230,330を有している。サーバ110、ストレージ装置120及びストレージナビゲータ130がそれぞれ通信回線10,11で接続されており、サーバ210、ストレージ装置220及びストレージナビゲータ230がそれぞれ通信回線12,13で接続されており、サーバ310、ストレージ装置320及びストレージナビゲータ330がそれぞれ通信回線14,15で接続されている。さらに、ストレージ装置120とストレージ装置220,ストレージ装置220とストレージ装置320とは、それぞれ通信回線16,17で接続されている。
サーバ110は、ストレージ装置120の上位装置であり、ストレージ装置120を管理する。サーバ110は、リモートコピー指示部111を有しており、所定の設定に基づいてリモートコピーの指示をストレージ装置120に対して行なう。なお、サーバ110は図示を省略しているが、ハードウェアとしてはディスプレイ等の表示部、キーボード、マウス等の入力部、マイクロプロセッサやメモリ等からなる制御部を有している。そして、ユーザによって各種操作が行なわれるようになっている。
また、サーバ210はリモートコピー指示部211を有しており、サーバ310はリモートコピー指示部311を有している。サーバ210,310についてはサーバ110と実質的に同様な説明となるため説明を省略する。
ストレージ装置120は、コントローラ部(以下では、DKCと称することもある。)121とディスク部122とを有している。また、コントローラ部121は、リモートコピー処理部140、メモリ150等を有している。リモートコピー処理部140は、リモートコピー制御部160、シミュレーション制御部170を有している。リモートコピー制御部160はストレージ装置120からストレージ装置220へのリモートコピーの制御を実行し、シミュレーション制御部170はリモートコピーの再同期の設定に関するシミュレーションを実行する。このリモートコピー処理についての詳細は後述する。
メモリ150は、フラグ151,タイムテーブル180、アドレス変換テーブル及190を格納する領域を有している。フラグはリモートコピー処理において、リモートコピー元のMCU(メイン・コントロール・ユニット)であるか、リモートコピー先であるRCU(リモート・コントロール・ユニット)であるか及びその序列を示す情報である。タイムテーブル180及びアドレス変換テーブル190の内容については後述する。
ディスク部122は、ジャーナルボリューム123、データボリューム124を有している。ジャーナルボリューム123は、リモートコピーを行なうときにリモートコピー元のボリュームとリモートコピー先のボリュームのデータの差分に関する情報を蓄積するボリュームである。また、データボリューム124はサーバ110等の上位装置からライトされたデータを保存するボリュームである。これらのジャーナルボリューム123、データボリューム125はハードディスクドライブ群のハードディスクドライブで構成される。ジャーナルボリューム123、データボリューム124はハードディスクドライブ群のハードディスクドライブと1対1で対応するようにしても良いし、あるハードディスクドライブの中のある領域と対応するようにしてもよい。また、ジャーナルボリューム123、データボリューム124はいくつかのハードディスクドライブに跨って設けられても良い。
また、ストレージ装置220は、コントローラ部221、ディスク部222を有している。コントローラ部221は、リモートコピー処理部240、メモリ250等を有しており、リモートコピー処理部240は、リモートコピー制御部260、シミュレーション制御部270を、メモリ250は、フラグ251、タイムテーブル280、アドレス変換テーブル290を有している。ディスク部222は、ジャーナルボリューム223、データボリューム224を有している。さらに、ストレージ装置320は、コントローラ部321、ディスク部322を有している。コントローラ部321は、リモートコピー処理部340、メモリ350等を有しており、リモートコピー処理部340は、リモートコピー制御部360、シミュレーション制御部370を、メモリ350は、フラグ351、タイムテーブル380、アドレス変換テーブル390を有している。ディスク部322は、ジャーナルボリューム323、データボリューム324を有している。これらのストレージ装置220,320内の構成の内容については実質的にストレージ装置120と同様な説明となるため説明を省略する。
ストレージナビゲータ130,230,330は、それぞれストレージ装置120,220,330の保守を行なうために用いられる。例えば、ユーザはストレージナビゲータを用いて、ストレージ装置間のボリュームのペアを作成する操作等を行なう。例えば、ユーザは、ストレージナビゲータ130を操作して、データボリューム124とデータボリューム224をリモートコピーのペアとして設定する。また、ユーザは、ストレージナビゲータ230を操作して、データボリューム224とデータボリューム324をリモートコピーのペアとして設定する。リモートコピーのペア設定に関しては、LU(ロジカル・ユニット番号)等を利用する従来よりあるペア設定と同様であるため詳細な説明は省略することとする。なお、ペアの状態としては、シンプレックス、再同期(以下では、リシンクと称することとする。)中、ペア、スプリット等の状態がある。
次に、タイムテーブル180について説明する。図2は、タイムテーブル180の一例を示す図である。タイムテーブル180は、リモートコピーの管理のために用いられるテーブルである。図2に示すように、タイムテーブル180は、タイムテーブル番号欄181、自DKC上のアドレス欄182、ジャーナルボリューム内のアドレス欄183、日時欄184、空き欄185、ジャーナル削除可能欄186及び転送済み欄及びRCU側更新完了欄からなる欄187A〜187Nを有している。
タイムテーブル番号欄181は、各欄の番号を格納する欄である。自DKC上のアドレス欄182は、データを保存したDKC上でのアドレスを格納する。ジャーナルボリューム内のアドレス欄183は、ジャーナルボリューム123内のデータを保存したアドレスを格納する。日時欄184は更新したデータを格納した日時を格納する。空き欄185は、当該欄が使用されているか否かを示す情報を格納する。空き欄185に「0」が格納されていれば空き状態であり、「1」が格納されていれば使用中であり新たな情報は格納できない状態となる。ジャーナル削除可能欄186はジャーナルデータが削除可能であるか否かを示す情報を格納する。ジャーナル削除可能欄に「0」が格納されていれば削除可能な状態であり、「1」が格納されていれば使用中であり削除できない状態である。
欄187A〜187Nは、転送済み欄及びRCU側更新完了の欄の組から構成される。ストレージシステム1がストレージ装置2つで構成される場合には欄187Aのみが使用され、ストレージ装置3つで構成される場合には、欄187A及び欄187Bが使用される。この第1の実施形態では、欄187A及び欄187Bが使用される。欄187Aの転送済み欄には、転送が未完了であれば「0」が格納され、転送済みであれば「1」が格納される。また、欄187AのRCU側更新完了欄には、更新が未完了であれば「0」が格納され、更新完了であれば「1」が格納され、リシンクペースより送信の必要がない場合は「2」が格納される。この欄187Aに格納される情報の処理については後述する。
なお、タイムテーブル280,380については、タイムテーブル180についての説明と同様になるため、図示及び説明を省略する。
次に、アドレス変換テーブル190について説明する。図3は、アドレス変換テーブル190の一例を示す図である。
アドレス変換テーブル190は、ストレージ装置間で異なるアドレスとなっているボリュームを対応づけるためのテーブルである。例えば、アドレス変換テーブル190は、ストレージ装置120がMCUに、ストレージ装置220がRCU1に、ストレージ装置320のRCU2に設定されている場合に、それぞれのボリュームのアドレスを対応づける。具体的には、図3に示すようにボリュームのアドレスは、MCUが「XXX」、RCU1が「XXX1」、RCU2が「XXX2」、RCUnが「DDD1」のように対応づけられる。なお、第1の実施形態の場合は、MCU、RCU1、RCU2の欄191から193が使用されて、ストレージ装置120からストレージ装置320のデータボリューム124から324のアドレスが対応づけられる。
なお、アドレス変換テーブル290,390については、アドレス変換テーブル190についての説明と同様になるため、図示及び説明を省略する。
次に、リモートコピー処理部240の実行する処理について説明する。図4は、ストレージシステム1で実行される処理を示すフローチャートである。なお、この処理は、例えば、ユーザがストレージナビゲータ130を操作して、データボリューム124,224のペアの設定を行なった後、実行される。また、ステップS101からS103,S105,S106はリモートコピー制御部260等で実行される処理であり、ステップS104はシミュレーション制御部270で実行される処理である。
先ず、ステップS101において、タイムテーブル180の作成処理が行われる。ステップS102において、ペア同期中のタイムテーブル同期処理が行われる。ステップS103において、削除処理が行われる。ステップS104において、リシンクのシミュレーションが行なわれる。そして、ステップS105において、リシンクの指示が行なわれる。このステップS101からS105の各処理の詳細については、後述する。
そして、ステップS106において、リモートコピーを停止するか否かの判定が行なわれる。リモートコピーを停止しなければ(S106:NO)、ステップS101からS105の処理を繰り返し、リモートコピーを停止するのであれば(S106:YES)、処理を終了する。
次に、ステップS101のタイムテーブル180作成処理について説明する。図5は、タイムテーブル180作成処理の詳細を示すフローチャートである。なお、ステップS301からS308は、MCU(親装置)としての処理であり、ステップS309からS325は、RCU(親装置に対する子装置)としての処理である。
先ず、ステップS201において、リモートコピーの対象となる対象ボリュームに対し、データ転送要求ありか否かが判定される。データ転送要求がない場合は(S201:NO)、この処理を終了する。一方、データ転送要求がある場合は(S201:YES)、ステップS202において、タイムテーブル180に空きがあるか否かが判定される。
タイムテーブル180に空きがない場合は(S202:NO)、ステップS203において、エラー処理が実行される。また、タイムテーブル180に空きがある場合は(S202:YES)、ステップS203において、タイムテーブル180の確保処理が行われる。そして、ステップS205において、確保したタイムテーブル180のタイムテーブル番号に対し、データの書き込みを行なう。これにより、タイムテーブル180が作成される。
次に、ステップS102のペア同期中のタイムテーブル同期処理について説明する。図6から図8は、この処理の詳細を示すフローチャートである。
先ず、ステップS301において、RCU1からリードタイムテーブル180要求ありか否かが判定される。リードタイム要求がある場合は(S301:YES)、ステップS302において、タイムテーブル180がRCU1へ送付される。そして、ステップS303において、タイムテーブル180の送付が完了されたか否かが判定される。タイムテーブル180の送付が完了した場合は(S303:YES)、ステップS304において、RCU1からリードデータ要求ありか否かが判定される。
RCU1からリードデータ要求ありと判定された場合は(S304:YES)、ステップS305において、RCU1から要求のあったタイムテーブル番号のジャーナルデータが送信される。ステップS306において、タイムテーブル180の転送済み欄が「1」に変更される。ステップS307において、完了か否かが判定される。この判定は、RCU1からジャーナルデータ受領の完了報告があったか否かに基づいて判定される。完了した場合は(S307:YES)、ステップS308において、タイムテーブル180のRCU側更新完了欄が「1」に変更される。そして、処理はステップS304の処理に戻る。
ステップS301でRCU1からリードタイムテーブル180要求がないと判定された場合(S301:NO)、又はステップS304でRCU1からリードデータ要求がないと判定した場合(S304:NO)、ステップS309において、RCUとして動作しているか否かが判定される。これは、メモリ250内のフラグ251が参照されて判定される。RCUとして動作していないと判定された場合は(S309:NO)、ステップS324の処理へ進む。
RCUとして動作していると判定された場合は(S309:YES)、ステップS310において、MCU選定処理が行われる。この処理については後述する。このようにMCU(親装置がRCUの場合は、若番のRCUとなる。)が選定されると、ステップS311において、MCUに対し、リードタイムテーブル180要求が発行される。そして、ステップS312において、タイムテーブル180の受領が完了したか否かが判定される。
タイムテーブル180の受領が完了したと判定された場合は(S312:YES)、ステップS313において、MCUに対しタイムテーブル180受領完了が報告される。そして、ステップS314において、タイムテーブルV2が作成される。タイムテーブルV2は、タイムテーブル180から、ペア状態又はリシンク状態のボリューム及びタイムテーブル180においてRCU側更新完了欄が「0」を満たすものを全て抽出して作成される。
そして、ステップS315において、タイムテーブルV2に対し、日時欄184に基づいて時間の古い順にソートが行なわれ、タイムテーブルV3が作成される。そして、ステップS316において、リシンクのペースはどうかが判定される。ペースが設定されていない場合は(S316:NO)、後述のステップS704へ進む。ペースが設定されている場合は(S316:YES)、ステップS317において、タイムテーブルV3の先頭レコードからMCUに対し、リードデータ要求がなされる。そして、ステップS318において、データの受領が完了したか否かが判定される。
データの受領が完了した場合は(S318:YES)、ステップS319において、転送されたジャーナルデータがジャーナルボリューム223に書き出される。そして、ステップS320において、タイムテーブル180のRCU側更新完了欄が「1」に変更される。そして、ステップS321において、MCUへ完了が報告される。
続いて、ステップS322において、タイムテーブルV3内に未送信データがあるか否かが判定される。未送信データがあると判定された場合は(S322:YES)、ステップS317からS321の処理が再び実行される。未送信データがないと判定された場合は(S322:NO)、ステップS323において、タイムテーブル180のレコード毎に所定条件に適合する「RCU番号」及びタイムテーブル番号がMCUへ送信される。ここで、所定条件とは、自DKCよりRCU番号の大きいRCU番号のRCU側更新完了欄が「1」又は「2」であることである。
そして、ステップS324において、RCU1よりタイムテーブル180要求ありか否かが判定される。そして、タイムテーブル要求ありと判定された場合は(S324:YES)、ステップS325において、受領したタイムテーブルに基づいて、タイムテーブル番号及びRCU番号に該当するRCU側更新完了欄が「1」に変更される。このようにRCU側更新完了欄が「1」に変更されたとき、又は、タイムテーブル180要求なしと判定された場合は(S324:NO)、この処理が終了となる。
次に、ステップS310のMCU選定処理について説明する。図9は、MCU(親装置)選定処理の詳細を示すフローチャートである。
ステップS401において、リシンク中のボリュームが含まれているか否かが判定される。含まれていると判定されて場合は(S401:YES)、ステップS402において、自DKCのRCU番号より若番のRCU番号に接続されているか否かが判定される。接続されていると判定された場合は(S402:YES)、ステップS403の処理へ進む。一方、ステップS401で含まれていないと判定された場合(S401:NO)、又はステップS402で接続されていないと判定された場合は(S402:NO)、処理が終了となる。
ステップS403において、MCUは他RCUと通信中か否かが判定される。通信中であると判定された場合は(S403:YES)、ステップS404において、前記若番のRCU番号のDKCはあるか否かが判定される。あると判定された場合は(S404:YES)、ステップS405において、その他に若番のRCU番号のDKCは通信中か否かが判定される。通信中であれば(S405:YES)、ステップS404の処理へ戻り、通信中でなければ(S405:NO)、ステップS403の処理へ戻る。
一方、ステップS403で通信中でないと判定された場合は(S403:NO)、ステップS406において、リシンク処理のMCUは通信中でないMCUに変更され、処理が終了となる。また、ステップS404で前記若番のRCU番号のDKCがない場合は(S404:NO)、ステップS407において、リシンク処理のMCUが通信中でないRCUに変更され、処理が終了となる。このようにして、MCUの選定処理が行われる。
次に、削除処理について説明する。図10は、削除処理の詳細を示すフローチャートである。
先ず、ステップS501において、タイムテーブル番号毎にRCU側更新完了欄が「1」か「2」の場合、ジャーナル削除可能欄186が「1」に変更される。そして、ステップS502において、全タイムテーブル番号に対して実施か否かが判定される。実施されていなければ(S502:NO)、ステップS501の処理が再び行われる。実施されていれば(S502:YES)、ステップS503の処理が行われる。
ステップS503において、タイムテーブル番号毎にジャーナル削除可能欄186が「1」の場合、空き欄を「0」、ジャーナル削除可能欄186を「0」に変更される。そして、ステップS504において、全タイムテーブル番号に対して実施か否かが判定される。実施されていなければ(S504:NO)、ステップS503の処理が再び行われる。実施されていれば(S504:YES)、処理が終了となる。
次に、リシンクのシミュレーション処理について説明する。図11から図13は、リシンクのシミュレーション処理の詳細を示すフローチャートである。
先ずステップS601において、シミュレーション対象は、新規にペア作成されたボリュームであるか否かが判定される。新規にペア作成されたボリュームでない場合は(S601:NO)、シミュレーションを行なう必要がないため、この処理が終了となる。
新規に作成されたペアであると判定された場合は(S601:YES)、ステップS602において、シミュレーションしたいデータがリシンクのタイムであるかリシンクのペースであるかが判定される。タイムであると判定された場合は(S602:タイム)、ステップS603において、タイムのシミュレーションを行なうための入力画面であるタイム入力画面が表示される。そして、ステップS604において、タイム入力画面上からペース、対象ボリューム、回線速度に関する情報が取得される。
ステップS605において、タイムテーブル180が対象ボリュームを抜粋し、タイムテーブルV10が作成される。ステップS606において、タイムテーブルV10を自DKCのアドレス、日時でソートしてタイムテーブルV11が作成される。そして、ステップS607において、変数Kが「0」に設定される。
ステップS608において、変数Kが「1」に設定され、ベースタイムが日時(先頭のタイムテーブル180の番号部分)+ペース、ベースアドレスが自DKC上のアドレスに設定される。ステップS609において、ベースアドレスが自DKC上のアドレスと一致するか否かが判定される。一致すると判定された場合は(S609:YES)、ステップS610において、ベースタイムが日時より早い時間であるか否かが判定される。
ステップS609で一致しないと判定した場合(S609:NO)、又はステップS610でベースタイムが日時より早いと判定した場合は(S610:YES)、ステップS611において、変数Kが「K+1」に設定され、ベースタイムが日時(先頭のタイムテーブル180の番号部分)+ペース、ベースアドレスが自DKC上のアドレスに設定される。
ステップS611の処理が終了した場合、又はステップS610でベースタイムが日時より遅い場合は(S610:NO)、ステップS612において、全タイムテーブル番号に対して実施済みか否かが判定される。実施済みでないと判定された場合は(S612:NO)、ステップS613において、次タイムテーブル番号が参照されステップS609の処理へ戻る。
全タイムテーブル番号に対して実施済みであると判定された場合は(S613:YES)、ステップS614において、タイムが変数K(転送データ数)×256KB/転送能力により算出される。ステップS615において、入力画面に対し、リシンク時間が表示される。そしてこの処理が終了となる。
一方、ステップS602でペースであると判定された場合は(S602:ペース)、ステップS616において、ペースのシミュレーションを行なうための入力画面であるペース入力画面が表示される。そして、ステップS617において、ペース入力画面上からタイム、対象ボリューム、回線速度に関する情報が取得される。
ステップS618において、タイムテーブル180が対象ボリュームを抜粋し、タイムテーブルV10が作成される。ステップS619において、タイムテーブルV10を自DKCのアドレス、日時でソートしてタイムテーブルV11が作成される。そして、ステップS620において、ペースが「0」に設定され、ステップS621において変数Kが「0」に設定される。
ステップS622において、変数Kが「1」に設定され、ベースタイムが日時(先頭のタイムテーブル180の番号部分)+ペース、ベースアドレスが自DKC上のアドレスに設定される。ステップS623において、ベースアドレスが自DKC上のアドレスと一致するか否かが判定される。一致すると判定された場合は(S623:YES)、ステップS624において、ベースタイムが日時より早い時間であるか否かが判定される。
ステップS623で一致しないと判定した場合(S623:NO)、又はステップS624でベースタイムが日時より早いと判定した場合は(S624:YES)、ステップS625において、変数Kが「K+1」に設定され、ベースタイムが日時(先頭のタイムテーブル180の番号部分)+ペース、ベースアドレスが自DKC上のアドレスに設定される。
ステップS625の処理が終了した場合、又はステップS624でベースタイムが日時より遅い場合は(S624:NO)、ステップS626において、全タイムテーブル番号に対して実施済みか否かが判定される。実施済みでないと判定された場合は(S626:NO)、ステップS627において、次タイムテーブル番号が参照されステップS623の処理へ戻る。
全タイムテーブル180に対して実施済みであると判定された場合は(S626:YES)、ステップS628において、変数K(転送データ数)×256KB/転送能力がタイムより小さいか否かが判定される。タイムより大きいと判定された場合は(S628:NO)、ステップS629において、ペースに10秒加算され、ステップS621の処理へ戻る。また、タイムより小さいと判定された場合は(S628:YES)、ステップS630において、入力画面に対し、リシンクペースが表示される。
以上ステップS601からS630の処理が行われることにより、ストレージシステム1は、タイム又はペースが指示されたときに、それぞれに応じたシミュレーション結果をストレージナビゲータ230に表示し、シミュレーション結果をユーザに報知することができる。ユーザは、種々のリシンク時間やリシンクペースをシミュレーションすることにより、ストレージシステム1が実行する業務等に最適なリシンク時間やリシンクペースを設定することが可能となる。
次は、リシンク指示処理について説明する。図14は、リシンク指示処理の詳細を示すフローチャートである。この処理は、ストレージナビゲータ230に表示されるシミュレーション結果に基づいて、ユーザにリシンクが指示されることにより実行される。
ステップS701において、リシンク対象のRCU番号、対象ボリューム、ペース(リシンクペース)に関する情報が取得される。ステップS702において、対象ボリュームのステータスが「リシンク中」に変更される。ステップS703において、対象RCUに対し、自DKCのRCU番号(若しくはMCU番号)、ステータスが送信される。
ステップS704において、タイムテーブル180から対象ボリュームが抜粋され、タイムテーブルV10が作成される。そして、ステップS705において、ベースタイムが日時+ペースに設定され、ベースアドレスが自DKC上のアドレスに設定される。
そして、ステップS706において、ベースアドレスと自DKCが一致するか否かが判定される。一致すると判定された場合は(S706:YES)、ステップS707において、ベースタイムが日時より早いか否かが判定される。ベースタイムが日時より早いと判定された場合は(S707:YES)、ステップS708において、リシンク指示未送信処理が実行される。この処理については、後述する。
一方、ベースアドレスと自DKCが一致しないと判定された場合(S706:NO)、又は、ベースタイムが日時より遅いと判定された場合は(S707:NO)、ステップS709において、ベースタイムが日時+ペースに、ベースアドレスが自DKC上のアドレスに設定される。
ステップS708又はS709の処理が終了すると、ステップS710において、全タイムテーブル番号に対して実施済みか否かが判定される。実施済みでないと判定された場合は(S710:NO)、ステップS711において、次タイムテーブル番号が参照され、ステップS706の処理へ戻る。実施済みであると判定された場合は(S710:YES)、処理が終了となる。
次に、リシンク指示未送信処理について説明する。図15は、リシンク指示未送信処理を示すフローチャートである。
ステップS801において、タイムテーブル番号がタイムテーブルV1である場合に、RCU側更新完了欄を「2」に変更する。そして、ステップS802において、全タイムテーブル番号に対して実施したか否かが判定される。実施していないと判定された場合は(S802:NO)、ステップS801の処理へ戻る。実施していると判定された場合は(S802:YES)、処理が終了となる。
なお、上述した実施形態では、図4から図15を使用して説明した処理をリモートコピー処理部240等が実行する場合で説明したが、他のリモートコピー処理部340等でも、実質的に同様な処理を実行することができる。
次に、ステップS604,S607における入力画面の一例について説明する。これらの入力画面は、ストレージナビゲータ230の表示部に表示される入力画面である。
図16は、リシンク時間のシミュレーション時のタイム入力画面30の一例を示す図である。ユーザは、ストレージナビゲータ230を操作して、入力項目1「LUの番号」、入力項目2「回線帯域(Mbps)」、入力項目3「リシンクのペース」を入力する。入力項目1には、例えば、対象となるボリューム、すなわち、LU20,LU21,LU50等のロジカルユニットナンバーが入力される。入力項目2には、例えば、回線帯域として、20(Mbps)が入力される。また、入力項目3には、所定のリシンクのペースが入力される。このように、入力項目1から3が入力されると、シミュレーション制御部270の処理が実行され、リシンク時間が算出される。そして、そのリシンク時間が出力項目としてストレージナビゲータ230に表示される。
なお、既述のようにタイムテーブル180の日時欄184に保存される時間は、データが更新された時間が保存される。この更新された時間を基にペースが選択される。上記所定のリシンクのペースは、具体的には、秒単位、分単位、時間単位等で入力するこが可能である。なお、この際、全更新データをコピーする入力や、順序性保障なし(従来技術に相当する。)を入力することも可能とすることができる。
図17は、リシンクペースのシミュレーション時のペース入力画面40の一例を示す図である。ユーザは、ストレージナビゲータ230を操作して、入力項目1「LUの番号」、入力項目2「回線帯域(Mbps)」、入力項目4「秒」を入力する。入力項目1には、例えば、対象となるボリューム、すなわち、LU20,LU21,LU50等のロジカルユニットナンバーが入力される。入力項目2には、例えば、回線帯域として、20(Mbps)が入力される。また、入力項目4には、所定のリシンク時間が入力される。このように、入力項目1,2,4が入力されると、シミュレーション制御部270の処理が実行され、リシンクペースが算出される。そして、そのリシンクペースが出力項目としてストレージナビゲータ230に表示される。
この第1の実施形態のストレージシステム1によると、リシンクのためのシミュレーションをユーザが自由にリシンク時間又はペースを入力することにより複数回行うことができ、その中から最適なリモートコピーを行なうことができるようにリシンクタイム、又はリシンクペースを設定することができるので、リモートコピーにおいてデータの整合性の保障を図るとともにリシンク時間の短縮を図ることができる。
(第2の実施形態)
以下では、他のリモートコピー元の選定方法について説明する。具体的には、リモートコピーが複数のストレージシステム間で行なわれている場合のリモートコピー元の選定方法を説明する。その他の部分については、実質的に第1の実施形態と同様であるため説明を省略する。
図18は、リモートコピーが複数のストレージシステム間で行なわれる構成を概略的に説明するための図である。ストレージ装置120、ストレージ装置220、ストレージ装置320及びストレージ装置420間でリモートコピーが行なわれる構成を示している。なお、図中太い矢印は、リモート(データ)コピーの方向を示している。
ストレージ装置120はMCUの番号、ストレージ装置220から420は、それぞれ、RCU1、RCU2、RCU3の番号を有し、ストレージ装置120から420はユニークな番号が設定されている。また、リモートコピーは、ストレージ装置120(MCU)からストレージ装置220(RCU1)、ストレージ装置320(RCU2)、ストレージ装置420(RCU3)へ、ストレージ装置220(RCU1)からストレージ装置320(RCU2)、ストレージ装置420(RCU3)へ、ストレージ装置320(RCU2)からストレージ装置420(RCU3)へ行なうように設定されている。
このようにMCU,RCU1,RCU2,RCU3をストレージ装置120から420に設定することにより、リモートコピーのコピー元の選定を行なうことが可能となる。
なお、1つのDKCに対し、複数のRCUnを有するように設定することは可能である。この場合は、ストレージ装置単位ではなくボリューム単位にRCUnを分けて設定するように構成する。図19は、このようなストレージシステムの構成を概略的に示す図である。
図19は、ボリューム単位にRCUを設定したときの構成を概略的に示す図である。図19に示すように、ストレージ装置120では、ボリューム001から004のグループがMCUに設定されており、ボリューム011から014のグループがRCUnに設定されている。一方、ストレージ装置220では、ボリューム001から004のグループがRCU1に設定されており、ボリューム011から014のグループがRCU4に設定されている。そして、MCUからRCU1にリモートコピーが実行され、RCU4からRCUnにリモートコピーが実行されるように構成されている。このように、ボリューム単位でMCU、RCUを設定することにより、1つのDKCに対して複数のRCUnを設定することが可能となる。
次に選定を実施するタイミングについて説明する。タイムテーブル180を読み込むタイミングで選定を実施する。この選定は、自DKCと比較し、若番のDKCからリモートコピーを実施する。MCU側のDKCの状態がリモートコピー中の場合には、次のDKCの状態を確認し、コピーを実施していないDKCからタイムテーブル180を読み込む処理を行う。
図20は、この処理を説明するための構成を概略的に示す図である。図20に示すように、ストレージ装置120から420がインターネットプロトコル(IP)を介して接続されており、ストレージ装置120にMCU、ストレージ装置220にRCU1、ストレージ装置320にRCU2、ストレージ装置420にRCU3が設定されている。なお、図中の太い矢印はリモートコピーの通常時のデータの流れを示している。また、図21は、親装置を選定する処理を示すフローチャートである。
この構成では、通常時RCU3は、RCU1からタイムテーブル180を読み込んでいる。そして、RCU1がコピー中の場合(例えば、RCU1からRCU2)は(S901:YES)、自DKCより若番のRCUを探し、RCU2を見つける(S903)。なお、RCU1がコピー中でない場合は(S901:NO)、RCU1からRCU3にリモートコピーを実施する(S902)。
RCU2を見つけると、RCU2がリモートコピー中であるか否かを確認し(S904)、リモートコピー中(例えば、RCU1からRCU2)であれば(S904:YES)、RCU3は自DKCより若番のRCUを探しMCUを見つける(S906)。なお、RCU2がリモートコピー中でない場合は(S904:NO)、RCU2からRCU3にリモートコピーを実施する(S905)。
MCUを見つけると、MCUがリモートコピー中であるか否かを確認し(S907)、リモートコピー中(例えば、MCUからRCU1)であれば(S907:YES)、上記RCU2を見つける処理(S901)に戻る。なお、リモートコピー中でない場合は(S907:NO)、MCUからRCU3にリモートコピーを実施する(S908)。
このようにMCU又は上位のRCUを選定することができることにより、第1の実施形態の処理を複数のストレージ装置間でリモートコピーを行なう場合にも適用することができる。したがって、リモートコピーの拡張を制限なく行なうことができ、直接上位のRCUがリモートコピー中である場合には、リモートコピー中でない他の上位のRCUやMCUからリモートコピーをすることが可能となる。
(リシンク単位の説明)
図22及び図23は、転送するデータ量と順序性保障の間隔の相互関係を説明するための図である。図23は、縦軸がデータ量、横軸がリシンク時間となっている。図23に示すように、データ量が増加するとリシンク時間も長くなる関係になる。また、図22は、縦軸がデータ量、横軸が順序性保障の間隔を示している。図22に示すように、データ量が多ければ順序性保障の間隔(ペース)が短いほどデータの量が多くなり、順序性保障の間隔が長いほどデータ量が少なくなる関係になっている。なお、従来技術のように順序保障がない場合は、データ量を少なく設定することができるがデータの整合性を保つことができない。
図22及び図23に示す関係となっているため、リシンク時間又は順序性保障の間隔が指定されると、他の要素が確定する。このため、上記各実施形態においては、順序性保障の間隔(ペース)又はリシンク時間によりシミュレーションを行なうことができるようになっている。
(他の実施形態)
上記実施形態では本発明を、ストレージ装置120とストレージ装置220を少なくとも含み、ストレージ装置120内のデータボリューム124とストレージ装置220内のデータボリューム224とでペアを構成し、データボリューム124に書き込まれたデータを、データボリューム224にストレージ装置120に含まれるジャーナルボリューム123を利用してリモートコピーするストレージシステム1において、リモートコピーを行う更新時間と更新データ量を管理するタイムテーブル180と、タイムテーブル180を利用してデータボリューム124とデータボリューム224の再同期を行うための再同期時間に関するシミュレーションを行なうシミュレーション制御部170と、シミュレーション制御部270でシミュレーションした再同期時間に基づいて、リモートコピーを制御するリモートコピー制御部260とを備えるストレージシステムに適用した場合について説明したが、本発明はこれに限られるものではない。
また、本発明を、シミュレーション制御部270のシミュレーション結果を表示するとともにその結果に基づいて、リモートコピー制御部260に対する再同期時間の指示を取得するストレージナビゲータ230を備えるストレージシステム1について適用した場合について説明したが、本発明はこれに限られるものではない。
さらに、本発明を、ストレージナビゲータ230は、再同期時間又は再同期ペースの指示を取得し、記シミュレーション制御部270は、ストレージナビゲータ230で再同期時間を取得した場合にはタイムテーブル180を利用してデータボリューム124とデータボリューム224の再同期を行うための再同期時間に関するシミュレーションを行ないストレージナビゲータ230に表示し、再同期ペースを取得した場合にはタイムテーブル180を利用してデータボリューム124とデータボリューム224の再同期を行うための再同期ペースに関するシミュレーションを行ないストレージナビゲータ230に表示することストレージシステム1について適用した場合について説明したが、これに限られるものではない。
さらに、本発明を、ストレージ装置120は、データボリューム124とデータボリューム224とを対応付けるためのアドレス変換テーブル190を備えるストレージシステム1に適用した場合ついて説明したが、本発明はこれに限られるものではない。
本発明は、ストレージシステム及びその再同期設定方法に広く適用することができる。
本発明の第1の実施形態に係わるストレージシステムの構成を示す図である。 同実施形態に係わるタイムテーブルの一例を示す図である。 同実施形態に係わるアドレス変換テーブルの一例を示す図である。 同実施形態に係わる処理を示すフローチャートである。 同実施形態に係わるタイムテーブル作成処理を示すフローチャートである。 同実施形態に係わるタイムテーブル同期処理の一部を示すフローチャートである。 同実施形態に係わるタイムテーブル同期処理の一部を示すフローチャートである。 同実施形態に係わるタイムテーブル同期処理の一部を示すフローチャートである。 同実施形態に係わるMCU選定処理を示すフローチャートである。 同実施形態に係わる削除処理を示すフローチャートである。 同実施形態に係わるリシンクのシミュレーション処理の一部を示すフローチャートである。 同実施形態に係わるリシンクのシミュレーション処理の一部を示すフローチャートである。 同実施形態に係わるリシンクのシミュレーション処理の一部を示すフローチャートである。 同実施形態に係わるリシンク指示処理を示すフローチャートである。 同実施形態に係わるリシンク指示未送信処理を示すフローチャートである。 同実施形態に係わるシミュレーション時のタイム入力画面の一例を示す図である。 同実施形態に係わるシミュレーション時のペース入力画面の一例を示す図である。 本発明の第2の実施形態に係わるリモートコピーが複数のストレージシステム間で行なわれる構成を概略的に説明するための図である。 同実施形態に係わる他のストレージシステムの構成を概略的に示す図である。 同実施形態に係わるリモートコピー元を選定するための処理を説明するための図である。 同実施形態に係わる選定処理を示すフローチャートである。 本発明の転送するデータ量と順序性保障の間隔の相互関係を説明するための図である。 本発明の転送するデータ量と順序性保障の間隔の相互関係を説明するための図である。
符号の説明
1…ストレージシステム、110,210,310…サーバ、120,220,320…ストレージ装置、123,223,323…ジャーナルボリューム、130,230,330…ストレージナビゲータ、140,240,340…リモートコピー処理部、150,250,350…メモリ、160,260,360…リモートコピー制御部、170,270,370…シミュレーション制御部、180,280,380…タイムテーブル、190,290,390…アドレス変換テーブル

Claims (7)

  1. 第1のストレージ装置と第2のストレージ装置を少なくとも含み、前記第1のストレージ装置内の第1のボリュームと前記第2のストレージ装置内の第2のボリュームとでペアを構成し、前記第1のボリュームに書き込まれたデータを、前記第2のボリュームに前記第1のストレージ装置に含まれるジャーナルボリュームを利用してリモートコピーするストレージシステムにおいて、
    前記リモートコピーを行う更新時間と更新データ量を管理するタイムテーブルと、
    前記タイムテーブルを利用して前記第1のボリュームと前記第2のボリュームの再同期を行うための再同期時間に関するシミュレーションを行なうシミュレーション制御部と、
    前記シミュレーション制御部でシミュレーションした再同期時間に基づいて、前記リモートコピーを制御するリモートコピー制御部とを備えること、
    を特徴とするストレージシステム。
  2. 前記シミュレーション制御部のシミュレーション結果を表示するとともにその結果に基づいて、前記リモートコピー制御部に対する再同期時間の指示を取得する管理装置を備えること、
    を特徴とする請求項1記載のストレージシステム。
  3. 前管理装置は、前記再同期時間又は再同期ペースの指示を取得し、
    前記シミュレーション制御部は、前記管理装置で前記再同期時間を取得した場合には前記タイムテーブルを利用して前記第1のボリュームと前記第2のボリュームの再同期を行うための再同期時間に関するシミュレーションを行ない前記管理装置に表示し、前記再同期ペースを取得した場合には前記タイムテーブルを利用して前記第1のボリュームと前記第2のボリュームの再同期を行うための再同期ペースに関するシミュレーションを行ない前記管理装置に表示すること、
    を特徴とする請求項2記載のストレージシステム。
  4. 前記第1のストレージ装置は、前記第1のボリュームと前記第2のボリュームとを対応付けるためのアドレス変換テーブルを備えること、
    を特徴とする請求項1記載のストレージシステム。
  5. 第1のストレージ装置と第2のストレージ装置を少なくとも含み、前記第1のストレージ装置内の第1のボリュームと前記第2のストレージ装置内の第2のボリュームとでペアを構成し、前記第1のボリュームに書き込まれたデータを前記第2のボリュームに前記第1のストレージ装置に含まれるジャーナルボリュームを利用してリモートコピーするストレージシステムの再同期設定方法において、
    前記リモートコピーを行う更新時間と更新データ量を管理するタイムテーブルを利用して前記第1のボリュームと前記第2のボリュームの再同期を行うための再同期時間に関するシミュレーションを行なうステップと、
    前記シミュレーションした再同期時間に基づいて、前記リモートコピーを実行するステップとを備えること、
    を特徴とするストレージシステムの再同期設定方法。
  6. 前記シミュレーション結果を表示するステップと、
    その表示結果に基づいて、前記再同期時間の指示を取得するステップとを備えること、
    を特徴とする請求項5記載のストレージシステムの再同期設定方法。
  7. 前記リモートコピーは、前記第1のボリュームと前記第2のボリュームとを対応付けるためのアドレス変換テーブルを利用して行なうこと、
    を特徴とする請求項5記載のストレージシステムの再同期設定方法。
JP2007313025A 2007-12-04 2007-12-04 ストレージシステム及びその再同期設定方法 Pending JP2009140036A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007313025A JP2009140036A (ja) 2007-12-04 2007-12-04 ストレージシステム及びその再同期設定方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007313025A JP2009140036A (ja) 2007-12-04 2007-12-04 ストレージシステム及びその再同期設定方法

Publications (1)

Publication Number Publication Date
JP2009140036A true JP2009140036A (ja) 2009-06-25

Family

ID=40870612

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007313025A Pending JP2009140036A (ja) 2007-12-04 2007-12-04 ストレージシステム及びその再同期設定方法

Country Status (1)

Country Link
JP (1) JP2009140036A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013214184A (ja) * 2012-04-02 2013-10-17 Nec System Technologies Ltd ミラーリングシステム、ノード、ミラーリング方法、及びプログラム
US20150026505A1 (en) * 2013-07-17 2015-01-22 Kabushiki Kaisha Toshiba Storage device, storage system, and background processing execution method
US10210171B2 (en) 2014-06-18 2019-02-19 Microsoft Technology Licensing, Llc Scalable eventual consistency system using logical document journaling

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013214184A (ja) * 2012-04-02 2013-10-17 Nec System Technologies Ltd ミラーリングシステム、ノード、ミラーリング方法、及びプログラム
US20150026505A1 (en) * 2013-07-17 2015-01-22 Kabushiki Kaisha Toshiba Storage device, storage system, and background processing execution method
US10210171B2 (en) 2014-06-18 2019-02-19 Microsoft Technology Licensing, Llc Scalable eventual consistency system using logical document journaling

Similar Documents

Publication Publication Date Title
EP2005301B1 (en) Consistent updates across storage subsystems
JP5147229B2 (ja) 実行中のアプリケーションをトポロジ的遠隔に位置するコンピュータ・システムに再配置するためのシステムと方法
JP4645473B2 (ja) 電子会議支援プログラム、電子会議支援方法、電子会議制御装置
US7565503B2 (en) Method and apparatus implementing virtualization for data migration with volume mapping based on configuration information and with efficient use of old assets
KR101750429B1 (ko) 공동 편집을 위한 문서 편집 시스템 및 방법
CN101086714B (zh) 用于实施远程镜像操作的系统和方法
CN101799742A (zh) 用于在存储系统之间转移精简配置卷的方法和装置
JP4756914B2 (ja) 遠隔協調作業支援システム及びその制御方法
EP2472494A1 (en) Method and device for generating additional information of e-book contents in reader
CN101815986B (zh) 在存储控制器和复制引擎之间分离写入
JP2009134489A (ja) 文書データの表示を制御する装置及び方法
CN101061467B (zh) 远程存储数据副本
JP2009140036A (ja) ストレージシステム及びその再同期設定方法
JP2011076572A (ja) ストレージシステム、ストレージ装置、ストレージ装置の記憶内容複製方法およびプログラム
JP2015032120A (ja) シミュレーション装置、シミュレーション方法、プログラム
CN1773463A (zh) 用于一致性组形成中的数据传送管理的方法和系统
CN106797402A (zh) 信息处理系统、信息处理装置及其控制方法、图像形成装置及其控制方法、以及程序
JP2007328727A (ja) 分散ファイル管理方法及び情報処理装置
JP5982826B2 (ja) 環境構築装置、環境登録装置、環境切替装置、環境構築方法、環境登録方法、環境切替方法、環境構築プログラム、環境登録プログラム、及び環境切替プログラム
TWI328160B (en) Method, apparatus and computer program product to provide information from a first information storage and retrieval system to a second information storage and retrieval system
JP6825690B1 (ja) 情報処理システム、情報処理方法及び情報処理装置
JP2008040551A (ja) コンテンツ一覧表示方法、コンテンツ一覧表示装置及びプログラム
US20250103614A1 (en) Remote copy management
JPH1139507A (ja) 立体画像表示装置
JP5858753B2 (ja) 情報処理装置及び情報処理方法及びプログラム