JP4583150B2 - ストレージシステム、及びストレージシステムにおけるスナップショットデータ作成方法 - Google Patents

ストレージシステム、及びストレージシステムにおけるスナップショットデータ作成方法 Download PDF

Info

Publication number
JP4583150B2
JP4583150B2 JP2004353153A JP2004353153A JP4583150B2 JP 4583150 B2 JP4583150 B2 JP 4583150B2 JP 2004353153 A JP2004353153 A JP 2004353153A JP 2004353153 A JP2004353153 A JP 2004353153A JP 4583150 B2 JP4583150 B2 JP 4583150B2
Authority
JP
Japan
Prior art keywords
data
storage device
snapshot
logical
update
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.)
Expired - Fee Related
Application number
JP2004353153A
Other languages
English (en)
Other versions
JP2006163729A (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.)
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 JP2004353153A priority Critical patent/JP4583150B2/ja
Priority to US11/043,717 priority patent/US7536592B2/en
Priority to EP05255992A priority patent/EP1667023B1/en
Priority to DE602005000926T priority patent/DE602005000926T2/de
Publication of JP2006163729A publication Critical patent/JP2006163729A/ja
Priority to US12/431,924 priority patent/US8095822B2/en
Application granted granted Critical
Publication of JP4583150B2 publication Critical patent/JP4583150B2/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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • 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/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery

Description

