JP2008140002A - 記憶システム及びデータ管理方法 - Google Patents

記憶システム及びデータ管理方法 Download PDF

Info

Publication number
JP2008140002A
JP2008140002A JP2006324147A JP2006324147A JP2008140002A JP 2008140002 A JP2008140002 A JP 2008140002A JP 2006324147 A JP2006324147 A JP 2006324147A JP 2006324147 A JP2006324147 A JP 2006324147A JP 2008140002 A JP2008140002 A JP 2008140002A
Authority
JP
Japan
Prior art keywords
data
volume
primary volume
pool
storage
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.)
Granted
Application number
JP2006324147A
Other languages
English (en)
Other versions
JP5031341B2 (ja
Inventor
Satoshi Saito
聡史 斉藤
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 JP2006324147A priority Critical patent/JP5031341B2/ja
Priority to US11/701,408 priority patent/US7725651B2/en
Publication of JP2008140002A publication Critical patent/JP2008140002A/ja
Application granted granted Critical
Publication of JP5031341B2 publication Critical patent/JP5031341B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1456Hardware arrangements for backup
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Abstract

【課題】本発明は、フルバックアップとスナップショットを同一の記憶領域内で管理することで、記憶システムの運用を容易にするとともに管理者の負担を軽減し得る記憶システム及びデータ管理方法を提案する。
【解決手段】セカンダリボリュームの記憶領域の一部又は全部を関連付けて動的な保存記憶領域を論理ボリュームから供給されるプールボリュームを形成する形成部と、プライマリボリューム内の任意のアドレスに対してホスト装置からデータの書き込み指示がなされるとプライマリボリュームに当該データを保存してプライマリボリュームを更新するために、プライマリボリュームに対応する差分データをバックアップデータとしてプールボリュームに保存する第1保存部と、所定のタイミングでプライマリボリュームに対するスナップショットを取得するためにホスト装置からのスナップショット指示に基づいてプライマリボリューム内の更新されないデータを差分データ又は差分データ群としてプールボリュームに保存する第2保存部とを備えることとした。
【選択図】図16

Description

本発明は、記憶システム及びデータ管理方法に関し、例えばフルバックアップやスナップショットを利用したバックアップを行う記憶システムに適用して好適なものである。
記憶システムにおいては、ハードディスクドライブが提供する記憶領域に形成される論理的なボリューム(以下、論理ボリュームという)を用いて、データを管理している。
データの管理方法としては、ユーザがデータを読み書きするボリュームのフルバックアップを1日から1週間程度の周期で定期的に実行する方法がある。またもう一つのデータの管理方法としては、ストレージ装置に搭載されたスナップショット機能を用いて、12時間から1日程度の周期でボリュームのある時点のデータイメージでなるスナップショットを定期的に作成する方法がある。
フルバックアップの作成により得られるバックアップデータと、スナップショットを用いて得られる差分データとは、別々の手法で得られるものである。別々の手法で得られたバックアップデータや差分データを別々に用いることで、ボリュームや当該ボリュームに保存されたデータを復元することができる。
このようにフルバックアップを行う技術と差分データを用いてバックアップを行う技術とを利用するデータ管理方法としては、特許文献1に開示された方法が挙げられる。特許文献1には、予め設定された閾値と差分量とを比較することで、フルバックアップを行うか、差分データを用いてバックアップを行うかの使い分けを記憶システム内で行うデータ管理方法が提案されている。
特開平7−84728号公報
しかし、上記のようにデータをバックアップするためには、フルバックアップを行うためのソフトウェアと、差分データを用いてバックアップを行うためのソフトウェアとを別々に用意しなければならない。それゆえ、例えば初期設定の際や、記憶システムの構成を変更する際には、種類の異なるソフトウェアのそれぞれに基づいて環境を構築する必要がある。
また、両ソフトウェアは独立した別々のソフトウェアのため、フルバックアップにより得られたバックアップデータとスナップショットにより得られた差分データとを組み合わせてデータを復元することはできない。
さらに、このように記憶システムの運用が複雑になるため、円滑に運用できない可能性が高く、管理者の負担も大きくなるという問題が生じる。
そこで、本発明は、フルバックアップとスナップショットを同一の記憶領域内で管理することで、記憶システムの運用を容易にするとともに管理者の負担を軽減し得る記憶システム及びデータ管理方法を提案しようとするものである。
かかる課題を解決するため本発明においては、1又は複数の物理記憶領域上に形成される論理ボリュームをマッピングした仮想ボリュームであるプライマリボリュームにホスト装置からのデータを書き込み、当該プライマリボリューム及び当該プライマリボリュームとペア設定された仮想ボリュームであるセカンダリボリュームにおいて多重化する記憶システムにおいて、前記セカンダリボリュームの記憶領域の一部又は全部を関連付けて動的な保存記憶領域を前記論理ボリュームから供給されるプールボリュームを形成する形成部と、前記プライマリボリューム内の任意のアドレスに対する前記ホスト装置からデータの書き込み指示により前記プライマリボリュームに当該データを保存して前記プライマリボリュームを更新するために、前記プライマリボリュームに対応する差分データをバックアップデータとして前記プールボリュームに保存する第1保存部と、所定のタイミングでプライマリボリュームに対するスナップショットを取得するために前記ホスト装置からのスナップショット指示に基づいて前記プライマリボリューム内の更新されないデータを差分データ又は差分データ群として前記プールボリュームに保存する第2保存部とを備えることを特徴とする。
その結果、フルバックアップとスナップショットを同一の保存記憶領域であるプールボリュームに保存し、記憶システム内で管理することができる。
また、本発明においては、1又は複数の物理記憶領域上に形成される論理ボリュームをマッピングした仮想ボリュームであるプライマリボリュームにホスト装置からのデータを書き込み、当該プライマリボリューム及び当該プライマリボリュームとペア設定された仮想ボリュームであるセカンダリボリュームにおいて多重化する記憶システムのデータ管理方法において、前記セカンダリボリュームの記憶領域の一部又は全部を関連付けて動的な保存記憶領域を前記論理ボリュームから供給されるプールボリュームを形成する形成ステップと、前記プライマリボリューム内の任意のアドレスに対して前記ホスト装置からデータの書き込み指示により前記プライマリボリュームに当該データを保存して前記プライマリボリュームを更新するために、前記プライマリボリュームに対応する差分データをバックアップデータとして前記プールボリュームに保存する第1保存ステップと、所定のタイミングでプライマリボリュームに対するスナップショットを取得するために前記ホスト装置からのスナップショット指示に基づいて前記プライマリボリューム内の更新されないデータを差分データ又は差分データ群として前記プールボリュームに保存する第2保存ステップとを備えることを特徴とする。
その結果、フルバックアップとスナップショットを同一の保存記憶領域であるプールボリュームに保存でき、記憶システム内で管理することができる。
本発明によれば、記憶システム内においてバックアップデータと差分データとを整合性のあるデータとして同一の記憶領域内で保存及び管理ができるため、任意のタイミングでバックアップすることができる。
また、記憶システムの容易な運用を実現できるため、管理者の負担を軽減することができる。
以下図面について、本発明の一実施の形態を詳述する。
(1)第1の実施の形態
(1−1)第1の実施の形態による記憶システムの構成
(1−1−1)記憶システムの物理構成
図1において、1は全体として本実施の形態による記憶システムを示す。この記憶システム1は、ホスト装置2がネットワーク3を介してストレージ装置4と接続されることにより構成されている。
ホスト装置2は、CPU(Central Processing Unit)やメモリ等の情報処理資源を備えたコンピュータ装置であり、例えばパーソナルコンピュータや、ワークステーション、メインフレームなどから構成される。またホスト装置2は、キーボード、スイッチやポインティングデバイス、マイクロフォン等の情報入力装置(図示せず)と、モニタディスプレイやスピーカ等の情報出力装置(図示せず)とを備える。
ネットワーク3は、例えばSAN(Storage Area Network)、LAN(Local Area Network)、インターネット、公衆回線又は専用回線などから構成される。このネットワーク3を介したホスト装置2及びストレージ装置4間の通信は、例えばネットワーク3がSANである場合にはファイバーチャネルプロトコルに従って行われ、ネットワーク3がLANである場合にはTCP/IP(Transmission Control Protocol/Internet Protocol)プロトコルに従って行われる。
ストレージ装置4は、複数のハードディスクドライブ50からなるディスクドライブ部5と、複数のハードディスクドライブ50をRAID(Redundant Array of Independent/Inexpensive Disks)方式で管理するコントローラ6とを備えて構成される。
ハードディスクドライブ50は、例えばSCSI(Small Computer System Interface)ディスク等の高価なディスクドライブ、又はSATA(Serial AT Attachment)ディスクや光ディスクドライブ等の安価なディスクドライブから構成される。
コントローラ6は、複数のチャネルアダプタ7、接続部8、共有メモリ9、キャッシュメモリ10、複数のディスクアダプタ11及びサービスプロセッサ12を備えて構成される。
各チャネルアダプタ7は、図2に示すように、マイクロプロセッサ70、メモリ71及び通信インタフェース等を備えたマイクロコンピュータシステムとして構成されており、ネットワーク3に接続するためのポート72、73を備える。各チャネルアダプタ7は、ホスト装置2から送信される各種コマンドを解釈して、必要な処理を実行する。各チャネルアダプタ7のポート72、73には、それぞれを識別するためのネットワークアドレス(例えば、IPアドレスやWWN)が割り当てられており、これによりチャネルアダプタ7がそれぞれ個別にNAS(Network Attached Storage)として振る舞うことができるようになされている。各チャネルアダプタ7のメモリ71は、ホスト装置2からのライト命令を処理するライト命令処理部74と、ディスクアダプタ11から発生する擬似I/Oを再びディスクアダプタ11へ戻すI/Oループバック処理部75とを備える。そして各チャネルアダプタ7は、内部バスアダプタ(図示せず)を介して接続部8と接続されている。
接続部8は、上述したチャネルアダプタ7の他、共有メモリ9、キャッシュメモリ10及びディスクアダプタ11と接続されている。チャネルアダプタ7、共有メモリ9、キャッシュメモリ10及びディスクアダプタ11間のデータやコマンドの授受は、この接続部8を介して行われる。接続部8は、例えば高速スイッチングによりデータ伝送を行う超高速クロスバススイッチなどのスイッチ又はバス等で構成される。
共有メモリ9は、チャネルアダプタ7及びディスクアダプタ11により共有される記憶メモリである。共有メモリ9は、主にストレージ装置4の電源投入時にシステムボリュームから読み出されたシステム構成情報及び各種制御プログラムや、ホスト装置2からのコマンドなどを記憶するために利用される。
キャッシュメモリ10も、チャネルアダプタ7及びディスクアダプタ11により共有される記憶メモリである。このキャッシュメモリ10は、主にストレージ装置4に入出力するユーザデータを一時的に記憶するために利用される。
各ディスクアダプタ11は、図3に示すように、マイクロプロセッサ110やメモリ111等を備えたマイクロコンピュータシステムとして構成され、ディスクドライブ部5との通信時におけるプロトコル制御を行うインタフェースとして機能する。これらディスクアダプタ11は、例えばファイバーチャネルケーブルを介して対応するディスクドライブ部5と接続されており、ファイバーチャネルプロトコルに従ってこれらディスクドライブ部5との間のデータの授受を行う。
サービスプロセッサ12は、ストレージ装置4の保守又は管理のために操作されるコンピュータ装置であり、例えばノート型のパーソナルコンピュータから構成される。このサービスプロセッサ12は、ネットワーク3を介してホスト装置2が接続されており、ホスト装置2からデータ或いは命令を受信することができる。サービスプロセッサ12は、ストレージ装置4内の障害発生を監視してディスプレイ画面(図示せず)に表示することができる。
(1−1−2)記憶システムの論理構成
次に、上述の記憶システム1の論理構成について説明する。図4は、記憶システム1におけるホスト装置2と複数のハードディスクドライブ50との論理的な関係を示した概念図である。
記憶システム1では、複数のハードディスクドライブ50が提供する記憶領域上に1又は複数の論理ボリュームLDEVが定義される。
各論理ボリュームLDEVには、それぞれ固有の識別子(LUN:Logical Unit Number)が割り当てられる。本実施の形態の場合、データの入出力は、この識別子と、各ブロックにそれぞれ割り当てられるそのブロックに固有の番号(LBA:Logical Block Address)との組み合わせたものをアドレスとして、当該アドレスを指定して行われる。
また、差分データP1〜Pnのデータ量に応じて、複数のハードディスクドライブ50が提供する記憶領域から動的に供給されるプールボリュームPLが定義される。
さらに、記憶システム1では、ホスト装置2がアクセスするために論理ボリュームLDEVをマッピングした仮想ボリュームが定義される。仮想ボリュームLUには、実ボリュームである論理ボリュームLDEVをそのままマッピングした仮想ボリュームLUと、論理ボリュームLDEV及びプールボリュームPLをマッピングした仮想ボリュームLUと、がある。
仮想ボリュームLUとしては、プライマリボリュームPVOLとセカンダリボリュームSVOLとがある。セカンダリボリュームSVOLは、プライマリボリュームPVOLのバックアップ用として用いられる仮想ボリュームLUである。万一、プライマリボリュームPVOLに障害が発生しても、セカンダリボリュームSVOLを用いてプライマリボリュームPVOLを速やかに再生することができる。
本実施の形態では、プールボリュームPLをセカンダリボリュームSVOLに関連付けられる動的な論理ボリュームとしている。したがって、プールボリュームPLは、プライマリボリュームPVOLをバックアップするための保存記憶領域として用いられる。詳しくは、プールボリュームPLには、プライマリボリュームPVOL内で所定のタイミングで取得されたデータに対応するビットマップの差分データP1〜Pnが保存される。
このように構成された記憶システム1では、ホスト装置2が仮想ボリュームLUにアクセスすると、当該仮想ボリュームLUと関連付けられた論理ボリュームLDEVに、ホスト装置2からのデータが所定の大きさのブロック単位として読み書きする。
(1−2)本実施の形態におけるバックアップ機能及びスナップショット機能
次に、記憶システム1内のストレージ装置4に搭載されたバックアップ機能及びスナップショット機能について説明する。
この記憶システム1は、プライマリボリュームPVOLの任意のアドレスにホスト装置2からのデータ又はディスクアダプタ11から発生する擬似的なデータ(以下、これを擬似データと呼ぶ)を書き込むとともに、そのアドレスに予め書き込まれていたデータをバックアップデータPDとして、プライマリボリュームPVOLの保存記憶領域であるプールボリュームPLにバックアップして保存できることを特徴としている。また、この記憶システム1は、かかるバックアップデータPDが、差分データP1〜Pn、差分データ群である擬似差分データPS1〜PSn又はミラーボリュームPMであることも特徴としている。
本実施の形態によるバックアップ機能とは、ホスト装置2からI/Oが送信されると、記憶システム1がプライマリボリュームPVOLの任意のアドレスに予め保存されているデータを追い出して当該データをプールボリュームPLに保存する機能をいう。したがって、プールボリュームPLにバックアップとして保存されるデータは、最新データより1つ古いデータ(旧データ)である。ホスト装置2からの最新のデータは、プライマリボリュームPVOLの任意のアドレスに形成した空き領域に保存される。
なお、ホスト装置からのI/Oとは、ホスト装置2からの読み書き要求及び当該読み書き要求に伴って入出力されるデータをいう。本実施の形態におけるバックアップ処理は、ホスト装置2からの書き込み要求及び当該書き込み要求に伴って出力されるデータについて述べる。また、本実施の形態におけるリストア処理は、ホスト装置2からの読み出し要求及び当該読み出し要求に伴って入力されるデータについて述べる。
また本実施の形態のスナップショット機能とは、記憶システム1がホスト装置2からスナップショット指示を受領すると、その時刻におけるプライマリボリュームPVOLの記憶領域のデータを、セカンダリボリュームSVOLの保存記憶領域であるプールボリュームPLにコピーすることによって、レプリケーションを作成する機能である。記憶システム1では、定期的にスナップショット機能を実行することにより、データのレプリケーションを間欠的に取得することが可能である。
(1−2−1)ディスクアダプタの処理内容
上記の特徴を実現する手段として、図3に示すように、ストレージ装置4のディスクアダプタ11のメモリ111には、ホスト装置2からのI/O又はディスクアダプタ11で発生させる擬似I/Oを処理するデータ処理部112が設けられている。
なお擬似I/Oとは、ホスト装置2からの読み書き要求及び当該読み書き要求に伴って入出力されるデータに見せかけるように擬似するものであって、ディスクアダプタ11から発生する擬似的な読み書き要求及び当該擬似的な読み書き要求に伴って入出力される擬似的なデータをいう。本実施の形態におけるバックアップ処理は、ディスクアダプタ11から発生する擬似的な書き込み要求及び当該擬似的な書き込み要求に伴って出力される擬似的なデータについて述べる。また、本実施の形態におけるリストア処理は、ディスクアダプタ11から発生する擬似的な読み出し要求及び当該擬似的な読み出し要求に伴って入力される擬似的なデータについて述べる。
データ処理部112には、差分ビットマップ113、ミラー用差分ビットマップ114、プール領域管理テーブル115、世代管理テーブル116、バックアッププログラム117及び擬似I/O発生プログラム118が保存されている。
差分ビットマップ113は、図5に示すように、プライマリボリュームPVOL内に保存されるそれぞれのデータと対応した「0」及び「1」配置とし、差分データP1〜Pnを管理するためのテーブルである。
例えば、あるデータがプライマリボリュームPVOLからセカンダリボリュームSVOLの保存記憶領域であるプールボリュームPLにバックアップされた場合には、当該保存後に、差分データP1〜Pnが更新済であるとして「1」を表示する。「0」から「1」への更新は、図5に示すように、差分ビットマップ113上の左上から順に行われる。
一方、あるデータがプライマリボリュームPVOLからプールボリュームPLにバックアップされていない場合には、差分データP1〜Pnが未更新であるとして「0」を表示する。したがって差分ビットマップ113上に「1」表示が多い場合には、プライマリボリュームPVOLのデータの更新が多いことを示し、「0」表示が多い場合には、プライマリボリュームPVOLのデータの更新が少ないことを示している。
ミラー用差分ビットマップ114は、図5に示すように、プライマリボリュームPVOL内に保存されるそれぞれのデータと対応した「0」及び「1」配置とし、全てのデータを管理するためのテーブルである。「0」及び「1」表示方法は、上述した差分ビットマップ113と同様なので、説明は省略する。
プール領域管理テーブル115は、図6に示すように、プールボリュームPL内にバックアップされるバックアップデータPDを管理するテーブルである。プール領域管理テーブル115は、「シーケンス番号」フィールド115A、「アドレス」フィールド115B及び「データ」フィールド115Cから構成される。
「シーケンス番号」フィールド115Aには、プライマリボリュームPVOLからプールボリュームPLへ順次データがバックアップされる処理番号が保存される。このシーケンス番号は、データの書き込み順序を守るためにある。したがってシーケンス番号が小さいほど、書き込み順序が早いため古いデータが保存され、シーケンス番号が大きいほど新しいデータが保存されることとなる。
「アドレス」フィールド115Bには、プライマリボリュームPVOL上のアドレスが保存される。
「データ」フィールド115Cには、プライマリボリュームPVOLからプールボリュームPLへバックアップされるバックアップデータPDが保存される。
例えばプール領域管理テーブル115において、「シーケンス番号」フィールド115Aが「3」の場合には、プールボリュームPL内へのバックアップ処理を3番目に行ったことを示す。このときのバックアップデータPDは、プライマリボリュームPVOL上のアドレス「0x3214」のデータ「CCCCC」である。したがって、シーケンス番号が大きいほど直近のバックアップ処理であることを示す。
なお、プール領域管理テーブル115にデータの更新時間を管理する「更新時間」フィールドを更に設けて、シーケンス番号とともにデータの書き込み順序を管理しても良い。
世代管理テーブル116は、図7に示すように、スナップショットの指示によってプライマリボリュームPVOLからプールボリュームPLにバックアップするデータの世代を管理するテーブルである。
ここでデータの世代とは、何回目かのスナップショット指示によるプライマリボリュームPVOL内のデータを示すものである。例えば、1回目のスナップショットの指示をホスト装置2から受領した場合には、1回目の指示時点でのプライマリボリュームPVOL内のデータは1世代目のデータであることを示す。同様に、2回目・・・N回目のスナップショットの指示をホスト装置2から受領した場合には、当該指示に該当する時点でのプライマリボリュームPVOL内のデータは2世代目・・・N世代目のデータであることを示す。
また世代管理テーブル116は、「世代番号」フィールド116A、「シーケンス番号」フィールド116Bとから構成される。
「世代番号」フィールド116Aには、スナップショットの指示によってプライマリボリュームPVOLからプールボリュームPLにバックアップするデータの世代番号が保存されている。
「シーケンス番号」116Bには、プライマリボリュームPVOLからプールボリュームPLへ順次データをバックアップする処理番号が保存される。
(1−2−2)プールボリュームの構成
本実施の形態におけるプールボリュームPLはセカンダリボリュームSVOLの保存記憶領域としての役割を果たすものである。したがってプールボリュームPLには、プライマリボリュームPVOLのデータをバックアップしたバックアップデータPDが保存される。図8に示すように、バックアップデータPDには、差分データP1〜Pn、擬似差分データPS1〜PSn及びミラーボリュームPMがある。
差分データP1〜Pnは、任意の時刻におけるプライマリボリュームPVOLの任意のアドレスに保存されているデータを差分データP1〜PnとしてプールボリュームPLに保存されるバックアップデータPDである。
具体的な差分データP1を図9に示す。プール領域に保存される差分データとしては、プライマリボリュームPVOL上のアドレスP1AとプライマリボリュームPVOLの差分データP1Dとがある。
擬似差分データPS1〜PSnは、プライマリボリュームPVOLに対応した差分ビットマップ113上又はミラー用差分ビットマップ114上に配置されるデータを更新しても、なおデータの未更新部分がある場合に、当該未更新部分を擬似差分データPS1〜PSnとして、プールボリュームPLに保存されるバックアップデータPDである。
図10に、擬似差分データPS1〜PSnを説明する上での概念図を示す。
ディスクアダプタ11のマイクロプロセッサ110は、プライマリボリュームPVOLに対応した差分ビットマップ113上又はミラー用差分ビットマップ114上でデータの未更新部分を検索して検出すると、未更新部分のアドレスに向けて擬似I/Oを送信する。これは、上述したバックアップ機能を利用するものである。通常は、ホスト装置2からのI/Oをプライマリボリュームの任意のアドレスに向けて送信することで、予めプライマリボリュームPVOLに保存されているデータをプールボリュームPLへ移行させる。しかし、ストレージ装置4内にあるディスクアダプタ11から発生させる擬似I/OをプライマリボリュームPVOLの任意のアドレスに向けて送信することで、データの未更新部分が多い場合には、ホスト装置2からデータを送信する回数を削減することができる。これは、プライマリボリュームPVOL内での未更新であるデータを擬似差分データPS1〜PSnとしてプールボリュームPLに保存させて、当該未更新部分であった領域に最新のデータを保存させるためである。したがってプールボリュームPLには、最新のデータより1つ古いデータが擬似データとして保存されることになる。
ここで図10に示すように、ディスクアダプタ11から発生する擬似I/Oは、プライマリボリュームPVOL内の任意アドレスPAnと、適当なデータFDnとから構成される。
擬似データFDnは、プライマリボリュームPVOL内の任意のアドレスに予め保存されるデータを追い出すためだけの役割を果たせばよいため、どのようなデータでも良い。
そうしてディスクアダプタ11のマイクロプロセッサ110は、図10に示すように、プライマリボリュームPVOL上のアドレスと、未更新部分のデータをバックアップした擬似差分データをセカンダリボリューム内に保存する。
(1−2−3)記憶システムの動作概要
次に、本実施の形態の記憶システム1の動作概要を説明する。
まず、本実施の形態におけるバックアップ機能及びスナップショット機能が無効であり、ホスト装置2からI/Oが送信された場合について、説明する。
図11に示すように、ホスト装置から送信されるI/Oがストレージ装置4のチャネルアダプタ7の1つのポート72に入ると([1])、チャネルアダプタ7のマイクロプロセッサ70がデータを受信する([2])。チャネルアダプタ7のマイクロプロセッサ70は、ライト命令処理部74を介して([3])、ディスクアダプタ11へデータを送信する([4])。
データを受信したディスクアダプタ11のマイクロプロセッサ110は、データ処理部112内のバックアッププログラム117を参照して、バックアップ機能及びスナップショット機能が有効であるか又は無効であるかを確認する([5])。ディスクアダプタ11のマイクロプロセッサ110は、バックアップ機能及びスナップショット機能が無効であると確認すると、受信したデータをプライマリボリュームPVOLの任意のアドレスに書き込む([6])。
次に、本実施の形態におけるバックアップ機能及びスナップショット機能が有効であり、ディスクアダプタ11から擬似I/Oを発生させる場合について説明する。
図12に示すように、ディスクアダプタ11のマクロプロセッサ110は、プライマリボリュームPVOLに対応する差分ビットマップ113又はミラー用差分ビットマップ114を参照して、データの未更新部分を認識すると、擬似I/O発生プログラムを起動させて、擬似I/Oを発生させる([1])。
ディスクアダプタ11のマクロプロセッサ110は、発生させた擬似I/Oをチャネルアダプタに送信する([2])。
擬似I/Oを受信したチャネルアダプタ7のマイクロプロセッサ70は、I/Oループバック処理部75において、擬似I/Oをチャネルアダプタ7内で一巡する処理を実行させる([3])。
具体的には図13に示すように、I/Oループバック処理部75は、2つのチャネルアダプタ7A、7Bを想定させ、当該2つのチャネルアダプタ7A、7B内を擬似I/Oが移行することで、一巡する処理を構築させている。
一巡する処理を構築する動作は、次の通りである。チャネルアダプタ7Aのマイクロプロセッサ70Aは、ディスクアダプタ11からの擬似I/Oを受信すると、ポート72Aを介して、他のチャネルアダプタ7Bに擬似I/Oを送信する。そうして、他のチャネルアダプタ7Bのマイクロプロセッサ70Bが擬似I/Oを他のチャネルアダプタ7Bのポート72Bを介して受信すると、そのままディスクアダプタ11に擬似I/Oを送信する([4])。
このように、チャネルアダプタ7のマイクロプロセッサ70は、チャネルアダプタのI/Oループバック処理部75で、擬似I/Oを一巡させている。
ディスクアダプタ11のマイクロプロセッサ110は、擬似I/Oを受信すると、差分ビットマップ113又はミラー用差分ビットマップ114のどちらを使用するか判断して、使用するビットマップを選択する([5])。そして、ディスクアダプタ11のマイクロプロセッサ110は、バックアッププログラム117を参照し、バックアップ機能及びスナップショット機能が有効であることを確認する([6])。
ディスクアダプタ11のマイクロプロセッサ110は、差分ビットマップ113上又はミラー用差分ビットマップ114上で未更新のデータがある場合には、擬似I/OをプライマリボリュームPVOLの任意のアドレスに送信して、プライマリボリュームPVOLの任意のアドレスからデータを読み出して取得する([7])。
そして、ディスクアダプタ11のマイクロプロセッサ110は、プールボリュームPL内に当該データをバックアップデータPDして保存する([8])。このとき、ディスクアダプタ11のマイクロプロセッサ110は、差分ビットマップ113上又はミラー用差分ビットマップ114上にある未更新部分を更新済にする。
(1−2−4)マイクロプロセッサの処理内容
この記憶システム1の動作概要中、ディスクアダプタ11のマイクロプロセッサ110が、ホスト装置2からのI/O又はディスクアダプタ11から発生させる擬似I/Oを受信した場合の処理の違いについて説明する。この処理は、ディスクアダプタ11のマイクロプロセッサ110がバックアッププログラム117に基づいて実行する。なお、この処理は、マイクロプロセッサ110がミラー用差分ビットマップ114を使用する場合について説明するが、差分ビットマップ113を使用する場合も同様の処理を行うものとする。
まず、図14に示すように、ディスクアダプタ11のマイクロプロセッサ110が、ホスト装置からのI/O又はディスクアダプタ11から発生させる擬似I/Oをチャネルアダプタ7から受信することで、処理を開始する(SP0)。
次に、ディスクアダプタ11のマイクロプロセッサ110は、ミラー用差分ビットマップ114が未更新であるか否かを判断する(SP1)。
そして、未更新であると判断すると(SP1:YES)、ディスクアダプタ11のマイクロプロセッサ110は、ミラー用差分ビットマップ114を更新済にする(SP2)。その後、ディスクアダプタ11のマイクロプロセッサ110は、プライマリボリュームPVOLからデータを読み出して取得すると(SP3)、読み出したデータをバックアップデータPDとしてミラー用ボリュームに書き込む(SP4)。
一方、ディスクアダプタ11のマイクロプロセッサ110は、ステップSP1においてミラー用差分ビットマップ114が未更新ではなく更新済であると判断すると(SP1:NO)、次のステップSP5の処理を行う。
その後、ディスクアダプタ11のマイクロプロセッサ110は、ホスト装置からI/Oが送信された否かを判断し(SP5)、ホスト装置からのI/Oであると判断すると(SP5:YES)、ホスト装置からの最新のデータをプライマリボリュームに書き込んで(SP6)、この処理を終了する(SP7)。
一方、ディスクアダプタ11のマイクロプロセッサ110は、ホスト装置からのI/Oではなく擬似I/Oであると判断すると(SP5:NO)、そのままこの処理を終了する(SP7)。
(1−2−5)擬似I/O発生処理
次に、ディスクアダプタ11から擬似I/Oを発生させる処理について説明する。この処理は、ディスクアダプタ11のマイクロプロセッサ110が擬似I/O発生プログラム118に基づいて処理を実行する。
まず、図15に示すように、ディスクアダプタ11のマイクロプロセッサ110は、上述した記憶システム1の動作概要中において、プライマリボリュームに対応する差分ビットマップ113又はミラー用差分ビットマップ114を使用する場合に、この処理を開始する(SP10)。
ディスクアダプタ11のマイクロプロセッサ110は、差分ビットマップ113上又はミラー用差分ビットマップ114上にある先頭アドレスから1つずつアドレスを選択する(SP11)。
次に、ディスクアダプタ11のマイクロプロセッサ110は、差分ビットマップ113上又はミラー用差分ビットマップ114上にある選択後のアドレスが未更新部分のデータか否かを判断する(SP12)。すなわち、ディスクアダプタ11のマイクロプロセッサ110は、差分ビットマップ113上又はミラー用差分ビットマップ114上にある選択後のアドレスが「0」か「1」か、を判断する。
ディスクアダプタ11のマイクロプロセッサ110は、差分ビットマップ113上又はミラー用差分ビットマップ114上にある選択後のアドレスが未更新部分のデータであると判断すると(SP12:YES)、当該選択後のアドレスに向けて擬似I/Oを送信する(SP13)。未更新部分のデータをプライマリボリューム上から追い出し、空き領域を作成するためである。
一方、ステップSP12において、ディスクアダプタ11のマイクロプロセッサ110は、差分ビットマップ113上又はミラー用差分ビットマップ114上にある選択後のアドレスが未更新部分のデータはないと判断すると(SP12:NO)、ステップSP14の処理に進む。
ディスクアダプタ11のマイクロプロセッサ110は、差分ビットマップ113上又はミラー用差分ビットマップ114上にあるアドレスを最後まで選択したか否かを判断する(SP14)。
ディスクアダプタ11のマイクロプロセッサ110は、差分ビットマップ113上又はミラー用差分ビットマップ114上にあるアドレスを最後まで選択していないと判断すると(SP14:NO)、ステップSP11に戻り、次のアドレスを選択する。
一方、ディスクアダプタ11のマイクロプロセッサ110は、差分ビットマップ113上又はミラー用差分ビットマップ114上にあるアドレスを最後まで選択したと判断すると(SP14:YES)、対象となる全ての未更新部分のデータに対して擬似I/Oを送信し、プライマリボリューム内にある未更新部分のデータを読み出したことになるため、この処理を終了する(SP15)。
特に、ディスクアダプタ11のマイクロプロセッサ110がミラー用差分ビットマップ114を選択して使用する場合においては、当該ビットマップの左上にあるアドレスに向けて擬似I/Oを送信し、ミラー用差分ビットマップ114上にある全ての未更新部分のデータを更新済にする。
(1−2−6)バックアップ処理
次に、上述した各種テーブルや動作概要を用いて、プライマリボリュームPVOLに保存されるデータがどのようにプールボリュームPLにバックアップされるのかについて、この記憶システム1での一連のバックアップ処理を説明する。
図16には、ホスト装置2からのI/O、ホスト装置2からのスナップショット指示及びディスクアダプタ11から発生する擬似I/Oの時系列を縦軸tに示し、この時系列に対応するように、プライマリボリュームPVOL及びプールボリュームPLの概念図が示されている。
まず、ホスト装置2からのI/Oが送信されていて、スナップショット指示がされていない場合には(t1〜t4)、図11で説明をした記憶システム1の動作順番([1]〜[6])を経て、プライマリボリュームPVOLにホスト装置2からのデータが書き込まれる。
そして任意のタイミングでホスト装置2が1世代目のスナップショット指示を出すと(t5)、ディスクアダプタ11のマイクロプロセッサ110はプールボリュームPLを初期化する。プールボリュームPLを初期化するとは、図17(A)に示すように、プール領域管理テーブル115及び世代管理テーブル116を初期化することである。そうしてプライマリボリュームPVOL内のデータに関してバックアップ処理を開始する。
その後、ホスト装置2はプライマリボリュームPVOLの任意のアドレスに対してI/Oを送信すると(t6〜t8)、この記憶システム1のバックアップ機能及びスナップショット機能を用いて、予めプライマリボリュームPVOLに保存されているデータを読み出し、当該データを差分データP1〜PnとしてプールボリュームPLに保存する。図17(B)に示すように、プール領域管理テーブル115には、例えばt6時点で取得した差分データP1が保存される。
引き続き、ホスト装置2は2世代目のスナップショット指示を出すと(t9)、プライマリボリュームPVOLに保存される全てのデータをバックアップするために、ディスクアダプタ11は擬似I/Oを送信する(t10〜t13)。プライマリボリュームPVOLのデータは、予めt6〜t8時点で差分データP6〜P8としてプールボリュームPLに保存しているため、ここでは、プライマリボリュームPVOLのデータのうち、未更新部分のデータを擬似差分データPS1〜PSnとして保存する。擬似I/Oの発生は、ストレージ装置4内だけでバックアップの処理を行えるため、ホスト装置2からI/Oを送信するよりもバックアップ効率が向上する。
図17(C)に示すように、t10〜t13時点で取得した擬似差分データが差分データ群P10〜P13としてプール領域管理テーブル115に保存される。t10〜t13時点は、未だ1回目のバックアップ処理が完了していないため、1世代目のバックアップデータPDである。図16では、1世代目のバックアップデータPDは、世代が「1」でシーケンス番号が「7」であるが、世代管理テーブル116の「世代番号」フィールド116Aには、次の世代番号を入れるため、世代番号として「2」及び1世代目最後の擬似差分データであるシーケンス番号「7」を世代管理テーブル116に保存することとなる。
そうして1回目のバックアップが完了すると、ディスクアダプタ11は1世代目のバックアップデータを取得することが出来る。図17(C)に示すように1世代目のバックアップデータの範囲は、シーケンス番号が1〜7までとなる。
このように、差分データP1〜P3及び擬似差分データである差分データP4〜P7をプールボリュームに保存することは、結果として1世代目のプライマリボリュームPVOLの全データをバックアップすることとなる。
引き続き、t13〜t17時点では、ホスト装置2から送信されるI/Oに伴い、プライマリボリュームPVOLに保存されるデータが差分データP13〜P17としてプールボリュームPLに保存される。
ホスト装置は3世代目のスナップショット指示を出すと(t18)、t19〜t22時点で、ディスクアダプタ11は、擬似I/Oを発生させてプールボリュームPL内に擬似差分データを差分データ群P19〜P22として保存する。このとき、ホスト装置2からのI/Oが送信された場合には(t23)、ディスクアダプタ11は、差分データとしてプールボリュームPL内に保存する。t24〜t27時点で、ディスクアダプタ11は、擬似I/Oを発生させてプールボリューム内に擬似差分データを差分データ群P24〜P27として保存する。
そうして2回目のバックアップが完了すると、ディスクアダプタ11は、2世代目のバックアップデータを取得することができる。図17(D)に示すように2世代目のバックアップデータの範囲は、シーケンス番号が8〜27までとなる。
同様に、引き続き3世代目のバックアップデータを取得することができる。
本実施の形態においては、ホスト装置2からスナップショット指示をプライマリボリュームに与える毎に未更新部分のデータのみを擬似差分データPS1〜PSnとしてプールボリュームPLへ保存したが、全てのデータが予め保存されているプライマリボリュームPVOLをミラーボリュームPMとしてプールボリュームPLへ保存してもよい。
もちろん、ミラーボリュームPMとしてプールボリュームPLへ保存するという記憶システム1の運用を、差分データ及び擬似差分データをプールボリュームPLへ保存する運用と並行して行ってもよい。
ミラーボリュームPMとしてプールボリュームPLへ保存する場合も、上述と同様に、擬似I/Oを発生させて全てのデータを移行させることで、バックアップが完了する。
ディスクアダプタ11からの擬似I/Oに基づいてバックアップデータPDがプールボリュームPLに保存されている際にホスト装置2からのI/Oが送信された場合には、ホスト装置からのI/O又は擬似I/Oのどちらを優先してプールボリュームPLに保存しても良い。バックアップ効率を向上させるのであれば、擬似I/Oを優先してバックアップデータPDを保存させればよい。
(1−2−7)リストア処理
次に、バックアップ処理によりプライマリボリュームPVOLに保存されたバックアップデータPDをプライマリボリュームPVOLに任意の時点でリストアする処理について説明をする。上述した各種テーブルや動作概要を用いて、プライマリボリュームPVOLに保存されるデータがどのようにプールボリュームPLにバックアップされるのかについて、この記憶システム1での一連のバックアップ処理を説明する。なお、バックアップデータPDとして差分データP1〜Pnを用いて説明する。
図18に示すように、例えば、2世代目のデータの範囲をプールボリュームPLからプライマリボリュームPVOLにリストアする場合について説明する。
図19に示すように、差分データP1〜Pnは、プール領域管理テーブル115及び世代管理テーブル116で管理されている。世代管理テーブル116から、2世代目はシーケンス番号7の直後であることがわかるため、2世代目のデータの範囲は、シーケンス番号8から21までということがわかる。また、シーケンス番号はデータの書き込み順序を示すため、リストアする場合には、新たしいデータから古いデータへと復元しなければならない。したがって、リストアする順序としては、シーケンス番号が21から順に8までの差分データP8〜P21をリストアすればよいこととなる。
このリストアをする際に、図20に示すように、予めプールボリュームPL内に保存するバックアップデータPDをグループ分けして保存することも可能である。
例えば、予めユーザがプールボリュームPL内に障害グループG1、G2を設定する。1つの障害グループG1には、差分データP1〜Pn及び擬似差分データPS1〜PSnを保存し、もう1つの障害グループG2には、ミラーボリュームPMを保存する。このように保存することで、プライマリボリュームPVOL、障害グループG1及び障害グループG2のいずれかが破損した場合にも、他の2つのうちいずれか1つをリストアすれば、破損したデータを復元することができる。具体的には、プライマリボリュームPVOLに障害が生じて、当該ボリュームPVOL内のデータが破損した場合に、障害グループG1、G2のうち、いずれか1つの障害グループ内のバックアップデータPDをリストアすることで、プライマリボリュームPVOLを復元することができる。
このようにプールボリュームPLに保存された差分データP1〜Pn及び擬似差分データPS1〜PSnを使用すれば、プライマリボリュームPVOLを復元することができるため、差分データP1〜Pn及び擬似差分データPS1〜PSnは、プライマリボリュームPVOLに予め保存された任意の時点における全てのデータであることがいえる。
(1−3)第1の実施の形態の効果
本実施の形態によれば、記憶システムのプールボリューム内において、バックアップデータである差分データ、擬似差分データ及びミラーボリュームを整合性のあるデータとして保存及び管理ができ、任意のタイミングでバックアップ処理及びリストア処理を行うことができる。
(2)第2の実施の形態
図21において、200は全体として本実施の形態による記憶システムを示す。
本形態による記憶システム200は、図1との対応部分に同一符号を付した図21に示すように、第1の実施の形態のストレージ装置4に複数のテープ150を備えたテープライブラリ装置15を接続した構成である。テープライブラリ装置15の複数テープ150は、外部記録媒体である。
なお、その他の構成は、第1の実施の形態による記憶システム1の構成と同様なので、説明を省略する。また、第1の実施の形態と同様の構成には、同じ符号を付す。
第1の実施の形態のプールボリュームPLに保存されたバックアップデータPDを長期に保管するために、テープライブラリ装置15に更にバックアップする処理を説明する。
図22に示すように、ディスクアダプタ11は、第1の実施の形態のプールボリュームPLに保存された全てのバックアップデータをテープライブラリ装置15に転送し、テープ15に複製する。併せて、ディスクアダプタ11は、プール領域管理テーブル115及び世代管理テーブル116もテープライブラリ装置15に転送する。プール領域管理テーブル115及び世代管理テーブル116は、テープライブラリ装置15内で管理される。
なお、プールボリュームにバックアップデータPDを保存する処理は第1の実施の形態で説明したので、省略する。
テープライブラリ装置15のテープ150に複製されたバックアップデータをリストアする場合は、テープライブラリ装置15で管理されたプール領域管理テーブル115及び世代管理テーブル116と、バックアップデータとから該当する世代のデータの論理ボリュームを作成し、プライマリボリュームに当該ボリュームを複製する。
本実施の形態の記憶システムによれば、第1の実施の形態における効果に加えて、プールボリュームのバックアップデータの種類を意識せずに外部記録媒体へ複製することができる。また、バックアップデータを管理する各種テーブルも外部記録媒体に複製するため、外部記録媒体のデータのみで、所望のデータを復元することができる。
(3)第3の実施の形態
図23において、300は全体として本実施の形態による記憶システムを示す。
本実施の形態による記憶システム300は、図1との対応部分に同一符号を付した図23に示すように、ストレージ装置4´のチャネルアダプタ7からネットワーク16を介して外部記憶装置17を接続した構成である。外部記憶装置17には、外部ボリューム170が備えられている。
本実施の形態によるストレージ装置4´には、プールボリュームPL´が形成されている。そしてプールボリュームPL´には、差分データP1〜Pnの関連するデータとしてメタデータPM1〜PMnが更に保存されている。メタデータPM1〜PMnは、差分データP1〜Pnの作成日時、作成者及びデータ形式等のデータのことをいう。
なお、その他の構成は、第1の実施の形態による記憶システム1の構成と同様なので、説明を省略する。また、第1の実施の形態と同様の構成には、同じ符号を付す。
本実施の形態のプールボリュームPL´に保存された差分データP1〜Pnを更に保管するために、外部記憶装置17にバックアップする処理を説明する。
図24に示すように、プールボリュームPL´に保存された差分データP1〜Pnのうち、古くなった差分データの一部又は全部を、外部記憶装置17の外部ボリューム170に転送し、保存することもできる。
なお、差分データを保存する記録媒体としては、外部ボリューム17の他、別途新たに設けたストレージ装置、テープ又はWORM領域に保存することもできる。
本実施の形態の記憶システムによれば、第1の実施の形態における効果に加えて、プールボリュームのバックアップデータに関連付けたメタデータを保存するので、古くなった差分データのみを外部記憶装置に保存することができる。また、古くなった差分データのみを削除することもできる。
(4)第4の実施の形態
図1において、400は全体として本実施の形態による記憶システムを示す。
なお、本実施の形態による記憶システム400は、第1の実施の形態による記憶システム1と同様の構成のため、説明を省略する。
図25に示すように、プールボリュームPLに保存するバックアップデータの保存方法としては、次の通りである。
まずディスクアダプタ11は複数の差分データP1〜Pnを合成して合成データPC1、PC2を形成する。例えば、図26(A)に示す世代管理テーブル116を参照すると、2世代目の差分データP3、P4はシーケンス番号3及び4であり、3世代目の差分データP5、P6はシーメンス番号5及び6である。これらの差分データP3〜P6を合成すると、合成データPC1はシーケンス番号3〜6までの差分データP3〜P6になる。同様の合成方法で、複数世代の差分データP1〜Pnを合成することができる。
そうすると次に、ディスクアダプタ11は合成データPC1、PC2…の中から圧縮し、圧縮データPP1…を形成する。例えば図26(B)に示すプール領域管理テーブル115を参照すると、シーケンス番号3及び5のアドレスが重複している。そのため、重複したアドレスをもつシーケンス番号の中から最も小さな番号3を残し、その他のシーケンス番号5に該当する合成データは削除することで、図26(C)に示すように圧縮データPP1…を形成することができる。
ディスクアダプタ11は、このように形成された圧縮データを更に暗号化したデータPE1…として保存することもできる。
第4の実施の形態の記憶システムによれば、第1の実施の形態における効果に加えて、古いバックアップデータを長期に保存する必要がある場合には効率的にプールボリューム内に保存することができる。また、古いバックアップデータを暗号化するため、当該データの改ざんや盗難を防止することができる。
(5)他の実施の形態
上述の実施の形態においては、セカンダリボリュームSVOLの記憶領域の一部又は全部を関連付けて動的な保存記憶領域を論理ボリュームから供給されるプールボリュームを形成する形成部として、ストレージ装置4のディスクアダプタ11及び複数のハードディスクドライブ50としたが、外部に設けられたストレージ装置のディスクアダプタ及びハードディスクドライブであってもよい。
プライマリボリュームPVOLに対応する差分データP1〜PnをプールボリュームPLに保存する第1保存部として、ストレージ装置4内のディスクアダプタ11及び複数のハードディスクドライブ50としたが、外部に設けられたストレージ装置のディスクアダプタ及びハードディスクドライブであってもよい。
プライマリボリュームPVOL内の更新されないデータを擬似差分データPS1〜PSnとし、この擬似差分データPS1〜PSnをプールボリュームに保存する第2保存部として、ストレージ装置4内のディスクアダプタ11及び複数のハードディスクドライブ50としたが、外部に設けられたストレージ装置のディスクアダプタ及びハードディスクドライブであってもよい。
プライマリボリュームPVOL内の全てのデータをミラーボリュームPMとしてプールボリュームPLに保存する第3保存部として、ストレージ装置4内のディスクアダプタ11及び複数のハードディスクドライブ50としたが、外部に設けられたストレージ装置のディスクアダプタ及びハードディスクドライブであってもよい。
プールボリュームPLに差分データP1〜Pnの書き込む順序を管理する管理部として、ディスクアダプタ11のメモリ111内に設けたが、管理部を個別のハードウェア構成としても良い。
本発明は、1又は複数のストレージ装置を有する記憶システムや、その他の形態の記憶システムに広く適用することができる。
第1の実施の形態における記憶システムの全体構成を示すブロック図である。 第1の実施の形態におけるチャネルアダプタを示すブロック図である。 第1の実施の形態における記憶システムの論理構成を示す概念図である。 第1の実施の形態におけるディスクアダプタを示すブロック図である。 第1の実施の形態における差分ビットマップ及びミラー用差分ビットマップを示す概念図である。 第1の実施の形態におけるプール領域管理テーブルを示す概念図である。 第1の実施の形態における世代管理テーブルを示す概念図である。 第1の実施の形態におけるプールボリューム内のバックアップデータを示す概念図である。 第1の実施の形態におけるプールボリューム内の差分データを示す概念図である。 第1の実施の形態におけるプールボリューム内の擬似差分データを示す説明図である。 第1の実施の形態における記憶システムの動作説明図である。 第1の実施の形態における記憶システムの動作説明図である。 第1の実施の形態におけるI/Oループバック処理部の動作説明図である。 第1の実施の形態におけるホスト装置からのI/Oと擬似I/Oとを判別するフローチャートである。 第1の実施の形態における擬似I/Oを発生するフローチャートである。 第1の実施の形態における記憶システムのバックアップ処理を示す説明図である。 第1の実施の形態における記憶システムのバックアップ処理を説明するための各種テーブルを示す概念図である。 第1の実施の形態における記憶システムのリストア処理を示す説明図である。 第1の実施の形態における記憶システムのリストア処理を説明するための各種テーブルを示す概念図である。 第1の実施の形態における記憶システムのリストア処理を示すプールボリューム内の概念図である。 第2の実施の形態における記憶システムの全体構成を示すブロック図である。 第2の実施の形態における記憶システムのバックアップ処理を示す説明図である。 第3の実施の形態における記憶システムの全体構成を示すブロック図である。 第3の実施の形態における記憶システムのバックアップ処理を示す説明図である。 第4の実施の形態における記憶システムのバックアップ処理を示す説明図である。 第4の実施の形態における記憶システムのバックアップ処理を説明するための各種テーブルを示す概念図である。
符号の説明
1……記憶システム、2……ホスト装置、4……ストレージ装置、5……ディスクドライブ部、7……チャネルアダプタ、11……ディスクアダプタ、PVOL……プライマリボリューム、SVOL……セカンダリボリューム、PL……プールボリューム。

Claims (10)

  1. 1又は複数の物理記憶領域上に形成される論理ボリュームをマッピングした仮想ボリュームであるプライマリボリュームにホスト装置からのデータを書き込み、当該プライマリボリューム及び当該プライマリボリュームとペア設定された仮想ボリュームであるセカンダリボリュームにおいて多重化する記憶システムにおいて、
    前記セカンダリボリュームの記憶領域の一部又は全部を関連付けて動的な保存記憶領域を前記論理ボリュームから供給されるプールボリュームを形成する形成部と、
    前記プライマリボリューム内の任意のアドレスに対する前記ホスト装置からデータの書き込み指示により前記プライマリボリュームに当該データを保存して前記プライマリボリュームを更新するために、前記プライマリボリュームに対応する差分データをバックアップデータとして前記プールボリュームに保存する第1保存部と、
    所定のタイミングでプライマリボリュームに対するスナップショットを取得するために前記ホスト装置からのスナップショット指示に基づいて前記プライマリボリューム内の更新されないデータを差分データ又は差分データ群として前記プールボリュームに保存する第2保存部と
    を備えることを特徴とする記憶システム。
  2. 前記ホスト装置からのデータの書き込み指示に擬似する擬似的な書き込み指示を発生させる発生部を備え、
    前記第2保存部は、
    前記発生部で発生させた前記擬似的な書き込み指示に基づいて前記プライマリボリューム内の更新されないデータを読み出してプールボリュームに保存する
    ことを特徴とする請求項1記載の記憶システム。
  3. 前記発生部は、前記プライマリボリュームの任意のアドレスと、ホスト装置から与えられるデータに擬似する擬似的なデータとから構成される
    ことを特徴とする請求項1記載の記憶システム。
  4. 前記第1保存部及び前記第2保存部により保存される前記プールボリュームに前記差分データの書き込む順序を管理する管理部を備える
    ことを特徴とする請求項1記載の記憶システム。
  5. 前記ホスト装置からのスナップショット指示に基づいて、前記プライマリボリューム内の全てのデータをミラーボリュームとして読み出し前記プールボリュームに保存する第3保存部を備える
    ことを特徴とする請求項1記載の記憶システム。
  6. 1又は複数の物理記憶領域上に形成される論理ボリュームをマッピングした仮想ボリュームであるプライマリボリュームにホスト装置からのデータを書き込み、当該プライマリボリューム及び当該プライマリボリュームとペア設定された仮想ボリュームであるセカンダリボリュームにおいて多重化する記憶システムのデータ管理方法において、
    前記セカンダリボリュームの記憶領域の一部又は全部を関連付けて動的な保存記憶領域を前記論理ボリュームから供給されるプールボリュームを形成する形成ステップと、
    前記プライマリボリューム内の任意のアドレスに対して前記ホスト装置からデータの書き込み指示により前記プライマリボリュームに当該データを保存して前記プライマリボリュームを更新するために、前記プライマリボリュームに対応する差分データをバックアップデータとして前記プールボリュームに保存する第1保存ステップと、
    所定のタイミングでプライマリボリュームに対するスナップショットを取得するために前記ホスト装置からのスナップショット指示に基づいて前記プライマリボリューム内の更新されないデータを差分データ又は差分データ群として前記プールボリュームに保存する第2保存ステップと
    を備えることを特徴とするデータ管理方法。
  7. 前記ホスト装置からデータの書き込み指示に擬似する擬似的な書き込み指示を発生させる発生ステップを備え、
    前記第2保存ステップは、
    前記発生ステップで発生させた前記擬似的な書き込み指示に基づいて前記プライマリボリューム内の更新されないデータを読み出してプールボリュームに保存する
    ことを特徴とする請求項6記載のデータ管理方法。
  8. 前記発生ステップは、
    前記プライマリボリュームの任意のアドレスと、ホスト装置から与えられるデータに擬似する擬似的なデータとから構成される
    ことを特徴とする請求項6記載のデータ管理方法。
  9. 前記第1保存ステップ及び前記第2保存ステップにより保存される前記プールボリュームに前記差分データの書き込む順序を管理する管理ステップを備える
    ことを特徴とする請求項6記載のデータ管理方法。
  10. 前記ホスト装置からのスナップショット指示に基づいて、前記プライマリボリューム内の全てのデータをミラーボリュームとして読み出し前記プールボリュームに保存する第3保存ステップをさらに備える
    ことを特徴とする請求項6記載のデータ管理方法。
JP2006324147A 2006-11-30 2006-11-30 記憶システム及びデータ管理方法 Expired - Fee Related JP5031341B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006324147A JP5031341B2 (ja) 2006-11-30 2006-11-30 記憶システム及びデータ管理方法
US11/701,408 US7725651B2 (en) 2006-11-30 2007-02-02 Storage system and data management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006324147A JP5031341B2 (ja) 2006-11-30 2006-11-30 記憶システム及びデータ管理方法

Publications (2)

Publication Number Publication Date
JP2008140002A true JP2008140002A (ja) 2008-06-19
JP5031341B2 JP5031341B2 (ja) 2012-09-19

Family

ID=39477213

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006324147A Expired - Fee Related JP5031341B2 (ja) 2006-11-30 2006-11-30 記憶システム及びデータ管理方法

Country Status (2)

Country Link
US (1) US7725651B2 (ja)
JP (1) JP5031341B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010123066A (ja) * 2008-11-21 2010-06-03 Hitachi Ltd オンラインボリュームと性能/障害独立かつ容量効率の高いスナップショットを実現するストレージシステム及び方法
JP2012519318A (ja) * 2009-05-25 2012-08-23 株式会社日立製作所 計算機システムとそのデータ制御方法
JP2020123219A (ja) * 2019-01-31 2020-08-13 富士通株式会社 ストレージ制御装置、ストレージシステムおよびバックアップ制御プログラム

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4990066B2 (ja) * 2007-08-21 2012-08-01 株式会社日立製作所 論理ボリュームのペアを利用したデータ保存の方式を変更する機能を備えたストレージシステム
US9507784B2 (en) * 2007-12-21 2016-11-29 Netapp, Inc. Selective extraction of information from a mirrored image file
US8126847B1 (en) 2008-04-30 2012-02-28 Network Appliance, Inc. Single file restore from image backup by using an independent block list for each file
US8190836B1 (en) * 2008-04-30 2012-05-29 Network Appliance, Inc. Saving multiple snapshots without duplicating common blocks to protect the entire contents of a volume
US8200638B1 (en) 2008-04-30 2012-06-12 Netapp, Inc. Individual file restore from block-level incremental backups by using client-server backup protocol
JP2010079588A (ja) * 2008-09-26 2010-04-08 Hitachi Ltd 仮想ボリュームを有する記憶制御装置
US20100268689A1 (en) * 2009-04-15 2010-10-21 Gates Matthew S Providing information relating to usage of a simulated snapshot
WO2010138628A1 (en) 2009-05-28 2010-12-02 Marvell World Trade Ltd. Metadata management for virtual volumes
US8504529B1 (en) 2009-06-19 2013-08-06 Netapp, Inc. System and method for restoring data to a storage device based on a backup image
US8639876B2 (en) * 2010-01-27 2014-01-28 International Business Machines Corporation Extent allocation in thinly provisioned storage environment
US8793290B1 (en) * 2010-02-24 2014-07-29 Toshiba Corporation Metadata management for pools of storage disks
JP2012018481A (ja) * 2010-07-06 2012-01-26 Fujitsu Ltd ディスクアレイ装置およびディスクアレイ制御方法
US8392653B2 (en) 2010-08-18 2013-03-05 International Business Machines Corporation Methods and systems for releasing and re-allocating storage segments in a storage volume
US8380961B2 (en) 2010-08-18 2013-02-19 International Business Machines Corporation Methods and systems for formatting storage volumes
US8745003B1 (en) * 2011-05-13 2014-06-03 Emc Corporation Synchronization of storage using comparisons of fingerprints of blocks
US8799578B2 (en) 2011-05-23 2014-08-05 International Business Machines Corporation Managing unmodified tracks maintained in both a first cache and a second cache
US8806122B2 (en) 2011-05-23 2014-08-12 International Business Machines Corporation Caching data in a storage system having multiple caches including non-volatile storage cache in a sequential access storage device
US8996789B2 (en) 2011-05-23 2015-03-31 International Business Machines Corporation Handling high priority requests in a sequential access storage device having a non-volatile storage cache
US8793436B2 (en) 2011-05-23 2014-07-29 International Business Machines Corporation Cache management of tracks in a first cache and a second cache for a storage
US8788742B2 (en) 2011-05-23 2014-07-22 International Business Machines Corporation Using an attribute of a write request to determine where to cache data in a storage system having multiple caches including non-volatile storage cache in a sequential access storage device
US8432632B2 (en) 2011-05-23 2013-04-30 International Business Machines Corporation Magnetic disk drive using a non-volatile storage device as cache for modified tracks
US8825944B2 (en) 2011-05-23 2014-09-02 International Business Machines Corporation Populating strides of tracks to demote from a first cache to a second cache
US8825952B2 (en) 2011-05-23 2014-09-02 International Business Machines Corporation Handling high priority requests in a sequential access storage device having a non-volatile storage cache
US9497559B2 (en) * 2011-07-22 2016-11-15 Fairchild Semiconductor Corporation MIC/GND detection and automatic switch
US8825953B2 (en) 2012-01-17 2014-09-02 International Business Machines Corporation Demoting tracks from a first cache to a second cache by using a stride number ordering of strides in the second cache to consolidate strides in the second cache
US8966178B2 (en) 2012-01-17 2015-02-24 International Business Machines Corporation Populating a first stride of tracks from a first cache to write to a second stride in a second cache
US9021201B2 (en) 2012-01-17 2015-04-28 International Business Machines Corporation Demoting partial tracks from a first cache to a second cache
US8825957B2 (en) 2012-01-17 2014-09-02 International Business Machines Corporation Demoting tracks from a first cache to a second cache by using an occupancy of valid tracks in strides in the second cache to consolidate strides in the second cache
CN109408416B (zh) * 2018-09-20 2021-01-26 新华三技术有限公司 一种地址映射表项页管理方法及装置
US11100132B2 (en) * 2018-10-11 2021-08-24 International Business Machines Corporation Intelligent space release in asynchronous mirror journal volumes
US11176017B2 (en) * 2018-12-19 2021-11-16 International Business Machines Corporation Measurement of simulated mirroring in a data storage system
US11372726B2 (en) * 2020-02-05 2022-06-28 EMC IP Holding Company LLC Method and system for adaptive incrementally updated backups with dynamic data file detection
US11947827B2 (en) * 2020-05-15 2024-04-02 Vmware, Inc. Synchronizing a stale component of a distributed object using a delta component during maintenance
US11940950B2 (en) * 2021-10-22 2024-03-26 EMC IP Holding Company, LLC System and method for reducing CPU load and latency for scheduled snapshots using pre-allocated extents

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0784728A (ja) * 1993-09-20 1995-03-31 Fujitsu Ltd データ処理システムのバックアップ制御装置及び方法
JP2006065622A (ja) * 2004-08-27 2006-03-09 Hitachi Ltd スナップショットの作成方法及びプログラム並びにストレージシステム
JP2006107162A (ja) * 2004-10-06 2006-04-20 Hitachi Ltd ストレージシステム
JP2006127028A (ja) * 2004-10-27 2006-05-18 Hitachi Ltd 記憶システム及び記憶制御装置
JP2006235737A (ja) * 2005-02-22 2006-09-07 Hitachi Ltd ストレージサブシステム及びストレージシステム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5263154A (en) * 1992-04-20 1993-11-16 International Business Machines Corporation Method and system for incremental time zero backup copying of data
JP3856855B2 (ja) * 1995-10-06 2006-12-13 三菱電機株式会社 差分バックアップ方式
US6385706B1 (en) * 1998-12-31 2002-05-07 Emx Corporation Apparatus and methods for copying a logical object to a primary storage device using a map of storage locations
US6397308B1 (en) * 1998-12-31 2002-05-28 Emc Corporation Apparatus and method for differential backup and restoration of data in a computer storage system
US6434683B1 (en) * 2000-11-07 2002-08-13 Storage Technology Corporation Method and system for transferring delta difference data to a storage device
AU2003294533A1 (en) * 2002-12-19 2004-07-14 Universite Laval Molecular methods and compositions for detecting and quantifying respiratory viruses
JP4385215B2 (ja) * 2003-10-21 2009-12-16 日本電気株式会社 スナップショットシミュレーション機能を有するディスクアレイ装置
US20050289505A1 (en) * 2004-06-25 2005-12-29 Williams Stanley N Method and system for improving performance and scalability of applications that utilize a flow-based-programming methodology

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0784728A (ja) * 1993-09-20 1995-03-31 Fujitsu Ltd データ処理システムのバックアップ制御装置及び方法
JP2006065622A (ja) * 2004-08-27 2006-03-09 Hitachi Ltd スナップショットの作成方法及びプログラム並びにストレージシステム
JP2006107162A (ja) * 2004-10-06 2006-04-20 Hitachi Ltd ストレージシステム
JP2006127028A (ja) * 2004-10-27 2006-05-18 Hitachi Ltd 記憶システム及び記憶制御装置
JP2006235737A (ja) * 2005-02-22 2006-09-07 Hitachi Ltd ストレージサブシステム及びストレージシステム

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010123066A (ja) * 2008-11-21 2010-06-03 Hitachi Ltd オンラインボリュームと性能/障害独立かつ容量効率の高いスナップショットを実現するストレージシステム及び方法
US8316203B2 (en) 2008-11-21 2012-11-20 Hitachi, Ltd. Storage system and method implementing online volume and snapshot with performance/failure independence and high capacity efficiency
US8725981B2 (en) 2008-11-21 2014-05-13 Hitachi, Ltd Storage system and method implementing online volume and snapshot with performance/failure independence and high capacity efficiency
JP2012519318A (ja) * 2009-05-25 2012-08-23 株式会社日立製作所 計算機システムとそのデータ制御方法
US9075534B2 (en) 2009-05-25 2015-07-07 Hitachi, Ltd. Computer system and its data control method
JP2020123219A (ja) * 2019-01-31 2020-08-13 富士通株式会社 ストレージ制御装置、ストレージシステムおよびバックアップ制御プログラム
JP7225852B2 (ja) 2019-01-31 2023-02-21 富士通株式会社 ストレージ制御装置、ストレージシステムおよびバックアップ制御プログラム

Also Published As

Publication number Publication date
JP5031341B2 (ja) 2012-09-19
US7725651B2 (en) 2010-05-25
US20080133828A1 (en) 2008-06-05

Similar Documents

Publication Publication Date Title
JP5031341B2 (ja) 記憶システム及びデータ管理方法
JP4800031B2 (ja) ストレージシステム及びスナップショット管理方法
US7904684B2 (en) System and article of manufacture for consistent copying of storage volumes
US7987158B2 (en) Method, system and article of manufacture for metadata replication and restoration
US7127557B2 (en) RAID apparatus and logical device expansion method thereof
TWI514249B (zh) 遠端非同步資料卷複製的方法及執行該方法的儲存系統
JP3316500B2 (ja) 移動されたデータの完全性を維持しながらraidセットにおけるドライブ数の拡張
US8209507B2 (en) Storage device and information management system
US7308545B1 (en) Method and system of providing replication
JP4942371B2 (ja) 記憶システム及びデータ管理方法
US20020194529A1 (en) Resynchronization of mirrored storage devices
JP7004714B2 (ja) 整合したポイントインタイム・スナップ・コピーの非同期のローカル生成およびリモート生成のためのコンピュータ・プログラム、システム、および方法
JP2005250676A (ja) ストレージシステム及びストレージシステムの制御方法
JPH08305500A (ja) 記憶制御装置、それを含むデータ記憶システムおよび二重ペア抑止方法
JP2005284609A (ja) バックアップ方法、ストレージシステム及びそのプログラム
JP2007199920A (ja) ストレージ装置及びその制御方法
JP2007220103A (ja) 結合セッション環境におけるセッションのクラスタのためのセッション情報の統合方法、システム、およびプログラム
US7360044B2 (en) Storage system with primary mirror shadow
JP2014038551A (ja) データ記憶装置、データ記憶装置の制御方法、及びデータ記憶装置の制御プログラム
JP2002278706A (ja) ディスクアレイ装置
JP4072963B2 (ja) ストレージ・ボリュームの整合したコピーのための方法、システム、および製品
US20160357479A1 (en) Storage control apparatus
US11468091B2 (en) Maintaining consistency of asynchronous replication
JP2007272317A (ja) 複製ボリューム作成装置、複製ボリューム作成方法、複製ボリューム作成プログラム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090220

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090626

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110810

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110816

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111017

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: 20120529

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120627

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150706

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees