JP2008225616A - ストレージシステム、リモートコピーシステム、及びデータ復元方法 - Google Patents

ストレージシステム、リモートコピーシステム、及びデータ復元方法 Download PDF

Info

Publication number
JP2008225616A
JP2008225616A JP2007059764A JP2007059764A JP2008225616A JP 2008225616 A JP2008225616 A JP 2008225616A JP 2007059764 A JP2007059764 A JP 2007059764A JP 2007059764 A JP2007059764 A JP 2007059764A JP 2008225616 A JP2008225616 A JP 2008225616A
Authority
JP
Japan
Prior art keywords
data
storage device
journal
updated
parity data
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
JP2007059764A
Other languages
English (en)
Inventor
Seisuke Tokuda
晴介 徳田
Shinji Fujiwara
真二 藤原
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 JP2007059764A priority Critical patent/JP2008225616A/ja
Priority to US11/758,696 priority patent/US20080222214A1/en
Publication of JP2008225616A publication Critical patent/JP2008225616A/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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems

Abstract

【課題】RAID構成の論理記憶装置に、ライトペナルティなくジャーナルをリストア可能なストレージシステムを提供する。
【解決手段】制御部と、データを格納する第1記憶装置と、第1記憶装置に格納されたデータのジャーナルを格納する第2記憶装置とを備えるストレージシステムで、第1記憶装置は、パリティデータを複数の記憶装置に分散して記録するRAID構成であり、制御部は、データの更新指示を受け付けたとき、更新指示に含まれる更新後のデータに基づいて更新後のパリティデータを作成し、更新後のデータと更新後のパリティデータとを第1記憶装置に格納し、更新後のデータ及びパリティデータを含むジャーナルを第2記憶装置に記録し、第1記憶装置に格納されたデータの復元指示を受け付けたとき、ジャーナルを記録された順に読み出し、読み出されたジャーナルに含まれる更新後のデータと更新後のパリティデータとを第1記憶装置に書き込む。
【選択図】図2

Description