本発明は、上位装置との間でデータの授受を行うストレージシステム、及びストレージシステムにおけるスナップショットデータ作成方法に関する。
従来、ストレージシステムを備える情報処理システムにおいて、スナップショットデータ管理に関するホスト装置の負荷を低減し、ストレージシステムの高速化を図ることを目的とした提案が行われている。この提案では、ホスト装置が、スナップショットデータの作成を所望する場合には、スナップショットデータ作成要求を示す指示をストレージシステムに対して送信し、ストレージシステムの制御部(ディスク制御装置)が、ストレージシステムのディスク駆動装置におけるユーザデータ領域からユーザデータを読み出し、読み出したユーザデータをディスク駆動装置におけるスナップショットデータ領域に格納することにより、スナップショットデータを作成する。これにより、スナップショットデータ作成の負荷を、ホスト装置とストレージシステムとで分散する。また、スナップショットデータ作成のために、ホスト装置とストレージシステムとの間でやり取りするデータ量を少なくすることができる(例えば特許文献1参照)。
特開2004-118413号公報
ところで、スナップショトデータの作成方法には、物理スナップショット(所謂シャドウイメージ)と称する方式と、論理スナップショット(所謂クイックシャドウ)と称する方式とが知られている。論理スナップショット方式では、上記ディスク駆動装置内において、正(論理)ボリュームに格納されているオリジナルデータの、更新前のデータを退避しておくためのデータ空間であるプール領域が、設定される。そして、正(論理)ボリュームのバックアップを開始した時点から、新たなデータの書込み等による正(論理)ボリュームのデータ更新が行われる記憶領域のみについて、データ更新前のオリジナルデータが、上記プール領域に格納される。この状態において、ホスト装置からスナップショットデータの読出し要求があると、ディスク制御装置が上記プール領域に格納されているデータと、上記正(論理)ボリューム中の更新されていないオリジナルデータとを合成することによって、上記バックアップ開始時点でのデータを作成し、ホスト装置へ転送する。
上述した論理スナップショット方式では、正(論理)ボリュームに格納されているオリジナルデータのうちの、データ更新される前のオリジナルデータのみをプール領域に格納するので、データ更新量が少なければ、プール領域の使用量も少なくて済むという利点がある。しかし、データ更新量が多い場合には、それに応じてプール領域の使用量も多くならざるを得ず、特に、複数組の正(論理)ボリュームと副(論理)ボリュームとのペアを形成して、それらのスナップショットデータを作成する場合など、今後プール領域がどの程度使用されるのか予測が困難である。そして、場合によっては、プール領域が正(論理)ボリュームからの退避データによって満杯となり、そのためスナップショットデータの作成処理が異常終了することがあるという問題があった。
従って本発明の目的は、ストレージシステムにおいて、スナップショットデータの作成時に、更新前データを退避させるためのデータ空間が、正(論理)ボリュームからの退避データによって満杯となってスナップショットデータの作成処理が異常終了することがないようにすることにある。
本発明の第1の観点に従うストレージシステムは、更新された後のデータを、正記憶デバイス、及び副記憶デバイスの双方に書込む物理スナップショット実行部と、入力されたデータを正記憶デバイスに書込み、そのデータと更新前のデータとの差分データを副記憶デバイスに書込む論理スナップショット実行部と、上位装置からスナップショットデータの作成要求があった場合に、その作成要求に係わる正記憶デバイス中に更新すべきデータが存在するかどうか検索する更新データ検索部と、上記更新データ検索部が、上記正記憶デバイス中に更新データの存在を検索した場合に、上記正記憶デバイスにおけるデータの更新量が、所定値よりも多いかどうか判別するデータ更新量判別部と、上記データ更新量判別部が、上記データの更新量が所定値よりも多いと判別した場合には、上記物理スナップショット実行部を、所定値よりも少ないと判別した場合、又は上記記憶デバイス中に更新データが存在しなかった場合には、上記論理スナップショット実行部を、夫々選択的に駆動するスナップショット実行部選択部と、を備える。
本発明の第1の観点に係る好適な実施形態では、上記所定値が、予め設定された、データ更新量に係わるしきい値であり、そのしきい値がデフォルトの値である。
上記とは別の実施形態では、上記所定値が、予め設定された、データ更新量に係わるしきい値であり、そのしきい値がユーザによって設定、変更が自在である。
また、上記とは別の実施形態では、上記スナップショット実行部選択部が、上記物理スナップショット実行部、又は上記論理スナップショット実行部を駆動するに先立ち、個々の記憶デバイスに対応して設定されている、データの更新に係わる情報のうちの、上記スナップショットデータの作成要求に係わる記憶デバイスの上記データの更新に係わる情報を初期化する。
また、上記とは別の実施形態では、上記物理スナップショット実行部、又は上記論理スナップショット実行部によって作成されたスナップショットデータの削除が、上記スナップショットデータの作成要求に係わる記憶デバイスの上記データの更新に係わる情報を初期化する処理を少なくとも含む。
更に、上記とは別の実施形態では、上記上位装置からのデータ書込み命令に基づく上記記憶デバイスに対するデータの書込み処理が、その記憶デバイスに対応する、データの更新に係わる情報中に、データが更新された旨を示す処理を施すことによって行われる。
本発明の第2の観点に従うストレージシステムは、更新された後のデータを、正記憶デバイス、及び副記憶デバイスの双方に書込む物理スナップショット実行部と、入力されたデータを正記憶デバイスに書込み、そのデータと更新前のデータとの差分データを副記憶デバイスに書込む論理スナップショット実行部と、上位装置からスナップショットデータの作成要求があった場合に、その作成要求に係わる正記憶デバイスの中に更新すべきデータが存在するかどうか検索する更新データ検索部と、上記更新データ検索部が、上記正記憶デバイス中に更新データの存在を検索し、且つ、上記上位装置から上記正記憶デバイスと上記副記憶デバイスとに同時にアクセスした場合に、上記正記憶デバイスへのアクセスと上記副記憶デバイスへのアクセスとの競合度合が高いかどうか判別するアクセス競合度合判別部と、上記アクセス競合度合判別部が、上記アクセスの競合度合が高いと判別した場合には、上記物理スナップショット実行部を、上記アクセスの競合度合が高くないと判別した場合には、上記論理スナップショット実行部を、夫々選択的に駆動するスナップショット実行部選択部と、を備える。
本発明の第2の観点に係る好適な実施形態では、上記アクセス競合度合判別部が、上記スナップショットデータの作成要求に係わる正記憶デバイスの利用度合をチェックすることによって、上記アクセスの競合度合の高/低を判別する。
本発明の第3の観点に従うストレージシステムは、更新された後のデータを、正記憶デバイス、及び副記憶デバイスの双方に書込む物理スナップショット実行部と、入力されたデータを正記憶デバイスに書込み、そのデータと更新前のデータとの差分データを副記憶デバイスに書込む論理スナップショット実行部と、上位装置からスナップショットデータの作成要求があった場合に、その作成要求に係わる正記憶デバイスの中に更新すべきデータが存在するかどうか検索する更新データ検索部と、上記更新データ検索部が、上記正記憶デバイス中に更新データの存在を検索した場合に、上記正記憶デバイスにおける障害の発生度合が高いかどうか判別する障害発生度合判別部と、上記障害発生度合判別部が、上記正記憶デバイスにおける障害の発生度合が高いと判別した場合には、上記物理スナップショット実行部を、上記障害の発生度合が高くないと判別した場合には、上記論理スナップショット実行部を、夫々選択的に駆動するスナップショット実行部選択部と、を備える。
本発明の第3の観点に係る好適な実施形態では、上記障害発生度合判別部による障害の発生度合の高/低が、上記正記憶デバイスを構成するHDDの障害発生率をチェックすることによって行われる。
上記とは別の実施形態では、上記HDDの障害発生率が、上記スナップショットデータの作成要求に係わる正記憶デバイスに割当てられたデータを実際に保持する1個、又は複数個のHDDにおける負荷の大きさに応じて求められる。
また、上記とは別の実施形態では、上記スナップショット実行部選択部が、上記1個、又は複数個のHDDにおける負荷の大きさが、所定のしきい値より大きければ上記物理スナップショット実行部を、その所定のしきい値より小さければ上記論理スナップショット実行部を、夫々駆動する。
更に、上記とは別の実施形態では、上記1個、又は複数個のHDDにおける負荷の大きさが、スナップショットデータ作成中のIOPSである、正記憶ボリュームのIOPSの履歴と、スナップショットデータ作成中のIOPSである、副記憶ボリュームのIOPSの履歴とを合成することによって求められる。
本発明の第4の観点に従うストレージシステムは、更新された後のデータを、正記憶デバイス、及び副記憶デバイスの双方に書込む物理スナップショット実行部と、入力されたデータを正記憶デバイスに書込み、そのデータと更新前のデータとの差分データを副記憶デバイスに書込む論理スナップショット実行部と、上位装置からスナップショットデータの作成要求があった場合に、その作成要求に係わる正記憶デバイスに格納されているデータを退避するために設けられるデータ記憶領域の空き領域を監視する空き領域監視部と、上記空き領域監視部が、上記データ記憶領域における空き領域が少ないと判別した場合には、上記物理スナップショット実行部を、上記空き領域が少なくないと判別した場合には、上記論理スナップショット実行部を、夫々選択的に駆動するスナップショット実行部選択部と、を備える。
本発明の第4の観点に係る好適な実施形態では、上記空き領域監視部によるデータ記憶領域の空き領域の監視、上記スナップショット実行選択部による上記物理/論理スナップショット実行部の駆動の選択、及び論理スナップショット実行部により作成されたスナップショットデータに対応するオリジナルデータが格納されている正記憶デバイスの信頼性のチェックが、所定の時間間隔で周期的に行われる。
本発明の第5の観点に従うストレージシステムにおけるスナップショットデータ作成方法は、更新された後のデータを、正記憶デバイス、及び副記憶デバイスの双方に書込む物理スナップショットを実行する第1のステップと、入力されたデータを正記憶デバイスに書込み、そのデータと更新前のデータとの差分データを副記憶デバイスに書込む論理スナップショットを実行する第2のステップと、上位装置からスナップショットデータの作成要求があった場合に、その作成要求に係わる正記憶デバイス中に更新すべきデータが存在するかどうか検索する第3のステップと、上記第3のステップにおいて、上記正記憶デバイス中に更新データの存在が検索された場合に、上記正記憶デバイスにおけるデータの更新量が、所定値よりも多いかどうか判別する第4のステップと、上記第4のステップにおいて、上記データの更新量が所定値よりも多いと判別された場合には、上記物理スナップショットの実行を、所定値よりも少ないと判別された場合、又は上記記憶デバイス中に更新データが存在しなかった場合には、上記論理スナップショットの実行を、夫々選択する第5のステップと、を備える。
本発明によれば、ストレージシステムにおいて、スナップショットデータの作成時に、更新前データを退避させるためのデータ空間が、正(論理)ボリュームからの退避データによって満杯となってスナップショットデータの作成処理が異常終了することがないようにすることができる。
本発明においては、後述するように、正(論理)ボリュームに格納されているオリジナルデータのスナップショットデータを作成するに際して、物理スナップショット方式(便宜上、シャドウイメージという。以下同じ)、又は論理スナップショット方式(便宜上、クイックシャドウという。以下同じ)の何れか一方が採用される。シャドウイメージでは、HDD等のデータ記憶装置、即ち、物理ボリューム(PDEV)のデータ格納領域が、正(論理)ボリューム、及び副(論理)ボリュームに夫々固定的に割当てられており、正(論理)ボリュームと副(論理)ボリュームとは同一容量に設定する必要がある。そのため、例えば、正(論理)ボリュームの容量が10GBに設定されている場合には、副(論理)ボリュームの容量についても、10GBに設定する必要があるので、正、副合わせて20GB分の物理ボリューム(PDEV)のデータ格納領域を必要とすることになる。
一方、クイックシャドウでも、物理ボリューム(PDEV)のデータ格納領域が、正、副の(論理)ボリュームに割当てられるが、上記データ格納領域が固定的に割当てられるのは、正(論理)ボリュームに対してだけである。そして、正(論理)ボリューム、又は副(論理)ボリュームに対して、サーバ側から更新用のデータが送信されると、上記物理ボリューム(PDEV)のデータ格納領域中から該データの更新に必要な容量分のデータ格納領域を副(論理)ボリュームに割当て、該割当てたデータ格納領域に、更新前のデータを格納する。従って、正(論理)ボリュームの容量が10GBに設定されていても、更新されるデータ量が1GBであれば、正(論理)ボリューム、及び副(論理)ボリュームとして割当てられる物理ボリューム(PDEV)のデータ格納領域は、11GBで済むことになる。
また、シャドウイメージでは、正(論理)ボリュームと副(論理)ボリュームとのペアを作成する場合には、正(論理)ボリュームに格納されている全てのデータを副(論理)ボリュームにコピーし、再同期するときには、差分データのコピーを行う。これにより、結果的に必要としないデータのコピーが発生することになる。これに対して、クイックシャドウでは、更新前のデータを残すのに必要な最小限のコピーしか実施しない。
以上説明した内容を纏めると、クイックシャドウはシャドウイメージと比較して、以下のような利点を有する。
(1)サブシステム(ストレージシステム)を構築するに際して、HDDなどの物理ボリューム(PDEV)の記憶領域を、データ格納領域として使用する容量を削減することができる。
(2)コピーするデータ量が少ないので、制御プロセッサやHDDなどの物理ボリューム(PDEV)やデータ転送回路等の負荷を軽減することができる。
以下、本発明の実施の形態を、図面により詳細に説明する。
図1は、本発明の第1の実施形態に係るストレージシステムを備える情報処理システムの全体構成を示すブロック図である。
図1において、ホスト装置、即ち、サーバ1、3は、CPUやメモリ等の情報処理資源を備えるコンピュータ装置である。サーバ1、3は、例えばキーボードスイッチや、ポインティングデバイスや、マイクロフォン等の情報入力手段(図示しない)と、例えばモニタディスプレイやスピーカ等の情報出力手段(図示しない)とを有する。また、サーバ1、3は、例えばストレージシステム5が提供する記憶領域を使用するデータベースソフトウェア等のアプリケーション・プログラム(図示しない)と、通信ネットワーク7、9を通じてストレージシステム5にアクセスするためのアダプタ(図示しない)とを有する。
サーバ1とストレージシステム5との間を接続するための通信ネットワーク7、及びサーバ3とストレージシステム5との間を接続するための通信ネットワーク9としては、例えばLAN(Local Area Network)、SAN(Storage Area Network)、インターネット、専用回線、公衆回線等を場合に応じて適宜使い分けることができる。ここで、LANを通じたデータ通信は、例えばTCP/IP(Transmission Control Protocol/Internet Protocol)プロトコルに従って行われる。サーバ1、3がLANを通じてストレージシステム5に接続される場合、サ―バ1、3は、ファイル名を指定してファイル単位でのデータ入出力を要求する。これに対し、サーバ1、3がSANを通じてストレージシステム5等に接続される場合、サーバ1、3は、ファイバチャネルプロトコルに従って、複数のディスク記憶装置(ディスクドライブ)により提供される記憶領域のデータ管理単位であるブロックを単位としてデータ入出力を要求する。通信ネットワーク7、9がLANである場合、上記アダプタ(図示しない)は、例えばLAN対応のネットワークカードである。通信ネットワーク7、9がSANの場合には、上記アダプタ(図示しない)は、例えばホストバスアダプタ(HBA)である。
ストレージシステム5は、例えばディスクアレイサブシステムとして構成されるものである。但し、これに限らず、ストレージシステム5を、高機能化されたインテリジェンス型のファイバチャネルスイッチとして構成することも可能である。ストレージシステム5は、コントローラ部(即ち、ディスク制御装置)11と、記憶装置部(即ち、ディスク駆動装置)13とに大別することができる。
ディスク制御装置11は、サーバ1、3に対し、LDEV(以下、「論理ボリューム」と表記する)という仮想的なデータ格納空間を提供するもので、論理ボリュームに格納されるデータは、実質的には1台、又は複数台のHDD(29〜29)に格納される。ディスク制御装置11は、例えば複数のチャネルアダプタ(CHA)15、17(図1では、2個のみ記載)と、複数のディスクアダプタ(DKA)19、21(図1では、2個のみ記載)と、を備える。ディスク制御装置11は、上記各部に加えて、更に、複数枚のキャッシュボード(Cache)(図示しない)上に搭載された共有メモリ(SM)、即ち、制御メモリ23(図1では、1個のみ記載)、及びキャッシュメモリ(CM)25(図1では、1個のみ記載)と、例えばLANを通じて接続されたサービスプロセッサ(SVP)27と、を備える。
各CHA15、17は、通信ネットワーク7、9を通じてサーバ1、3に接続し、サーバ1、3からのコマンドを受領して、該コマンドを実行する。各CHA15、17は、夫々例えばサーバ1、3との間でデータ通信を行うための通信ポート(図示しない)を備える。上記に加えて、各CHA15、17は、夫々CPUやメモリ等を備えたマイクロコンピュータシステムとして構成されており、例えばサーバ1、3から受信した各種コマンドを解釈して実行する。各CHA15、17には、夫々を識別するためのネットワークアドレス(例えば、IPアドレスやWWN(World Wide Name))が割り当てられており、夫々が個別にNAS(Network Attached Storage)として振る舞うことができるようになっている。即ち、図1に示すように、複数のサーバ(1、3)が存在している場合には、各CHA15、17は、各サーバ(1、3)からの要求を夫々個別に受け付けることになる。
各DKA19、21は、例えばRAID(Redundant Arrays of Independent Inexpensive Disks)構成になっている複数個のPDEV(物理ボリューム)、即ち、HDD(Hard Disk Drive)(29〜29)と接続することにより、CM25と各HDD(29〜29)との間のデータの授受を制御する。即ち、各DKA19、21は、上記データの授受を制御するに当たって、各HDD(29〜29)と接続するのに必要な通信ポート(図示しない)を夫々備える。上記に加えて、各DKA19、21は、夫々CPUやメモリ等を備えたマイクロコンピュータシステムとして構成されており、CHA15、17がサーバ1、3から受信したデータを、サーバ1、3からのリクエスト(書き込み命令)に基づいて、所定のHDD(29〜29)の所定のアドレスに書き込む。各DKA19、21は、また、サーバ1、3からのリクエスト(読み出し命令)に基づいて所定のHDD(29〜29)の所定のアドレスからデータを読み出し、該データを、CHA15、17を通じてサーバ1、3へ送信する。
各DKA19、21がHDD(29〜29)との間でデータ入出力を行う場合、各DKA19、21は、論理的なアドレスを物理的なアドレスに変換する。なお、各DKA19、21は、HDD(29〜29)がRAIDに従って管理されている場合には、RAID構成に応じたデータアクセスを行うことになる。
SVP27は、共有バス31を通じてCHA15、17や、DKA19、21に接続することにより、例えばユーザによるHDD(29〜29)、制御メモリ23、及びCM25に格納されている情報の参照や、各種の設定を行うための手段としての機能を備える。SVP27は、夫々管理用のコンソールとして、ストレージシステム5全体の動作を監視・制御するためのコントロールユニット(図示しない)に接続されている。SVP27は、コントロールユニット(図示しない)から伝送されるストレージシステム5内の障害情報を表示部(図示しない)に表示したり、コントロールユニット(図示しない)に対し、HDD(29〜29)の閉塞処理等を指令するようになっている。
CM25は、夫々CHA15、17がサーバ1、3から受信したデータや、各DKA19、21がCHA15、17を通じてサーバ1、3に転送するためHDD(29〜29)から読み出したデータ等を一時的に記憶する。
SM23には、CHA15、17や、DKA19、21が、夫々所定の制御動作を行うのに必要な制御情報等が格納される。また、SM23には、夫々ワーク領域が設定される他、例えばマッピングテーブル等の各種テーブル類も格納される。SM23には、例えば図3に示すような構成のボリューム管理情報が各論理ボリューム別に格納されるのみならず、例えば図4に示すような構成の更新情報も多数格納される。上記に加えて、SM23には、例えば図5に示すような構成の更新情報管理情報や、例えば図6に示すような構成のしきい値管理情報等も格納される。上述したボリューム管理情報、更新情報、更新情報管理情報、及びしきい値管理情報については、後述する。
ディスク駆動装置13は、複数のHDD(29〜29)を備える。HDD(29〜29)としては、例えばハードディスク、フレキシブルディスク、磁気テープ、半導体メモリ、光ディスク等のようなデバイスを用いることができる。
図2は、本発明の第1の実施形態に係る論理ボリュームの構成を示す説明図である。図2に示した論理ボリュームは、実際には、ディスク駆動装置13内において多数設定されているが、図示と説明の都合上、1個のみ記載する。
図2に示すように、論理ボリューム33は、図1で示したディスク制御装置11によって、スロットと称される複数個の領域(35、35、・・・、35)に分割され、各スロット(35〜35)は、ディスク制御装置11によって管理される。
図3は、本発明の第1の実施形態に係るストレージシステム5の制御メモリ23に格納されるボリューム管理情報の一例を示す説明図である。
図3に示すボリューム管理情報は、例えば図2で示した論理ボリューム(33)毎に定義されている情報のことを指している。即ち、上記制御メモリ23中には、図1で示したディスク駆動装置13内において設定されている論理ボリュームの数と同数のボリューム管理情報が存在する。各々のボリューム管理情報には、図3に示すように、対応する論理ボリューム(33)を管理するための情報として、更新情報番号37、スロット数39、及び更新量カウンタ履歴(1)〜(n)41が格納されている。
ここで、更新情報番号とは、図1で示した制御メモリ23中に多数格納されている個々の更新情報を識別するために、個々の更新情報毎に付与される言わば識別番号のようなものである。図3で、更新情報番号37として記録されている『100』とは、図3で示すボリューム管理情報に対応する論理ボリューム(33)中に、全部で100個の更新情報が格納されていることを意味している。
次に、スロット数39として格納されている『10000』とは、図1で示したディスク制御装置11によって設定されている当該論理ボリューム(33)中のスロット数を示す。更に、更新量カウンタ履歴(1)〜(n)41として格納されている『200』、・・・、『200』とは、何れも更新量カウンタによってカウントされた過去の更新量カウント値を示している。
制御メモリ23中の、符号41で示す更新量カウンタ履歴((1)〜(n))の格納領域は、ディスク制御装置11が、通信ネットワーク7(、又は通信ネットワ−ク9)を通じてサーバ1(、又はサーバ3)からのスナップショット作成要求を受信する毎に拡大される。これにより、1世代、又は複数世代毎の情報の更新量が判別可能になっている。なお、上記格納領域41については、ディスク制御装置11が上記スナップショット作成要求を受信する毎に拡大するのではなく、既存の更新量カウンタ履歴((1)〜(n))の何れかをクリアすることによって、新たな更新量カウンタ履歴((1)〜(n))を格納するための領域を確保するようにしてもよい。
図4は、本発明の第1の実施形態に係るストレージシステム5の制御メモリ23に格納される更新情報の一例を示す説明図である。
上述したように、更新情報は、制御メモリ23中に多数格納されているもので、更新情報は、図1で示したディスク駆動装置13内において設定される個々の論理ボリューム単位で設けられるようになっている。即ち、上記制御メモリ23中には、最大で上述した論理ボリュームの数と同数の更新情報が存在し得る。個々の更新情報には、夫々を識別するための更新情報番号(図3、及び図5で示す)が付与されている。各々の更新情報は、図4に示すように、更新領域ビットマップ43と、更新量カウンタ45とから構成される。
更新領域ビットマップ43は、図示のように、複数のビットから構成されており、各々のビットが図2で示した論理ボリューム(33)の各々のスロット(35〜35)に対応している。各々のビットは、該ビットに対応する上記スロット(35〜35)のデータが更新されているかどうかを示す。即ち、該ビットが"0"であれば、対応する上記スロット(35〜35の何れか)のデータが更新されていないことを示し、"1"であれば、対応する上記スロット(35〜35の何れか)のデータが更新されていることを示す。
更新量カウンタ45は、データが更新されたスロット(35〜35)の個数を示し、更新領域ビットマップの"1"の個数、即ち、データが更新されたスロット(35〜35)の個数を保持する。図4では、更新量カウンタ45のカウント値が『200』であるので、データが更新されたスロット(35〜35)の個数が"200"であることを示している。
図5は、本発明の第1の実施形態に係るストレージシステム5の制御メモリ23に格納される更新情報管理情報の一例を示す説明図である。
上記更新情報管理情報は、図4で示した更新情報、即ち、図1で示したストレージシステム5の制御メモリ23中に格納されている多数(ディスク駆動装置13内において設定されている論理ボリューム(33)の数と同数)の更新情報の全部を管理するための情報として定義されている情報である。そのため、更新情報管理情報は、図5に示すように、上記制御メモリ23中に格納されている全部の更新情報の個数に対応する更新情報番号の個数を記録し得る領域(更新情報番号)47と、各更新情報番号に対応する論理ボリューム(33)全部の使用状況を記録し得る領域(使用状況)49とを持つ。
使用状況49において、未使用とは、対応する論理ボリューム(33)中の何れのスロット(35〜35)に格納されているデータも更新されていないことを示し、一方、使用中とは、上記何れかのスロット(35〜35)の1個でも更新されていることを示す。
図5に示した例では、更新情報番号"0"に対応する論理ボリューム(33)においては、何れのスロット(35〜35)のデータも更新されておらず、更新情報番号"1"、及び更新情報番号"2"に対応する論理ボリューム(33)においては、何れかのスロット(35〜35)のデータが更新されていることを示している。
なお、上述した更新情報管理情報は、スナップショット作成時に、オリジナルデータが格納されている正ボリュームとペアになり得るボリュームを検索するに際して使用される。
図6は、本発明の第1の実施形態に係るストレージシステム5の制御メモリ23に格納されるしきい値管理情報の一例を示す説明図である。
上記しきい値管理情報は、正(論理)ボリュームに格納されているオリジナルデータのスナップショットデータを作成するに際して、物理スナップショット方式(即ち、シャドウイメージ)を採用するのか、それとも、論理スナップショット方式(即ち、クイックシャドウ)を採用するのかを判断する基礎となるしきい値を管理するための情報である。即ち、図5で示した更新情報管理情報に基づき、使用状況が『使用中』であると判断された更新情報番号の論理ボリューム(33)において、該論理ボリューム(33)に対応するボリューム管理情報(図3で示した)におけるスロット数、及び該論理ボリューム(33)に対応する更新情報(図4で示した)における更新量カウント値から、データが更新されているスロットの数の、スロット全体に対する割合がしきい値(%)を上廻っているかどうかチェックされる。
このチェックの結果、上廻っていると判断されれば、上記スナップショットデータの作成に際して物理スナップショット方式(シャドウイメージ)が採用される。一方、上記論理ボリューム(33)において、データが更新されているスロットの数の、スロット全体に対する割合がしきい値(%)を下廻っていれば、上記スナップショットデータの作成に際して論理スナップショット方式(クイックシャドウ)が採用される。
図6に示した例では、しきい値が50%に設定されているので、上述した論理ボリューム(33)において、データが更新されているスロットの数の、スロット全体に対する割合がしきい値(%)を上廻っていれば物理スナップショット方式が、下廻っていれば論理スナップショット方式が、夫々採用されることになる。
なお、上述したしきい値は、デフォルトで決定しても良いし、ユーザが図1で示したSVP27のキーボードを操作することによって、ユーザの所望する値に設定(変更)することもできる。
図7は、本発明の第1の実施形態に係るストレージシステムを備える情報処理システムで採用される論理スナップショット方式の仕組みを示す説明図である。
論理スナップショット方式では、更新が行われた後のデータではなく、該更新が行われる前のデータを退避させ、2重化する処理が行われるが、更新が行われていないデータについては、2重化する処理は行わない。
図7において、正ボリューム42は、オリジナルデータを格納する論理ボリュームであり、副ボリューム44は、正ボリューム42に格納されているオリジナルデータのスナップショットデータを格納する論理ボリュームである。また、符号46は、正ボリューム42のデータ、及び副ボリューム44の、未更新部分のデータを保持するHDD群を示し、符号48は、更新された後のデータではなく、該更新が行われる前のデータを保持するHDD群を示す。
図8は、本発明の第1の実施形態に係るストレージシステム5で行われるスナップショットデータ作成処理の手順を示すフローチャートである。
図8において、ディスク制御装置11(のCHA15(又は17))は、通信ネットワーク7(又は9)を通じてサーバ1(又は3)からスナップショットデータの作成要求を受信すると、例えば、スナップショットデータの作成対象である論理ボリューム(33)に係わるボリューム管理情報(図3で示した)等をSM23から参照することによって、該論理ボリューム(33)中に更新情報が存在するかどうかチェックする。ここで、スナップショットデータの作成対象である論理ボリュームとは、オリジナルデータを格納する正(論理)ボリューム、及び該オリジナルデータのスナップショットデータを格納すべき論理ボリューム(副(論理)ボリューム)のことを指す(ステップS51)。
上記チェックの結果、スナップショットデータの作成対象である論理ボリューム(33)中に、更新情報が存在していれば(ステップS51でYES)、図3で示したボリューム管理情報中のスロット数と、図4で示した更新情報中の更新量カウント値とから、該更新量の該スロット数に占める割合(%)が、図6で示したしきい値管理情報中のしきい値(50%)以上かどうかチェックする(ステップS52)。このチェックの結果、該更新量の該スロット数に占める割合が、該しきい値以上であれば(ステップS52でYES)、図4で示した更新情報の初期化、即ち、該更新情報における更新領域ビットマップ43、及び更新量カウンタ45を初期化すると共に(ステップS53)、物理スナップショット制御を開始し(ステップS54)、一連の処理動作を終了する。
一方、上記更新量の上記スロット数に占める割合が、上記しきい値以上でなければ(ステップS52でNO)、ステップS53で行うのと同様に、図4で示した更新情報の初期化を行うと共に(ステップS55)、論理スナップショット制御を開始し(ステップS56)、一連の処理動作を終了する。
更に、スナップショットデータの作成対象である論理ボリューム(33)中に、更新情報が存在していなければ(ステップS51でNO)、図5で示した更新情報管理情報を参照し、該管理情報において『未使用』とされている更新情報(図4で示した)を検索する(ステップS57)。そして、ステップS53や、ステップS55で行うのと同様に、検索した更新情報の初期化を行い(ステップS58)、ステップS56で行うのと同様に、論理スナップショット制御を開始し(ステップS59)、一連の処理動作を終了する。
図9は、本発明の第1の実施形態に係るストレージシステム5で行われるスナップショットデータ削除処理の手順を示すフローチャートである。
図9に示したフローチャートでは、例えば図8で示したスナップショットデータ作成処理の手順を経て作成されたスナップショットデータの削除処理が実行される。即ち、通信ネットワーク7(又は9)を通じてサーバ1(又は3)からスナップショットデータの削除要求が送信されると、ディスク制御装置11(のCHA15(又は17))は、該削除要求を受信する。そして、例えば、スナップショットデータの削除対象である論理ボリューム(33)、つまり、オリジナルデータを格納している正(論理)ボリューム、及び該オリジナルデータのスナップショットデータを格納している論理ボリューム(副(論理)ボリューム)が夫々持っている更新情報の使用状況を、『使用中』から『未使用』に変更する。
換言すれば、図5で示した更新情報管理情報中の、上記削除対象である論理ボリューム(33)に対応する更新情報(既述のように、該更新情報は図5で示した更新情報番号47によって識別可能である)の使用状況が、ディスク制御装置11によって、『使用中』から『未使用』に変更される。これにより、上記削除対象である論理ボリューム(33)が、スナップショットの制御から解放され(ステップS60)、スナップショットデータの削除処理が終了する。
図10は、本発明の第1の実施形態に係るストレージシステム5で行われるWR(Write)コマンド処理の手順を示すフローチャートである。
図10において、通信ネットワーク7(又は9)を通じてサーバ1(又は3)からWRコマンドが送信されると、ディスク制御装置11(のCHA15(又は17))は、該WRコマンドを受信する。そして、例えば図3で示した、各論理ボリューム(33)毎に設定されているボリューム管理情報を検索することにより、WRコマンドの発行対象である論理ボリューム(33)に、更新情報が存在するかどうかチェックする(ステップS61)。
上記チェックの結果、更新情報が存在していれば(ステップS61でYES)、図4で示した更新情報のうちの、該論理ボリューム(33)に対応する更新情報の更新領域ビットマップ43から、上記WRコマンドの対象スロットのビットが"0"かどうかチェックする(ステップS62)。上記チェックの結果、上記WRコマンドの対象スロットのビットが"0"であれば(ステップS62でYES)、上記WRコマンドに係る(書込み用の)データによる上記対象スロットにおけるデータの更新が新規に行われることになる。そのため、上記ビットに"1"を設定すると共に(ステップS63)、図4で示した更新量カウンタ45に+1を加算し(ステップS64)、一連のWRコマンド処理を終了する。
ステップS61で更新情報が存在していない場合(ステップS61でNO)、及びステップS62で上記WRコマンドの対象スロットのビットが"0"でない場合(ステップS62でNO)には、直ちに一連のWRコマンド処理を終了することになる。
以上説明したように、本発明の第1の実施形態によれば、ストレージシステム5において、スナップショットデータの作成時に、正(論理)ボリュームに格納されているオリジナルデータのデータの更新量が少ないと判断した場合には論理スナップショット方式を、上記データの更新量が多いと判断した場合には、物理スナップショット方式を、夫々採用することとしたので、更新前データを退避させるためのデータ空間であるプール領域が、正(論理)ボリュームからの退避データによって満杯となってスナップショットデータの作成処理が異常終了することがないようにすることができる。
ところで、上述した論理スナップショット方式では、既述のように、正(論理)ボリュームと副(論理)ボリュームとで同一のデータを共有する。そのため、例えば正(論理)ボリュームに所謂閉塞(HDDの2重障害)が生じた場合には、該閉塞が生じた正(論理)ボリュームとペアになっている副(論理)ボリュームにも同時に閉塞が生じることになり、それによって運用中のデータだけでなく、バックアップ用データも消滅する虞がある。
そこで、上記に鑑みて、以下に説明する本発明の第2の実施形態が提案されるに至った。
図11は、本発明の第2の実施形態に係る、ストレージシステム(5)の制御メモリ(23)に格納されるボリューム管理情報の一例を示す説明図である。なお、本実施形態におけるストレージシステム、及び該ストレージシステムを備える情報処理システムと、図1で示した本発明の第1の実施形態に係るストレージシステム、及び該ストレージシステムを備える情報処理システムとは構成が同一である。よって、本実施形態におけるストレージシステム、及び該ストレージシステムを備える情報処理システムについては、図示と詳細な説明を割愛する。
本実施形態では、図11に示すボリューム管理情報が、更新情報番号65、スロット数67と共に、図3で示した更新量カウンタ履歴(1)〜更新量カウンタ履歴(n)41に替えて、HDD番号69が格納されている点において、図3で示したボリューム管理情報と相違する。HDD番号69とは、該ボリューム管理情報に対応する特定の論理ボリューム(33)を構成している1個又は複数個のHDDを識別するためのものである。換言すれば、HDD番号69とは、該ボリューム管理情報に対応する特定の論理ボリューム(33)に割当てられたデータを実際に格納している1個又は複数個のHDDを識別するための情報である。なお、更新情報番号、及びスロット数に関する詳細な説明については、割愛する。
図12は、本発明の第2の実施形態に係る、ストレージシステム(5)の制御メモリ(23)に複数個格納されるHDD管理情報の一例を示す説明図である。
上記HDD管理情報は、例えば図1で示したHDD29〜29を管理するための情報であり、各HDD(29〜29)毎に設定されている。上記HDD管理情報は、各HDDの状態を記録するための領域(状態)71、コレクタブルエラー回数を記録するための領域(コレクタブルエラー回数)73、及びアンコレクタブルエラー回数を記録するための領域(アンコレクタブルエラー回数)75を持つ。状態71には、対応するHDDがRD(READ)/WR可能なことを示す『正常』、又はRD/WR不能なことを示す『異常』が記録される。コレクタブルエラー回数73とは、ディスク制御装置(11)のDKC(19、又は21)が、上記HDD管理情報に対応するHDDから吸い上げた情報中に含まれている。また、アンコレクタブルエラー回数75も、コレクタブルエラー回数73と同様に、ディスク制御装置(11)のDKC(19、又は21)が、上記HDD管理情報に対応するHDDから吸い上げた情報中に含まれている。
上述したHDD管理情報において、状態71、コレクタブルエラー回数73、及びアンコレクタブルエラー回数75として夫々記録されている情報は、該HDD管理情報に対応するHDDの交換が行われたことを契機として、何れもリセットされる。
図13は、本発明の第2の実施形態に係るストレージシステム(5)で行われるスナップショットデータ作成処理の手順を示すフローチャートである。図13に示したスナップショットデータ作成処理では、(スナップショットデータの)オリジナルデータを保有するHDD群の信頼性を評価することによって、信頼性が低いと判断した場合には、物理スナップショット方式でスナップショットデータの採取が行われる。
図13において、通信ネットワーク(7、又は9)を通じてサーバ(1、又は3)からスナップショットデータの作成要求が送信されると、ディスク制御装置(11)(のCHA(15、又は17))は、該作成要求を受信する。そして、例えば、スナップショットデータの作成対象である論理ボリューム(33)に係わるボリューム管理情報(図10で示した)等をSM(23)から参照することによって、該ボリューム管理情報からHDD番号を一揃い取得する。これによって、該論理ボリューム(33)に割当てられたデータを実際に格納する1個、又は複数個のHDD(29〜29)を特定する(ステップS81)。ここで、スナップショットデータの作成対象である論理ボリュームとは、図8において説明したように、オリジナルデータを格納する正(論理)ボリューム、及び該オリジナルデータのスナップショットデータを格納すべき論理ボリューム(副(論理)ボリューム)のことを指す。
次に、上記特定した1個、又は複数個のHDD(群)の状態、コレクタブルエラー回数、及びアンコレクタブルエラー回数を、それらのHDDに対応する各HDD管理情報をSM(23)から参照することによって、各HDD管理情報から取得する(ステップS82)。そして、上記各HDDのうちから、閉塞している(つまり、壊れている)HDDがあるかどうかチェックする(ステップS83)。このチェックの結果、閉塞しているHDDが無ければ(ステップS83でNO)、次に、アンコレクタブルエラー回数が所定のしきい値を超えているHDDがあるかどうかチェックする(ステップS84)。このチェックの結果、アンコレクタブルエラー回数が所定のしきい値を超えているHDDが無ければ(ステップS84でNO)、次に、コレクタブルエラー回数が所定のしきい値を超えているHDDがあるかどうかチェックする(ステップS85)。
このチェックの結果、コレクタブルエラー回数が所定のしきい値を超えているHDDが無ければ(ステップS85でNO)、未だHDDの信頼性が高いものと判断して、論理スナップショット制御を開始し(ステップS86)、一連の処理動作を終了する。
なお、ステップS84で、アンコレクタブルエラー回数が所定のしきい値を超えているかどうか、及びコレクタブルエラー回数が所定のしきい値を超えているかどうかは、HDDの壊れ具合を示す1つの指標となる。
ステップS83で、閉塞しているHDDがある場合(ステップS83でYES)、ステップS84で、アンコレクタブルエラ−回数が所定のしきい値を超えているHDDがある場合(ステップS84でYES)、及びステップS85で、コレクタブルエラ−回数が所定のしきい値を超えているHDDがある場合(ステップS85でYES)には、何れも直ちに物理スナップショット制御を開始し(ステップS87)、一連の処理動作を終了する。
なお、ステップS84でのしきい値、及びステップS85でのしきい値は、デフォルトによる値を用いても良いし、ユーザが設定した値を用いることもできる。
以上説明したように、本発明の第2の実施形態によれば、スナップショットデータの作成時に、正(論理)ボリュームにおける閉塞率(障害発生率)が高いと判断した場合には、物理スナップショット方式を採用し、そうでないと判断した場合には、論理スナップショット方式を採用することとしたので、ストレージシステム5において、運用中のデータのみならずバックアップ用のデータの消滅をも防止することができる。
ところで、上述した論理スナップショット方式では、正(論理)ボリュームと副(論理)ボリュームとで同一のデータを共有する。そのため、ストレージシステム5の上位装置であるサーバ(1、3)から正(論理)ボリュームと副(論理)ボリュームとに対して同時にアクセスがあった場合には、主としてHDD(29〜29)において競合が発生し、それによりホストレスポンス(即ち、ホスト装置であるサーバ(1、3)からのアクセスに対するストレージシステム5からの応答)が劣化するという問題が生ずる。
そこで、上記に鑑みて、以下に説明する本発明の第3の実施形態が提案されるに至った。
図14は、本発明の第3の実施形態に係る、ストレージシステム(5)の制御メモリ(23)に格納されるボリューム管理情報の一例を示す説明図である。なお、本実施形態におけるストレージシステム、及び該ストエージシステムを備える情報処理システムと、図1で示した本発明の第1の実施形態に係るストレージシステム、及び該ストレージシステムを備える情報処理システムとは構成が同一である。よって、本実施形態におけるストレージシステム、及び該ストレージシステムを備える情報処理システムについては、図示と詳細な説明を割愛する。
本実施形態では、図14に示すボリューム管理情報が、更新情報番号89、スロット数91と共に、図3で示した更新量カウンタ履歴(1)〜更新量カウンタ履歴(n)41や、図11で示したHDD番号69に替えて、I/Oカウンタ93、カレントカウンタ95、及び取得開始時刻97が格納されている点において、図3で示したボリューム管理情報や、図11で示したボリューム管理情報と相違する。
図14で示したボリューム管理情報は、単位時間当り(例えば、1時間当り)のI/O(即ち、上位装置であるサーバ1、3からの指令)数をカウントするのに必要な領域を複数保持し、どれくらいのI/Oを実行しているかを管理する。換言すれば、上記ボリューム管理情報は、図14で示すように、スナップショットデータ作成中のIOPS(IOPSとは、1秒間に処理されるI/Oの数であり、ストレージシステムの処理能力を表す単位の1つである)を生成するためのものである。
I/Oカウンタ93は、上位装置(であるサーバ1、3)からの指令をカウントするもので、上述したCHAが、上位装置(サーバ1、3)からのスナップショットデータ作成要求を受信する毎にクリア(初期化)される。カレントカウンタ95は、例えば複数のI/Oカウンタ93のうちの最初に起動するI/Oカウンタ93の起動と同期して起動し、現在カウント動作を行っているI/Oカウンタ93がどれであるかを示す数値を保持する。カレントカウンタ95は、カウント動作を行うI/Oカウンタ93が、次のI/Oカウンタ93に切替わると、保持する数値も、次にカウント動作を行うI/Oカウンタ93を示す数値に切替わる。取得開始時刻97とは、スナップショットデータの取得を開始した時刻のことである。
I/Oカウンタ93から出力されるカウント値に基づいて、図示のようなスナップショットデータ作成中のIOPSが生成される。
図15は、本発明の第3の実施形態に係るストレージシステム(5)において、正(論理)ボリュームに割当てられたデータを実際に保持するHDD群における負荷の大きさを示す説明図である。
図15において、スナップショットデータ作成中のIOPSである、図15(A)に示す正(論理)ボリュームのIOPSの履歴と、同じくスナップショットデータ作成中のIOPSである、図15(B)に示す副ボリュームのIOPSの履歴とを合成することによって、図15(C)に示す正ボリュームに割当てられたデータを実際に保持するHDD群における負荷の大きさが求められる。換言すれば、図14で示したボリューム管理情報に保持されているI/Oカウンタ93のカウント値から、正ボリュームに割当てられたデータを実際に保持するHDD群における負荷の大きさを算出し、該負荷の大きさが、所定のしきい値よりも小さければ、論理スナップショット制御を開始し、上記しきい値以上であれば、物理スナップショット制御を開始するようにした。
以上説明したように、本発明の第3の実施形態によれば、スナップショットデータの作成時に、サーバ(1、3)から正(論理)ボリュームと副(論理)ボリュームとに対して同時にアクセスがあったとき、HDD(29〜29)での競合率が高いと判断した場合には、物理スナップショット方式を採用し、そうでないと判断した場合には、論理スナップショット方式を採用することとしたので、ストレージシステム5におけるホストレスポンスの劣化を防止することができる。
ところで、既述のように、論理スナップショット方式では、正(論理)ボリュームに格納されているオリジナルデータの、更新前のデータを退避しておくためのデータ空間であるプール領域が、正(論理)ボリュームからの退避データによって満杯となり、そのためスナップショットデータの作成処理が異常終了することがあるという問題がある。
そこで、上記に鑑みて、以下に説明する本発明の第4の実施形態が提案されるに至った。
図16は、本発明の第4の実施形態に係るストレージシステム(5)が備える制御メモリ(23)に格納されている情報の種類を示す説明図である。
図16に示すように、制御メモリ(23)には、プール領域管理情報101と、位置情報103と、更新ビットマップ105と、コピービットマップ107と、ペア管理情報109とが格納されている。プール領域管理情報101は、プール領域単位で、プール領域の数に応じて(各プール領域に対応して)複数個設定されている。位置情報103は、(論理)ボリューム(33)単位で、(論理)ボリューム(33)の数に応じて(各論理ボリュームに対応して)複数個設定されている。
更新ビットマップ105は、ディスク駆動装置(13)内において形成される正(論理)ボリュームと副(論理)ボリュームのペア単位で、ペアの数に応じて(各ペアに対応して)複数個設定されている。コピービットマップ107も、更新ビットマップ105と同様に、上記ペア単位で、ペアの数に応じて(各ペアに対応して)複数個設定されている。更に、ペア管理情報109も、更新ビットマップ105やコピービットマップ107と同様に、上記ペア単位で、ペアの数に応じて(各ペアに対応して)複数個設定されている。
図17は、ストレージシステム(5)のディスク駆動装置(13)において形成される正(論理)ボリュームと副(論理)ボリュームとのペアに係わる説明図、図18は、1個、又は複数個の(論理)ボリュームから構成されるプール領域を示す図である。
図17において、正(論理)ボリューム111とは、例えばオンライン業務で使用するデータを格納するもので、既述の内容から明らかなように、正(論理)ボリューム専用のデータ格納空間(具体的には、HDD(29〜29)等)が割当てられている。副(論理)ボリューム113とは、対になっている正(論理)ボリューム(111)に格納されているオリジナルデータのスナップショットデータを格納するもので、データを格納するデータ格納空間が割当てられていない。副(論理)ボリューム113は、該副(論理)ボリューム113固有のデータを格納する必要が生じた場合に、プール領域の未使用部分が割当てられ、該プール領域の未使用部分に副(論理)ボリューム113固有のデータが格納される。
図18に示したプール領域115とは、データを格納するための空間であり、1個又は複数個の(論理)ボリューム(33)から構成される。
図19は、図16で示したプール領域管理情報101の一例を示す説明図である。
図19において、プール領域管理情報101とは、副(論理)ボリューム(113)固有のデータを格納するプール領域(115)を管理するための情報で、ボリューム番号117と、使用/未使用ビットマップ119という2種類の情報を含む。ボリューム番号117とは、ディスク駆動装置(13)内において設定される複数の論理ボリューム(33)を識別するために、個々の論理ボリューム(33)に付与されたものである。
使用/未使用ビットマップ119は、図示のように、複数のビットから構成されており、各々のビットが図2で示した論理ボリューム(33)の各々のスロット(35〜35)に対応している。各々のビットは、該ビットに対応する上記スロット(35〜35)のデータが更新されているかどうかを示す。即ち、該ビットが"0"であれば、対応する上記スロット(35〜35の何れか)のデータが更新されていないことを示し、"1"であれば、対応する上記スロット(35〜35の何れか)のデータが更新されていることを示す。
既述のように、1個のプール領域(115)は、1個、又は複数個の(論理)ボリューム(33)から構成される。従って、1個のプール領域(115)は、1個、又は複数個のプール領域管理情報(101)によって管理されることになる。
図20は、図16で示した位置情報103の一例を示す説明図である。
図20において、位置情報103とは、(論理)ボリュームに割当てられたデータが、実際にどこに格納されているかを管理するためのもので、副(論理)ボリュームスロット番号121と、(論理)ボリューム番号123と、スロット番号125という3種類の情報を含む。図20に示した例では、副(論理)ボリュームにおけるスロット番号「0」に割当てられたデータは、ボリューム番号「1」が付与された(論理)ボリュームにおけるスロット番号「100」が付与されたスロットに格納されていることを示している。また、副(論理)ボリュームにおけるスロット番号「1」に割当てられたデータは、ボリューム番号「3」が付与された(論理)ボリュームにおけるスロット番号「100」が付与されたスロットに格納されていることを示している。
図21は、図16で示した更新ビットマップ105の一例を示す説明図である。
図21において、更新ビットマップ105は、ディスク制御装置(11)(のCHA(15、17))がサーバ(1、3)からスナップショット作成コマンドを受信した後に、正(論理)ボリューム、又は副(論理)ボリュームにおいてデータの更新が行われたかどうかを示すものである。"0"のビットは、該ビットに対応するスロットにおいて、データの更新が行われなかったことを示し、他方、"1"のビットは、該ビットに対応するスロットにおいて、データの更新が行われたことを示す。
図22は、図16で示したコピービットマップ107の一例を示す説明図である。
図22において、コピービットマップ107は、ディスク制御装置(11)(のCHA(15、17))がサーバ(1、3)からスナップショット作成コマンドを受信した後に、正(論理)ボリュームに格納されるデータが、プール領域(115)にコピーされたかどうかを示すものである。"0"のビットは、該ビットに対応するスロットのデータが、プール領域(115)にコピー済みであることを示し、他方、"1"のビットは、該ビットに対応するスロットのデータが、プール領域(115)にコピーされてないことを示す。
図23は、図16で示したペア管理情報109の一例を示す説明図である。
図23において、ペア管理情報109は、対となっている正(論理)ボリュームと副(論理)ボリュームとを識別するためのものである。ペア管理情報109は、正(論理)ボリュームを識別するための正(論理)ボリューム番号127と、副(論理)ボリュームを識別するための副(論理)ボリューム番号129と、スナップショットデータの取得方法の種別を示すスナップショット取得方法131という3種類の情報を含む。
スナップショット取得方法131には、図示のように、論理スナップショットか、又は物理スナップショットの何れか一方が格納される。
図24は、本発明の第4の実施形態に係るストレージシステム(5)におけるスナップショット作成コマンドのコマンドパラメータの一例を示す説明図である。
図24において、スナップショット作成コマンドのコマンドパラメータ133は、正(論理)ボリューム番号135と、副(論理)ボリューム番号137という2種類の情報を含む。正(論理)ボリューム番号135とは、オリジナルデータにアクセスするのに必要な(論理)ボリュームの番号、即ち、オリジナルデータが格納される(論理)ボリュームに付与された番号である。一方、副(論理)ボリューム137とは、スナップショットデータにアクセスするのに必要な(論理)ボリュームの番号、即ち、スナップショットデータが格納されるべき(論理)ボリュームに付与された番号である。
図24で示した例では、正(論理)ボリューム番号135として、「1」が、副(論理)ボリューム番号137として、「3」が、夫々格納されている。
図25は、本発明の第4の実施形態に係るストレージシステム(5)で行われるスナップショットデータ作成コマンド受領処理の手順を示すフローチャートである。
図25において、通信ネットワーク(7、又は9)を通じてサーバ(1、又は3)からスナップショットデータの作成要求が送信されると、ディスク制御装置(11)(のCHA(15、又は17))は、該作成要求を受信する。そして、制御メモリ23から図20で示したような位置情報103を読み出して、該位置情報103を初期化する(ステップS141)。即ち、CHA(15、17)がサーバ(1、3)からスナップショットデータの作成要求を受信した直後は、副(論理)ボリュームへ格納すべきデータは、正(論理)ボリュ−ム中に格納されている。そのため、位置情報103において、副(論理)ボリュームスロット番号121として、スロット番号を、ボリューム番号123として、スナップショットデータ作成コマンドにおけるコマンドパラメータ中の正(論理)ボリューム番号を、夫々設定する。
次に、制御メモリ23から図21で示した更新ビットマップ105を読み出して、該更新ビットマップ105を初期化する(ステップS142)。この処理を行う理由は、CHA(15、17)がサーバ(1、3)からスナップショットデータの作成要求を受信した直後は、正(論理)ボリューム、及び副(論理)ボリュームの何れのスロットにおいてもデータの更新が行われていないため、全てのビットをオフ(0)にする必要があるからである。
次に、制御メモリ23から図22で示したコピービットマップ107を読み出して、該コピービットマップ107を初期化する(ステップS143)。この処理を行う理由は、CHA(15、17)がサーバ(1、3)からスナップショットデータの作成要求を受信した直後は、正(論理)ボリュームに格納されるデータが、プール領域(115)にコピーされていないため、全てのビットをオフ(0)にする必要があるからである。
次に、制御メモリ23から図23で示したペア管理情報109を読み出して、該ペア管理情報109を初期化する(ステップS144)。即ち、ペア管理情報109に含まれる正(論理)ボリューム番号127の領域に、図24で示したスナップショットデータ作成コマンドのコマンドパラメータ133の正(論理)ボリューム番号135に格納されている番号を格納する。また、ペア管理情報109に含まれる副(論理)ボリューム番号129の領域に、図24で示したスナップショットデータ作成コマンドのコマンドパラメータ133の副(論理)ボリューム番号137に格納されている番号を格納する。
これにより、スナップショットデータ作成コマンド受領に係わる一連の処理が終了する。
図26は、本発明の第4の実施形態に係るストレージシステム(5)で行われる正(論理)ボリュームへのライト処理の手順を示すフローチャートである。
図26において、正(論理)ボリュームへのライト処理に際し、ディスク制御装置(11)は、まず、該正(論理)ボリューム中に格納されているデータを、(図18で示した)プール領域115へ退避させる必要があるかどうかチェックする(ステップS151)。上記チェックの結果、退避させる必要があると判断すれば(ステップS151でYES)、プール領域115において、空き領域を確保する(ステップS152)。次に、上記正(論理)ボリューム中に格納されているデータを、プール領域115中の確保した空き領域にコピーする(ステップS153)。
次に、更新ビットマップ105中の、上記正(論理)ボリュームにおけるデータ更新を行おうとするスロットに対応しているビットを、オン(1)にすると共に(ステップS154)、(サーバ(1、3)側から送信された)ライトデータを、上記正(論理)ボリュームの上記(データ更新を行おうとする)スロットに書込む(ステップS155)。そして、ライトデータの上記正(論理)ボリュームへの書込みが正常に終了した旨を、ディスク制御装置(11)(のCHA(15、17))がサーバ(1、3)へ報告することで(ステップS156)、一連の処理が終了する。
なお、上記チェックの結果、退避させる必要がないと判断した場合には(ステップS151でNO)、正(論理)ボリューム中に格納されているデータが、既に退避済みであるので、直ちにステップS154で示した処理動作に移行する。
図27は、本発明の第4の実施形態に係るストレージシステム(5)で行われる副(論理)ボリュームに対するリード処理の手順を示すフローチャートである。
図27において、副(論理)ボリュームに対するリード処理に際し、まず、ディスク制御装置(11)は、例えば図19で示したプール領域管理情報101を、制御メモリ23から読出して、副(論理)ボリューム中の該当するスロットのデータが、(図18で示した)プール領域115中にあるかどうかチェックする(ステップS161)。上記チェックの結果、上記スロットのデータがプール領域115中になければ(ステップS161でNO)、正(論理)ボリューム中に格納されているデータを、サーバ(1、3)側へ転送する(ステップS162)。これと共に、上記副(論理)ボリュームに対するリード処理が正常に終了した旨を、ディスク制御装置(11)(のCHA(15、17))がサーバ(1、3)へ報告することで(ステップS163)、一連の処理が終了する。
なお、上記チェックの結果、上記スロットのデータがプール領域115中にあれば(ステップS161でYES)、該プール領域115のデータをサーバ(1、3)側へ転送し(ステップS164)、ステップS163で示した処理動作を経て、一連の処理が終了する。
図28は、本発明の第4の実施形態に係るストレージシステム(5)で行われる副(論理)ボリュームへのライト処理の手順を示すフローチャートである。
図28において、副(論理)ボリュームへのライト処理に際し、ディスク制御装置(11)は、まず、該副(論理)ボリューム中の該当するスロットに格納されているデータが、(図18で示した)プール領域115中にあるかどうかチェックする(ステップS171)。上記チェックの結果、上記スロットのデータが、プール領域115中になければ(ステップS171でNO)、ディスク制御装置(11)は、サーバ(1、3)側から転送されたデータを、プール領域115へ書き込む(ステップS172)。そして、上記副(論理)ボリュームへのライト処理が正常に終了した旨を、ディスク制御装置(11)(のCHA(15、17))がサーバ(1、3)へ報告することで(ステップS173)、一連の処理が終了する。
なお、上記チェックの結果、上記スロットのデータがプール領域115中にあれば(ステップS171でYES)、該副(論理)ボリュームとペアになっている正(論理)ボリューム中の該当するスロットに格納されているデータを、プール領域115にコピーすると共に(ステップS174)、ステップS172、ステップS173で示した処理動作を経て、一連の処理が終了する。
図29は、本発明の第4の実施形態に係るストレージシステム(5)で行われる論理スナップショット変換処理の手順を示すフローチャートである。
図29において、ディスク制御装置(11)は、まず、制御メモリ23から図23で示したペア管理情報109中のスナップショット取得方法131を、物理スナップショットから論理スナップショットに変更する(ステップS191)。次に、制御メモリ23から図20で示した位置情報103中のスロット番号iを「0」に設定する(ステップS192)。次に、制御メモリ23から図21で示した更新ビットマップ105を読出して、スロット番号i(=0)が付与されたスロットに対応するビット(以下、「更新ビット」という)、及び制御メモリ23から図22で示したコピービットマップ107を読出して、上記スロット番号i(=0)が付与されたスロットに対応するビット(以下、「コピービット」という)を取得する(ステップS193)。
次に、上記更新ビットが"0"で、且つ、上記コピービットが"1"かどうかをチェックする(ステップS194)。このチェックの結果、上記更新ビットが"0"で、且つ、上記コピービットが"1"であれば(ステップS194でYES)、上記位置情報103からスロット番号iのスロットを含む(論理)ボリュームの番号を取得する。そして、制御メモリ23から図19で示したプール領域管理情報101を読出し、該(論理)ボリューム番号に対応する使用/未使用ビットマップ119の各ビットを"0"にして、プール領域を未使用状態に設定する(ステップS195)。
次に、上記スロット番号iの位置情報103の更新を行う。即ち、位置情報103において、(論理)ボリューム番号を、正(論理)ボリューム番号に設定し直すと共に、スロット番号をiに設定し直す(ステップS196)。そして、設定し直したスロット番号iが、該(論理)ボリューム(33)における最終スロット(35)かどうかチェックする(ステップS197)。上記チェックの結果、上記スロット番号iが該(論理)ボリューム(33)の最終スロットでなければ(ステップS197でNO)、スロット番号iをi+1に設定し直してから(ステップS198)、ステップS193で示した処理動作に移行する。
上記更新ビットが"0"でなく、且つ、上記コピービットが"1"でもなければ(ステップS194でNO)、ステップS197で示した処理動作に移行する。また、上記スロット番号iが該(論理)ボリューム(33)の最終スロットであれば(ステップS197でYES)、一連の論理スナップショット変換処理が終了する。
図30は、本発明の第4の実施形態に係るストレージシステム(5)で行われる物理スナップショット変換処理の手順を示すフローチャートである。
図30において、ディスク制御装置(11)は、まず、制御メモリ23から図23で示したペア管理情報109中のスナップショット取得方法131を、論理スナップショットから物理スナップショットに変更する(ステップS201)。次に、制御メモリ23から図20で示した位置情報103中のスロット番号iを「0」に設定する(ステップS202)。次に、制御メモリ23から図22で示したコピービットマップ107を読出して、上記スロット番号i(=0)が付与されたスロットに対応するビット(以下、「コピービット」という)を取得する(ステップS203)。
次に、上記コピービットが"0"かどうかをチェックする(ステップS204)。このチェックの結果、上記コピービットが"0"であれば(ステップS204でYES)、制御メモリ23から図19で示したプール領域管理情報101を読出し、該プール領域管理情報101から(論理)ボリューム番号を取得する(ステップS205)。次に、上記プール領域管理情報101を参照して、使用/未使用ビットマップ119のビットが"0"であるスロットのスロット番号を取得すると共に(ステップS206)、該取得したスロット番号に対応する、スロットの上記プール領域管理情報101の使用/未使用ビットマップ119のビットを"1"に設定する(ステップS207)。
次に、上記スロット番号iの位置情報103の更新を行う。即ち、位置情報103において、(論理)ボリューム番号を、ステップS205で取得した(論理)ボリューム番号に設定し直すと共に、スロット番号を、ステップS206で取得したスロット番号に設定し直す(ステップS208)。次に、正(論理)ボリュームにおけるスロット番号iが付与されたスロットに格納されているデータを、ステップS205で取得した(論理)ボリュームの、ステップS206で取得したスロット番号のスロットにコピーする(ステップS209)。そして、図22で示したコピービットマップ107におけるコピービットを、"1"に設定する(ステップS210)。
次に、ステップS208で設定し直したスロット番号iが、該(論理)ボリューム(33)における最終スロット(35)かどうかチェックする(ステップ211)。上記チェックの結果、上記スロット番号iが該(論理)ボリューム(33)の最終スロットでなければ(ステップS211でNO)、スロット番号iをi+1に設定し直してから(ステップS212)、ステップS203で示した処理動作に移行する。
上記コピービットが"0"でなければ(ステップS204でNO)、ステップS211で示した処理動作に移行する。また、上記スロット番号iが該(論理)ボリューム(33)の最終スロットであれば(ステップS211でYES)、一連の物理スナップショット変換処理が終了する。
図31は、本発明の第4の実施形態に係るストレージシステム(5)で行われる周期処理の手順を示すフローチャートである。
図31において、まず、前回行った物理スナップショット処理を行うべきか、それとも論理スナップショット処理を行うべきかのチェックを行ってから1秒経過したかどうかチェックする(ステップS221)。このチェックの結果、1秒以上経過していれば、次に、図18で示したプール領域115の未使用領域が所定のしきい値以下かどうか、例えば図19で示したプール領域管理情報101を参照してチェックする(ステップS222)。このチェックの結果、上記プール領域115の未使用領域が所定のしきい値以下であれば、物理スナップショットデータが存在するかどうかチェックする(ステップS223)。
このチェックの結果、物理スナップショットデータが存在していれば、論理スナップショット変換処理を起動し(ステップS224)、論理スナップショットデータに対応するオリジナルデータが格納されている正(論理)ボリュームのうち、信頼性の低下しているものがあるかどうかチェックする(ステップS225)。このチェックの結果、信頼性の低下している正(論理)ボリュームがあれば、物理スナップショット変換処理を起動し(ステップS226)、ステップS221で示した処理動作に移行する。
前回行った物理スナップショット処理を行うべきか、それとも論理スナップショット処理を行うべきかのチェックを行ってから1秒以上経過していない場合(ステップS221)には、1秒以上経過するまで、ステップS222以下の処理動作には移行しない。
プール領域115の未使用領域が、所定のしきい値以下でない場合(ステップS222)、及び物理スナップショットデータが存在していない場合(ステップS223)には、何れもステップS225で示した処理動作に移行する。
更に、論理スナップショットデータに対応するオリジナルデータが格納されている正(論理)ボリュームのうち、信頼性の低下しているものがない場合には(ステップS225)、ステップS221で示した処理動作に移行する。
以上説明したように、本発明の第4の実施形態によれば、スナップショットデータの作成時に、プール領域における空き領域が少なくなったと判断した場合には、物理スナップショット方式を採用し、そうでないと判断した場合には、論理スナップショット方式を採用することとしたので、ストレージシステム5において、プール領域が、正(論理)ボリュームからの退避データによって満杯となってスナップショットデータの作成処理が異常終了することがないようにすることができる。
以上、本発明の好適な実施形態を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこれらの実施形態にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。
本発明の第1の実施形態に係るストレージシステムを備える情報処理システムの全体構成を示すブロック図。 本発明の第1の実施形態に係る論理ボリューム(LDEV)の構成を示す説明図。 本発明の第1の実施形態に係るストレージシステムの制御メモリに格納されるボリューム管理情報の一例を示す説明図。 本発明の第1の実施形態に係るストレージシステムの制御メモリに格納される更新情報の一例を示す説明図。 本発明の第1の実施形態に係るストレージシステムの制御メモリに格納される更新情報管理情報の一例を示す説明図。 本発明の第1の実施形態に係るストレージシステムの制御メモリに格納されるしきい値管理情報の一例を示す説明図。 本発明の第1の実施形態に係るストレージシステムを備える情報処理システムで採用される論理スナップショット方式の仕組みを示す説明図。 本発明の第1の実施形態に係るストレージシステムで行われるスナップショットデータ作成処理の手順を示すフローチャート。 本発明の第1の実施形態に係るストレージシステムで行われるスナップショットデータ削除処理の手順を示すフローチャート。 本発明の第1の実施形態に係るストレージシステムで行われるWRコマンド処理の手順を示すフローチャート。 本発明の第2の実施形態に係る、ストレージシステムの制御メモリに格納されるボリューム管理情報の一例を示す説明図。 本発明の第2の実施形態に係る、ストレージシステムの制御メモリに格納されるHDD管理情報の一例を示す説明図。 本発明の第2の実施形態に係るストレージシステムで行われるスナップショットデータ作成処理の手順を示すフローチャート。 本発明の第3の実施形態に係る、ストレージシステムの制御メモリに格納されるボリューム管理情報の一例を示す説明図。 本発明の第3の実施形態に係るストレージシステムにおいて、正(論理)ボリュームに割当てられたデータを実際に保持するHDD群における負荷の大きさを示す説明図。 本発明の第4の実施形態に係るストレージシステムが備える制御メモリに格納されている情報の種類を示す説明図。 ストレージシステムのディスク駆動装置において形成される正(論理)ボリュームと副(論理)ボリュームとのペアに係わる説明図。 1個、又は複数個の(論理)ボリュームから構成されるプール領域を示す図。 図16で示したプール領域管理情報の一例を示す説明図。 図16で示した位置情報の一例を示す説明図。 図16で示した更新ビットマップの一例を示す説明図。 図16で示したコピービットマップの一例を示す説明図。 図16で示したペア管理情報の一例を示す説明図。 本発明の第4の実施形態に係るストレージシステムにおけるスナップショット作成コマンドのコマンドパラメータの一例を示す説明図。 本発明の第4の実施形態に係るストレージシステムで行われるスナップショットデータ作成コマンド受領処理の手順を示すフローチャート。 本発明の第4の実施形態に係るストレージシステムで行われる正(論理)ボリュームへのライト処理の手順を示すフローチャート。 本発明の第4の実施形態に係るストレージシステムで行われる副(論理)ボリュームに対するリード処理の手順を示すフローチャート。 本発明の第4の実施形態に係るストレージシステムで行われる副(論理)ボリュームへのライト処理の手順を示すフローチャート。 本発明の第4の実施形態に係るストレージシステムで行われる論理スナップショット変換処理の手順を示すフローチャート。 本発明の第4の実施形態に係るストレージシステムで行われる物理スナップショット変換処理の手順を示すフローチャート。 本発明の第4の実施形態に係るストレージシステムで行われる周期処理の手順を示すフローチャート。
符号の説明
1、3 ホスト装置(サーバ)
5 ストレージシステム
7、9 通信ネットワーク
11 ディスク制御装置
13 ディスク駆動装置
15、17 チャネルアダプタ(CHA)
19、21 ディスクアダプタ(DKA)
23 共有メモリ(SM)(制御メモリ)
25 キャッシュメモリ(CM)
27 サービスプロセッサ(SVP)
29〜29 HDD
31 共有バス
33 論理ボリューム
35、35、・・・、35 スロット
37、47 更新情報番号
39 スロット数
41 更新量カウンタ履歴(1)〜(n)
42 正(論理)ボリューム
43 更新領域ビットマップ
44 副(論理)ボリューム
45 更新量カウンタ
46、48 HDD群
49 使用状況

Claims (8)

  1. 正記憶デバイスに格納されている全てのデータを副記憶デバイスにコピーし、前記正記憶デバイスと前記副記憶デバイスとを再同期させる際に、前記正記憶デバイスにおける、前記正記憶デバイスと前記副記憶デバイスとの差分データを前記副記憶デバイスにコピーする物理スナップショット実行部と、
    入力されたデータを正記憶デバイスに書込み、該データ更新される前のデータを、正記憶デバイスに格納されているデータを退避するために設けられるデータ記憶領域であるプール領域に退避し、データ読み出し要求時には、前記更新される前のデータと前記正記憶デバイス内のデータとを合成する論理スナップショット実行部と、
    上位装置からスナップショットデータの作成要求があった場合に、該作成要求に係わる正記憶デバイス中に更新すべきデータが存在するかどうか検索する更新データ検索部と、
    前記プール領域の空き領域を監視する空き領域監視部と、
    前記更新データ検索部が、前記正記憶デバイス中に更新データの存在を検索した場合に、前記正記憶デバイスにおけるデータの更新量が、所定値よりも多いかどうか判別するデータ更新量判別部と、
    下記(a)及び(b)を行うスナップショット実行部選択部と
    (a)前記データ更新量判別部が、前記データの更新量が所定値よりも多いと判別した場合、及び/又は、前記空き領域監視部が、前記プール領域における空き領域が少ないと判別した場合には、前記物理スナップショット実行部を選択的に駆動する
    (b)前記データ更新量判定部が、前記データの更新量が所定値よりも少ないと判別し、又は前記記憶デバイス中に更新データが存在しなかった場合、及び/又は、前記空き領域監視部が、前記空き領域が少なくないと判別した場合には、前記論理スナップショット実行部を選択的に駆動する、
    を備えるストレージシステム。
  2. 請求項1記載のストレージシステムにおいて、
    前記正記憶デバイスは、複数のスロットで構成されており、
    前記スロットは、記憶領域であり、
    前記正記憶デバイスにおけるデータの更新量とは、データが更新されたスロットの個数、或いは、前記正記憶デバイスの全スロットの個数に対するデータ更新されたスロットの個数の割合である、
    ストレージシステム。
  3. 請求項2記載のストレージシステムにおいて、
    前記更新データ検索部が、前記正記憶デバイス中に更新データの存在を検索し、且つ、前記上位装置から前記正記憶デバイスと前記副記憶デバイスとに同時にアクセスした場合に、前記正記憶デバイスへのアクセスと前記副記憶デバイスへのアクセスとの競合度合が高いかどうか判別するアクセス競合度合判別部を備え、
    前記スナップショット実行部選択部は、下記の(c)及び(d)を行う、
    (c)前記アクセス競合度合判別部が、前記アクセスの競合度合が高いと判別した場合には、前記物理スナップショット実行部を選択的に駆動する
    (d)前記アクセスの競合度合が高くないと判別した場合には、前記論理スナップショット実行部を選択的に駆動する
    ストレージシステム。
  4. 請求項2又は3記載のストレージシステムにおいて、
    前記更新データ検索部が、前記正記憶デバイス中に更新データの存在を検索した場合に、
    前記正記憶デバイスにおける障害の発生度合が高いかどうか判別する障害発生度合判別部を備え、
    前記スナップショット実行部選択部は、下記の(e)及び(f)を行う、
    (e)前記障害発生度合判別部が、前記正記憶デバイスにおける障害の発生度合が高いと判別した場合には、前記物理スナップショット実行部を選択的に駆動する
    (f)前記障害の発生度合が高くないと判別した場合には、前記論理スナップショット実行部を選択的に駆動する
    ストレージシステム。
  5. 上位装置からスナップショットデータの作成要求があった場合に、該作成要求に係わる正記憶デバイス中に更新すべきデータが存在するかどうか検索する更新データ検索ステップと、
    前記プール領域の空き領域を監視する空き領域監視ステップと、
    前記更新データ検索部が、前記正記憶デバイス中に更新データの存在を検索した場合に、前記正記憶デバイスにおけるデータの更新量が、所定値よりも多いかどうか判別するデータ更新量判別ステップと、
    下記(a)及び(b)を行うスナップショット実行部選択ステップと
    (a)前記データ更新量判別ステップにおいて、前記データの更新量が所定値よりも多いと判別された場合、及び/又は、前記空き領域監視ステップにおいて、前記プール領域における空き領域が少ないと判別された場合には、物理スナップショット実行部を選択的に駆動する、
    (b)前記データ更新量判定ステップにおいて、前記データの更新量が所定値よりも少ないと判別され、又は前記正記憶デバイス中に更新データが存在しなかった場合、及び/又は、前記空き領域監視部において、前記空き領域が少なくないと判別された場合には論理スナップショット実行部を選択的に駆動する、
    を有し、
    前記物理スナップショット実行部は、正記憶デバイスに格納されている全てのデータを副記憶デバイスにコピーし、前記正記憶デバイスと前記副記憶デバイスとを再同期させる際に、前記正記憶デバイスにおける、前記正記憶デバイスと前記副記憶デバイスとの差分データを前記副記憶デバイスにコピーする実行部であり、
    前記論理スナップショット実行部は、入力されたデータを正記憶デバイスに書込み、該データに更新される前のデータを、正記憶デバイスに格納されているデータを退避するために設けられるデータ記憶領域であるプール領域に退避し、データ読み出し要求時には、前記更新される前のデータと前記正記憶デバイス内のデータとを合成する実行部である、
    スナップショットデータ作成方法。
  6. 請求項5記載のスナップショットデータ作成方法において、
    前記正記憶デバイスは、複数のスロットで構成されており、
    前記スロットは、記憶領域であり、
    前記正記憶デバイスにおけるデータの更新量とは、データが更新されたスロットの個数、或いは、前記正記憶デバイスの全スロットの個数に対するデータ更新されたスロットの個数の割合である、
    スナップショットデータ作成方法。
  7. 請求項6記載のスナップショットデータ作成方法において、
    前記更新データ検索ステップにおいて、前記正記憶デバイス中に更新データの存在が検索され、且つ、前記上位装置から前記正記憶デバイスと前記副記憶デバイスとに同時にアクセスされた場合に、前記正記憶デバイスへのアクセスと前記副記憶デバイスへのアクセスとの競合度合が高いかどうか判別するアクセス競合度合判別ステップを有し、
    前記スナップショット実行部選択ステップにおいて、下記の(c)及び(d)を行う、
    (c)前記アクセス競合度合判別部が、前記アクセスの競合度合が高いと判別した場合には、前記物理スナップショット実行部を選択的に駆動する、
    (d)前記アクセスの競合度合が高くないと判別した場合には、前記論理スナップショット実行部を選択的に駆動する、
    スナップショットデータ作成方法。
  8. 請求項6又は7記載のスナップショットデータ作成方法において、
    前記更新データ検索ステップにおいて、前記正記憶デバイス中に更新データの存在が検索された場合に、前記正記憶デバイスにおける障害の発生度合が高いかどうか判別する障害発生度合判別ステップを有し、
    前記スナップショット実行部選択ステップにおいて、下記の(e)及び(f)を行う、
    (e)前記障害発生度合判別部が、前記正記憶デバイスにおける障害の発生度合が高いと判別した場合には、前記物理スナップショット実行部を選択的に駆動する、
    (f)前記障害の発生度合が高くないと判別した場合には、前記論理スナップショット実行部を選択的に駆動する、
    スナップショットデータ作成方法。
