JP6693224B2 - 情報処理システム、記憶装置、情報処理方法、及び、プログラム - Google Patents

情報処理システム、記憶装置、情報処理方法、及び、プログラム Download PDF

Info

Publication number
JP6693224B2
JP6693224B2 JP2016067183A JP2016067183A JP6693224B2 JP 6693224 B2 JP6693224 B2 JP 6693224B2 JP 2016067183 A JP2016067183 A JP 2016067183A JP 2016067183 A JP2016067183 A JP 2016067183A JP 6693224 B2 JP6693224 B2 JP 6693224B2
Authority
JP
Japan
Prior art keywords
storage device
information
data
map
duplication
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.)
Active
Application number
JP2016067183A
Other languages
English (en)
Other versions
JP2017182368A (ja
Inventor
智明 杉原
智明 杉原
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2016067183A priority Critical patent/JP6693224B2/ja
Publication of JP2017182368A publication Critical patent/JP2017182368A/ja
Application granted granted Critical
Publication of JP6693224B2 publication Critical patent/JP6693224B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Retry When Errors Occur (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、情報の処理に関し、特に、情報を複製する情報処理システム、記憶装置、情報処理方法、及び、プログラムに関する。
近年、業務用のサーバの運用形態として、業務用のデータを、サーバに直接的に接続されたストレージ装置にではなく、ネットワークを介して接続されているストレージ装置に保存する運用形態が用いられている。この運用形態の場合、サーバは、ネットワークを介して、ストレージ装置のデータをアクセスする。
また、業務用のデータは、データの保全が重要である。データを保全する手法の一つとして、マスターデータを保存するストレージ装置とは別のストレージ装置にデータの複製を保持させる方法がある(例えば、特許文献1及び2を参照)。この方法は、データの保全に対して、非常に有効である。具体的には、この方法は、マスターデータを保持しているストレージ装置(以下、マスター装置と呼ぶ)のデータを、複製データを保持するストレージ装置(以下、スレーブ装置と呼ぶ)に複製として保持させる方法である。
データ量が少ない場合、業務を停止してデータの複製作業を実施することが可能である。しかし、データ量は、増加の一途をたどっている。そのため、データの複製のために業務を停止したのでは、停止時間が、業務に影響を与えるようになっている。そのため、データの複製は、業務中に実施されている。
ただし、業務におけるデータの更新量が多い場合、複製の対象となるマスターデータは、頻繁に更新される。つまり、複製対象となるデータが、多くなる。その結果、マスター装置から、スレーブ装置に送信されるデータ量が多くなる。そのため、データの複製のための時間が、長くなっている。
また、マスター装置において、業務におけるデータの入出力処理と、複製のため出力処理とが、並列に実行される。この状態は、マスター装置における負荷が、高い状態となる。
つまり、マスター装置において、負荷の高い状況が、長時間となっている。この状態は、マスター装置における通常の動作に性能に影響を与える。
そのため、データ複製の動作の効率化が、望まれている。
通常の動作に対する複製動作の影響を低減する方法として、ストレージ装置が、通常の動作を実行していないときにデータの複製を実施する方法がある(例えば、特許文献2を参照)。
特表2013−543995号公報 特開2013−097630号公報
特許文献2に記載の発明は、通常の動作に対する複製動作の影響を削減している。しかし、特許文献2に記載の発明は、マスター装置における動作の全体の負荷を削減してはいない。つまり、特許文献2に記載の発明は、通常の処理と複製処理とを合わせた全体の負荷を低減しているわけではない。例えば、特許文献2に記載の発明は、負荷が高いマスター装置、つまりアクセスが多いマスター装置において、複製に必要な期間を、確保できない可能性がある。つまり、特許文献2に記載の発明は、データの複製が完了できない可能性がある。
このように、特許文献2に記載の発明は、データの複製におけるマスター装置の負荷を低減できないという問題点があった。
特許文献1に記載の発明は、フラッシュコピーに関する発明であり、上記問題点を解決する発明ではない。
本発明の目的は、上記問題点を解決し、データの複製におけるマスター装置の負荷を低減する情報処理システム、記憶装置、情報処理方法、及び、プログラムを提供することにある。
本発明の一形態における情報処理システムは、上位装置と第1の記憶装置と第2の記憶装置と中継装置とを含む情報処理システムにおいて、中継装置が、上位装置から第1の記憶装置へのデータの書き込み及びデータの読み出しを中継し、中継する情報の複製である観測に関する情報を第2の記憶装置に送信し、第1の記憶装置が、データを書き込むブロックにおける情報を保持する第1のマップを記憶する第1の記憶手段と、上位装置から受信したデータを書き込んだ場合に第1のマップの情報を複製が必要なことを示す情報に更新する第1の管理手段とを含み、第2の記憶装置が、データを複製するブロックにおける情報を保持する第2のマップを記憶する第2の記憶手段と、中継装置から受信した観測に関する情報を基に第1の記憶装置がデータを書き込んだ場合に第2のマップの情報を複製が必要なことを示す情報に更新し、第1の記憶装置から受信した複製のためのデータを保存した場合に第2のマップの情報を複製が不要なことを示す情報に更新する第2の管理手段と、第1のマップと第2のマップとを基に第1の記憶装置における複製するブロックのデータを取得し、第1のマップの情報を複製が不要なことを示す情報に更新し、第2の管理手段に複製のためのデータの保存を依頼する複製制御手段とを含む。
本発明の一形態における情報処理方法は、上位装置と第1の記憶装置と第2の記憶装置と中継装置とを含む情報処理システムにおいて、中継装置が、上位装置から第1の記憶装置へのデータの書き込み及びデータの読み出しを中継し、中継する情報の複製である観測に関する情報を第2の記憶装置に送信し、第1の記憶装置が、データを書き込むブロックにおける情報を保持する第1のマップを記憶し、上位装置から受信したデータを書き込んだ場合に第1のマップの情報を複製が必要なことを示す情報に更新し、第2の記憶装置が、データを複製するブロックにおける情報を保持する第2のマップを記憶し、中継装置から受信した観測に関する情報
を基に第1の記憶装置がデータを書き込んだ場合に第2のマップの情報を複製が必要なことを示す情報に更新し、第1の記憶装置から受信した複製のためのデータを保存した場合に第2のマップの情報を複製が不要なことを示す情報に更新し、第1のマップと第2のマップとを基に第1の記憶装置における複製するブロックのデータを取得し、第1のマップの情報を複製が不要なことを示す情報に更新し、複製のためのデータを保存する。
本発明の一形態における記憶装置は、上位装置と、上位装置から他の記憶装置へのデータの書き込み及びデータの読み出しを中継し、中継する情報の複製である観測に関する情報を記憶装置に送信する中継装置とデータを書き込むブロックにおける情報を保持する第1のマップを記憶する第1の記憶手段と、上位装置から受信したデータを書き込んだ場合に第1のマップの情報を複製が必要なことを示す情報に更新する第1の管理手段とを含む他の記憶装置とを含む情報処理システムにおいて、データを複製するブロックにおける情報を保持する第2のマップを記憶する第2の記憶手段と、中継装置から受信した観測に関する情報を基に第1の記憶装置がデータを書き込んだ場合に第2のマップの情報を複製が必要なことを示す情報に更新し、第1の記憶装置から受信した複製のためのデータを保存した場合に第2のマップの情報を複製が不要なことを示す情報に更新する第2の管理手段と、第1のマップと第2のマップとを基に第1の記憶装置における複製するブロックのデータを取得し、第1のマップの情報を複製が不要なことを示す情報に更新し、第2の管理手段に複製のためのデータの保存を依頼する複製制御手段とを含む。
本発明の一形態における情報処理方法は、上位装置と、上位装置から他の記憶装置へのデータの書き込み及びデータの読み出しを中継し、中継する情報の複製である観測に関する情報を記憶装置に送信する中継装置とデータを書き込むブロックにおける情報を保持する第1のマップを記憶する第1の記憶手段と、上位装置から受信したデータを書き込んだ場合に第1のマップの情報を複製が必要なことを示す情報に更新する第1の管理手段とを含む他の記憶装置とを含む情報処理システムにおいて、記憶装置が、データを複製するブロックにおける情報を保持する第2のマップを記憶し、中継装置から受信した観測に関する情報を基に第1の記憶装置がデータを書き込んだ場合に第2のマップの情報を複製が必要なことを示す情報に更新し、第1の記憶装置から受信した複製のためのデータを保存した場合に第2のマップの情報を複製が不要なことを示す情報に更新し、第1のマップと第2のマップとを基に第1の記憶装置における複製するブロックのデータを取得し、第1のマップの情報を複製が不要なことを示す情報に更新し、複製のためのデータを保存する。
本発明の一形態におけるプログラムは、上位装置と、上位装置から他の記憶装置へのデータの書き込み及びデータの読み出しを中継し、中継する情報の複製である観測に関する情報を第2の記憶装置に送信する中継装置とデータを書き込むブロックにおける情報を保持する第1のマップを記憶する第1の記憶手段と、上位装置から受信したデータを書き込んだ場合に第1のマップの情報を複製が必要なことを示す情報に更新する第1の管理手段とを含む他の記憶装置とを含む情報処理システムにおいて、記憶装置のコンピュータに、データを複製するブロックにおける情報を保持する第2のマップを記憶する処理と、中継装置から受信した観測に関する情報を基に第1の記憶装置がデータを書き込んだ場合に第2のマップの情報を複製が必要なことを示す情報に更新し、第1の記憶装置から受信した複製のためのデータを保存した場合に第2のマップの情報を複製が不要なことを示す情報に更新する処理と、第1のマップと第2のマップとを基に第1の記憶装置における複製するブロックのデータを取得し、第1のマップの情報を複製が不要なことを示す情報に更新し、複製のためのデータを保存する処理とを実行させる。
本発明に基づけば、データの複製におけるマスター装置の負荷を低減する効果を奏することができる。
図1は、本発明における第1の実施形態に係る情報処理装置の構成の一例を示すブロック図である。 図2は、第1の実施形態に係る記憶装置の構成の一例を示すブロック図である。 図3は、複製状況ブロックマップの一例を示す図である。 図4は、第1の実施形態に係るデータの流れの一例を示す図である。 図5は、記憶装置と上位装置との間でエラーが発生した場合を示す図である。 図6は、マスター装置である記憶装置においてエラーが発生した場合を示す図である。 図7は、中継装置と記憶装置との間でエラーが発生した場合を示す図である。 図8は、スレーブ装置である記憶装置においてエラーが発生した場合を示す図である。 図9は、第1の遅延状態を示す図である。 図10は、第2の遅延状態を示す図である。 図11は、第3の遅延状態を示す図である。 図12は、第4の遅延状態を示す図である。 図13は、第1の実施形態の概要を示すブロック図である。 図14は、上位装置のハードウェア構成の一例を示すブロック図である。 図15は、中継装置のハードウェア構成の一例を示すブロック図である。 図16は、記憶装置のハードウェア構成の一例を示すブロック図である。
次に、本発明の実施形態について図面を参照して説明する。
各図面は、本発明の実施形態を説明するためのものである。ただし、本発明は、各図面の記載に限られるわけではない。また、各図面の同様の構成には、同じ番号を付し、その繰り返しの説明を、省略する場合がある。また、以下の説明に用いる図面において、本発明の説明に関係しない部分の構成については、記載を省略し、図示しない場合もある。また、図面中の矢印の方向は、一例を示すものであり、ブロック間の信号の向きを限定するものではない。
<関連する発明>
本発明における実施形態の説明の前に、本発明に関連する発明(以下、関連発明と呼ぶ)を説明する。
関連発明は、マスター装置における負荷の低減として、スレーブ装置が、マスター装置に入力されるデータとマスター装置から出力されるデータとを観測して、データを複製する。関連発明は、マスター装置において、複製のための動作を不要とする。つまり、関連発明は、マスター装置におけるデータを複製するための負荷を削減する。
しかし、スレーブ装置は、データを保存する装置であり、データを中継する装置ではない。そのため、スレーブ装置は、マスター装置のデータ経路上に存在するわけではない。つまり、スレーブ装置は、マスター装置に対するデータを全て観測できるように構成されるとは限らない。そのため、スレーブ装置における観測は、必ずしも成功するとは限らない。データを観測できない場合、つまり、観測におけるエラーが発生する場合が想定される。
そして、スレーブ装置における観測は、スレーブ装置側の動作である。つまり、観測は、マスター装置が関与しない動作である。そのため、観測が失敗した場合でも、マスター装置におけるリトライなどの回復動作は、実行されない。つまり、スレーブ装置が、データの観測が失敗した場合、スレーブ装置は、そのデータを取得できない。
さらに、関連発明において、スレーブ装置が観測したデータの順序がマスター装置におけるデータの順序と同じであることは、保証されていない。
このように、関連発明は、データを取得でない場合があり、データの順序を保証できないという問題点があった。
本発明における実施形態は、特許文献1及び2の課題に加え、関連発明の課題を解決する。
<第1の実施形態>
以下、図面を参照して、第1の実施形態について説明する。
[構成の説明]
まず、第1の実施形態に係る情報処理システム100の構成について、図面を参照して説明する。
図1は、第1の実施形態に係る情報処理システム100の構成の一例を示すブロック図である。情報処理システム100は、中継装置200と、記憶装置300と、記憶装置310と、上位装置400とを含む。
記憶装置300及び記憶装置310は、データを記憶する装置である。記憶装置300及び記憶装置310は、実際には、同様の構成を含む。ただし、以下の説明では、説明の便宜のため、記憶装置300及び記憶装置310は、異なる符号を付している。具体的には、記憶装置300は、データの複製において、マスター装置となる。一方、記憶装置310は、データの複製において、スレーブ装置となる。そのため、以下の説明では、記憶装置300及び記憶装置310は、本実施形態に関連する構成を含むとして説明し、説明に関連しない構成の説明を省略する。したがって、記憶装置300及び記憶装置310は、以下の説明に用いる構成以外の構成を含んでもよい。
また、以下の説明に用いる図面において、記憶装置300及び記憶装置310に含まれる実際のデータを記憶する媒体の図示を省略する。つまり、以下の説明における記憶装置300及び記憶装置310の媒体は、「図示していない媒体」である。ただし、説明の便宜のため、「図示していない媒体」を、単に「媒体」として説明する。
また、記憶装置300及び記憶装置310は、媒体にデータを記憶する場合、所定の処理単位を用いて、データを記憶する。以下、この処理単位を「ブロック」と呼ぶ。
なお、媒体は、例えば、ハードディスク、光磁気ディスク、又は、半導体メモリである。
上位装置400は、記憶装置300のデータを用いて処理を実行する。そのため、上位装置400は、記憶装置300にデータを書き込み、記憶装置300からデータを読み出す。
記憶装置300は、上位装置400から受信したデータを記憶する。また、記憶装置300は、記憶しているデータを上位装置400に送信する。
記憶装置310は、記憶装置300に記憶されているデータの複製を記憶する。そのため、記憶装置310は、中継装置200を介して上位装置400と記憶装置300とデータのやり取りを観測する。さらに、記憶装置310は、記憶装置300から複製用のデータを取得する。
そのため、記憶装置300は、記憶装置310と、データの複製に用いる接続路を介して接続されている。この接続路は、特に制限はない。例えば、記憶装置300と記憶装置310とは、SAS(Serial Attached SCSI (Small Computer System Interface))を介して接続されている。
中継装置200は、上位装置400と記憶装置300とのデータを中継する。さらに、中継装置200は、上位装置400から記憶装置300へのデータの書き込み及び記憶装置300から上位装置400へのデータの読み出しに関する情報を、観測に関する情報として、記憶装置310に送信する。具体的には、中継装置200は、記憶装置300と上位装置400との間において仲介する情報の複製を作成し、記憶装置310に転送する。つまり、観測とは、上位装置400と記憶装置300との間でやり取りされる情報の少なくとも一部の情報の複製を取得することである。
なお、中継装置200は、上位装置400と記憶装置300との間のデータを中継できれば、その構成及び使用するプロトコルなどは限定されない。中継装置200の一例は、ファイバーチャネル(FC:Fiber Channel)スイッチである。この場合、中継装置200は、観測として、FCポートミラーリングを用いてもよい。
以下、中継装置200の動作の一例について説明する。
中継装置200は、上位装置400から記憶装置300への通信内容(例えば、データの書き込みに関連する情報)を受信すると、通信内容の複製を作成する。複製を作成後、中継装置200は、上位装置400から受信した通信内容を記憶装置300に送信する。そして、中継装置200は、複製した通信内容を記憶装置310に送信する。
また、中継装置200は、記憶装置300から上位装置400への通信内容(例えば、リードしたデータに関連する情報)を受信すると、通信内容の複製を作成する。複製を作成後、中継装置200は、記憶装置300から受信した通信内容を上位装置400に送信する。そして、中継装置200は、複製した通信内容を記憶装置310に送信する。
このように、中継装置200は、上位装置400と記憶装置300との通信内容を複製し、記憶装置310に送信する。この動作が、観測に相当する。
なお、複製する情報は、コマンド、ステータス、及び、データに限られず、コマンドの成功及び失敗など、その他の情報を含んでもよい。
このように、中継装置200は、通常のデータの中継動作に加え、記憶装置310における観測に関する動作を実行する。しかし、この動作は、中継装置200において、複製を作成して送信するという、処理量の少ない動作である。そのため、中継装置200は、他の動作に影響させずに、この動作を実行できる。つまり、中継装置200における観測は、記憶装置300の動作に影響を与えない。
なお、上記の手法は、あくまで一例である。中継装置200が記憶装置310に、観測として、情報を送信する方法は、上記とは異なっていてもよい。
次に、記憶装置300及び記憶装置310の詳細な構成について説明する。
図2は、第1の実施形態に係る記憶装置300及び記憶装置310の構成の一例を示すブロック図である。ただし、既に説明したとおり、図2は、以下の説明に関連する構成を示している。図2は、記憶装置300と記憶装置310との構成を制限するものではない。例えば、記憶装置300は、記憶装置310と同様の構成を含んでもよい。
記憶装置300は、ブロック管理部304と、複製状況ブロックマップ記憶部306とを含む。複製状況ブロックマップ記憶部306は、複製状況ブロックマップ307を含む。
記憶装置310は、入出力解析部311と、入出力管理表記憶部312と、累計入出力数計測部313と、ブロック管理部314と、複製スケジューラー315と、複製状況ブロックマップ記憶部316とを含む。複製状況ブロックマップ記憶部316は、複製状況ブロックマップ317を含む。
まず、記憶装置300の構成について説明する。
複製状況ブロックマップ307は、記憶装置300の媒体におけるブロックの複製状況に関連する情報を保存する。
ブロック管理部304は、記憶装置300におけるデータを記憶するブロックを管理する。より具体的には、ブロック管理部304は、記憶装置300に含まれる媒体にデータを書き込んだ場合、そのブロックに対応する複製状況ブロックマップ307のデータを更新する。
なお、後ほど説明するが、記憶装置310が記憶装置300のブロックのデータを複製した場合、記憶装置310の複製スケジューラー315が、複製状況ブロックマップ307のデータを更新する。
このように、複製状況ブロックマップ307は、複数の構成からアクセスされる。そのため、複製状況ブロックマップ307には、排他処理が、実施されている。つまり、複製状況ブロックマップ307のデータは、同時に1つの操作者からしか更新されない。
なお、記憶装置300における媒体へのデータ書き込みの動作と、書き込み結果を複製状況ブロックマップ307に反映する動作とは、アトミック(不可分)に実施される。
次に、記憶装置310の構成を説明する。
複製状況ブロックマップ317は、記憶装置310におけるブロックの複製状況に関連する情報を保存する。
ブロック管理部314は、記憶装置310におけるデータを記憶するブロックを管理する。より具体的には、ブロック管理部314は、記憶装置310に含まれる媒体にデータが書き込まれた場合に、そのブロックに対応する複製状況ブロックマップ317のデータを更新する。例えば、ブロック管理部314は、複製スケジューラー315におけるデータの複製に対応して、複製状況ブロックマップ317のデータを更新する。さらに、ブロック管理部314は、入出力解析部311からの観測に関する情報を基に、記憶装置300への書き込みに対応して、複製状況ブロックマップ317のデータを更新する。
記憶装置310における媒体へのデータの複製の動作と、複製の結果を複製状況ブロックマップ317に反映する動作とは、アトミック(不可分)に実施される。
図3は、複製状況ブロックマップ307及び複製状況ブロックマップ317の一例を示す図である。なお、複製状況ブロックマップ307と複製状況ブロックマップ317とにおいて、対応するブロックの数が一致していれば、その形式及びデータ構造は、異なっていてもよい。つまり、図3は、複製状況ブロックマップ307と複製状況ブロックマップ317とを限定するものではない。
図3の左側が、記憶装置300の複製状況ブロックマップ307の一例である。図3の右側が、記憶装置310の複製状況ブロックマップ317の一例である。図3における各欄が、各ブロックの情報を表している。なお、「1」は、複製が必要であることを示し、「0」は、複製が不要であることを示す。
図3に示されているように、複製状況ブロックマップ307の情報と、複製状況ブロックマップ317との情報は、異なる値を保持する場合がある。
なお、複製状況ブロックマップ307及び複製状況ブロックマップ317とは、一つのマップに限られる必要はない。例えば、複製状況ブロックマップ307及び複製状況ブロックマップ317は、論理ディスク毎に作成されてもよい。あるいは、複製状況ブロックマップ307及び複製状況ブロックマップ317は、物理ディスクごとに作成されてもよい。
さらに、複製状況ブロックマップ307及び複製状況ブロックマップ317に保存されるブロックに関連するデータの形式は、特に制限されない。例えば、複製状況ブロックマップ307及び複製状況ブロックマップ317は、複製が必要なことを示す情報(以下、「複製必要(1)」とする)と、複製が不要であることを示す情報(以下、「複製不要(0)」とする)とを保持してもよい。
例えば、ブロック管理部304は、記憶装置300にデータが書き込まれると複製状況ブロックマップ307を「複製必要(1)」に更新してもよい。例えば、複製スケジューラー315は、記憶装置300から記憶装置310へデータを取得した場合、複製状況ブロックマップ307を「複製不要(0)」に更新してもよい。
あるいは、ブロック管理部314は、記憶装置300への書き込みを観測すると複製状況ブロックマップ317を「複製必要(1)」に更新してもよい。さらに、ブロック管理部314は、記憶装置310への複製が完了すると、複製状況ブロックマップ317を「複製不要(0)」に更新してもよい。
図2を参照した説明に戻る。
入出力解析部311は、中継装置200から受信した上位装置400と記憶装置300との観測に関する情報(例えば、通信内容)を解析する。具体的な入出力解析部311における解析内容は、上位装置400及び記憶装置300との動作に基づいて決定される。例えば、入出力解析部311は、上位装置400から記憶装置300に送信された情報の入力及び出力に関するコマンドを解析し、対応するブロックの特定及びデータ量などを算出してもよい。あるいは、入出力解析部311は、入力及び出力における成功数及び失敗数のような統計的な情報を算出してもよい。
入出力解析部311は、受信した情報及び解析結果を入出力管理表記憶部312に保存する。入出力解析部311は、入出力管理表記憶部312に記憶した情報を用いて、統計的な情報を算出してもよい。
さらに、入出力解析部311は、解析結果を、ブロック管理部314と、累計入出力数計測部313とに送信する。
入出力管理表記憶部312は、入出力解析部311から受信した情報を保持する。
累計入出力数計測部313は、入出力解析部311の解析結果を基に、上位装置400及び記憶装置300との間での入力数及び出力数を計測し、累計入出力数を算出する。例えば、累計入出力数計測部313は、ブロックを単位として、上記の累計入出力数を算出する。
複製スケジューラー315は、所定の手法を用いて、記憶装置300のデータを記憶装置310に複製する。具体的には、複製スケジューラー315は、複製するブロックのデータを記憶装置300から取得する。そして、複製スケジューラー315は、複製状況ブロックマップ307の情報を更新する。そして、複製スケジューラー315は、データをブロック管理部314に送る。なお、複製スケジューラー315は、複製の手法として、各種の手法を用いてもよい。所定の手法の一例については、後ほど説明する。
なお、データを受信したブロック管理部314は、複製データとして受信したデータを記憶媒体に保存後、複製状況ブロックマップ317を更新する。
[動作の説明]
次に、図面を参照して、情報処理システム100の動作を説明する。
(1)準備段階の動作
まず、以下で説明する動作の準備段階の動作を説明する。
中継装置200は、上位装置400と記憶装置300との間の情報を観測(例えば、やり取りされる情報を複製して記憶装置310に転送)するように設定されているとする。例えば、中継装置200は、上記のFCポートミラーリング機能が設定される。つまり、中継装置200は、観測可能な状態である。
さらに、複製状況ブロックマップ307及び複製状況ブロックマップ317は、予め、複製状況ブロックマップ記憶部306及び複製状況ブロックマップ記憶部316に作成されている。複製状況ブロックマップ307及び複製状況ブロックマップ317の初期状態は、すべてのブロックに対応する情報が「複製必要(1)」に設定されている。
(2)複製の動作
図4は、以下で説明する動作におけるデータの流れの一例を示す図である。
まず、記憶装置310の動作を説明する。
記憶装置310の入出力解析部311は、中継装置200からの観測に関する情報を基に、上位装置400と、記憶装置300との間のデータの書き込み及び読み出しを解析する。
入出力解析部311は、入力情報として、観測に関する情報及び/又は解析結果を入出力管理表記憶部312に保存する。
入出力解析部311は、ブロック管理部314に、観測に関する情報、つまり、上位装置400と記憶装置300との間の情報の転送に関する情報を送信する。送信する内容は、例えば、以下のデータを含む。
情報1:上位装置400から記憶装置300への書き込みに関する情報(書き込みに関する情報で、データ以外を指す。例えば、書き込みブロックの位置及び書き込みサイズ等である。以下、メタデータと呼ぶ)
情報2:記憶装置300から上位装置400への読み込みに対応する応答データ
また、入出力解析部311は、観測に関する情報を基に、累計入出力数計測部313に入力数及び出力数に関する情報を送信する。
累計入出力数計測部313は、受信した情報を用いて、累計入出力数を算出する。累計入出力数計測部313は、累計として、読み込み及び書き込みの両方を計測する。さらに、累計入出力数計測部313は、累計として、失敗した場合の読み込み及び書き込みも計測する。ただし、累計入出力数計測部313は、これらを分けて計測してもよい。
複製スケジューラー315は、累計入出力数計測部313の計測数を参照する。そして、複製スケジューラー315は、記憶装置300における上位装置400からの読み書きが多いデータの範囲及び現在動作しているデータの範囲を避け、読み書きが少ないデータの範囲又は現在動作していないデータ範囲を選択する。この範囲を、以下、「複製対象範囲」と呼ぶ。そして、複製スケジューラー315は、複製対象範囲のブロックに対して、記憶装置300から記憶装置310へのデータの複製のスケジュールを作成する(スケジューリングする)。
なお、複製スケジューラー315は、複製の単位として、各種の単位を用いることできる。例えば、複製スケジューラー315は、ブロック単位に複製を実行してもよい。あるいは、複製スケジューラー315は、論理ディスク単位に複製を実行してもよい。あるいは、複製スケジューラー315は、物理ブロック単位に複製を実行してもよい。
累計入出力数計測部313は、常に、計測数を更新している。そのため、複製スケジューラー315は、累計入出力数の更新に伴い、スケジュールを更新する。
さらに、複製スケジューラー315は、複製状況ブロックマップ307と複製状況ブロックマップ317の状態を参照し、複製するブロックを決定する。詳細は、後ほど説明する。
そして、複製スケジューラー315は、作成したスケジュールにしたがい、記憶装置300のブロック管理部304に依頼し、複製対象のブロックのデータを取得する。そして、複製スケジューラー315は、データを取得したブロックに対応する複製状況ブロックマップ307のデータの状態を更新する。具体的には、複製スケジューラー315は、対応するデータを「複製不要(0)」に更新する。
そして、複製スケジューラー315は、取得したデータをブロック管理部314に渡す。
ブロック管理部314は、複製スケジューラー315から渡されたデータに媒体に記録し、データを記録したブロックに対応する複製状況ブロックマップ317のデータを「複製不要(0)」に更新する。
また、ブロック管理部314は、入出力解析部311から取得した観測に関する情報(具体的には記憶装置300への書き込み)に基づき、複製状況ブロックマップ317を更新する。すなわち、ブロック管理部314は、記憶装置300においてデータの書き込み対象となったブロックに対応する複製状況ブロックマップ317のデータを「複製必要(1)」に更新する。
次に、記憶装置300の動作について説明する。
ブロック管理部304は、上位装置400とのデータの入力及び出力にともなってデータが更新された場合、複製状況ブロックマップ307における対応するブロックのデータを「複製必要(1)」に更新する。
(3)同期の動作
なお、複製スケジューラー315は、所定のタイミング、又は、所定の指示を基に、次に説明する同期の動作を実行してもよい。この同期の動作は、記憶装置300及び記憶装置310が保持するデータを同期する動作である。複製スケジューラー315における同期動作は、次の2つの動作となる。
動作1:複製スケジューラー315は、記憶装置300において、新規のデータの入力及び出力を反映しないようにする。ここで、反映しないとは、例えば、次のような動作を想定している。(a)上位装置400で新規入出力を止める。(b)記憶装置300で上位装置400から受け取った入出力コマンドの処理を遅らせる(ただし、遅らせる時間は無応答と判断されない時間とする)。(c)記憶装置300で上位装置400から受け取った入出力コマンドにBUSY応答を返す。
動作2:複製スケジューラー315は、複製状況ブロックマップ307と、複製状況ブロックマップ317とを用いて、複製対象のブロックを判定する。具体的には、複製スケジューラー315は、少なくとも複製状況ブロックマップ307及び複製状況ブロックマップ317のいずれかにおいて「複製必要(1)」となっているブロックのデータを複製(ここでは同期)の対象とする。そして、複製スケジューラー315は、複製対象のブロックデータの同期を実行する。なお、複製スケジューラー315は、この段階では、複製状況ブロックマップ317は用いず、複製状況ブロックマップ307のみを参照してスケジューリングしてもよい。
複製スケジューラー315は、複製対象範囲における複製対象のブロックに対して、上記の動作を用いて同期を実現する。
(4)エラー発生時の動作
次に、エラーが発生した場合の動作について、図面を参照して説明する。
図5は、記憶装置300と中継装置200との間でエラーが発生した場合を示す図である。
この場合、上位装置400は、エラーの発生を検知できる。そのため、上位装置400は、リトライを実行して、記憶装置300との入出力を実行する。
例えば、情報処理システム100が、図示しない冗長経路を含み、そのいずれかの経路のエラーの場合、上位装置400は、別経路を用いて、つまり経路のフェイルオーバーを用いて、リトライしてもよい。
あるいは、CRC(Cyclic Redundancy Code)のエラーのためデータが消失した場合、上位装置400は、例えば、タイムアウトに基づいてリトライを実行する。その結果、上位装置400は、記憶装置300との入出力を実行できる。
上記のいずれの場合も、上位装置400は、記憶装置300と、入出力に関するステータスをやり取りする。そのため、記憶装置310は、観測に関する情報を基にステータス情報を取得できる。つまり、記憶装置310は、観測に関する情報を基に、記憶装置300でのエラーを知ることができる。この動作は、データの書き込み、及び、読み込みの両方において問題なく動作する。記憶装置310は、観測に関する情報を基に複製するブロックを判定できる。
図6は、マスター装置である記憶装置300においてエラーが発生した場合を示す図である。この場合は、例えば、記憶装置300において、記憶装置300の内部の冗長機能を用いてもエラーを修復できない場合である。例えば、記憶装置300が、RAID(Redundant Array Inexpensive Disks)の機構を備えていた場合に、データが、RAIDの機能を用いても救えなかった場合である。
この場合でも、上位装置400は、記憶装置300とステータス情報をやり取りする。そのため、記憶装置310は、ステータス情報を観測できる。つまり、記憶装置310は、記憶装置300でエラーが発生したことを知ることができる。
なお、この場合、記憶装置300がエラーとなっているため、記憶装置310は、データの複製を実行しない。
図7は、中継装置200と記憶装置310との間でエラーが発生した場合を示す図である。つまり、記憶装置310は、観測を実行できない。
この場合、上位装置400と記憶装置300とは、記憶装置310のエラーからの影響を受けない。つまり、上位装置400は、記憶装置310のエラーを知らない。そのため、上位装置400は、リトライなどを実施しない。その結果、正常ならば記憶装置310が取得する観測に関する情報は、失われる。
ただし、情報処理システム100は、以下のような動作を基に、この場合のエラーに対応できる。
上位装置400から記憶装置300へのデータの書き込みの場合、記憶装置300のブロック管理部304は、複製状況ブロックマップ307における対応するブロックを「複製必要(1)」に更新する。つまり、そのブロックは、複製スケジューラー315における複製の対象となる。そのため、記憶装置310は、データを複製する。
このように、記憶装置310における複製動作は、記憶装置300の複製状況ブロックマップ307を必要とする。
なお、記憶装置310が、観測に関する情報として、データ部分を取得できないが、書き込みのコマンド部分が取得できた場合、入出力解析部311は、コマンド部分などのメタデータを、ブロック管理部314に送信してもよい。そして、ブロック管理部314は、メタデータを基に、複製状況ブロックマップ317における対応するブロックを「複製必要(1)」と更新してもよい。この場合、そのブロックは、複製状況ブロックマップ317においても、複製スケジューラー315における複製の対象となる。
図8は、スレーブ装置である記憶装置310においてエラーが発生した場合を示す図である。記憶装置310が障害となっているため、複製は、続行不可能である。この場合は、記憶装置310での障害を取り除いた後で、情報処理システム100は、複製をやり直す。
(5)遅延発生時の動作
データ通信においては、遅延が発生する。そのため、記憶装置310が観測として情報を取得する時点は、記憶装置300が上位装置400から書き込み及び読み出しの情報を受信する時間に対して、前後する可能性がある。しかし、本実施形態に係る情報処理システム100は、通信における遅延が発生した場合でも、正常に動作する。以下、同一のブロックに対する読み出し及び書き込みに関して遅延が発生した場合について説明する。以下、説明の対象となるブロックを「ブロックA」とする。
図9は、第1の遅延状態を示す図である。図9に示されている動作を説明する。
記憶装置300は、上位装置400からデータの書き込みを受信後、記憶装置310からデータの読み出しを受信する。
一方、記憶装置310は、複製として記憶装置300からデータの読み出した後、上位装置400から記憶装置300への書き込みを観測する。
この場合、記憶装置310は、まず、複製としてデータを読みだした後、ブロックAに対応する複製状況ブロックマップ317を複製不要(0)に更新する。そして、その後に、記憶装置310は、記憶装置300へのデータの書き込みを観測する。その結果、記憶装置310は、観測に関する情報を基に、ブロックAの複製状況ブロックマップ317を複製必要(1)に更新する。
この場合、記憶装置310は、既に、記憶装置300と同じデータを保持している。しかし、複製状況ブロックマップ317が複製必要(1)となっているため、複製スケジューラー315は、既に説明した複製動作を実行する。つまり、記憶装置310は、保存済みのデータの上書きを実行する。ただし、同じデータのため、この動作は、問題を発生しない。つまり、情報処理システム100は、データの複製を、正しく実行する。
また、この動作は、記憶装置310における動作のため、記憶装置300における負荷を増加させない。
図10は、第2の遅延状態を示す図である。図10に示されている動作を説明する。
記憶装置300は、記憶装置310からデータの読み出しを受信後、上位装置400からデータの書き込みを受信する。
記憶装置310は、上位装置400から記憶装置300への書き込みを観測後、記憶装置300から複製データを取得する。
この場合、記憶装置310は、複製のためのブロックAの読み出しを依頼済みの状態において、記憶装置300に対するブロックAを含むデータの書き込みを観測する。そのため、記憶装置310は、依頼済みの読み出しが無効であると判断できる。そこで、記憶装置310は、依頼済みの読み出しに対応したデータを破棄する。また、記憶装置310は、読み出しに対応する複製状況ブロックマップ317に対する更新を実行しない。
具体的には、複製スケジューラー315が、ブロック管理部314における観測を確認し、複製データを破棄すればよい。
なお、記憶装置300は、上位装置400からの書き込みを基に複製状況ブロックマップ307を複製必要(1)更新する。その結果、記憶装置300に書き込まれたデータは、複製スケジューラー315の複製対象となる。つまり、複製スケジューラー315は、複製を実行する。このように、情報処理システム100は、データの複製を、正しく実行する。
また、この動作は、記憶装置310における動作のため、記憶装置300における負荷を増加させない。
図11は、第3の遅延状態を示す図である。図11に示されている動作を説明する。
記憶装置300は、データの書き込みを2回受信後、記憶装置310からの複製状況ブロックマップ307の更新を受信する。
記憶装置310は、第1のデータの書き込みの観測に基づいた記憶装置300の複製状況ブロックマップ307の更新中に、第2のデータの書き込みを観測する。その後、記憶装置310は、複製状況ブロックマップ307の更新の結果を受信する。
この場合、記憶装置300において、第2のデータの書き込み後に、記憶装置310から複製状況ブロックマップ307が、更新される。そのため、複製状況ブロックマップ307のデータは、「複製不要(0)」となる。
一方、記憶装置310は、第1のデータの書き込みの観測した場合、記憶装置310は、複製状況ブロックマップ317を「複製必要(1)」に更新する。そして、記憶装置310は、複製を基に、複製状況ブロックマップ317のデータを更新しようとする。しかし、複製に対応したデータの更新前に、記憶装置310は、同じブロックへの第2のデータの書き込みを観測する。この場合も、記憶装置310は、複製状況ブロックマップ317を「複製必要(1)」に設定する。そこで、記憶装置310は、第1のデータの書き込みに対応した複製を実行後、複製状況ブロックマップ317を更新しない。つまり、記憶装置310は、複製状況ブロックマップ317を、第2の書き込みの観測に対応した設定を保存する。つまり、記憶装置310は、第2のデータの書き込みの観測に基づく設定(今の場合「複製必要(1)」)を保存する。その結果、記憶装置300に書き込まれたデータは、複製スケジューラー315の複製対象となる。つまり、複製スケジューラー315は、複製を実行する。このように、情報処理システム100は、データの複製を、正しく実行する。
具体的には、複製スケジューラー315が、ブロック管理部314における観測を基に、第1のデータの書き込み対して、ブロック管理部314に複製に対応した複製状況ブロックマップ317を更新しないことを依頼すればよい。
あるいは、ブロック管理部314が、複製スケジューラー315の複製動作を確認して、複製状況ブロックマップ317の更新を切り替えてもよい。
また、この動作は、記憶装置310における動作のため、記憶装置300における負荷を増加させない。
図12は、第4の遅延状態を示す図である。図12に示されている動作を説明する。
記憶装置300は、データの書き込みを2回受信する。
記憶装置310は、第2のデータの書き込みを観測後、第1のデータの書き込みを観測する。
この場合、記憶装置300は、2回のデータの書き込みを実行後、複製状況ブロックマップ307を「複製必要(1)」に更新する。
一方、記憶装置310は、第2のデータの書き込みの観測に基づいて複製状況ブロックマップ317を「複製必要(1)」に更新後、第1のデータの書き込みの観測に基づいて複製状況ブロックマップ317を「複製必要(1)」に再更新する。その結果、記憶装置300に書き込まれたデータは、複製スケジューラー315の複製対象となる。つまり、複製スケジューラー315は、複製を実行する。このように、情報処理システム100は、データの複製を、正しく実行する。
また、この動作は、記憶装置310における動作のため、記憶装置300における負荷を増加させない。
[効果の説明]
次に、本実施形態の効果について説明する。
第1の実施形態に係る情報処理システム100は、データの複製において、マスター装置である記憶装置300の負荷を低減するとの効果を奏することができる。
その理由は、次のとおりである。
中継装置200は、上位装置400と記憶装置300とのデータの書き込み及び読み出しを中継する。さらに、中継装置200は、上位装置400と記憶装置300とのデータの書き込み及び読み出しを観測する。
記憶装置300は、データの複製が必要か否かを示す情報を保持する複製状況ブロックマップ307を含む。そして、記憶装置300のブロック管理部304は、データを記録した場合に、複製状況ブロックマップ307を「複製必要(1)」に更新する。この動作は、記憶装置300の通常の書き込み動作において、情報を一つ追加する程度の動作のため、記憶装置300の負荷は、ほとんど増加とならない。
記憶装置310は、データの複製が必要か否かを示す情報を保持する複製状況ブロックマップ317を含む。さらに、記憶装置310の入出力解析部311は、中継装置200から観測に関する情報を受信する。そして、入出力解析部311は、観測に関する情報を基に、記憶装置300へのデータの書き込みに関する情報をブロック管理部314に送信する。
複製スケジューラー315は、複製状況ブロックマップ307及び複製状況ブロックマップ317のいずれかが「複製必要(1)」となっているブロックを複製する。複製スケジューラー315は、記憶装置300から複製用のデータを受信すると、複製状況ブロックマップ307を「複製不要(0)」に更新する。そして、複製スケジューラー315は、複製用のデータをブロック管理部314に渡す。
ブロック管理部314は、複製用のデータを受信すると媒体の保存後、複製状況ブロックマップ317を「複製不要(0)」に更新する。また、ブロック管理部314は、記憶装置300へのデータの書き込みを入出力解析部311経由で観測した場合に、複製状況ブロックマップ317を「複製必要(1)」に更新する。
これらの動作は、記憶装置310が実行する動作である。そのため、記憶装置300は、複製のための動作として、依頼されたデータを送信するという、処理量の少ない動作を実行する。つまり、記憶装置300における負荷の増加は、小さいものである。
さらに、記憶装置310の累計入出力数計測部313は、入出力解析部311の結果を基に、記憶装置300における累計入出力数を算出する。
複製スケジューラー315は、累計入出力数を基に、複製するブロックを設定する。
そのため、記憶装置310は、記憶装置300におけるデータの入出力に影響しないブロックを複製対象として選択できる。
この動作を基に、記憶装置310は、記憶装置300における負荷を増加しないように、複製を実現する。
さらに、本実施形態の情報処理システム100は、上位装置400と記憶装置300とやり取りの一部が、観測に関する情報として取得できない場合、及び、データの順番が保証されない場合でも、複製を実現できるとの効果を奏する。
その理由は、記憶装置310の複製スケジューラー315が、記憶装置300の複製状況ブロックマップ307を用いるためである。
[その他の実施形態]
情報処理システム100は、データを複製する装置(記憶装置310に相当する装置)を複数含んでもよい。
[実施形態の概要]
図13は、第1の実施形態の概要を示すブロック図である。
情報処理システム101は、上位装置400と、中継装置200と、記憶装置350と、記憶装置360とを含む。
記憶装置350は、管理部354と、記憶部356とを含む。記憶部356は、マップ357を含む。
記憶装置360は、管理部354と、複製制御部365と、記憶部366とを含む。記憶部366は、マップ367を含む。
中継装置200は、上位装置400から記憶装置300へのデータの書き込み及びデータの読み出しを中継し、中継する情報の複製である観測に関する情報を記憶装置360に送信する。
マップ357は、データを書き込むブロックにおける情報を保持する。
管理部354は、上位装置400から受信したデータを書き込んだ場合にマップ357の情報を複製が必要なことを示す情報に更新する。
マップ367は、データを複製するブロックにおける情報を保持する。
管理部364は、中継装置200から受信した観測に関する情報を基に記憶装置350がデータを書き込んだ場合にマップ367の情報を複製が必要なことを示す情報に更新する。さらに、管理部364は、記憶装置350から受信した複製のためのデータを保存した場合にマップ367の情報を複製が不要なことを示す情報に更新する。
複製制御部365は、マップ357とマップ367とを基に記憶装置350における複製するブロックのデータを取得し、マップ357の情報を複製が不要なことを示す情報に更新する。さらに、複製制御部365は、管理部364に複製のためのデータの保存を依頼する。
このように構成された情報処理システム101は、情報処理システム100と同様に、データの複製において、マスター装置である記憶装置300の負荷を低減するとの効果を奏することができる。
その理由は、情報処理システム101の各構成が、情報処理システム100の各構成と同様に動作し、記憶装置350の負荷を低減して、記憶装置360にデータを複製するためである。
記憶装置350の一例は、記憶装置300である。記憶装置360の一例は、記憶装置310である。管理部354の一例は、ブロック管理部304である。記憶部356の一例は、複製状況ブロックマップ記憶部306である。マップ357の一例は、複製状況ブロックマップ307である。管理部364の一例は、ブロック管理部314である。複製制御部365の一例は、複製スケジューラー315である。記憶部366の一例は、複製状況ブロックマップ記憶部316である。マップ367の一例は、複製状況ブロックマップ317である。
なお、情報処理システム101は、本発明のおける実施形態の最小構成である。
[ハードウェア構成]
以上の説明した上位装置400、中継装置200、記憶装置300、及び、記憶装置310(以下、「各装置」と呼ぶ)は、次のように構成される。
各装置の各構成部は、ハードウェア回路で構成されてもよい。
また、各装置において、各構成部は、ネットワークを介して接続した複数の装置を用いて、構成されてもよい。
また、各装置において、複数の構成部は、1つのハードウェアで構成されてもよい。
また、各装置は、CPU(Central Processing Unit)と、ROM(Read Only Memory)と、RAM(Random Access Memory)とを含むコンピュータ装置として実現されてもよい。各装置は、上記構成に加え、記憶媒体を含んでもよい。さらに、各装置は、上記構成に加え、さらに、入出力接続回路(IOC:Input / Output Circuit)、又は、ネットワークインターフェース回路(NIC:Network Interface Circuit)を含むコンピュータ装置として実現されてもよい。
図14は、上位装置400の変形例に係る情報処理装置600の構成の一例を示すブロック図である。
情報処理装置600は、CPU610と、ROM620と、RAM630と、内部記憶装置640と、IOC650と、NIC680とを含み、コンピュータ装置を構成している。
CPU610は、ROM620からプログラムを読み込む。そして、CPU610は、読み込んだプログラムに基づいて、RAM630と、内部記憶装置640と、IOC650と、NIC680とを制御する。そして、CPU610を含むコンピュータは、これらの構成を制御し、上位装置400としての各機能を実現する。
CPU610は、各機能を実現する際に、RAM630又は内部記憶装置640を、プログラムの一時記憶媒体として使用してもよい。
また、CPU610は、コンピュータで読み取り可能にプログラムを記憶した記憶媒体700が含むプログラムを、図示しない記憶媒体読み取り装置を用いて読み込んでもよい。あるいは、CPU610は、NIC680を介して、図示しない外部の装置からプログラムを受け取り、RAM630に保存して、保存したプログラムを基に動作してもよい。
ROM620は、CPU610が実行するプログラム及び固定的なデータを記憶する。ROM620は、例えば、P−ROM(Programmable-ROM)又はフラッシュROMである。
RAM630は、CPU610が実行するプログラム及びデータを一時的に記憶する。RAM630は、例えば、D−RAM(Dynamic-RAM)である。
内部記憶装置640は、情報処理装置600が長期的に保存するデータ及びプログラムを記憶する。また、内部記憶装置640は、CPU610の一時記憶装置として動作してもよい。内部記憶装置640は、例えば、ハードディスク装置、光磁気ディスク装置、SSD(Solid State Drive)又はディスクアレイ装置である。
ここで、ROM620と内部記憶装置640は、不揮発性(non-transitory)の記憶媒体である。一方、RAM630は、揮発性(transitory)の記憶媒体である。そして、CPU610は、ROM620、内部記憶装置640、又は、RAM630に記憶されているプログラムを基に動作可能である。つまり、CPU610は、不揮発性記憶媒体又は揮発性記憶媒体を用いて動作可能である。
IOC650は、CPU610と、入力機器660及び表示機器670とのデータを仲介する。IOC650は、例えば、IOインターフェースカード又はUSB(Universal Serial Bus)カードである。さらに、IOC650は、USBのような有線に限らず、無線を用いてもよい。
入力機器660は、情報処理装置600の操作者からの入力指示を受け取る機器である。入力機器660は、例えば、キーボード、マウス又はタッチパネルである。
表示機器670は、情報処理装置600の操作者に情報を表示する機器である。表示機器670は、例えば、液晶ディスプレイである。
NIC680は、ネットワークを介して中継装置200とのデータのやり取りを中継する。NIC680は、例えば、LAN(Local Area Network)カード又はFCカードである。さらに、NIC680は、有線に限らず、無線を用いてもよい。
このように構成された情報処理装置600は、上位装置400と同様の効果を得ることができる。
その理由は、情報処理装置600のCPU610が、プログラムに基づいて上位装置400と同様の機能を実現できるためである。
図15は、中継装置200の変形例に係る情報処理装置601の構成の一例を示すブロック図である。
情報処理装置601は、CPU611と、ROM621と、RAM631と、NIC681とを含み、コンピュータ装置を構成している。
CPU611は、ROM621からプログラムを読み込む。そして、CPU611は、読み込んだプログラムに基づいて、RAM631と、NIC681とを制御する。そして、CPU611を含むコンピュータは、これらの構成を制御し、中継装置200としての各機能を実現する。
CPU611は、各機能を実現する際に、RAM631を、プログラムの一時記憶媒体として使用してもよい。
また、CPU611は、コンピュータで読み取り可能にプログラムを記憶した記憶媒体701が含むプログラムを、図示しない記憶媒体読み取り装置を用いて読み込んでもよい。あるいは、CPU611は、NIC681を介して、図示しない外部の装置からプログラムを受け取り、ROM621又はRAM631に保存して、保存したプログラムを基に動作してもよい。
ROM621は、CPU611が実行するプログラム及び固定的なデータを記憶する。ROM621は、例えば、P−ROM又はフラッシュROMである。
RAM631は、CPU610が実行するプログラム及びデータを一時的に記憶する。RAM631は、例えば、D−RAMである。
ここで、ROM621は、不揮発性の記憶媒体である。一方、RAM631は、揮発性の記憶媒体である。そして、CPU611は、ROM621、又は、RAM631に記憶されているプログラムを基に動作可能である。つまり、CPU611は、不揮発性記憶媒体又は揮発性記憶媒体を用いて動作可能である。
NIC681は、ネットワークを介して上位装置400、記憶装置300、及び、記憶装置310とのデータのやり取りを中継する。NIC681は、例えば、LANカード又はFCカードである。さらに、NIC681は、有線に限らず、無線を用いてもよい。
このように構成された情報処理装置601は、中継装置200と同様の効果を得ることができる。
その理由は、情報処理装置601のCPU611が、プログラムに基づいて中継装置200と同様の機能を実現できるためである。
図16は、記憶装置300及び記憶装置310の変形例に係る記憶装置602の構成の一例を示すブロック図である。
記憶装置602は、CPU612と、ROM622と、RAM632と、記憶媒体642と、NIC682とを含み、記憶装置を構成している。
CPU612は、ROM622からプログラムを読み込む。そして、CPU612は、読み込んだプログラムに基づいて、RAM632と、記憶媒体642と、NIC682とを制御する。そして、CPU612を含むコンピュータは、これらの構成を制御し、記憶装置300及び記憶装置310としての各機能を実現する。
CPU612は、各機能を実現する際に、RAM632を、プログラムの一時記憶媒体として使用してもよい。
また、CPU612は、コンピュータで読み取り可能にプログラムを記憶した記憶媒体702が含むプログラムを、図示しない記憶媒体読み取り装置を用いて読み込んでもよい。あるいは、CPU612は、NIC682を介して、図示しない外部の装置からプログラムを受け取り、ROM622又はRAM632に保存して、保存したプログラムを基に動作してもよい。
ROM622は、CPU612が実行するプログラム及び固定的なデータを記憶する。ROM622は、例えば、P−ROM又はフラッシュROMである。
RAM632は、CPU612が実行するプログラム及びデータを一時的に記憶する。RAM632は、例えば、D−RAMである。
記憶媒体642は、データを記憶する。記憶媒体642は、例えば、ハードディスク、光磁気ディスク、又は、半導体メモリである。
ここで、ROM622は、不揮発性の記憶媒体である。一方、RAM632は、揮発性の記憶媒体である。そして、CPU612は、ROM622、又は、RAM632に記憶されているプログラムを基に動作可能である。つまり、CPU612は、不揮発性記憶媒体又は揮発性記憶媒体を用いて動作可能である。
NIC682は、ネットワークを介して中継装置200と接続する。NIC682は、例えば、LANカード又はFCカードである。さらに、NIC682は、有線に限らず、無線を用いてもよい。
このように構成された記憶装置602は、記憶装置300及び記憶装置310と同様の効果を得ることができる。
その理由は、記憶装置602のCPU612が、プログラムに基づいて記憶装置300及び記憶装置310と同様の機能を実現できるためである。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成及び詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
100 情報処理システム
101 情報処理システム
200 中継装置
300 記憶装置
304 ブロック管理部
306 複製状況ブロックマップ記憶部
307 複製状況ブロックマップ
310 記憶装置
311 入出力解析部
312 入出力管理表記憶部
313 累計入出力数計測部
314 ブロック管理部
315 複製スケジューラー
316 複製状況ブロックマップ記憶部
317 複製状況ブロックマップ
350 記憶装置
354 管理部
356 記憶部
357 マップ
360 記憶装置
364 管理部
365 複製制御部
366 記憶部
367 マップ
400 上位装置
600 情報処理装置
610 CPU
620 ROM
630 RAM
640 内部記憶装置
650 IOC
660 入力機器
670 表示機器
680 NIC
601 情報処理装置
611 CPU
621 ROM
631 RAM
681 NIC
602 記憶装置
612 CPU
622 ROM
632 RAM
642 記憶媒体
682 NIC
700 記憶媒体
701 記憶媒体
702 記憶媒体

Claims (8)

  1. 上位装置と第1の記憶装置と第2の記憶装置と中継装置とを含む情報処理システムにおいて、
    前記中継装置が、前記上位装置から前記第1の記憶装置へのデータの書き込み及びデータの読み出しを中継し、前記中継する情報の複製である観測に関する情報を前記第2の記憶装置に送信し、
    前記第1の記憶装置が、
    データを書き込むブロックにおける情報を保持する第1のマップを記憶する第1の記憶手段と、
    前記上位装置から受信したデータを書き込んだ場合に前記第1のマップの情報を複製が必要なことを示す情報に更新する第1の管理手段と
    を含み、
    前記第2の記憶装置が、
    データを複製するブロックにおける情報を保持する第2のマップを記憶する第2の記憶手段と、
    前記中継装置から受信した観測に関する情報を基に前記第1の記憶装置がデータを書き込んだ場合に前記第2のマップの情報を複製が必要なことを示す情報に更新し、前記第1の記憶装置から受信した複製のためのデータを保存した場合に前記第2のマップの情報を複製が不要なことを示す情報に更新する第2の管理手段と、
    前記第1の記憶装置から前記第1のマップを取得し、取得した前記第1のマップと前記第2のマップとを基に前記第1の記憶装置における複製するブロックのデータを取得し、前記第1のマップの情報を複製が不要なことを示す情報に更新し、前記第2の管理手段に複製のためのデータの保存を依頼する複製制御手段と
    を含む
    情報処理システム。
  2. 前記第2の記憶装置が、
    前記観測に関する情報を受信して保存する入出力解析手段と、
    前記観測に関する情報を基に前記第1の記憶装置におけるデータの書き込み及び読み出しを計測して累計入出力数を算出する累計入出力数計測手段と
    を含み、
    前記複製制御手段が、
    前記累計入出力数を基に、前記第1の記憶装置においてデータの書き込み及び読み出しされていない範囲のブロックを複製に用いるブロックとする
    請求項1に記載の情報処理システム。
  3. 前記複製制御手段が、
    複製のためのデータを取得中に、取得中のデータに対応ブロックへの前記第1の記憶装置への書き込みを観測した場合に、取得した複製用データを破棄する
    請求項1又は2に記載の情報処理システム。
  4. 前記複製制御手段が、
    前記第1のマップを更新している間に前記第1の記憶装置への書き込みを観測した場合に、前記第2の管理手段に前記第2のマップを更新しないことを依頼する
    請求項1ないし3のいずれか1項に記載の情報処理システム。
  5. 上位装置と第1の記憶装置と第2の記憶装置と中継装置とを含む情報処理システムにおいて、
    前記中継装置が、前記上位装置から前記第1の記憶装置へのデータの書き込み及びデータの読み出しを中継し、前記中継する情報の複製である観測に関する情報を前記第2の記憶装置に送信し、
    前記第1の記憶装置が、
    データを書き込むブロックにおける情報を保持する第1のマップを記憶し、
    前記上位装置から受信したデータを書き込んだ場合に前記第1のマップの情報を複製が必要なことを示す情報に更新し、
    前記第2の記憶装置が、
    データを複製するブロックにおける情報を保持する第2のマップを記憶し、
    前記中継装置から受信した観測に関する情報を基に前記第1の記憶装置がデータを書き込んだ場合に前記第2のマップの情報を複製が必要なことを示す情報に更新し、前記第1の記憶装置から受信した複製のためのデータを保存した場合に前記第2のマップの情報を複製が不要なことを示す情報に更新し、
    前記第1の記憶装置から前記第1のマップを取得し、取得した前記第1のマップと前記第2のマップとを基に前記第1の記憶装置における複製するブロックのデータを取得し、前記第1のマップの情報を複製が不要なことを示す情報に更新し、前記複製のためのデータを保存する
    情報処理方法。
  6. 上位装置と、
    前記上位装置から第1の記憶装置へのデータの書き込み及びデータの読み出しを中継し、前記中継する情報の複製である観測に関する情報を第2の記憶装置に送信する中継装置と
    データを書き込むブロックにおける情報を保持する第1のマップを記憶する第1の記憶手段と、
    前記上位装置から受信したデータを書き込んだ場合に前記第1のマップの情報を複製が必要なことを示す情報に更新する第1の管理手段と
    を含む前記第1の記憶装置
    を含む情報処理システムに含まれる前記第2の記憶装置であって
    データを複製するブロックにおける情報を保持する第2のマップを記憶する第2の記憶手段と、
    前記中継装置から受信した観測に関する情報を基に前記第1の記憶装置がデータを書き込んだ場合に前記第2のマップの情報を複製が必要なことを示す情報に更新し、前記第1の記憶装置から受信した複製のためのデータを保存した場合に前記第2のマップの情報を複製が不要なことを示す情報に更新する第2の管理手段と、
    前記第1の記憶装置から前記第1のマップを取得し、取得した前記第1のマップと前記第2のマップとを基に前記第1の記憶装置における複製するブロックのデータを取得し、前記第1のマップの情報を複製が不要なことを示す情報に更新し、前記第2の管理手段に前記複製のためのデータの保存を依頼する複製制御手段と
    を含む
    前記第2の記憶装置。
  7. 上位装置と、
    前記上位装置から第1の記憶装置へのデータの書き込み及びデータの読み出しを中継し、前記中継する情報の複製である観測に関する情報を第2の記憶装置に送信する中継装置と
    データを書き込むブロックにおける情報を保持する第1のマップを記憶する第1の記憶手段と、
    前記上位装置から受信したデータを書き込んだ場合に前記第1のマップの情報を複製が必要なことを示す情報に更新する第1の管理手段と
    を含む前記第1の記憶装置
    前記第2の記憶装置と
    を含む情報処理システムにおいて、
    前記第2の記憶装置が、
    データを複製するブロックにおける情報を保持する第2のマップを記憶し、
    前記中継装置から受信した観測に関する情報を基に前記第1の記憶装置がデータを書き込んだ場合に前記第2のマップの情報を複製が必要なことを示す情報に更新し、前記第1の記憶装置から受信した複製のためのデータを保存した場合に前記第2のマップの情報を複製が不要なことを示す情報に更新し、
    前記第1の記憶装置から前記第1のマップを取得し、取得した前記第1のマップと前記第2のマップとを基に前記第1の記憶装置における複製するブロックのデータを取得し、前記第1のマップの情報を複製が不要なことを示す情報に更新し、前記複製のためのデータを保存する
    情報処理方法。
  8. 上位装置と、
    前記上位装置から第1の記憶装置へのデータの書き込み及びデータの読み出しを中継し、前記中継する情報の複製である観測に関する情報を第2の記憶装置に送信する中継装置と
    データを書き込むブロックにおける情報を保持する第1のマップを記憶する第1の記憶手段と、
    前記上位装置から受信したデータを書き込んだ場合に前記第1のマップの情報を複製が必要なことを示す情報に更新する第1の管理手段と
    を含む前記第1の記憶装置
    前記第2の記憶装置と
    を含む情報処理システムにおいて、
    前記第2の記憶装置のコンピュータに、
    データを複製するブロックにおける情報を保持する第2のマップを記憶する処理と、
    前記中継装置から受信した観測に関する情報を基に前記第1の記憶装置がデータを書き込んだ場合に前記第2のマップの情報を複製が必要なことを示す情報に更新し、前記第1の記憶装置から受信した複製のためのデータを保存した場合に前記第2のマップの情報を複製が不要なことを示す情報に更新する処理と、
    前記第1の記憶装置から前記第1のマップを取得し、取得した前記第1のマップと前記第2のマップとを基に前記第1の記憶装置における複製するブロックのデータを取得し、前記第1のマップの情報を複製が不要なことを示す情報に更新し、前記複製のためのデータを保存する処理と
    を実行させるプログラム。
JP2016067183A 2016-03-30 2016-03-30 情報処理システム、記憶装置、情報処理方法、及び、プログラム Active JP6693224B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016067183A JP6693224B2 (ja) 2016-03-30 2016-03-30 情報処理システム、記憶装置、情報処理方法、及び、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016067183A JP6693224B2 (ja) 2016-03-30 2016-03-30 情報処理システム、記憶装置、情報処理方法、及び、プログラム

Publications (2)

Publication Number Publication Date
JP2017182368A JP2017182368A (ja) 2017-10-05
JP6693224B2 true JP6693224B2 (ja) 2020-05-13

Family

ID=60008494

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016067183A Active JP6693224B2 (ja) 2016-03-30 2016-03-30 情報処理システム、記憶装置、情報処理方法、及び、プログラム

Country Status (1)

Country Link
JP (1) JP6693224B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6907507B1 (en) * 2002-12-19 2005-06-14 Veritas Operating Corporation Tracking in-progress writes through use of multi-column bitmaps
JP2008234030A (ja) * 2007-03-16 2008-10-02 Hitachi Ltd コピーシステム及びコピー方法
JP6299266B2 (ja) * 2014-02-20 2018-03-28 富士通株式会社 データ格納方法、ストレージシステム、プログラム及びストレージ装置

Also Published As

Publication number Publication date
JP2017182368A (ja) 2017-10-05

Similar Documents

Publication Publication Date Title
US10102070B2 (en) Information processing system, storage apparatus and storage device
US7725668B2 (en) Computer system and snapshot creation method thereof, delaying snapshot creation until pending transfer between volumes is complete
JP4412989B2 (ja) 複数の記憶システムを有するデータ処理システム
JP4124348B2 (ja) 記憶システム
US8001344B2 (en) Storage control apparatus, storage control program, and storage control method
JP4170056B2 (ja) 複製ボリューム間でのバックアップ・リストア管理方法およびこの方法に用いる記憶制御装置
JP5286212B2 (ja) ストレージクラスタ環境でのリモートコピー制御方法及びシステム
US8825968B2 (en) Information processing apparatus and storage control method
JP2005309550A (ja) リモートコピー方法及びリモートコピーシステム
JP2008225616A (ja) ストレージシステム、リモートコピーシステム、及びデータ復元方法
US8364919B2 (en) Remote copy system and method
JP2013196274A (ja) マルチノードストレージシステムのノード装置および処理速度管理方法
US11307944B2 (en) Automated failover for asynchronous remote copy
WO2012167583A1 (en) System and method for providing reliable storage
JP4124374B2 (ja) 記憶システム
US20140172802A1 (en) Information processor and backup method
US20130282998A1 (en) Backup system and backup method
US20090132615A1 (en) Storage system, storage device and data updating method
JP6693224B2 (ja) 情報処理システム、記憶装置、情報処理方法、及び、プログラム
US9026849B2 (en) System and method for providing reliable storage
JP2012003621A (ja) ディスクアレイ装置間のリモートコピー処理システム、処理方法、及び処理用プログラム
JP4249240B2 (ja) 記憶システム
US10248511B2 (en) Storage system having multiple local and remote volumes and multiple journal volumes using dummy journals for sequence control
JP2014106811A (ja) 記憶装置、冗長性回復方法、およびプログラム
US20070118605A1 (en) Method and computer system for information notification

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200128

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200304

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200317

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200330

R150 Certificate of patent or registration of utility model

Ref document number: 6693224

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150