本発明は、ストレージシステムに格納されたデータのリストア技術に関する。
情報処理システムで処理されるオンライン処理及びバッチ処理では、プログラムのバグ又は情報処理システムの障害などによって、これらの処理が異常終了し、ストレージシステムに格納されたデータが矛盾した状態になってしまうことがある。また、人為的ミスによって、ストレージシステムに格納されたデータが消去されてしまうこともある。
このような状態になったストレージシステムに格納されたデータを復元するための技術の一つとして、データの更新履歴(以下、「ジャーナル」)を常時記録するジャーナリング技術がある。
ジャーナリング技術に関する従来技術の一つが、特許文献1に開示されている。特許文献1に開示されている技術では、ストレージシステムは、ストレージシステム内の記憶装置に格納されたデータに更新指示を受け付けるごとに、ジャーナルを作成して別の記憶装置に記録する。そして、記録したジャーナルを用いて、最新又は過去の時点のデータを復元(以下、「リストア」)する技術が開示されている。
特開2004−252686号公報
特許文献1に開示されている、ジャーナリング技術を有するストレージシステムにおいて、冗長性データであるパリティデータを複数の物理記憶装置に分散して記録するRAID(Redundant Array of Independent Disks)構成の論理記憶装置、例えばRAID5構成の論理記憶装置へ更新後のデータを含むジャーナルをリストアする場合、パリティデータを再作成するためにRAID5特有のライトペナルティ(更新前のデータのリード、更新前のパリティデータのリード)は避けられず、リストア時間の増大を招く。
本発明は、通常のジャーナル作成に、更新後のパリティデータを更新後のデータと共にジャーナルとして記憶し、ジャーナル・リストア時に、前記ジャーナルを読み出しライトペナルティを発生させずに前記ジャーナルに含まれるデータをリストアすることで、RAID構成の論理記憶装置へのジャーナル・リストア処理を高速化できるストレージシステムを提供する。
本発明の代表的な一形態では、計算機に接続されるストレージシステムであって、前記計算機から送信されるアクセス要求を処理する制御部と、前記計算機によってアクセスされるデータを格納する第1の記憶装置と、前記第1の記憶装置に格納されるデータの更新内容をジャーナルとして格納する第2の記憶装置と、を備え、前記第1の記憶装置は、パリティデータを複数の物理的な記憶装置に分散して記録するRAID構成であり、前記制御部は、前記第1の記憶装置に格納されたデータに対する更新指示を受け付けたとき、前記更新指示に含まれる更新後のデータに基づいて更新後のパリティデータを作成し、前記更新後のデータと、前記更新後のパリティデータと、を前記第1の記憶装置に格納し、前記更新後のデータと、前記更新後のパリティデータと、を含むジャーナルを作成して、前記第2の記憶装置に記録し、前記第1の記憶装置に格納されたデータの、復元ポイントを含むデータ復元指示を受け付けたとき、前記復元ポイント以前に前記第2の記憶装置に記録されたジャーナルを記録された順に読み出し、前記読み出されたジャーナルに含まれる前記更新後のデータと前記更新後のパリティデータとを、前記第1の記憶装置に書き込む。
本発明の一形態によれば、更新後のパリティデータを更新後のデータと共にジャーナルとして作成し、データ復元時に更新後のパリティデータを含むジャーナルを読み出すことによって、更新後のパリティデータを再作成することなく、データを高速に復元することができる。
以下に図面を参照しながら本発明の実施の形態を説明する。
(第1の実施の形態)
図1は、本発明の第1の実施の形態のストレージシステムを含む情報処理システムのハードウェア構成図である。図1の情報処理システムは、ホスト1、ストレージシステム2、管理端末3、ネットワーク4、及びネットワーク5を備える。
ホスト1は、パーソナルコンピュータ、ワークステーション、メインフレームなどの計算機である。ホスト1では、その計算機の種類に応じたオペレーティングシステム(以下、「OS」)と、様々な業務又は用途に対応したアプリケーションプログラム(以下、「AP」)、例えば、データベース管理システム(以下、「DBMS」)などが動作する。
ホスト1は、プロセッサ10、メモリ11、ローカル記憶装置12、ホストバスアダプタ13、及びネットワークアダプタ14を備える。
プロセッサ10は、所定のプログラムを実行する。メモリ11は、プロセッサ10によって実行されるOS、AP、及びAPが使用するデータを一時的に格納する。
ローカル記憶装置12は、OS、AP、及びAPが使用するデータを格納する。ホストバスアダプタ13は、ネットワーク4とホスト1とを接続する。ネットワークアダプタ14は、ネットワーク5とホスト1とを接続する。
なお、本発明の第1の実施の形態では、簡単のため、ホスト1を1つ記載しているが、ネットワーク4及びネットワーク5に接続されるホスト1はいくつあってもよい。また、ホスト1は、冗長性確保のため、プロセッサ10などの構成を複数備えていてもよい。
ストレージシステム2は、ディスク装置などの記憶装置、又は、ディスクアレイなどのように複数の記憶装置を備えるシステムである。また、ストレージシステム2は、ホスト1が使用するデータ及びプログラムを格納する。そして、ホスト1からの入出力(以下、「I/O」)処理を受信し、I/O処理要求に対応した処理を実行し、処理結果をホスト1に送信する。
ストレージシステム2は、制御装置20、接続インタフェース27、及び物理記憶装置28を備える。接続インタフェース27は、物理記憶装置28と制御装置20とを相互に接続する。
制御装置20は、ホスト1からのI/O処理要求の処理、及び物理記憶装置28の制御を実行する。制御装置20は、プロセッサ21、不揮発性メモリ24、キャッシュメモリ26、物理記憶装置アダプタ25、ネットワークアダプタ22、及びネットワークアダプタ23を備える。
プロセッサ21は、所定のプログラムを実行する。不揮発性メモリ24は、プロセッサによって実行されるプログラム、プログラムの実行に必要な情報、ストレージシステム2の設定情報及び構成情報を格納する。キャッシュメモリ26は、ストレージシステム2にホスト1から入力されるデータ、又は、ストレージシステム2からホスト1に転送されるデータを一時的に格納する。
物理記憶装置アダプタ25は、接続インタフェース27を介して物理記憶装置28と接続する。ネットワークアダプタ22は、ストレージシステム2とネットワーク4とを接続する。ネットワークアダプタ23は、ストレージシステム2とネットワーク5とを接続する。
物理記憶装置28は、ホスト1によって使用されるデータを格納する。物理記憶装置28は、不揮発性の記憶媒体であって、例えば磁気ディスクによって構成されるハードディスクなどである。
なお、ストレージシステム2は、制御装置20を複数備えていてもよい。また、ストレージシステム2は、冗長性を確保するために、不揮発性メモリ24、キャッシュメモリ26、物理記憶装置アダプタ25、及び接続インタフェース27などのシステム内の各構成を、2重化された冗長構成になっていてもよい。
管理端末3は、ストレージシステム2の保守、構成、及び性能情報などの管理、さらに、ホスト1を設定するために使用される計算機である。情報処理システムの管理者は、例えば、ストレージシステム2に論理的な記憶装置を設定する場合など、ストレージシステム2の保守及び管理する場合に、管理端末3に設定情報を入力する。管理端末3は、ネットワーク5を介してストレージシステム2及びホスト1に管理者が入力した内容を送信する。
ネットワーク4は、ホスト1とストレージシステム2とを接続し、ホスト1からストレージシステム2にI/Oの処理要求などを伝送するために使用される。ネットワーク4には、光ファイバ及び銅線などが用いられる。また、ネットワーク4では、ファイバチャネル、SCSI(Small Computer System Interface)、TCP/IP(Transmission Control Protocol/Internet Protocol)などの通信プロトコルが使用される。
ネットワーク5は、ホスト1、ストレージシステム2、及び管理端末3を接続する。ネットワーク5は、ストレージシステム2、ホスト1及び管理端末3の間で、ストレージシステム2の保守、構成、及び性能などの管理情報を通信するために使用される。ネットワーク5に使用されるケーブル及び通信プロトコルは、ネットワーク4と同一であっても異なっていてもよい。
図2は、本発明の第1の実施の形態のストレージシステム2が有するプログラム構成、及びシステムの論理的構成を示す図である。
ストレージシステム2は、単数又は複数の物理記憶装置28(図2では点線で表示)を組み合わせ、冗長性を有するパリティグループ30を構成する。パリティグループ30は、データを格納する物理記憶装置28、及び、格納されたデータから作成される冗長性データであるパリティデータが格納される物理記憶装置28の組である。ストレージシステム2は、パリティグループ30を構成することによって、物理記憶装置28に障害が発生してもデータを復元可能なRAID(Redundant Array of Independent Disks)構成を実現する。
また、ストレージシステム2は、ホスト1に対して、パリティグループ30を構成する複数の物理記憶装置28によって作成される記憶領域空間から、論理的な記憶領域を論理記憶装置(ジャーナル取得記憶装置31、ジャーナル記憶装置32、記憶装置33)として提供する。ホスト1は、論理記憶装置31〜33の存在を認識する。
制御装置20は、ストレージシステム2の処理を制御するために、I/O処理プログラム40、デバイス構成管理プログラム50、ジャーナル制御プログラム60、スナップショット制御プログラム70及びバックアップ・リストア制御プログラム80の各プログラムを不揮発性メモリ24に有する。制御装置20は、これらのプログラムをプロセッサ21で実行することによって、以下に説明する処理を制御する。
I/O処理プログラム40は、コマンド処理プログラム41及びリードライト処理プログラム42によって構成される。制御装置20は、ホスト1からのI/O処理要求を、ネットワークアダプタ22を経由して受信すると、コマンド処理プログラム41を実行し、受信したI/O処理要求の内容を解析する。制御装置20は、解析の結果、I/O処理要求の内容がデータの読み出しI/O(以下「リードI/O」)処理要求又はデータの書き込みI/O(以下「ライトI/O」)処理要求であれば、リードライト処理プログラム42を実行する。
制御装置20は、ライトI/O処理要求を受信した場合には、ホスト1からのライトI/O処理要求に対する応答処理を実行する。応答処理では、実際にホスト1から転送されるデータを受信できる状態にあるか否かについて応答する。続いて、制御装置20は、転送される更新用のデータ(以下「ライトデータ」)をキャッシュメモリ26又は物理記憶装置28の所定の領域に書き込む処理、又は、キャッシュメモリ26に格納されたライトデータを物理記憶装置28に書き込む処理などを実行する。
制御装置20は、リードI/O処理要求を受信した場合には、リードI/O処理要求に対応するデータ(以下、「リードデータ」)を、キャッシュメモリ26又は物理記憶装置28の所定の領域から読み出してホスト1に転送する処理、又は、物理記憶装置28からリードデータを読み出してキャッシュメモリ26に格納する処理を実行する。
制御装置20は、ライトI/O又はリードI/O以外の処理要求を受信した場合には、コマンド処理プログラム41を実行することによって、要求された処理を実行する。具体的には、SCSIのInquiryコマンド(デバイスサーチを指示するコマンド)などである。
デバイス構成管理プログラム50は、デバイス管理情報51及びデバイス管理プログラム52によって構成される。
デバイス管理情報51は、マッピング管理テーブル200、パリティグループ管理テーブル210、論理記憶装置管理テーブル220を含む。
マッピング管理テーブル200は、論理記憶装置のアドレスと物理記憶装置28のアドレスとの対応関係を示す。マッピング管理テーブル200の詳細は、図4にて後述する。
パリティグループ管理テーブル210は、パリティグループ30を構成する物理記憶装置28に関する情報を格納する。パリティグループ管理テーブル210の詳細は、図5にて後述する。
論理記憶装置管理テーブル220は、ジャーナル取得対象情報などを格納する。ここでジャーナルとは、ジャーナル取得設定を行った論理記憶装置に格納されるデータの更新履歴である。論理記憶装置管理テーブル220の詳細は、図6にて後述する。また、ジャーナルについては、図13にて後述する。
デバイス管理プログラム52は、制御装置20がデバイス管理情報51を管理するために実行されるプログラムである。制御装置20は、デバイス管理プログラム52を実行することによって、管理端末3などによって入力される論理記憶装置の定義及びスナップショットが格納される対象となる論理記憶装置の設定、ジャーナル取得対象情報の登録などを実行する。
制御装置20は、データのリードライトI/O処理を実行するために、デバイス管理プログラム52を実行する。制御装置20は、デバイス管理プログラム52を実行することによって、リードライトI/O処理要求が指定するリードデータ又はライトデータを読み出す。また、制御装置20は、リードライトI/O処理要求が指定する領域の論理記憶装置のアドレスに対応する物理記憶装置28のアドレスを計算し、当該結果に基づいて、物理記憶装置28にアクセスする。
ジャーナル制御プログラム60は、ジャーナル作成プログラム61、ジャーナル読出しプログラム62、ジャーナル管理情報63、及びジャーナル管理プログラム64によって構成される。
制御装置20は、ジャーナルを作成するためにジャーナル作成プログラム61を実行する。また、作成されたジャーナルを読み出すためにジャーナル読出しプログラム62を実行する。
ジャーナル管理情報63は、作成されたジャーナルに関する情報などを保持するテーブルである。ジャーナル管理情報63の詳細は、図7にて後述する。制御装置20は、ジャーナル管理情報63の設定などを行うためにジャーナル管理プログラム64を実行する。
制御装置20は、論理記憶装置にジャーナル取得設定を行うために、デバイス管理プログラム52、ジャーナル管理プログラム64、及びコピー制御管理プログラム72を実行する。このとき、制御装置20は、管理端末3などによって入力されるジャーナル設定に基づいて、取得されるジャーナルにパリティデータを含めるか否かを設定する。
ここで、ジャーナル取得記憶装置31は、ジャーナル取得設定の対象となる論理記憶装置である。また、ジャーナル記憶装置32は、ジャーナル取得記憶装置31のジャーナルが格納される論理記憶装置である。
制御装置20は、ジャーナル取得記憶装置31にホスト1からライトI/O処理要求を受信した場合には、リードライト処理プログラム42、デバイス管理プログラム52、及びジャーナル作成プログラム61を実行する。制御装置20は、ライトデータをキャッシュメモリ26に書き込むとともに、ライトデータの格納される領域に存在しているデータ(以下「ライト前データ」)及びパリティグループ30内の対応するパリティデータ(以下「ライト前パリティデータ」)を読み出す。制御装置20は、ライトデータと、読み出したライト前データ及びライト前パリティデータから、新たにライトするパリティデータ(以下「ライトパリティデータ」)を計算し、再作成する。制御装置20は、ライトデータとライトパリティデータとをジャーナルとしてキャッシュメモリ26の確保された領域に書き込む。なお、キャッシュメモリ26に格納されたジャーナルは、ジャーナル記憶装置32に格納される。
また、制御装置20は、リストアプログラム81及びジャーナル読出しプログラム62を実行することによって、ジャーナル記憶装置32に格納されたジャーナルを順次読み出す。そして、制御装置20は、読み出したジャーナル内のアドレスで示されるリストア先となる論理記憶装置を構成する物理記憶装置28の記憶領域に、ジャーナルに含まれるライトデータとライトパリティデータとを上書きする。
スナップショット制御プログラム70は、スナップショット管理情報71及びコピー制御管理プログラム72によって構成される。スナップショット管理情報71は、論理記憶装置に作成されたスナップショットに関する情報を保持するテーブルである。スナップショット管理情報71の詳細は、図8にて後述する。
コピー制御管理プログラム72は、スナップショット管理情報71の管理、及びデータのコピーのために実行されるプログラムである。制御装置20は、コピー制御管理プログラム72を実行することによって、管理端末3などから送信された指示に従って、ある論理記憶装置に格納されたデータを別の論理記憶装置にコピーしてスナップショットを作成し、スナップショット管理情報71に登録する。また、制御装置20は、リストアプログラム81及びコピー制御管理プログラム72を実行し、作成されたスナップショットをリストア先となる論理記憶装置にコピーする。
バックアップ・リストア制御プログラム80は、リストアプログラム81及びバックアッププログラム82によって構成される。制御装置20は、リストアプログラム81を実行することによって、管理端末3などから受信したリストア指示に基づいて、指定された論理記憶装置のデータをリストアする。また、制御装置20は、バックアッププログラム82を実行することによって、管理端末3などから受信した指示に基づいて、論理記憶装置に格納されたデータの複製を作成したり、ストレージシステム2のデータをテープ装置などの他の記憶装置に転送したりする。
図3は、本発明の第1の実施の形態のジャーナル取得記憶装置31のRAID構成を示す図である。
ジャーナル取得記憶装置31は、3つの物理記憶装置28によって構成されるRAID5構成となっている。また、ジャーナル取得記憶装置31は、RAID5の2D+1P構成である。具体的には、3つの物理記憶装置28のうち1つにパリティデータ91、残り2つの物理記憶装置28にデータ90を格納する。物理記憶装置28は、ストライプと呼ばれるブロックに分割される。データ90及びパリティデータ91は、ストライプごとに物理記憶装置に分散して配置される。
ジャーナル取得記憶装置31は、1つの物理記憶装置28が故障した場合であっても、故障していない残りの物理記憶装置28に格納されたデータ90及びパリティデータ91によって、障害が発生した物理記憶装置28に格納されたデータを復元することができる。
また、RAID5構成のリードI/O処理は、複数の物理記憶装置28に同時にアクセスするため、処理速度を向上させることができる。例えば、ジャーナル取得記憶装置31のデータ「A」「B」を読み出す場合には、制御装置20は、2つの物理記憶装置28に同時にアクセスしてデータ「A」とデータ「B」をそれぞれ読み出すことができる。
一方、RAID5構成のライトI/O処理は、物理記憶装置28に対する書き込み処理の他に、パリティデータを再作成及び作成されたパリティデータの書き込み処理を実行する必要がある。
パリティデータは、パリティグループ30内の1ストライプの部分の複数のデータから作成されるため、データが更新されるたびに再作成しなければならない。また、パリティデータは、例えば、「ライトパリティデータ=(ライト前データ XOR ライトデータ) XOR ライト前パリティデータ」といった計算式で算出される。なお、XORは、論理演算の一つであって、排他的論理和と呼ばれる。
前述した計算式では、パリティデータの再作成には、ライト前データ、ライト前パリティデータ、及びライトデータが必要となる。したがって、パリティデータを再作成するためには、ライト前データとライト前パリティデータを読み出す処理が必要となる。この読み出し処理によるライトI/O処理の遅延は、ライトペナルティと呼ばれる。
よって、ライトI/O処理は、ライトペナルティを伴うため、連続したデータでは問題とならないが、小さいランダムなデータのライトI/O処理性能は低下してしまう。具体的には、ジャーナル取得記憶装置31のデータ「A」の位置にライトデータ「A’」を書き込む場合に、制御装置20は、2つの物理記憶装置28にアクセスしてライト前データ「A」と対応するライト前パリティデータ「(A−B)P」とを、それぞれキャッシュメモリ26の確保された領域に読み出す。続いて、制御装置20は、ライト前データ「A」とライト前パリティデータ「(A−B)P」とライトデータ「A’」とから、新たにライトパリティデータ「(A−B)P’」を再作成する。さらに、制御装置20は、ライトデータ「A’」とライトパリティデータ「(A−B)P’」とをキャッシュメモリ26又は物理記憶装置28に書きこむ。
なお、ジャーナル取得記憶装置31は、4つ以上の物理記憶装置から構成されるRAID5構成であってもよい。また、ジャーナル取得記憶装置31は、4つ以上の物理記憶装置から構成され、その中でそれぞれ独立した2つの物理記憶装置をパリティデータ保存用として使用し、残りの物理記憶装置にデータを分散して書き込むRAID6構成であってもよい。
図4は、本発明の第1の実施の形態のデバイス管理情報51に含まれるマッピング管理テーブル200を示す図である。マッピング管理テーブル200は、論理記憶装置番号201、論理記憶装置内アドレス202、パリティグループ番号203、物理記憶装置番号204、及び物理記憶装置内アドレス205を含む。
マッピング管理テーブル200のレコードは、論理記憶装置番号201及び論理記憶装置内アドレス202によって特定される論理的な記憶領域と、物理記憶装置番号204及び物理記憶装置内アドレス205によって特定される物理的な記憶領域との対応関係を格納する。
論理記憶装置番号201は、ホスト1に提供される論理的な記憶領域を識別する番号である。論理記憶装置内アドレス202は、論理記憶装置番号201によって特定される論理記憶装置内のアドレスを示す。
パリティグループ番号203は、論理記憶装置が属するパリティグループを識別する番号である。
物理記憶装置番号204は、論理記憶装置番号201及び論理記憶装置内アドレス202によって特定される論理的な記憶領域が作成される物理記憶装置28を識別する番号が格納される。物理記憶装置内アドレス205は、論理的な記憶領域が作成される物理記憶装置28内のアドレスが格納される。
図5は、本発明の第1の実施の形態のデバイス管理情報51に含まれるパリティグループ管理テーブル210を示す図である。パリティグループ管理テーブル210は、一つのパリティグループにつき1レコードが作成される。
パリティグループ管理テーブル210は、パリティグループ番号211、RAIDレベル・構成212、ストライプサイズ213、論理記憶装置番号214、及び物理記憶装置番号215を含む。
パリティグループ番号211は、パリティグループ30を識別する識別子を格納する。RAIDレベル・構成212は、RAIDレベル及び構成が格納される。例えば、図5に示す「5,2D+1P」は、RAID5構成であって、二台の物理記憶装置28にデータが格納され、一台の物理記憶装置28にパリティデータが格納されることを示す。ストライプサイズ213は、パリティグループ内でデータ及びパリティデータを分散して配置する単位容量である。
論理記憶装置番号214は、パリティグループに属する論理記憶装置を識別する識別子である。物理記憶装置番号215は、パリティグループを構成する物理記憶装置28を識別する識別子である。
図6は、本発明の第1の実施の形態のデバイス構成管理プログラム50のデバイス管理情報51に含まれる論理記憶装置管理テーブル220を示す図である。論理記憶装置管理テーブル220は、一つの論理記憶装置につき1レコードが作成される。
論理記憶装置管理テーブル220は、論理記憶装置番号221、パリティグループ番号222、サイズ223、ジャーナル取得対象224、ジャーナル格納用論理記憶装置番号225、及びジャーナル内パリティ有無226を含む。
論理記憶装置番号221は、論理記憶装置を識別する識別子である。パリティグループ番号222は、論理記憶装置が作成されたパリティグループ30を識別する識別子である。サイズ223は、論理記憶装置の記憶容量である。
ジャーナル取得対象224は、論理記憶装置がジャーナルを取得する対象であるか否かを指定する。具体的には、論理記憶装置がジャーナル取得対象である場合には、「ON」が格納される。一方、論理記憶装置がジャーナル取得対象でない場合には、「OFF」が格納される。
ジャーナル格納用論理記憶装置番号225は、論理記憶装置のジャーナルが記録される論理記憶装置を識別する識別子が格納される。ジャーナル内パリティ有無226は、ジャーナルにパリティデータを含めるか否かを指定する。
図7は、本発明の第1の実施の形態のジャーナル制御プログラム60に含まれるジャーナル管理情報63の一例を示す図である。ジャーナル管理情報63は、スナップショットを作成した後、当該スナップショットの作成対象となったジャーナル取得対象論理記憶装置に関するジャーナルを初めて作成する場合に1レコードが作成される。
ジャーナル管理情報63は、スナップショット処理順序番号240、処理時刻241、ジャーナル取得対象論理記憶装置番号242、及びジャーナル格納用論理記憶装置番号・アドレス243を含む。
スナップショット処理順序番号240は、スナップショットが作成された順に付与され、作成されたスナップショットを識別する。処理時刻241は、スナップショットの作成対象となったジャーナル取得対象論理記憶装置に関する最初のジャーナルが作成された時刻である。
ジャーナル取得対象論理記憶装置番号242は、当該ジャーナルの作成対象となったジャーナル取得対象論理記憶装置を識別する識別子が格納される。ジャーナル格納用論理記憶装置番号・アドレス243は、当該ジャーナルが格納される論理記憶装置を識別する識別子と当該論理装置のアドレスが格納される。
図8は、本発明の第1の実施の形態のスナップショット制御プログラム70に含まれるスナップショット管理情報71の一例を示す図である。
スナップショット管理情報71は、処理順序番号230、処理時刻231、スナップショット対象論理記憶装置番号・サイズ232、及びスナップショット格納用論理記憶装置番号・アドレス233を含む。
処理順序番号230は、スナップショットの作成順に付与される識別番号である。処理時刻231は、スナップショットが作成された時刻である。
スナップショット対象論理記憶装置番号・サイズ232は、スナップショットを取得する対象の論理記憶装置を識別する識別子、及び取得する対象の記憶領域のサイズが格納される。
スナップショット格納用論理記憶装置番号・アドレス233は、作成されたスナップショットを格納する論理記憶装置を識別する識別子、及び当該スナップショットが記憶されている領域の開始アドレスが格納される。
以上が本発明の第1の実施の形態の構成である。以下、本発明の第1の実施の形態の処理について説明する。
まず、本発明の第1の実施の形態の処理概要について説明する。
ストレージシステム2の制御装置20は、ジャーナル取得記憶装置31へのライトI/O処理要求を受け付けると、ライトデータをキャッシュメモリ26に書き込む。そして、制御装置20は、ライト前データ及びライト前パリティデータを読み出し、ライトパリティデータを再作成する。
制御装置20は、ライトデータとライトパリティデータとをキャッシュメモリ26又は物理記憶装置28に書き込むとともに、ライトデータとライトパリティデータとを含むジャーナルを作成し、キャッシュメモリ26又はジャーナル記憶装置32を構成する物理記憶装置28に書き込む。
制御装置20は、リストアポイントを含むジャーナル取得記憶装置31のリストア指示を受信すると、予め作成されたジャーナル取得記憶装置31のスナップショットをリストアする。そして、制御装置20は、スナップショット作成時点からリストアポイントまでにジャーナル記憶装置32に記録されたジャーナルを順次読み出す。制御装置20は、読み出したジャーナルに含まれるライトデータとライトパリティデータとを、リストア先の論理記憶装置を構成する物理記憶装置28の記憶領域に上書きする。
このようにして、ストレージシステム2は、ライトペナルティを発生させずに、ジャーナル取得記憶装置31に格納されたデータを高速に復元することができる。
以下、本発明の第1の実施の形態の処理の詳細を説明する。
図9は、本発明の第1の実施の形態のジャーナル取得開始処理の手順を示すフローチャートである。本処理は、管理端末3又はホスト1が、ストレージシステム2に対してジャーナル取得開始指示を送信し、ストレージシステム2がジャーナル取得開始指示を受信したときに実行される。
第1の実施の形態では、ホスト1のAPによって使用されるデータが格納された論理記憶装置がジャーナル取得記憶装置31として指定される。
ジャーナル取得開始指示は、ジャーナル取得設定を行うジャーナル取得記憶装置31の識別情報、当該ジャーナル取得開始指示を受信した瞬間のジャーナル取得記憶装置31に格納されたデータのスナップショットを格納する論理記憶装置の識別情報、及びジャーナル取得記憶装置31に関するジャーナルを格納するジャーナル記憶装置32の識別情報を含む。また、ジャーナル取得開始指示は、取得するジャーナルにパリティデータを含めるか否かの設定情報を含む。
なお、スナップショットを格納する論理記憶装置とジャーナル記憶装置32は同じであってもよい。
ストレージシステム2の制御装置20は、まず、管理端末3又はホスト1からジャーナル取得開始指示を受信する(ステップ100)。
制御装置20は、受信したジャーナル取得開始指示に基づいて、指定されたジャーナル記憶装置32を設定する(ステップ101)。具体的には、まず、ジャーナル取得開始指示に含まれているジャーナル記憶装置32の識別情報に基づいて、デバイス管理情報51を参照し、使用可能な論理記憶装置であるかを確認する。論理記憶装置が使用可能であるか否かの判定は、例えば、指定された論理記憶装置が存在するか否か、及び指定された論理記憶装置が既に他の処理で使用されているか否かなどを確認する。
次に、制御装置20は、指定されたジャーナル記憶装置32が使用可能な場合には、指定されたジャーナル記憶装置32に関する情報をデバイス管理情報51に登録する。具体的には、指定されたジャーナル記憶装置32にジャーナル取得記憶装置31のジャーナルを格納するようにデバイス管理情報51の論理記憶装置管理テーブル220に登録する。さらに、ジャーナルにパリティデータを含めるか否かの設定情報を論理記憶装置管理テーブル220のジャーナル内パリティ有無226に登録する。
制御装置20は、受信したジャーナル取得開始指示に基づいて、スナップショットを作成する(ステップ102)。具体的には、まず、ジャーナル取得開始指示に含まれているスナップショット格納用の論理記憶装置の識別情報に基づいて、デバイス管理情報51を参照し、使用可能な論理記憶装置であるかを確認する。
次に、制御装置20は、指定された論理記憶装置が使用可能な場合には、スナップショット作成処理を実行する。制御装置20は、ジャーナル取得開始指示を受信した時点でジャーナル取得記憶装置31に格納されていたデータを、スナップショット格納用の論理記憶装置に順次コピーする。
制御装置20は、スナップショットの作成が終了すると、作成されたスナップショットに関する情報をスナップショット管理情報71に登録する。
制御装置20は、ジャーナル取得開始処理が完了すると、ジャーナル取得開始指示を発行した管理端末3又はホスト1に通知する(ステップ103)。
なお、スナップショット作成処理は、ジャーナル取得開始指示とは別の指示、例えば、次に説明する図5のスナップショット作成指示に基づいて、予め実行されていてもよい。
図10は、本発明の第1の実施の形態のスナップショット作成処理の手順を示すフローチャートである。本処理は、管理端末3又はホスト1が、ストレージシステム2に対してスナップショット作成指示を送信し、ストレージシステム2がスナップショット作成指示を受信したときに実行される。
本発明の第1の実施の形態では、ホスト1のAPによって使用されるデータが格納された論理記憶装置がコピー元の論理記憶装置として指定される。また、スナップショット作成指示は、コピー元となる論理記憶装置の識別情報、コピー元の論理記憶装置に格納されたデータのスナップショットを格納するコピー先の論理記憶装置の識別情報を含む。
ストレージシステム2の制御装置20は、まず、管理端末3又はホスト1からスナップショット作成指示を受信する(ステップ105)。
次に、制御装置20は、スナップショットを作成する(ステップ106)。詳細には、まず、スナップショット作成指示に含まれているスナップショット格納用の論理記憶装置の識別情報を用いて、デバイス管理情報51を参照し、使用可能な論理記憶装置であるかを確認する。
制御装置20は、指定された論理記憶装置が使用できる場合には、スナップショット作成処理を実行する。具体的には、制御装置20は、スナップショット作成指示の受信時にコピー元の論理記憶装置に格納されていたデータを、スナップショット格納用の論理記憶装置に順次コピーする。制御装置20は、スナップショットの作成が終了したら、作成したスナップショットに関する情報をスナップショット管理情報71に登録する。
制御装置20は、スナップショット作成処理が完了すると、スナップショット作成指示を発行した管理端末3又はホスト1にその旨通知する(ステップ107)。
なお、スナップショット作成処理は、スナップショット取得対象の論理記憶装置にジャーナル取得設定が行われた後も、任意のタイミングで実行されてよい。
図11は、本発明の第1の実施の形態のリードライトI/O処理手順を示すフローチャートである。本処理は、ストレージシステム2がホスト1又は管理端末3からリードライトI/O処理要求を受信したときに実行される。
制御装置20は、ホスト1よりリードI/O処理要求又はライトI/O処理要求を受信すると(ステップ110)、受信した処理要求がライトI/O処理要求であるか否かを判定する(ステップ111)。
制御装置20は、ライトI/O処理要求でない場合には(ステップ111の結果が「N」)、デバイス管理情報51を参照し、リードI/O処理要求の対象となっているリードデータを、対応する物理記憶装置28又はキャッシュメモリ26から読み出してネットワークアダプタ22を介してホスト1に転送する(ステップ120)。
制御装置20は、受信した処理要求がライトI/O処理要求である場合には(ステップ111の結果が「Y」)、デバイス管理情報51を参照し、ライトI/O処理要求で指定される論理記憶装置がジャーナル取得記憶装置31であるか否かを判定する(ステップ112)。
制御装置20は、ライトI/O処理要求で指定される論理記憶装置がジャーナル取得記憶装置31でない場合には(ステップ112の結果が「N」)、キャッシュメモリ26にライトI/O処理要求に伴うライトデータを格納する領域を確保する(ステップ130)。そして、制御装置20は、ライトデータをキャッシュメモリ26の確保された領域に格納して、ライトI/O処理が終了したことをホスト1に通知する(ステップ131)。
なお、制御装置20は、キャッシュメモリ26から物理記憶装置28にデータを格納した後にライトI/O処理の終了をホスト1に通知してもよい。また、キャッシュメモリ26を介さずに、ライトデータを直接物理記憶装置28に格納してもよい。
制御装置20は、ライトI/O処理要求で指定される論理記憶装置がジャーナル取得記憶装置31であった場合には(ステップ112の結果が「Y」)、ライトデータを格納するための領域をキャッシュメモリ26に確保し(ステップ113)、ホスト1から送信されるライトデータを当該領域に格納する(ステップ114)。
なお、制御装置20は、通常の論理記憶装置に対するライトデータの書き込みとは異なり、ジャーナル取得記憶装置31の同じアドレスが指定されるライトデータの連続した書き込みの場合には、各ライトデータをキャッシュメモリ26の異なる領域に格納する。
制御装置20は、ジャーナル作成処理を実行し、ライトI/O処理の終了をホスト1に通知する(ステップ115)。
なお、制御装置20は、ジャーナル作成処理の終了を待たずにライトI/O処理の終了をホスト1に通知してもよい。また、制御装置20は、ステップ114のライトデータをキャッシュメモリ26に格納してからライトI/O処理の終了をホスト1に通知した後に、ジャーナル作成処理を非同期に実行してもよい。
図12は、本発明の第1の実施の形態のジャーナル作成処理の手順を示すフローチャートである。本処理は、図11のステップ115の処理に該当する。
制御装置20は、ライトデータをキャッシュメモリ26に格納した後、ライトデータの格納されている領域に存在しているライト前データ、及びパリティグループ30内の対応するライト前パリティデータをキャッシュメモリ26又は物理記憶装置28から読み出す(ステップ140)。
制御装置20は、ライトデータと、読み出したライト前データ及びライト前パリティデータから、新たにライトするライトパリティデータをキャッシュメモリ26の領域に再作成する(ステップ141)。
さらに、制御装置20は、ジャーナルを格納するための領域をキャッシュメモリ26に確保する(ステップ142)。なお、制御装置20は、デバイス管理情報51を参照して、作成するジャーナルにパリティデータを含めるか否かを確認し、パリティデータの有無に応じたジャーナル格納用の領域をキャッシュメモリ26に確保する。
制御装置20は、プロセッサ21が処理を実行するごとに付与する処理順序番号、及びライトI/O処理を受け付けた処理時刻を、キャッシュメモリ26に確保されたジャーナル格納用の領域に書き込む(ステップ143)。
制御装置20は、キャッシュメモリ26に格納されているライトデータを、キャッシュメモリ26に確保されたジャーナル格納用の領域にコピーする(ステップ144)。
制御装置20は、デバイス管理情報51を参照し、作成するジャーナルにパリティデータを含めるか否かを判定する(ステップ145)。
制御装置20は、パリティデータを含めない場合には(ステップ145の結果が「N」)、パリティデータを含むか否かを示すパリティ有無フラグを無効として、キャッシュメモリ26に確保されたジャーナル格納用の領域に書き込み、処理を終了する(ステップ150)。
制御装置20は、パリティデータを含める場合には(ステップ145の結果が「Y」)、キャッシュメモリ26に再作成したライトパリティデータを、キャッシュメモリ26に確保されたジャーナル格納用の領域にコピーする(ステップ146)。
そして、制御装置20は、パリティ有無フラグを有効として、キャッシュメモリ26に確保されたジャーナル格納用の領域に書き込み、処理を終了する(ステップ147)。
なお、キャッシュメモリ26に格納されたライトデータ、ライトパリティデータ、及びジャーナルは、キャッシュメモリ26にそれらデータが格納されるのとは非同期に、キャッシュメモリ26から物理記憶装置28に書き込まれる。
また、制御装置20は、ジャーナル取得記憶装置31のスナップショットを作成した後はじめてジャーナル取得記憶装置31に関するジャーナルを作成する場合には、作成するジャーナルに関する情報をジャーナル管理情報63に登録する。
図13は、本発明の第1の実施の形態のジャーナルのデータ形式を表す図である。
ジャーナルは、図11及び図12にて説明したように、ストレージシステム2がジャーナル取得記憶装置31に対するライトI/O処理要求を処理するたびにキャッシュメモリ26上に作成され、その後、物理記憶装置28に格納される。
ジャーナルは、処理順序番号160、処理時刻161、パリティ有無フラグ162、書き込み先アドレス163、データ長164、ライトデータ165及びパリティデータ166を含む。
処理順序番号160は、ジャーナルが作成されるたびに順次付与される番号である。処理順序番号160は、ジャーナルを識別する。処理時刻161は、ライトデータ165が書き込まれた時刻が格納される。パリティ有無フラグ162は、ジャーナルにパリティデータを含むか否かを識別するフラグが格納される。
書き込み先アドレス163は、ライトデータ165が格納される論理記憶装置番号及び論理記憶装置内アドレスを格納する。データ長164は、ライトデータ165のデータ長を格納する。ライトデータ165は、ライトI/O処理要求に伴うライトデータそのものである。パリティデータ166は、ライトデータ165に対応する再作成したライトパリティデータである。
図14は、本発明の第1の実施の形態のリストア処理の手順を示すフローチャートである。本処理は、管理端末3又はホスト1からリストア指示を受信したストレージシステム2にて実行される。
本発明の第1の実施の形態では、APのバグ又は管理者のオペレーションミスなどによって、ジャーナル取得記憶装置31に格納されたデータに論理的不整合などが生じた場合のリストア処理について説明する。
管理者は、まず、APのログ情報などを参照し、論理的不整合が起きた時点を解析することによって、データを復元させるリストアポイントを決定する。そして、管理端末3又はホスト1から、ストレージシステム2に対してリストア指示を送信する。リストア指示は、リストア対象となるデータを格納していた論理記憶装置の識別情報、リストア先となる論理記憶装置の識別情報、及びリストアポイントなどを含む。
本発明の第1の実施の形態では、リストア対象となるデータを格納していた論理記憶装置としてジャーナル取得記憶装置31を、リストア先となる論理記憶装置として同じくジャーナル取得記憶装置31を指定する。
ストレージシステム2の制御装置20は、管理端末3又はホスト1からリストア指示を受信すると(ステップ170)、リストア指示に含まれているリストア先として指定された論理記憶装置の識別情報に基づいて、デバイス管理情報51を参照する。そして、指定された論理記憶装置がリストア先として使用可能な論理記憶装置であるか否かを確認する(ステップ171)。このとき、制御装置20は、リストア先の論理記憶装置と、リストア対象となるデータを格納していた論理記憶装置とが同じRAID構成であるか否かを確認する。
また、制御装置20は、リストア指示に含まれるリストア対象となるデータを格納していた論理記憶装置の識別情報に基づいて、スナップショット管理情報71及びジャーナル管理情報63を参照し、指示されたデータをリストア可能であるか否かを確認する。そして、制御装置20は、リストア指示に含まれるリストアポイントとスナップショット管理情報71とを比較し、リストア対象の論理記憶装置のスナップショットのうち、リストアポイントよりも前の時点で最も新しいスナップショットを確認する。
なお、制御装置20は、前述の確認の結果、何らかの障害がある場合には、障害によって処理が続行できない旨を、リストア指示を発行した管理端末3又はホスト1に通知し、処理を中止する。
制御装置20は、リストアポイント直前に作成されたリストア対象の論理記憶装置のスナップショットを、当該スナップショットが格納されていた論理記憶装置から読み出して、リストア先の論理記憶装置にコピーする(ステップ172)。本発明の第1の実施の形態では、リストアポイント直前に作成されたジャーナル取得記憶装置31のスナップショットを、ジャーナル取得記憶装置31にリストアする。なお、スナップショットを格納していた論理記憶装置がリストア先として指定された場合は、本コピー処理は不要である。
制御装置20は、キャッシュメモリ26にデータ格納領域を確保する。そして、制御装置20は、ジャーナル管理情報63を参照し、リストアされたスナップショットの作成直後に作成したジャーナル取得記憶装置31のジャーナルの格納先アドレスを取得する。制御装置20は、取得されたジャーナルの格納先アドレスから、処理順序番号順に順次ジャーナルをキャッシュメモリ26に確保された領域に読み出す(ステップ173)。
制御装置20は、読み出したジャーナルに含まれる処理時刻が、リストアポイントよりも後の時間であるか否かを判定する(ステップ174)。
制御装置20は、読み出したジャーナルの処理時刻がリストアポイントより後でない場合には(ステップ174の結果が「N」)、読み出したジャーナルが、指定されたリストア対象であるジャーナル取得記憶装置31に関するジャーナルであるか否かを判定する(ステップ175)。
制御装置20は、読み出したジャーナルがリストア対象として指定されたジャーナル取得記憶装置31に関するジャーナルでない場合には(ステップ175の結果が「N」)、ステップ173の処理に戻る。
制御装置20は、読み出したジャーナルがリストア対象として指定されたジャーナル取得記憶装置31に関するジャーナルである場合には(ステップ175の結果が「Y」)、ジャーナルに含まれるパリティ有無フラグが有効であるか否かを判定する(ステップ176)。
制御装置20は、ジャーナルに含まれるパリティ有無フラグが有効であった場合には(ステップ175の結果が「Y」)、ジャーナルに含まれるライトデータとライトパリティデータとをキャッシュメモリ26又は物理記憶装置28に書き込む(ステップ179)。
制御装置20は、ジャーナルに含まれるパリティ有無フラグが有効でない場合には(ステップ175の結果が「N」)、ジャーナルに含まれるライトデータの格納される領域に存在しているライト前データ、及びパリティグループ30内の対応するライト前パリティデータをキャッシュメモリ26又は物理記憶装置28から読み出す(ステップ177)。
制御装置20は、ジャーナルに含まれるライトデータと、読み出したライト前データ及びライト前パリティデータから、新たにライトするライトパリティデータをキャッシュメモリ26の領域に再作成する(ステップ178)。
その後、制御装置20は、ジャーナルに含まれるライトデータと、再作成したライトパリティデータとをキャッシュメモリ26又は物理記憶装置28に書き込む(ステップ179)。
制御装置20は、ステップ179の処理が完了すると、ステップ173に戻り、次のジャーナルを読み出す。制御装置20は、ステップ173からステップ179の処理を繰り返すことによって、指定されたリストアポイントまでジャーナルを適用し、データを復元させる。
制御装置20は、読み出したジャーナルの処理時刻がリストアポイントより後であった場合には(ステップ174の結果が「Y」)、リストアすべきデータをすべてリストア先のジャーナル取得記憶装置31に書き込んだものと判断し、リストア指示を発行した管理端末3又はホスト1にリストア処理の完了を通知する。
なお、制御装置20は、ジャーナルに含まれるライトデータをキャッシュメモリ26に格納した後に、ステップ177及びステップ178の処理を非同期に行ってもよい。また、キャッシュメモリ26に格納されたライトデータ、及びライトパリティデータは、キャッシュメモリ26にそれらデータが格納されるのとは非同期に、キャッシュメモリ26から物理記憶装置28に書き込まれる。
図15は、本発明の第1の実施の形態のジャーナル構成オプションの設定画面の一例を示す図である。ジャーナル構成オプションの設定画面は、ジャーナルにパリティデータを含めるか否かを設定するユーザインタフェースである。ジャーナル構成オプションの設定画面は、制御装置20によって、管理端末3又はホスト1などに表示される。
管理者は、特定のジャーナル取得記憶装置31に対して、ジャーナルにパリティデータを含めるか否かを設定することができる。具体的には、チェックボックス191を選択し、設定対象のジャーナル取得記憶装置31の識別番号を文字入力領域193に入力し、「OK」ボタンを操作することによって、ストレージシステム2に設定が反映される。
一方、管理者は、チェックボックス190を選択すれば、ジャーナルにパリティデータが含まれないように設定できる。なお、制御装置20は、ジャーナルにパリティデータが含まれるように設定した場合には、表示部192に、機能又は効果を示すメッセージを表示してもよい。例えば、図15に示すように、リストアを高速化できるが、ジャーナルの記憶に必要な容量が増える旨を表示することができる。
また、ジャーナル構成オプションの設定画面には、ジャーナル取得設定済みの論理記憶装置に関するジャーナル設定情報199を表示してもよい。
ジャーナル設定情報199は、ジャーナル取得設定済論理記憶装置番号194、ジャーナル記憶用論理記憶装置番号195、ジャーナル記憶用論理記憶装置容量196、パリティデータ含197及びパリティデータ割合198を含む。
ジャーナル取得設定済論理記憶装置番号194は、ジャーナルが取得される論理記憶装置を識別する論理記憶装置番号が格納される。ジャーナル記憶用論理記憶装置番号195は、ジャーナル取得設定済論理記憶装置番号194によって識別される論理記憶装置について、作成されたジャーナルが格納される論理記憶装置を識別する論理記憶装置番号が格納される。ジャーナル記憶用論理記憶装置容量196は、ジャーナル記憶用論理記憶装置番号195によって識別される論理記憶装置の記憶容量が格納される。
パリティデータ含197は、ジャーナルにパリティデータが含まれるか否かを識別する情報が格納される。パリティデータ割合198は、ジャーナル記憶用論理記憶装置容量196に含まれるパリティデータの割合である。
本発明の第1の実施の形態によれば、ライトデータとライトパリティデータとを含めてジャーナルを作成することによって、ジャーナル取得記憶装置31に格納されたデータをライトペナルティなく高速に復元できる。特に、DBMSのように、小さいランダムなライトI/O処理要求が多いAPに有効である。
さらに、本発明の第1の実施の形態によれば、ライトI/O処理の延長でライトパリティデータをジャーナルに含めて作成するため、ストレージシステム2に対する負荷を小さくすることができる。
(第2の実施の形態)
第1の実施の形態では、一台のストレージシステムに本発明を適用する実施の形態について説明したが、第2の実施の形態では、リモートコピーシステムに適用する実施の形態について説明する。なお、第1の実施の形態と同様の機能を果たす構成には同一の符号を付して重複する説明を適宜省略する。
図16は、本発明の第2の実施の形態のリモートコピーシステムのハードウェア構成及びシステムの論理的構成を示す図である。
本発明の第2の実施の形態のリモートコピーシステムは、第1の実施の形態と同じく、ホスト1、ストレージシステム2、管理端末3、ネットワーク4、及びネットワーク5を含み、さらに、ストレージシステム300及びネットワーク301を備える。
本発明の第2の実施の形態のリモートコピーシステムは、ストレージシステム2に格納されるデータを、ネットワーク301を介してストレージシステム300に転送し、複製するシステムである。
ストレージシステム2のハードウェア構成は、第1の実施の形態の構成に加え、ストレージシステム2とネットワーク301とを接続する専用のネットワークアダプタを制御装置20に備える。
ストレージシステム300のハードウェア構成は、ストレージシステム2と同様であって、第1の実施の形態のストレージシステム2のハードウェア構成に加え、ストレージシステム300とネットワーク301とを接続する専用のネットワークアダプタを制御装置320に備える。
ネットワーク301は、ストレージシステム2とストレージシステム300とを接続し、ストレージシステム2からストレージシステム300にリモートコピーの処理要求などを伝送するために使用される。
ネットワーク301に使用されるケーブルには、光ファイバ及び銅線などが用いられる。また、ネットワーク301に使用される通信プロトコルは、ファイバチャネル、SCSI、TCP/IPなどの通信プロトコルが使用される。なお、ネットワーク301は、ネットワーク4及びネットワーク5と同一であっても異なっていてもよい。
ストレージシステム2の論理的構成は、第1の実施形態とほぼ同様である。以下、相違する点を説明する。
ストレージシステム2は、パリティグループ30を構成する複数の物理記憶装置28によって作成される記憶領域空間から、論理的な記憶領域を論理記憶装置(正記憶装置310、記憶装置33)としてホスト1に提供する。
正記憶装置310は、リモートコピー処理のコピー元対象として設定された論理記憶装置である。
制御装置20は、リモートコピー処理を制御するために、リモートコピー制御プログラム311を不揮発性メモリ24に有する。制御装置20は、リモートコピー制御プログラム311をプロセッサ21によって実行することで、リモートコピー開始準備処理又はリモートコピー処理を実行する。
ストレージシステム300の論理的構成は、ストレージシステム2の論理的構成とほぼ同じである。
ストレージシステム300は、パリティグループ330を構成する複数の物理記憶装置321によって作成される記憶領域空間から、論理的な記憶領域を論理記憶装置(副記憶装置331、記憶装置332)として提供する。
副記憶装置331は、リモートコピー処理のコピー先として設定された論理記憶装置である。
制御装置320は、ストレージシステム300内の処理を制御するために、I/O処理プログラム340、デバイス構成管理プログラム341、ジャーナル制御プログラム342、スナップショット制御プログラム343、及びバックアップ・リストア制御プログラム344の各プログラムを制御装置320内の不揮発性メモリに記憶する。
さらに、制御装置320は、リモートコピー処理を制御するために、リモートコピー制御プログラム345を制御装置320内の不揮発性メモリに記憶する。
制御装置320は、これらのプログラムをプロセッサ21で実行することによって、ストレージシステム300内の処理及びリモートコピー処理を制御する。
管理端末3などからリモートコピー開始準備指示を受け付けると、制御装置20は、リモートコピー制御プログラム311、デバイス構成管理プログラム50、ジャーナル制御プログラム60、及びスナップショット制御プログラム70を実行する。同じく、制御装置320は、リモートコピー制御プログラム345、デバイス構成管理プログラム341、ジャーナル制御プログラム342、及びスナップショット制御プログラム343を実行する。
制御装置20は、リモートコピー処理のコピー元対象の論理記憶装置として正記憶装置310を設定する。制御装置320は、リモートコピー処理のコピー先の論理記憶装置として副記憶装置331を設定する。
なお、このとき制御装置20は、管理端末3などから入力されるリモートコピー用の転送ジャーナル設定に従って、取得するジャーナルにパリティデータを含めるか否かを設定する。
続いて、制御装置20は、正記憶装置310のスナップショットを作成し、ストレージシステム300に転送する。制御装置320は、転送されたスナップショットを副記憶装置331に順次書き込む。
制御装置20は、正記憶装置310にホスト1からライトI/O処理要求を受信した場合には、リードライト処理プログラム42、デバイス管理プログラム52、ジャーナル作成プログラム61、及びリモートコピー制御プログラム311を実行する。
制御装置20は、ライトデータをキャッシュメモリ26に書き込むとともに、ライトデータの格納される領域に存在しているライト前データ及びパリティグループ30内の対応するライト前パリティデータを読み出す。
制御装置20は、ライトデータと、読み出されたライト前データ及びライト前パリティデータに基づいて、新たに書き込むライトパリティデータを再作成する。
制御装置20は、ライトデータとライトパリティデータとをジャーナルとしてキャッシュメモリ26の確保された領域に書き込む。
制御装置20は、キャッシュメモリ26上に作成されたジャーナルをストレージシステム300に転送し、転送するジャーナルを副記憶装置331にリストアするよう指示を送信する。
制御装置320は、転送されたジャーナルのリストア指示を受信すると、バックアップ・リストア制御プログラム344、ジャーナル制御プログラム342、及びリモートコピー制御プログラム345を実行する。
制御装置320は、副記憶装置331を構成する物理記憶装置321の記憶領域に、ジャーナルに含まれるライトデータとライトパリティデータとを上書きする。
なお、ストレージシステム2は、転送するジャーナルを一時的にキャッシュメモリ26から記憶装置33に書き込んでもよい。同様に、ストレージシステム300は、転送されたジャーナルを一時的にキャッシュメモリから記憶装置332に書き込んでもよい。
以上、説明した構成に基づいて、本発明の第2の実施の形態の処理概要を説明する。
ストレージシステム2の制御装置20は、正記憶装置310に対するライトI/O処理要求を受け付けると、ライトデータをキャッシュメモリ26に書き込む。そして、制御装置20は、ライト前データ及びライト前パリティデータを読み出し、ライトパリティデータを再作成する。
制御装置20は、ライトデータとライトパリティデータとをキャッシュメモリ26又は物理記憶装置28に書き込むとともに、ライトデータとライトパリティデータとを含むジャーナルを作成し、キャッシュメモリ26に書き込む。キャッシュメモリ26上のジャーナルをストレージシステム300に転送し、副記憶装置331にリストアするよう指示する。
ストレージシステム300の制御装置320は、転送されたジャーナルのリストア指示を受信すると、予め作成された、正記憶装置310の複製である副記憶装置331を構成する物理記憶装置321の記憶領域に、転送されたジャーナルに含まれるライトデータとライトパリティデータとを上書きする。
こうすることによって、本実施形態のリモートコピーシステムは、正記憶装置310に格納されたデータを副記憶装置331にライトペナルティなく高速に復元できる。
以下、各処理について詳細を説明する。
図17は、本発明の第2の実施の形態のリモートコピー開始準備処理の手順を示すフローチャートである。
管理端末3は、まず、正記憶装置310を含むストレージシステム2及び副記憶装置331を含むストレージシステム300に、リモートコピー開始準備指示を送信する(ステップ401)。
ストレージシステム2の制御装置20は、リモートコピー開始準備指示を受信すると(ステップ411)、正記憶装置310を設定する(ステップ412)。そして、正記憶装置310の設定が完了すると、制御装置20は、管理端末3に正記憶装置310の設定が完了した旨を通知する(ステップ413)。同じく、ストレージシステム300の制御装置320は、リモートコピー開始準備指示を受信すると(ステップ421)、副記憶装置331を設定する(ステップ422)。そして、副記憶装置331の設定が完了すると、制御装置320は、管理端末3に副記憶装置331の設定が完了した応答を送信する(ステップ423)。
このとき、副記憶装置331のRAID構成が正記憶装置310のRAID構成と同じであるか否かを確認しておく。同じである場合でも異なる場合でも以下の処理は続行される。正記憶装置310のRAID構成と副記憶装置331のRAID構成が同じであるか否かを制御装置内に記憶しておくと、リモートコピー実行時に利用することができる。
管理端末3は、ストレージシステム2及びストレージシステム300から正副の記憶装置の設定が完了した旨の通知を受信すると(ステップ402)、正記憶装置310を含むストレージシステム2にスナップショットの作成・転送指示を送信する(ステップ403)。
ストレージシステム2の制御装置20は、管理端末3によって送信されたスナップショット作成・転送指示を受信すると(ステップ414)、指示に従って正記憶装置310に格納されたデータのスナップショットを作成し、ストレージシステム300に転送する(ステップ415)。
ストレージシステム300の制御装置320は、ストレージシステム2から転送されたスナップショットデータを副記憶装置331に書き込む(ステップ424)。スナップショットデータの書き込みが完了すると、制御装置320は、管理端末3に完了応答を送信する。
管理端末3は、ストレージシステム300からスナップショットデータの書き込み完了応答を受信し(ステップ404)、本処理を終了する。
図18は、本発明の第2の実施の形態のリモートコピー処理の手順を示すフローチャートである。
ストレージシステム2の制御装置20は、正記憶装置310に対するライトI/O処理要求を受信すると(ステップ431)、受信したI/O処理要求に応じた処理を実行する(ステップ432)。ステップ432の処理は、図11において説明した処理と同じである。
具体的には、制御装置20は、正記憶装置310に対するライトI/O処理要求を受信すると、ライトデータをキャッシュメモリ26に格納する。そして、制御装置20は、ジャーナル作成処理を実行する。
ジャーナル作成処理では、制御装置20は、ライト前データ及びライト前パリティデータを読み出し、ライトパリティデータを再作成する。さらに、制御装置20は、ライトデータとライトパリティデータとをキャッシュメモリ26又は物理記憶装置28に書き込むとともに、ジャーナルにパリティデータを含めるか否かの設定に応じてジャーナルを作成しキャッシュメモリ26に格納する。
ジャーナルにパリティデータを含める設定の場合、制御装置20は、パリティ有無フラグを有効として、ライトデータとライトパリティデータとを含むジャーナルを作成する。ジャーナルにパリティデータを含めない設定の場合、制御装置20は、パリティ有無フラグを無効として、ライトデータを含むジャーナルを作成する。
なお、制御装置20は、ジャーナル作成処理の終了を待たずにライトI/O処理の終了をホスト1に通知してもよい。
制御装置20は、ジャーナル作成処理によって、キャッシュメモリに格納されたジャーナルをストレージシステム300に転送し、かつ転送されるジャーナルのリストア指示を送信する(ステップ434)。なお、制御装置20は、ストレージシステム2からストレージシステム300へのジャーナルの転送処理を非同期に実行してもよい。
ストレージシステム300の制御装置320は、転送されたジャーナルのリストア指示を受信すると(ステップ441)、リストア先の副記憶装置331が正記憶装置310と同じRAID構成であるか否かを判定する(ステップ442)。
制御装置320は、副記憶装置331と正記憶装置310とが同じRAID構成の場合には(ステップ442の結果が「Y」)、転送されたジャーナルに含まれるパリティ有無フラグの値が有効であるか否かを判定する(ステップ443)。転送されたジャーナルに含まれるパリティ有無フラグの値が有効である場合(ステップ443の結果が「Y」)、後述するステップ446に進む。
制御装置320は、副記憶装置331と正記憶装置310とが異なるRAID構成の場合(ステップ442の結果が「N」)、又は、転送されたジャーナルに含まれるパリティ有無フラグの値が無効である場合(ステップ443の結果が「N」)、パリティデータを再作成する。
具体的には、制御装置320は、まず、ジャーナルに含まれるライトデータのライト前データと対応するライト前パリティデータとを読み出す(ステップ444)。次に、ジャーナルに含まれるライトデータと、読み出したライト前データ及びライト前パリティデータとに基づいて、ライトパリティデータを再作成する(ステップ445)。
制御装置320は、ジャーナルに含まれるパリティデータ又は再作成されたパリティデータを、ライトデータとともに、キャッシュメモリ又は副記憶装置331を構成する物理記憶装置321に書き込む(ステップ446)。そして、ストレージシステム2にジャーナルのリストア完了応答を送信する(ステップ447)。なお、制御装置320は、ステップ442からステップ446までの、転送されたジャーナルのリストア処理を非同期に実行してもよい。
ストレージシステム2の制御装置20は、ストレージシステム300からジャーナルのリストア完了応答を受信すると(ステップ435)、その後処理を終了する。
図19は、本発明の第2の実施の形態のリモートコピー用ジャーナルの構成オプションの設定画面の一例を説明する図である。
リモートコピー用ジャーナル構成オプションの設定画面は、ジャーナルにパリティデータを含めるか否かを設定するユーザインタフェースである。リモートコピー用ジャーナル構成オプションの設定画面は、制御装置20によって、管理端末3又はホスト1などに表示される。
管理者は、リモートコピーを取得する記憶装置に対して、ジャーナルにパリティデータを含めるか否かを設定することができる。具体的には、チェックボックス451を選択し、リモートコピーを取得する記憶装置の識別番号を文字入力領域453に入力し、「OK」ボタンを操作することによって、ストレージシステム2に設定が反映される。
一方、管理者は、チェックボックス450を選択すれば、ジャーナルにパリティデータを含めないように設定できる。なお、制御装置20は、ジャーナルにパリティデータを含めるよう設定した場合には、表示部452に、機能又は効果を示すメッセージを表示してもよい。例えば、図19に示すように、リストアを高速化できるが、転送するジャーナルの容量が増える旨を表示することができる。
本発明の第2の実施の形態によれば、ライトデータとライトパリティデータとを含めてジャーナルを作成して転送することによって、ライトペナルティ発生させずに正記憶装置310に格納されたデータを副記憶装置331に高速に復元できる。特に、DBMSのように、小さいランダムなライトI/O処理要求が多いAPに有効である。
さらに、本発明の第2の実施の形態によれば、ライトI/O処理の延長でライトパリティデータをジャーナルに含めて作成するため、ストレージシステム2に対して小さな負荷で本発明を実施することができる。
本発明の第1の実施の形態のストレージシステムを含む情報処理システムのハードウェア構成図である。 本発明の第1の実施の形態のストレージシステムが有するプログラム構成、及びシステムの論理的構成を示す図である。 本発明の第1の実施の形態のジャーナル取得記憶装置のRAID構成を示す図である。 本発明の第1の実施の形態のデバイス管理情報に含まれるマッピング管理テーブルを示す図である。 本発明の第1の実施の形態のデバイス管理情報に含まれるパリティグループ管理テーブルを示す図である。 本発明の第1の実施の形態のデバイス管理情報に含まれる論理記憶装置管理テーブルを示す図である。 本発明の第1の実施の形態のジャーナル制御プログラムに含まれるジャーナル管理情報の一例を示す図である。 本発明の第1の実施の形態のスナップショット制御プログラムに含まれるスナップショット管理情報の一例を示す図である。 本発明の第1の実施の形態のジャーナル取得開始処理の手順を示すフローチャートである。 本発明の第1の実施の形態のスナップショット作成処理の手順を示すフローチャートである。 本発明の第1の実施の形態のリードライトI/O処理手順を示すフローチャートである。 本発明の第1の実施の形態のジャーナル作成処理の手順を示すフローチャートである。 本発明の第1の実施の形態のジャーナルのデータ形式を表す図である。 本発明の第1の実施の形態のリストア処理の手順を示すフローチャートである。 本発明の第1の実施の形態のジャーナル構成オプションの設定画面の一例を示す図である。 本発明の第2の実施の形態のリモートコピーシステムのハードウェア構成及びシステムの論理的構成を示す図である。 本発明の第2の実施の形態のリモートコピー開始準備処理の手順を示すフローチャートである。 本発明の第2の実施の形態のリモートコピー処理の手順を示すフローチャートである。 本発明の第2の実施の形態のリモートコピー用ジャーナルの構成オプションの設定画面の一例を説明する図である。
符号の説明
1 ホスト
2、300 ストレージシステム
4、5、301 ネットワーク
20、320 制御装置
28、321 物理記憶装置
30、330 パリティグループ
31 ジャーナル取得記憶装置
32 ジャーナル記憶装置
33、332 記憶装置
40、340 I/O処理プログラム
50、341 デバイス構成管理プログラム
51 デバイス管理情報
60、342 ジャーナル制御プログラム
63 ジャーナル管理情報
70、343 スナップショット制御プログラム
71 スナップショット管理情報
80、344 バックアップ・リストア制御プログラム
311、345 リモートコピー制御プログラム
200 マッピング管理テーブル
210 パリティグループ管理テーブル
220 論理記憶装置管理テーブル
310 正記憶装置
331 副記憶装置

Claims (18)

  1. 計算機に接続されるストレージシステムであって、
    前記計算機から送信されるアクセス要求を処理する制御部と、前記計算機によってアクセスされるデータを格納する第1の記憶装置と、前記第1の記憶装置に格納されるデータの更新内容をジャーナルとして格納する第2の記憶装置と、を備え、
    前記第1の記憶装置は、パリティデータを複数の物理的な記憶装置に分散して記録するRAID(Redundant Array of Independent Disks)構成であり、
    前記制御部は、
    前記第1の記憶装置に格納されたデータに対する更新指示を受け付けたとき、
    更新後のデータに基づいて更新後のパリティデータを作成し、
    前記更新後のデータと、前記更新後のパリティデータと、を前記第1の記憶装置に格納し、
    前記更新後のデータと、前記更新後のパリティデータと、を含むジャーナルを作成して、前記第2の記憶装置に記録し、
    前記第1の記憶装置に格納されたデータの、復元ポイントを含むデータ復元指示を受け付けたとき、
    前記復元ポイント以前に前記第2の記憶装置に記録されたジャーナルを記録された順に読み出し、
    前記読み出されたジャーナルに含まれる前記更新後のデータと前記更新後のパリティデータとを、前記第1の記憶装置に書き込むことを特徴とするストレージシステム。
  2. 前記制御部は、
    所定の指示を受け付けたとき、前記第1の記憶装置に格納されたデータを前記第1の記憶装置以外の記憶装置に複製し、
    前記復元ポイントを含むデータ復元指示を受け付けたとき、
    前記復元ポイント直前に前記所定の指示を受け付けて複製されたデータを、前記第1の記憶装置に復元し、
    前記復元されたデータを複製した時点から前記復元ポイントまでに前記第2の記憶装置に記録されたジャーナルを用いて、前記第1の記憶装置に格納されたデータを復元することを特徴とする請求項1に記載のストレージシステム。
  3. 前記制御部は、
    前記更新指示を受け付けたとき、前記第2の記憶装置に記録される前記ジャーナルに前記更新後のパリティデータを含めるか否かを設定する入力を受け付けるインタフェースを提供し、
    前記入力に基づいて、前記ジャーナルに前記更新後のパリティデータを含めるか否かを設定することを特徴とする請求項1に記載のストレージシステム。
  4. 前記制御部は、前記第2の記憶装置に格納された前記更新後のパリティデータによって使用される記憶容量を通知することを特徴とする請求項1に記載のストレージシステム。
  5. 前記ジャーナルは、前記更新後のパリティデータを含むか否かを示す情報を含み、
    前記制御部は、前記ジャーナルに前記更新後のパリティデータが含まれるか否かを示す情報を設定し、前記設定された情報に基づいて前記ジャーナルを作成することを特徴とする請求項1に記載のストレージシステム。
  6. 前記制御部は、前記データ復元指示を受け付けたとき、前記ジャーナルに設定された前記更新後のパリティデータが含まれるか否かを示す情報に基づいて、
    前記第2の記憶装置から読み出したジャーナルに前記更新後のパリティデータが含まれる場合には、前記ジャーナルに含まれる更新後のデータと更新後のパリティデータとを前記第1の記憶装置に書き込み、
    前記第2の記憶装置から読み出したジャーナルに前記更新後のパリティデータが含まれない場合には、
    前記ジャーナルに含まれる更新後のデータの更新前のデータと、前記更新前のデータに対応する更新前のパリティデータと、を前記第1の記憶装置から読み出し、
    前記更新前のパリティデータと前記更新前のデータと前記更新後のデータとから更新後のパリティデータを作成し、前記更新後のデータと前記作成された更新後のパリティデータとを前記第1の記憶装置に書き込むことを特徴とする請求項5に記載のストレージシステム。
  7. 前記ストレージシステムは、第3の記憶装置をさらに含み、
    前記制御部は、
    所定の指示を受け付けたとき、前記第1の記憶装置に格納されたデータを、前記第1の記憶装置以外の記憶装置に複製し、
    前記第3の記憶装置に、復元ポイントにおける前記第1の記憶装置に格納されたデータのデータ復元指示を受け付けたとき、前記第3の記憶装置が、前記第1の記憶装置と同じRAID構成である場合には、
    前記復元ポイント直前に前記所定の指示を受け付けて複製されたデータを、前記第3の記憶装置に復元し、
    前記第2の記憶装置から読み出されたジャーナルに含まれる前記更新後のデータと前記更新後のパリティデータとを、前記第3の記憶装置に書き込むことを特徴とする請求項1に記載のストレージシステム。
  8. 計算機に接続される第1のストレージシステムと、前記第1のストレージシステムに接続される第2のストレージシステムと、を備え、前記第1のストレージシステムに書き込まれるデータを、前記第2のストレージシステムに複製するリモートコピーシステムであって、
    前記第1のストレージシステムは、前記計算機によってアクセスされるデータを格納する第1の記憶装置を備え、
    前記第1の記憶装置は、パリティデータを複数の物理的な記憶装置に分散して記録するRAID(Redundant Array of Independent Disks)構成であり、
    前記第2のストレージシステムは、前記第1の記憶装置に格納されるデータの複製を格納する第2の記憶装置を備え、
    前記第2の記憶装置は、前記第1の記憶装置と同じRAID構成であり、
    前記第1のストレージシステムは、
    前記第1の記憶装置に格納されたデータに対する更新指示を受け付けたとき、
    更新後のデータに基づいて更新後のパリティデータを作成し、
    前記作成された更新後のパリティデータと、前記更新後のデータと、を含むジャーナルを作成して、前記第2のストレージシステムに転送し、
    前記第2のストレージシステムは、
    前記転送された前記ジャーナルに含まれる前記更新後のデータと前記更新後のパリティデータとを、前記ジャーナルが作成された順に前記第2の記憶装置に格納することを特徴とするリモートコピーシステム。
  9. 前記第1のストレージシステムは、
    前記更新指示を受け付けたとき、前記更新後のパリティデータを含むジャーナルを作成するか否かを設定する入力を受け付けるインタフェースを提供し、
    前記入力に基づいて、前記更新後のパリティデータを含むジャーナルを作成するか否かを設定することを特徴とする請求項8に記載のリモートコピーシステム。
  10. 前記ジャーナルは、前記更新後のパリティデータを含むか否かを示す情報を含み、
    前記第1のストレージシステムは、前記ジャーナルに前記更新後のパリティデータが含まれるか否かを示す情報を設定し、前記設定された情報に基づいて前記ジャーナルを作成することを特徴とする請求項8に記載のリモートコピーシステム。
  11. 前記第2のストレージシステムは、前記ジャーナルに設定された前記更新後のパリティデータが含まれるか否かを示す情報に基づいて、
    前記転送されたジャーナルに前記更新後のパリティデータが含まれるように設定されている場合には、前記転送されたジャーナルに含まれる更新後のデータと更新後のパリティデータとを前記第2の記憶装置に格納し、
    前記転送されたジャーナルに前記更新後のパリティデータが含まれないように設定されている場合には、前記転送されたジャーナルに含まれる更新後のデータの更新前のデータと、前記更新前のデータに対応する更新前のパリティデータと、を前記第2の記憶装置から読み出し、前記更新前のパリティデータと前記更新前のデータと前記更新後のデータとに基づいて、更新後のパリティデータを作成し、前記更新後のデータと前記作成された更新後のパリティデータとを前記第2の記憶装置に格納することを特徴とする請求項10に記載のリモートコピーシステム。
  12. 計算機に接続され、前記計算機によってアクセスされるデータを格納する第1の記憶装置と、前記第1の記憶装置に格納されるデータに対する更新内容をジャーナルとして格納する第2の記憶装置と、を備えるストレージシステムにおけるデータ復元方法であって、
    前記第1の記憶装置は、冗長性データであるパリティデータを複数の物理的な記憶装置に分散して記録するRAID(Redundant Array of Independent Disks)構成であり、
    前記ストレージシステムは、
    前記第1の記憶装置に格納されたデータに対する更新指示を受け付けたとき、
    更新後のデータに基づいて更新後のパリティデータを作成し、
    前記更新後のデータと、前記更新後のパリティデータと、を前記第1の記憶装置に格納し、
    前記更新後のデータと、前記更新後のパリティデータと、を含むジャーナルを作成して、前記第2の記憶装置に記録し、
    前記第1の記憶装置に格納されたデータの、復元ポイントを含むデータ復元指示を受け付けたとき、
    前記復元ポイント以前に前記第2の記憶装置に記録されたジャーナルを記録された順に読み出し、
    前記読み出されたジャーナルに含まれる前記更新後のデータと前記更新後のパリティデータとを、前記第1の記憶装置に書き込むことを特徴とするデータ復元方法。
  13. 前記ストレージシステムは、
    所定の指示を受け付けたとき、前記第1の記憶装置に格納されたデータを前記第1の記憶装置以外の記憶装置に複製し、
    前記復元ポイントを含むデータ復元指示を受け付けたとき、
    前記復元ポイント直前に前記所定の指示を受け付けて複製されたデータを、前記第1の記憶装置に復元し、
    前記復元されたデータを複製した時点から前記復元ポイントまでに前記第2の記憶装置に記録されたジャーナルを用いて、前記第1の記憶装置に格納されたデータを復元することを特徴とする請求項12に記載のデータ復元方法。
  14. 前記ストレージシステムは、
    前記更新指示を受け付けた場合には、前記第2の記憶装置に記録される前記ジャーナルに前記更新後のパリティデータを含めるか否かを設定する入力を受け付けるインタフェースを提供し、
    前記入力に基づいて、前記ジャーナルに前記更新後のパリティデータを含めるか否かを設定することを特徴とする請求項12に記載のデータ復元方法。
  15. 前記ストレージシステムは、前記第2の記憶装置に格納された前記更新後のパリティデータによって使用される記憶容量を通知することを特徴とする請求項12に記載のデータ復元方法。
  16. 前記ジャーナルは、前記更新後のパリティデータを含むか否かを示す情報を含み、
    前記ストレージシステムは、前記ジャーナルに前記更新後のパリティデータが含まれるか否かを示す情報を設定し、前記設定された情報に基づいて前記ジャーナルを作成することを特徴とする請求項12に記載のデータ復元方法。
  17. 前記ストレージシステムは、前記データ復元指示を受け付けたとき、前記ジャーナルに設定された前記更新後のパリティデータが含まれるか否かを示す情報に基づいて、
    前記第2の記憶装置から読み出したジャーナルに前記更新後のパリティデータが含まれる場合には、前記ジャーナルに含まれる更新後のデータと更新後のパリティデータとを前記第1の記憶装置に書き込み、
    前記第2の記憶装置から読み出したジャーナルに前記更新後のパリティデータが含まれない場合には、
    前記ジャーナルに含まれる更新後のデータの更新前のデータと、前記更新前のデータに対応する更新前のパリティデータと、を前記第1の記憶装置から読み出し、
    前記更新前のパリティデータと前記更新前のデータと前記更新後のデータとから更新後のパリティデータを作成し、前記更新後のデータと前記作成された更新後のパリティデータとを前記第1の記憶装置に書き込むことを特徴とする請求項16に記載のデータ復元方法。
  18. 前記ストレージシステムには、第3の記憶装置がさらに含まれ、
    前記ストレージシステムは、
    所定の指示を受け付けたとき、前記第1の記憶装置に格納されたデータを、前記第1の記憶装置以外の記憶装置に複製し、
    前記第3の記憶装置に、復元ポイントにおける前記第1の記憶装置に格納されたデータのデータ復元指示を受け付けたとき、前記第3の記憶装置が、前記第1の記憶装置と同じRAID構成である場合には、
    前記復元ポイント直前に前記所定の指示を受け付けて複製されたデータを前記第3の記憶装置に復元し、
    前記第2の記憶装置から読み出されたジャーナルに含まれる前記更新後のデータと前記更新後のパリティデータとを、前記第3の記憶装置に書き込むことを特徴とする請求項12に記載のデータ復元方法。