JP2004353153A 2004-12-06 2004-12-06 ストレージシステム、及びストレージシステムにおけるスナップショットデータ作成方法 Expired - Fee Related JP4583150B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2004353153A JP4583150B2 (ja) 2004-12-06 2004-12-06 ストレージシステム、及びストレージシステムにおけるスナップショットデータ作成方法
US11/043,717 US7536592B2 (en) 2004-12-06 2005-01-25 Storage system and snapshot data preparation method in storage system
EP05255992A EP1667023B1 (en) 2004-12-06 2005-09-26 Storage system and snapshot data preparation method in storage system
DE602005000926T DE602005000926T2 (de) 2004-12-06 2005-09-26 Speichersystem und Speicherauszugs-Erstellungsverfahren eines Speichersystems
US12/431,924 US8095822B2 (en) 2004-12-06 2009-04-29 Storage system and snapshot data preparation method in storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004353153A JP4583150B2 (ja) 2004-12-06 2004-12-06 ストレージシステム、及びストレージシステムにおけるスナップショットデータ作成方法

Publications (2)

Publication Number Publication Date
JP2006163729A JP2006163729A (ja) 2006-06-22
JP4583150B2 true JP4583150B2 (ja) 2010-11-17

Family

ID=35466495

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004353153A Expired - Fee Related JP4583150B2 (ja) 2004-12-06 2004-12-06 ストレージシステム、及びストレージシステムにおけるスナップショットデータ作成方法

Country Status (4)

Country Link
US (2) US7536592B2 (ja)
EP (1) EP1667023B1 (ja)
JP (1) JP4583150B2 (ja)
DE (1) DE602005000926T2 (ja)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2548542C (en) 2003-11-13 2011-08-09 Commvault Systems, Inc. System and method for performing a snapshot and for restoring data
US7784098B1 (en) * 2005-07-14 2010-08-24 Trend Micro, Inc. Snapshot and restore technique for computer system recovery
US8161548B1 (en) 2005-08-15 2012-04-17 Trend Micro, Inc. Malware detection using pattern classification
US7779472B1 (en) 2005-10-11 2010-08-17 Trend Micro, Inc. Application behavior based malware detection
US7752488B2 (en) * 2006-01-06 2010-07-06 International Business Machines Corporation Method to adjust error thresholds in a data storage and retrieval system
US7840958B1 (en) 2006-02-17 2010-11-23 Trend Micro, Inc. Preventing spyware installation
JP2008097502A (ja) 2006-10-16 2008-04-24 Hitachi Ltd 容量監視方法及び計算機システム
US20100114482A1 (en) * 2007-01-12 2010-05-06 Pioneer Corporation Information processing apparatus, information processing method, information processing program, and computer-readablerecording medium
US7877544B2 (en) * 2007-08-20 2011-01-25 International Business Machines Corporation Storing redundant segments and parity information for segmented logical volumes
US8055839B2 (en) * 2007-08-20 2011-11-08 International Business Machines Corporation Maintaining reserved free space at the end of a physical volume for creating new segments of segmented logical volumes in the reserved free space
US7975100B2 (en) * 2007-08-20 2011-07-05 International Business Machines Corporation Segmentation of logical volumes and movement of selected segments when a cache storage is unable to store all segments of a logical volume
US8176017B2 (en) * 2007-12-14 2012-05-08 Microsoft Corporation Live volume access
CN101359301A (zh) 2008-08-19 2009-02-04 成都市华为赛门铁克科技有限公司 一种自动快照的方法及设备
US8407435B2 (en) * 2008-09-25 2013-03-26 International Business Machines Corporation Efficiently creating a snapshot of a large consistency group using multiple commands including a snapshot preparation command
WO2013005245A1 (en) 2011-07-01 2013-01-10 Hitachi, Ltd. Storage system and controlling method of the same
US9471578B2 (en) * 2012-03-07 2016-10-18 Commvault Systems, Inc. Data storage system utilizing proxy device for storage operations
US9298715B2 (en) 2012-03-07 2016-03-29 Commvault Systems, Inc. Data storage system utilizing proxy device for storage operations
US9342537B2 (en) 2012-04-23 2016-05-17 Commvault Systems, Inc. Integrated snapshot interface for a data storage system
US9886346B2 (en) 2013-01-11 2018-02-06 Commvault Systems, Inc. Single snapshot for multiple agents
US9632874B2 (en) 2014-01-24 2017-04-25 Commvault Systems, Inc. Database application backup in single snapshot for multiple applications
US9639426B2 (en) 2014-01-24 2017-05-02 Commvault Systems, Inc. Single snapshot for multiple applications
US9495251B2 (en) 2014-01-24 2016-11-15 Commvault Systems, Inc. Snapshot readiness checking and reporting
US9753812B2 (en) 2014-01-24 2017-09-05 Commvault Systems, Inc. Generating mapping information for single snapshot for multiple applications
US9774672B2 (en) 2014-09-03 2017-09-26 Commvault Systems, Inc. Consolidated processing of storage-array commands by a snapshot-control media agent
US10042716B2 (en) 2014-09-03 2018-08-07 Commvault Systems, Inc. Consolidated processing of storage-array commands using a forwarder media agent in conjunction with a snapshot-control media agent
WO2016069029A1 (en) * 2014-10-28 2016-05-06 Hewlett Packard Enterprise Development Lp Snapshot creation
US9448731B2 (en) 2014-11-14 2016-09-20 Commvault Systems, Inc. Unified snapshot storage management
US9648105B2 (en) 2014-11-14 2017-05-09 Commvault Systems, Inc. Unified snapshot storage management, using an enhanced storage manager and enhanced media agents
US10503753B2 (en) 2016-03-10 2019-12-10 Commvault Systems, Inc. Snapshot replication operations based on incremental block change tracking
US10210048B2 (en) 2016-10-25 2019-02-19 Commvault Systems, Inc. Selective snapshot and backup copy operations for individual virtual machines in a shared storage
CN110018986B (zh) * 2017-11-08 2022-10-28 阿里巴巴集团控股有限公司 异常快照识别方法及装置
US10732885B2 (en) 2018-02-14 2020-08-04 Commvault Systems, Inc. Block-level live browsing and private writable snapshots using an ISCSI server
US10691551B2 (en) * 2018-07-24 2020-06-23 EMC IP Holding Company LLC Storage system with snapshot generation control utilizing monitored differentials of respective storage volumes

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002182988A (ja) * 2001-10-05 2002-06-28 Fujitsu Ltd データ処理システムのバックアップ制御装置及び方法
JP2002278819A (ja) * 2001-03-21 2002-09-27 Toshiba Corp スナップショットイメージの世代管理方法、記憶媒体、及び世代管理装置
JP2004118413A (ja) * 2002-09-25 2004-04-15 Hitachi Ltd ストレージシステム、記憶装置、ホスト計算機、および、スナップショット作成方法。
JP2004342050A (ja) * 2003-03-18 2004-12-02 Hitachi Ltd 複数のスナップショット維持方法及びサーバ装置及びストレージ装置
JP2006065622A (ja) * 2004-08-27 2006-03-09 Hitachi Ltd スナップショットの作成方法及びプログラム並びにストレージシステム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5379412A (en) * 1992-04-20 1995-01-03 International Business Machines Corporation Method and system for dynamic allocation of buffer storage space during backup copying
US6604118B2 (en) * 1998-07-31 2003-08-05 Network Appliance, Inc. File system image transfer
JP3260923B2 (ja) * 1993-09-20 2002-02-25 富士通株式会社 データ処理システムのバックアップ制御装置及び方法
US6654912B1 (en) * 2000-10-04 2003-11-25 Network Appliance, Inc. Recovery of file system data in file servers mirrored file system volumes
JP2004171249A (ja) * 2002-11-20 2004-06-17 Hitachi Ltd データベースのバックアップ実行判断方法
JP2004258944A (ja) * 2003-02-26 2004-09-16 Hitachi Ltd ストレージ装置およびその管理方法
US7165082B1 (en) * 2003-10-31 2007-01-16 Veritas Operating Corporation Incremental method for backup of email messages
JP4454342B2 (ja) * 2004-03-02 2010-04-21 株式会社日立製作所 ストレージシステム及びストレージシステムの制御方法
JP4439960B2 (ja) * 2004-03-22 2010-03-24 株式会社日立製作所 ストレージ装置
US7167880B2 (en) * 2004-04-14 2007-01-23 Hitachi, Ltd. Method and apparatus for avoiding journal overflow on backup and recovery system using storage based journaling
JP4455927B2 (ja) * 2004-04-22 2010-04-21 株式会社日立製作所 バックアップ処理方法及び実施装置並びに処理プログラム
US7415585B1 (en) * 2004-11-18 2008-08-19 Symantec Operating Corporation Space-optimized backup repository grooming

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002278819A (ja) * 2001-03-21 2002-09-27 Toshiba Corp スナップショットイメージの世代管理方法、記憶媒体、及び世代管理装置
JP2002182988A (ja) * 2001-10-05 2002-06-28 Fujitsu Ltd データ処理システムのバックアップ制御装置及び方法
JP2004118413A (ja) * 2002-09-25 2004-04-15 Hitachi Ltd ストレージシステム、記憶装置、ホスト計算機、および、スナップショット作成方法。
JP2004342050A (ja) * 2003-03-18 2004-12-02 Hitachi Ltd 複数のスナップショット維持方法及びサーバ装置及びストレージ装置
JP2006065622A (ja) * 2004-08-27 2006-03-09 Hitachi Ltd スナップショットの作成方法及びプログラム並びにストレージシステム