JP2007059764A 2007-03-09 2007-03-09 ストレージシステム、リモートコピーシステム、及びデータ復元方法 Pending JP2008225616A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007059764A JP2008225616A (ja) 2007-03-09 2007-03-09 ストレージシステム、リモートコピーシステム、及びデータ復元方法
US11/758,696 US20080222214A1 (en) 2007-03-09 2007-06-06 Storage system and remote copy system restoring data using journal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007059764A JP2008225616A (ja) 2007-03-09 2007-03-09 ストレージシステム、リモートコピーシステム、及びデータ復元方法

Publications (1)

Publication Number Publication Date
JP2008225616A true JP2008225616A (ja) 2008-09-25

Family

ID=39742715

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007059764A Pending JP2008225616A (ja) 2007-03-09 2007-03-09 ストレージシステム、リモートコピーシステム、及びデータ復元方法

Country Status (2)

Country Link
US (1) US20080222214A1 (ja)
JP (1) JP2008225616A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100981064B1 (ko) 2009-02-18 2010-09-09 한국과학기술원 저널링 파일 시스템을 이용한 소프트웨어 레이드에서의 일관성 유지방법
US8321631B2 (en) 2009-08-04 2012-11-27 Samsung Electronics Co., Ltd. Parity calculation and journal generation in a storage device with multiple storage media

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010049928A1 (en) * 2008-10-27 2010-05-06 Kaminario Tehnologies Ltd. System and methods for raid writing and asynchronous parity computation
US8825949B2 (en) * 2009-01-15 2014-09-02 Lsi Corporation Locking in raid storage systems
US8904226B2 (en) * 2010-08-26 2014-12-02 Cleversafe, Inc. Migrating stored copies of a file to stored encoded data slices
US9229809B2 (en) 2011-09-11 2016-01-05 Microsoft Technology Licensing Llc Nonvolatile media journaling of verified data sets
US8456972B2 (en) 2011-09-12 2013-06-04 Microsoft Corporation Efficient access to storage devices with usage bitmaps
US10394789B1 (en) * 2015-12-07 2019-08-27 Amazon Technologies, Inc. Techniques and systems for scalable request handling in data processing systems
US11023313B2 (en) * 2019-09-27 2021-06-01 Dell Products L.P. Look-aside RAID controller storage-device-assisted data update system
KR20210120240A (ko) * 2020-03-26 2021-10-07 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
CN111913836B (zh) * 2020-07-30 2023-02-10 深圳忆联信息系统有限公司 固态硬盘低功耗模式数据恢复方法、装置、计算机设备及存储介质
JP7443404B2 (ja) * 2022-01-21 2024-03-05 株式会社日立製作所 ストレージシステム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6766491B2 (en) * 2001-05-09 2004-07-20 Dot Hill Systems Corp. Parity mirroring between controllers in an active-active controller pair
US7240235B2 (en) * 2002-03-13 2007-07-03 Intel Corporation Journaling technique for write transactions to mass storage
JP3974538B2 (ja) * 2003-02-20 2007-09-12 株式会社日立製作所 情報処理システム
JP4555040B2 (ja) * 2004-09-22 2010-09-29 株式会社日立製作所 ストレージ装置及びストレージ装置のライトアクセス処理方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100981064B1 (ko) 2009-02-18 2010-09-09 한국과학기술원 저널링 파일 시스템을 이용한 소프트웨어 레이드에서의 일관성 유지방법
US8321631B2 (en) 2009-08-04 2012-11-27 Samsung Electronics Co., Ltd. Parity calculation and journal generation in a storage device with multiple storage media
KR101562794B1 (ko) 2009-08-04 2015-10-26 삼성전자주식회사 데이터 저장 장치

Also Published As

Publication number Publication date
US20080222214A1 (en) 2008-09-11

Similar Documents

Publication Publication Date Title
JP2008225616A (ja) ストレージシステム、リモートコピーシステム、及びデータ復元方法
JP4439960B2 (ja) ストレージ装置
JP4800031B2 (ja) ストレージシステム及びスナップショット管理方法
CN101571815B (zh) 信息系统及i/o处理方法
JP4809040B2 (ja) ストレージ装置及びスナップショットのリストア方法
JP5124183B2 (ja) 非同期リモートコピーシステムの制御方法及び非同期リモートコピーシステム
EP1764693B1 (en) Data restoring apparatus using journal data and identification information
JP6344798B2 (ja) データ送信方法、データ受信方法、及びストレージデバイス
US8001344B2 (en) Storage control apparatus, storage control program, and storage control method
EP1669849B1 (en) Copy controller and method thereof
US20060174076A1 (en) Data processing system including storage systems
JP2005031716A (ja) データバックアップの方法及び装置
KR20110086690A (ko) 저장 장치에 데이터 쓰기를 실행하는 방법 및 시스템
US20090177916A1 (en) Storage system, controller of storage system, control method of storage system
US8131958B2 (en) Storage system, storage device, and data updating method using a journal volume
JP4394467B2 (ja) ストレージシステム、サーバ装置及び先行コピーデータ生成方法
US7287182B2 (en) Method and apparatus for copying data of disk drive in disk array system
US20050223180A1 (en) Accelerating the execution of I/O operations in a storage system
JP2013161383A (ja) 情報処理装置、情報処理方法、プログラム及び情報処理システム
JP4294692B2 (ja) 情報処理システム
US20070118605A1 (en) Method and computer system for information notification
JP2021033782A (ja) リモートコピーシステム
US20240070035A1 (en) Information processing system and backup method
US11256586B2 (en) Remote copy system and remote copy management method
US20240111638A1 (en) Computer system and data control method