Also Published As

Publication number Publication date
US8095822B2 (en) 2012-01-10
DE602005000926D1 (de) 2007-05-31
US7536592B2 (en) 2009-05-19
US20090216977A1 (en) 2009-08-27
DE602005000926T2 (de) 2008-01-17
JP2006163729A (ja) 2006-06-22
US20060136771A1 (en) 2006-06-22
EP1667023A1 (en) 2006-06-07
EP1667023B1 (en) 2007-04-18

Similar Documents

Publication Publication Date Title
JP4583150B2 (ja) ストレージシステム、及びストレージシステムにおけるスナップショットデータ作成方法
US7028216B2 (en) Disk array system and a method of avoiding failure of the disk array system
US9069476B2 (en) Method for managing storage system using flash memory, and computer
JP4890160B2 (ja) ストレージシステム及びバックアップ/リカバリ方法
US7650480B2 (en) Storage system and write distribution method
US8176359B2 (en) Disk array system and control method thereof
US7930506B2 (en) Information processing system and management device for managing relocation of data based on a change in the characteristics of the data over time
US7783850B2 (en) Method and apparatus for master volume access during volume copy
JP4884885B2 (ja) 記憶制御装置及び記憶制御装置の障害回復方法
US7146474B2 (en) System, method and computer program product to automatically select target volumes for a fast copy to optimize performance and availability
US7849258B2 (en) Storage apparatus and data verification method for the same
JP2007156597A (ja) ストレージ装置
US20120023287A1 (en) Storage apparatus and control method thereof
EP1860556A2 (en) Storage system and control method thereof
US20140075240A1 (en) Storage apparatus, computer product, and storage control method
JP4681247B2 (ja) ディスクアレイ装置及びディスクアレイ装置の制御方法
US20080276061A1 (en) Method and computer for determining storage device
US20090070539A1 (en) Automated File Recovery Based on Subsystem Error Detection Results
JP2006268673A (ja) 記憶制御装置及び記憶デバイスのエラー制御方法
JP2005222404A (ja) 仮想記憶ユニットを備えた記憶制御サブシステム
US20010049776A1 (en) Method and apparatus for inter-disk copy processing, and a computer product
US7337269B2 (en) Method of managing a data storage array, and a computer system including a raid controller
JP4473206B2 (ja) 計算機システム
US20090300309A1 (en) Storage apparatus
JP5829753B2 (ja) ストレージシステムおよび記憶制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070919

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100608

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100806

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

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

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees