JP4454342B2 - ストレージシステム及びストレージシステムの制御方法 - Google Patents

ストレージシステム及びストレージシステムの制御方法 Download PDF

Info

Publication number
JP4454342B2
JP4454342B2 JP2004057813A JP2004057813A JP4454342B2 JP 4454342 B2 JP4454342 B2 JP 4454342B2 JP 2004057813 A JP2004057813 A JP 2004057813A JP 2004057813 A JP2004057813 A JP 2004057813A JP 4454342 B2 JP4454342 B2 JP 4454342B2
Authority
JP
Japan
Prior art keywords
volume
differential
snapshot
group
primary
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 - Lifetime
Application number
JP2004057813A
Other languages
English (en)
Other versions
JP2005250676A (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 JP2004057813A priority Critical patent/JP4454342B2/ja
Priority to US10/868,991 priority patent/US7181477B2/en
Publication of JP2005250676A publication Critical patent/JP2005250676A/ja
Application granted granted Critical
Publication of JP4454342B2 publication Critical patent/JP4454342B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • G06F11/2076Synchronous techniques
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2082Data synchronisation
    • 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/0614Improving the reliability of 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • 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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0038System on Chip
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99954Version management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、ストレージシステム及びストレージシステムの制御方法に関する。
ストレージシステムは、大容量の記憶装置を用いて、多数のホストコンピュータにストレージサービスを提供することができる。大容量の記憶装置としては、例えば、アレイ状に配設された多数のディスクドライブを、RAID(Redundant Array of Independent Inexpensive Disks)に基づいて運用するディスクアレイ装置が知られている。
ストレージシステムは、高可用性等を実現するために、スナップショット作成機能を提供する。スナップショットとは、スナップショット作成時点における静止化されたデータイメージを言う。スナップショットは、ボリュームスナップショットと差分スナップショットとに大別することができる。
ボリュームスナップショットとは、主ボリュームと副ボリュームとでそれぞれ同一のデータを保持させて、データを二重化(ミラーリング)することによりスナップショットを得る技術である(特許文献1)。スナップショットを取得するときは、主ボリュームと副ボリュームとの結合を解除(スプリット)し、主ボリュームから切り離された副ボリュームをスナップショットして使用する。副ボリュームは、スナップショット作成時点における主ボリュームのコピーである。副ボリュームを用いてバックアップすることにより、バックアップ処理中でも、主ボリュームを用いてストレージサービスを提供できる。バックアップ完了後には、スプリット期間中に主ボリュームで更新されたデータを、副ボリュームに反映させ、再び二重化を開始させる。
差分スナップショットとは、主ボリューム上の変更箇所に関する情報を管理することにより、ある時点におけるスナップショットを実現するものである。例えば、主ボリュームに記憶されているデータを更新する場合、更新前のデータ(旧データ)を差分ボリュームに退避させた後で、新しいデータを主ボリュームに書き込む。そして、データの更新箇所や退避先等に関する管理情報をテーブル等により管理する。これにより、ある特定の時点におけるデータ構成を複数の世代(複数時点)にわたって管理することができる。
特開2002−373093号公報
ある時点におけるボリュームの全体をコピーするボリュームスナップショットでは、ユーザが所望する時点に作成されたボリュームスナップショットを利用することにより、その時点におけるデータ群を直ちに利用することができる。また、ボリュームスナップショットでは、ボリューム全体をコピーしているので、ディスク障害等への耐性も高い。しかし、ボリュームスナップショットは、コピー元のボリュームと同量のボリュームを必要とする。従って、スナップショット対象のボリューム数や世代数が増加するほど、大量のボリュームを必要とする。大量のボリュームを必要とするため、スナップショットを取得可能な世代数も比較的少ない。
これに対し、差分スナップショットでは、更新された箇所に関する情報のみを別途取り出して管理するため、ボリュームスナップショットに比べて、スナップショット作成に必要なボリューム容量を小さくすることができる。また、差分スナップショットでは、変更箇所に関する情報を抽出して管理するため、ボリュームスナップショットに比べて、速やかにスナップショットを得ることができる。しかし、差分スナップショットでは、例えば、ディスクの二重障害等によって差分データが失われたりすると、その時点で、そのスナップショットも失われてしまう。従って、ボリュームスナップショットに比べて、差分スナップショットは耐障害性が低い。ここで、ディスクの二重障害とは、RAIDグループを構成するディスク群で複数の障害が同時に発生することをいう。さらに、差分ボリュームの容量は比較的小さく設定されるため、差分ボリュームの容量を超えて差分スナップショットが作成される可能性がある。この場合、新たな差分スナップショットによって過去の差分スナップショットが上書きされてしまい、過去に取得された差分スナップショットが失われる。
そこで、本発明の一つの目的は、より少ない記憶資源を用いて、データの世代管理を高い信頼性で実現可能なストレージシステム及びストレージシステムの制御方法を提供することにある。本発明の一つの目的は、より多くの世代でデータを管理可能なストレージシステム及びストレージシステムの制御方法を提供することにある。本発明の他の目的は、後述する実施の形態の記載から明らかになるであろう。
上記課題を解決すべく、本発明に従うストレージシステムは、上位装置により更新または参照されるデータを記憶するための第1のボリュームと、第1のボリュームの変更状態を示す情報を記憶するための第1の変更状態管理用ボリュームと、第1のボリュームに対応付けられる第2のボリュームと、第1の変更状態管理用ボリュームに対応付けられる第2の変更状態管理用ボリュームと、第1のボリュームと第2のボリューム、第1の変更状態管理用ボリュームと第2の変更状態管理用ボリュームの記憶内容をそれぞれ同期させる同期処理を行うボリューム同期部と、を備えている。
ボリュームの変更状態とは、例えば、ボリュームに記憶されているデータの変更状態を意味し、第1,第2の変更状態管理用ボリュームには、例えば、更新前のデータ及びそのデータの元の記憶先アドレス等に関する情報を記憶させることができる。ボリューム同期部は、第1,第2のボリュームの記憶内容を同期させ、また、第1,第2の変更状態管理用ボリュームの記憶内容を同期させる。第1,第2のボリュームを同期させることにより、ある時点における静止化されたデータイメージをボリューム全体で取得可能である。また、第1の変更状態管理用ボリュームにより、第1のボリュームの変更部分のみを管理することができる。そして、第1の変更状態管理用ボリュームと第2の変更状態管理用ボリュームとを同期させることにより、変更状態に関する情報を二重化することができ、信頼性を高めることができる。
第1の変更状態管理用ボリュームの利用状態が予め設定された状態に達した場合、ボリューム同期部による同期処理を行わせ、第1の変更状態管理用ボリュームを初期化させる制御部をさらに備えることができる。
そして、例えば、第1の変更状態管理用ボリュームの利用状態として、第1の変更状態管理用ボリュームの利用率を、予め設定された状態として、予め設定された所定値を挙げることができる。利用率に代えて、利用容量等の他のパラメータを用いてもよい。
第1のボリューム及び第1の変更状態管理用ボリュームと、第2のボリューム及び第2の変更状態管理用ボリュームとを、第1,第2のボリューム等と呼ぶ。第1,第2のボリュームの運用方法としては、常時同期させておく同期運用と、常時スプリットさせておくスプリット運用とが考えられる。第1の変更状態管理用ボリュームの利用状態が予め設定された状態に達した場合(所定タイミングに達した場合)、第1,第2のボリューム等がスプリット運用されているときは、第1のボリュームと第2のボリューム、及び第1の変更状態管理用ボリュームと第2の変更状態管理用ボリュームをそれぞれ同期させる。一方、第1,第2のボリューム等が既に同期して運用されているときは、その時点で同期処理は完了しているので、あえて同期処理を実行させる必要はない。
制御部は、第1,第2のボリューム等を同期させた後で、第1の変更状態管理用ボリュームを初期化させる。これにより、第1の変更状態管理用ボリュームには、第1のボリュームに関する新たな変更に関する情報を記憶させることができる。初期化前に第1の変更状態管理用ボリュームに記憶されていた情報は、第2の変更状態管理用ボリュームに記憶されている。このように、第1の変更状態管理用ボリュームの利用状態が予め設定された状態に達した場合は、第1の変更状態管理用ボリュームの記憶内容を第2の変更状態管理用ボリュームに移してから、第1の変更状態管理用ボリュームを初期化して新たな情報を記憶させる。またこれと略同時に、第1のボリュームの記憶内容を第2のボリュームに移すことができる。従って、所定タイミングに達した場合、その時点におけるボリューム全体のコピーと、その時点までの変更に関する情報のコピーとの両方を取得することができ、さらに、第1の変更状態管理用ボリュームを初期化して再使用し、記憶内容の変更状態に基づいてより多くの世代でデータを管理することができる。
例えば、同期運用を前提とする場合、制御部は、通常の場合はボリューム同期部による同期処理を行わせ、第1の変更状態管理用ボリュームの利用状態が予め設定された状態に達した場合、同期処理を停止させて第1の変更状態管理用ボリュームを初期化させる。
制御部は、同期処理が完了した場合に、第2のボリューム及び第2の変更状態管理用ボリュームの記憶内容をバックアップ記憶部にバックアップさせることができる。より詳しくは、第1,第2のボリューム等を同期させた後で、第1,第2のボリューム等をスプリットし、第2のボリューム及び第2の変化状態管理用ボリュームの記憶内容をバックアップ記憶部にバックアップさせる。これにより、第1の変化状態管理用ボリュームが初期化される前の記憶内容と所定タイミングにおける第1のボリュームの記憶内容との両方を、バックアップ記憶部にバックアップさせることができる。また、このバックアップは、第2のボリューム及び第2の変化状態管理用ボリュームを対象として行われるため、第1のボリューム及び第1の変化状態管理用ボリュームの使用が中断されることはない。
ボリューム同期部は、上位装置からの更新データを第1のボリューム及び第2のボリュームにそれぞれ入力させることにより、同期処理を実行することができる。
本発明の他の観点に従うストレージシステムの制御方法は、第1のボリューム及び該第1のボリュームの変更部分を示す情報を記憶するための第1の差分ボリュームを含む第1のボリューム群と、第1のボリュームに対応付けられる第2のボリューム及び第1の差分ボリュームに対応付けられる第2の差分ボリュームを含む第2のボリューム群とを備えたストレージシステムの制御方法であって、第1のボリューム群の記憶内容と第2のボリューム群の記憶内容とを同期させて使用するステップと、第1の差分ボリュームの利用率を取得するステップと、利用率が予め設定された所定値に達している場合には、第1のボリューム群と第2のボリューム群との同期を停止させるステップと、第1の差分ボリュームを初期化させるステップと、を含んでいる。
さらに、第1のボリューム群と第2のボリューム群との同期を停止させるステップの後に、第2のボリューム群の記憶内容をバックアップさせるステップを含めてもよい。
本発明のさらに別の観点に従うストレージシステムは、第1のボリューム及び該第1のボリュームの変更部分を示す情報を記憶するための第1の差分ボリュームを含む第1のボリューム群と、第1のボリュームに対応付けられる第2のボリューム及び第1の差分ボリュームに対応付けられる第2の差分ボリュームを含む第2のボリューム群と、第1のボリューム群の記憶内容と第2のボリューム群の記憶内容とを同期させるボリューム同期部と、所定の場合に、第1の差分ボリュームの記憶内容と第2の差分ボリュームの記憶内容とを異ならせる制御部と、を備えている。
以下、図1〜図8に基づき、本発明の実施の形態を説明する。本実施例のストレージシステム100は、その詳細は後述するが、主ボリューム群30及び副ボリューム群40を備えている。主ボリューム群30は、第1のプライマリボリューム31と、この第1のプライマリボリュームの記憶内容が変更された場合に、この変更部分に関する情報を記憶する第1の差分ボリューム32とを含んで構成され、副ボリューム群40は、第1のプライマリボリューム31に対応付けられる第2のプライマリボリューム41と、第1の差分ボリューム32に対応付けられ、第2のプライマリボリューム41の記憶内容が変更された場合に、この変更部分に関する情報を記憶する第2の差分ボリューム42とを含んで構成される。
さらに、ストレージシステム100は、主ボリューム群30と副ボリューム群40との同期またはスプリットを制御するボリュームスナップショット部21と、第1のプライマリボリューム31,第2のプライマリボリューム41の差分スナップショットをそれぞれ生成して、第1の差分ボリューム32,第2の差分ボリューム42にそれぞれ記憶させる差分スナップショット部13と、ボリュームスナップショット部21と差分スナップショット部13とをそれぞれ制御するスナップショット取得制御部12とを備えている。
そして、スナップショット取得制御部12は、(1)スナップショット取得要求を受け付けると、(2)第1の差分ボリューム32の利用率が予め設定された所定値に達しているか否かを判定し、(3)利用率が所定値に達していると判定した場合は、ボリュームスナップショット部21により、主ボリューム群30と副ボリューム群40とを同期させた後でスプリットさせ、(4)差分スナップショット部13により、第1の差分ボリューム32を初期化させ、(5)差分スナップショット部13により、第1の差分ボリューム32に新たな差分スナップショットを記憶させ、(6)副ボリューム群40の記憶内容をバックアップさせる、ように制御する。
まず、図1を参照して本実施例の全体概要を説明し、図2以下を参照しながら、具体的な構成について説明する。
ストレージシステム100は、アクセスボリュームとして使用される主ボリューム群30と、主ボリューム群30に同期される副ボリューム群40を備えている。主ボリューム群30は、プライマリボリューム31と差分ボリューム32とを備える。同様に、副ボリューム群40も、プライマリボリューム41及び差分ボリューム42を備える。各差分ボリューム32,42には、例えば、3世代分の差分スナップショットD1〜D3をそれぞれ記憶させることができる。D1は第1世代の差分スナップショットを、D2は第2世代の差分スナップショットを、D3は第3世代の差分スナップショットを表す。
図1(a)に示すように、通常の状態において、主ボリューム群30と副ボリューム群40とは、同期して運用されている。あるいは、通常の状態において、主ボリューム群30と副ボリューム群40とはスプリット状態で運用され、差分ボリューム31の利用率が所定値に達した状態で新たなスナップショット取得要求が発生した場合に、各ボリューム群30,40が同期される。同期状態で運用する場合は、主ボリューム群側のプライマリボリューム31と副ボリューム群側のプライマリボリューム41とに、それぞれ同一のデータが書き込まれる。クライアント1からのスナップショット取得要求が発行されるたびに、差分スナップショットが作成されて差分ボリューム32に記憶される。ボリューム群30,40を同期させることにより、主ボリューム群側の差分ボリューム32の記憶内容は、副ボリューム群側の差分ボリューム42にも反映される。従って、各差分ボリューム32,42には、それぞれ同一内容の差分スナップショットが保持される。
ストレージシステム100の運用を続けるうちに、やがて、主ボリューム群側の差分ボリューム32の利用率が所定値に到達する。所定値は、差分ボリューム32の空き容量を超えて新たな差分スナップショットが作成されないように、例えば、差分ボリューム32の初期容量の70%〜90%程度の値に設定可能である。差分ボリューム32が満杯に近づいた状態で、新たなスナップショット取得要求が発生した場合は、クライアント1からのアクセス要求を遮断して、データの更新がこれ以上進むのを阻止する。そして、図1(b)に示すように、主ボリューム群30と副ボリューム群40との同期を解除(スプリット)させる。
次に、図1(c)に示すように、主ボリューム群側の差分ボリューム32を初期化し、新たに取得を要求された第4世代の差分スナップショットD4を作成する。一方、スプリットされた副ボリューム群40の記憶内容は、バックアップ装置50にコピーされてバックアップされる。これにより、スプリット時点におけるボリュームスナップショットと、スプリット前(新たな差分スナップショット作成前)における各世代の差分スナップショットD1〜D3とが、バックアップされる。なお、差分ボリューム32の利用率が所定値に達している場合(利用率≧所定値)であっても、新たなスナップショット取得要求が出されない限り、差分ボリューム32は初期化されない。これにより、クライアント1からの要求に応じて、差分ボリューム32に保持されている世代のデータ構成を速やかに再現することができる。
図1(d)に示すように、副ボリューム群40のバックアップ完了後に、主ボリューム群30と副ボリューム群40とを再び連結し、再同期させる。これにより、スプリット期間中に、主ボリューム群側の差分ボリューム32に記憶された差分スナップショットD4,D5が、副ボリューム群側の差分ボリューム42にも記憶される。
以上のように、主ボリューム群側の差分ボリューム32の利用率が所定値に達すると、主ボリューム群30と副ボリューム群40とがスプリットされ、主ボリューム側の差分ボリューム32が初期化されると共に、副ボリューム群40がバックアップされる。これにより、初期化された差分ボリューム32に新たな差分スナップショットを作成することができ、図示の例では、スナップショットの取得可能数を3個から6個に倍増させることができる。
次に、ストレージシステム100の詳細を説明する。図2は、ストレージシステム100の概略ブロック図である。ストレージシステム100は、NAS(Network-Attached Storage)10と、ディスクサブシステム20と、バックアップ装置50とを備えて構成することができる。ストレージシステム100は、複数のクライアント1に対して、ストレージサービスを提供する。
クライアント1は、例えば、ワークステーション、サーバ、メインフレーム、パーソナルコンピュータ等ようなコンピュータ装置上で稼働するプログラムである。各クライアント1は、例えば、インターネットやLAN(Local Area Network)等の通信ネットワークCN1を介して、NAS10にそれぞれ接続されている。各クライアント1は、NAS10の提供するファイル共有機能をそれぞれ利用することができる。
クライアント1のOSがWindows(米国マイクロソフト社の登録商標)である場合は、そのクライアント1とNAS10との間のファイル転送は、CIFS(Common Internet File System)プロトコルに従う。クライアント1のOSがUNIX(X/Open Company Limitedの登録商標)の場合、そのクライアント1とNAS10との間のファイル転送は、NFS(Network File System)プロトコルに従う。
NAS10は、高機能なファイル共有サービスを提供するコンピュータ装置である。NAS10は、ファイル共有サーバ11と、スナップショット取得制御機能12と、差分スナップショット機能13と、NAS OS14とを備えている。主要な機能の詳細は、図3と共にさらに後述する。ここで、NAS10は、図4と共に述べるように、ディスクサブシステム20内に設けることもできるし、ディスクサブシステム20の外部に設けることもできる。NAS10とディスクサブシステム20とは、例えば、SAN(Storage Area Network)等の通信ネットワークCN2により接続される。
ディスクサブシステム20は、大容量の記憶資源を提供する。ディスクサブシステム20は、例えば、ボリュームスナップショット機能21と、主ボリューム群30と副ボリューム群40とを備えることができる。主ボリューム群30には、プライマリボリューム31と、差分ボリューム32と、マッピングテーブル33とが含まれ、副ボリューム群40には、プライマリボリューム41と、差分ボリューム42と、マッピングテーブル43とが含まれている。
主ボリューム群30は、各クライアント1により利用されるボリューム群であり、副ボリューム群40は、主ボリューム群30のコピーである。プライマリボリューム31,41には、クライアント1により利用されるデータ群がそれぞれ記憶される。差分ボリューム32,42には、プライマリボリューム31,41のデータを更新する際に、プライマリボリューム31,41から退避される更新前のデータがそれぞれ記憶される。マッピングテーブル33,43は、プライマリボリューム31,41から差分ボリューム32,42に退避したデータの元の記憶位置(退避元アドレス)や現在の記憶位置(退避先アドレス)等を管理するものである。
バックアップ装置50は、SANやLAN等の通信ネットワークCN3を介して、ディスクサブシステム20に接続されている。バックアップ装置50は、例えば、磁気テープやハードディスク、あるいは半導体メモリ等の記憶装置から構成され、ディスクサブシステム20から送信されたデータを記憶する。
次に、図3は、ストレージシステム100の主要な機能を抜き出して示すブロック図である。上述の通り、NAS10は、スナップショット取得制御機能12と、差分スナップショット機能13とを備えている。所定の制御プログラムがNAS10の演算装置(CPU等)で実行されることにより、これらの各機能12,13が実現される。
差分スナップショット機能13から先に説明する。差分スナップショット機能13は、プライマリボリューム31,41上の変更箇所に着目してスナップショットを作成するものである。差分スナップショット機能13には、差分スナップショット作成処理13Aと、コピーオンライト処理13Bと、差分スナップショット合成処理13Cと、差分スナップショット初期化処理13Dとを含めることができる。
差分スナップショット作成処理13Aは、スナップショットを作成するための領域やマッピングテーブル33を作成するための領域を、差分ボリューム32,42に確保するものである。コピーオンライト処理13Bは、クライアント1からの更新要求が発生した場合に、更新対象のデータをプライマリボリューム31,41から読み出して、差分ボリューム32,42に退避させ、マッピングテーブル33,43を更新する処理である。差分スナップショット合成処理13Cは、クライアント1からの要求に基づいて、プライマリボリューム31,41と差分ボリューム32,42とマッピングテーブル33,43とに基づいて、指定された世代のデータ群を再現するものである。差分スナップショット初期化処理13Dは、差分ボリューム32,42から差分スナップショットを削除し、また、マッピングテーブル33,43を初期化するものである。
ディスクサブシステム20が備えるボリュームスナップショット機能21には、スプリット処理21Aと、同期処置21Bとを含めることができる。スプリット処理21Aは、主ボリューム群30と副ボリューム群40との同期を解除し、主ボリューム群30から副ボリューム群40へのデータ反映を中断させるものである。同期処置21Bは、主ボリューム群30と副ボリューム群40の記憶内容を同期させるものである。同期は、ボリューム群の全体について行われ、個々のボリュームを個別に同期させるものではない。但し、ボリューム群に含まれる個々のボリュームを個別に同期させる場合でも、本発明の範囲に含まれるであろう。
NAS10が有するスナップショット取得制御機能12は、スナップショットの取得要求を受信した場合に、差分スナップショット機能13とボリュームスナップショット機能21の動作をそれぞれ制御する。スナップショット取得制御機能12には、例えば、差分ボリューム利用率取得処理12Aと、スナップショット要求受付処理12Bとを含めることができる。差分ボリューム利用率取得処理12Aは、差分ボリューム32の利用率を求めるものである。差分ボリューム32の利用率pは、例えば、変更されたブロックの個数CとブロックサイズSbとの積(C×Sb)を、差分ボリューム32の全容量Sdv0で除算することにより得られる(p=C×Sb/Sdv0)。例えば、NAS OS14に付属するコマンドを実行したり、あるいは、利用率を計算するためのプログラムを用意することにより、差分ボリューム32の利用率を求めることができる。
スナップショット要求受付処理12Bは、クライアント1からスナップショットの取得を要求されると起動し、差分ボリューム32の利用率に基づいて、差分スナップショット機能13及びボリュームスナップショット機能21の作動を制御する。詳細は図8と共にさらに後述するが、スナップショット要求受付処理12Bは、差分ボリューム32の利用率が予め設定された所定値に達している場合は、主ボリューム群30と副ボリューム群40とをスプリットし(スプリットされて運用されていた場合は、いったん同期させてから再度スプリット)、主ボリューム群の差分ボリューム32を初期化すると共に、副ボリューム群40をバックアップ装置50にバックアップさせる。
なお、スナップショット取得制御機能12及び差分スナップショット機能13は、NAS10に実装する場合に限らず、ディスクサブシステム20に実装することもできる。
次に、図4は、ストレージシステム100のハードウェア構成に着目した概略ブロック図である。図4に示す例では、NAS10を1つまたは複数の制御パッケージとして構成し、ディスクサブシステム20に装着することにより、ストレージシステム100を構成している。
ディスクサブシステム20は、複数のチャネルアダプタ(一個のみ図示。以下CHA)110と、複数のディスクアダプタ(以下DKA)120と、共有メモリ130と、キャッシュメモリ140と、スイッチ部150と、複数のディスクドライブ160と、サービスプロセッサ(以下SVP)170とを備えることができる。ディスクサブシステム20には、管理端末2がLAN等の通信ネットワークCN4を介して接続されている。管理端末2は、SVP170を介して、ディスクサブシステム20の監視や設定等を行うものである。
各CHA110は、例えば、オープン系CHAやメインフレーム系CHA等のように、接続される上位装置の種類に応じて用意される。各CHA110は、上位装置との間でデータ授受を行うものであり、それぞれ内部には、プロセッサ、ローカルメモリ、データ処理回路(いずれも図示せず)等を備えている。本実施例では、各クライアント1がNAS10を介してファイル共有サービスを利用する場合を示している。そして、図4に示す例では、CHA110は、バックアップ装置50へのデータ転送に用いられている。しかし、これに限らず、図外のホスト装置はCHA110を介して、ディスク共有サービスを利用することができる。即ち、ストレージシステム100は、ファイル共有サービスとディスク共有サービスとをそれぞれ個別に提供可能なシステムである。
各DKA120は、ディスクドライブ160との間のデータ授受を制御する。各DKA120は、それぞれプロセッサ、ローカルメモリ、データ処理回路(いずれも図示せず)等を内蔵している。
共有メモリ130は、例えば、制御コマンドや管理情報等を記憶するものであり、不揮発メモリ等から構成することができる。キャッシュメモリ140は、例えば、ユーザデータ等を記憶するものであり、不揮発メモリ等から構成することができる。共有メモリ130とキャッシュメモリ140とは、それぞれ別々のメモリパッケージとして構成することもできるし、同一の基板上に共有メモリ130とキャッシュメモリ140とを混載して構成することもできる。あるいは、メモリの一部を共有メモリ領域として使用し、他の一部をキャッシュ領域として使用するように構成してもよい。
各ディスクドライブ160は、例えば、ハードディスクドライブ(HDD)、半導体メモリ装置、光ディスク装置等の記憶装置から構成することができる。記憶装置162は、これら複数の物理的なディスクドライブ160から構成される。所定数のディスクドライブ160によってRAIDグループを構成することができる。RAIDグループとは、例えば、RAID5等に従ってデータの冗長記憶を実現するためのディスクグループである。各ディスクドライブ160により提供される物理的な記憶領域上には、論理的な記憶領域である論理ボリューム(Logical Unit)161を少なくとも1つ以上構築可能である。この論理ボリューム161が、主ボリューム群30及び副ボリューム群40の各ボリュームをそれぞれ構成する。
スイッチ部150は、例えば、超高速クロスバスイッチ等として構成され、NAS20、各CHA110、各DKA120、共有メモリ13及びキャッシュメモリ140を相互に接続させる。
SVP170は、LAN等の内部ネットワークCN5を介して、NAS20、各CHA110、各DKA120及び共有メモリ130と接続されている。SVP170は、例えば、入出力速度(IOPS)、装置構成、温度や電源のアラーム等の各種情報を収集し、管理端末2に提供する。
次に、図5は、各ボリューム31,32とマッピングテーブル33との関係を簡略化して示す説明図である。プライマリボリューム31には、例えば、格納位置PA1にデータ「AAA」が、格納位置PA1にデータ「BBB」が、格納位置PA3にデータ「CCC」が、それぞれ格納されている。その他の箇所にもデータが格納されているが説明の便宜上省略する。
クライアント1が、データ「AAA」の格納位置にデータ「aaa」を書き込む場合、つまり、格納位置PA1に記憶されるデータに対して更新要求が発生した場合、更新対象のデータ「AAA」は、差分ボリューム32に退避される。この退避先アドレスをDA1として示す。そして、マッピングテーブル33には、このデータの退避に関する情報が記憶される。即ち、マッピングテーブル33には、プライマリボリューム(PVOL)31の格納位置PA毎に、記憶内容に変更があったか否かを判定するフラグ情報と、更新された場合の退避先格納位置DAとが対応付けられている。クライアント1からの更新要求によって、プライマリボリューム31のデータが書き換えられた場合、更新前のデータは差分ボリューム32に退避され、退避元アドレスPAと退避先アドレスDAと変更有りを示す情報とがマッピングテーブル33に記憶される。
図6を参照する。図6は、差分スナップショット取得時における各ボリューム31,32及びマッピングテーブル33の関係を簡略化して示す説明図である。1番目のスナップショット(SP1)取得要求を受け付けた後で、プライマリボリューム31の格納位置PA1の記憶内容「AAA」がデータ「aaa」に更新されたと仮定する。このとき、差分ボリューム32の差分スナップショット(SP1)には、格納位置PA1の更新前の記憶内容「AAA」が記憶される。
さらに、2番目のスナップショット取得要求(SP2)を受け付け、プライマリボリューム31の格納位置PA2の記憶内容が「BBB」から「bbb」に更新された場合、第1の差分スナップショット(SP1)には、データ「AAA」に加えて、データ「BBB」も記憶される。また、第2の差分スナップショット(SP2)には、今回の更新に係わるデータ「BBB」のみが記憶される。
第1の差分スナップショット(SP1)を管理するマッピングテーブル33(SP1)には、最初の更新に係わる情報(PA1,DA1及び変更有りフラグ)と次の更新に係わる情報(PA2,DA2及び変更有りフラグ)とがそれぞれ記憶される。一方、第2の差分スナップショット(SP2)を管理するマッピングテーブル33(SP2)には、最新の更新に係わる情報(PA2,DA2及び変更有りフラグ)のみが記憶される。
つまり、各スナップショット取得要求を受け付けた時点におけるプライマリボリューム31のデータイメージをそれぞれ残すために、各差分スナップショットに関連する差分ボリューム32及びマッピングテーブル33の記憶内容が制御される。例えば、1番目の差分スナップショットSP1を作成した時点における静止化されたデータイメージを維持するためには、それ以後に行われる全てのデータ更新を記憶し管理する必要がある。
このようにデータを差分ボリューム32に退避させ、そして、退避させたデータに関する情報をマッピングテーブル33で管理することにより、スナップショット作成時点のデータ構造を再現することができる。例えば、プライマリボリューム31の格納位置PA1及びPA2の記憶内容がそれぞれ更新された後でも、差分ボリューム32(SP1)及びマッピングテーブル33(SP1)を参照すれば、1番目の差分スナップショット(SP1)を作成した時点において、格納位置PA1にはデータ「AAA」が格納されており、格納位置PA2にはデータ「BBB」が格納されていた事がそれぞれわかる。従って、マッピングテーブル33(SP1)に基づいて差分ボリューム32(SP1)を読み出すことにより、その時点におけるデータ構造を容易に再現することができる。
図7は、差分ボリューム利用率取得処理12Aの概略を示すフローチャートである。差分ボリューム利用率取得処理12Aは、スナップショット要求受付処理12Bにより起動される。
まず、NAS10は、マッピングテーブル33を参照し、主ボリューム31のうち変更された箇所のブロック数Cを求める(S1)。次に、NAS10は、差分ボリューム32の使用量Sdvを算出する(S2)。差分ボリューム使用量Sdvは、ブロックサイズSbと変更されたブロック数Cとの積から求めることができる(Sdv=Sb×C)。ここでは、ブロックサイズSbを固定長として算出するが、ブロックサイズが可変である場合は、各変更箇所毎のブロックサイズを積算すればよい。
そして、NAS10は、差分ボリューム32の利用率pを算出する(S3)。利用率pは、差分ボリューム使用量Sdvを差分ボリューム32の全容量Sdv0で割ることにより求められる(p=Sdv/Sdv0)。
次に、図8は、スナップショット要求受付処理12Bの処理概要を示すフローチャートである。本処理は、クライアント1からスナップショットの取得要求が入力されると、実行される。
NAS10は、差分ボリューム利用率取得処理12Aを呼び出し、利用率pを取得する(S11)。次に、NAS10は、利用率pと予め設定された所定値p0とを比較し、利用率pが所定値p0に達しているか否かを判定する(S12)。スナップショット取得要求の受付時における利用率pが所定値p0に達していない場合(S12:NO)、本処理を終了する。これにより、差分スナップショット機能13は、新たな差分スナップショットを作成するための記憶領域や新たなマッピングテーブル33を作成するための記憶領域を確保し、指定された時点におけるデータイメージを取得する。
一方、スナップショット取得要求を受けた時点の利用率pが所定値p0以上の場合(S12:YES)、NAS10は、各クライアント1からのアクセス要求を遮断し、プライマリボリューム31,41の更新がこれ以上進むのを防止する(S13)。
そして、NAS10は、主ボリューム群30と副ボリューム群40との現在の運用状態を判別する(S14)。運用状態には、同期状態とスプリット状態とがある。主ボリューム群30と副ボリューム群40とが同期して運用されている場合は、主ボリューム群と副ボリューム群とにそれぞれ同一のデータが入力され、両ボリューム群30,40の記憶内容は一致している。一方、主ボリューム群30と副ボリューム群40とがスプリットされて運用されている場合は、主ボリューム群30のみにデータが入力されて更新されており、両ボリューム群30,40の記憶内容は一致していない。
スナップショット取得要求を受けたときに、主ボリューム群30と副ボリューム群40とがスプリット状態で運用されていた場合は、NAS10は、この初期運用状態(即ち、スプリット状態)を記憶する(S15)。次に、NAS10は、主ボリューム群30と副ボリューム群40とを同期させた後で、再び両ボリューム群30,40をスプリットさせる(S16)。即ち、スプリット状態で運用されていた場合、NAS10は、いったん各ボリューム群30,40の記憶内容を一致させてから、スプリットさせる。
これに対し、スナップショット取得要求を受けたときに、主ボリューム群30と副ボリューム群40とが同期状態で運用されていた場合、NAS10は、この初期運用状態(即ち、同期状態)を記憶した後で(S17)、両ボリューム群30,40をスプリットさせる(S18)。各ボリューム群30,40の同期またはスプリットは、ボリュームスナップショット機能21により行われる。
このように、スナップショット取得要求を受けたときに、差分ボリューム32の利用率が所定値に達している場合は、主ボリューム群30と副ボリューム群40との記憶内容を一致させてから、各ボリューム群30,40をスプリットさせる。これにより、ボリュームスナップショットを得ることができる。
そして、NAS10は、差分スナップショット機能13によって、主ボリューム群側の差分ボリューム32を初期化させる(S19)。これにより、差分ボリューム32に記憶されていた過去の各世代の差分スナップショットは失われる。しかし、これら過去の各世代の差分スナップショットは、ボリュームスナップショットによって、副ボリューム群側の差分ボリューム42にコピーされている。
各ボリューム群30,40がスプリットされている状態下で、初期化された差分ボリューム32には、差分スナップショット機能13により作成される新世代の差分スナップショットが保存される。従って、図1(c)に示したように、主ボリューム群側で保持される差分スナップショットと、副ボリューム群側で保持される差分スナップショットとが不一致となる。この差分スナップショットの不一致状態は、差分ボリューム32を初期化したときから始まり、各ボリューム群30,40の再同期が完了したときに終了する。なお、差分ボリューム32を初期化したときに、差分ボリューム32の使用量Sdvは0となり、その時点での利用率pも0となる。
次に、NAS10は、クライアント1からのアクセス要求を許可する(S20)。これにより、各クライアント1は、主ボリューム群30にアクセスして、データの参照やデータの更新を行うことができる。
一方、NAS10は、スプリットされた副ボリューム群40を用いて、バックアップ処理を行わせる(S21)。これにより、副ボリューム群40の記憶内容は、バックアップ装置50に記憶される。
このように、NAS10は、ボリュームスナップショットを作成した後、主ボリューム群30を用いて各クライアント1にファイル共有サービスを提供し、また、副ボリューム群40を用いてバックアップ処理を行う。これにより、スナップショット取得要求を受け付けた時点までの過去の各世代の差分スナップショットは、バックアップ装置50に保持される。このバックアップ処理によって、NAS10が提供するファイル共有サービスは中断されない。
そして、NAS10は、初期運用状態が同期状態であったか否かを判定し(S22)、同期状態で運用されていた場合は(S22:YES)、ボリュームスナップショット機能21により、主ボリューム群30と副ボリューム群40とを再同期させる(S23)。初期運用状態がスプリット状態の場合は(S22:NO)、既に各ボリューム群30,40はスプリットされているので、NAS10は処理を終了する。即ち、S22,S23では、差分スナップショットの初期化前の状態に戻している。
なお、バックアップ装置50にバックアップされた過去の世代のデータ構成が必要とされた場合は、副ボリューム群40のバックアップデータをバックアップ装置50からディスクサブシステム20にリストアする。そして、リストアされたプライマリボリューム41,差分ボリューム42及びマッピングテーブル43を参照することにより、指定された世代のデータ構成を得ることができる。
上述のように本実施形態では、プライマリボリューム31及び差分ボリューム32を含む主ボリューム群30と、プライマリボリューム41及び差分ボリューム42を含む副ボリューム群40とを同期可能な構成とした。従って、ユーザは、ボリュームスナップショットと差分スナップショットとの両方を利用することができ、スナップショットの低容量化と高信頼性とを両立させて、利便性を向上させることができる。
特に、本実施形態では、ボリュームスナップショットと差分スナップショットを同期させて運用する構成とした。即ち、差分ボリューム32の利用が進むたびに、差分ボリューム32を含む主ボリューム群30の全体を、ボリュームスナップショットによって、コピーする構成とした。従って、ボリュームスナップショットのみを使用する場合に比べて、スナップショットに必要なボリュームを低減することができる。また、差分スナップショットのみを使用する場合に比べて、スナップショットの信頼性を高めることができる。
さらに、本実施形態では、差分ボリューム32の利用が進んだ時点で、主ボリューム群30をボリュームスナップショットし、差分ボリューム32を初期化する構成とした。従って、初期化された差分ボリューム32に新たな差分スナップショットを作成して保存させることができる。これにより、差分スナップショットの取得可能数をほぼ倍増させることができ、データ管理の利便性が向上する。
また、差分ボリュームの利用率が所定値に達したか否かに基づいて、差分ボリューム32を初期化する構成とした。従って、スナップショット取得回数に基づいて差分ボリューム32を初期化する場合よりも、差分ボリューム32を有効に使用できる。
次に、図9に基づいて、本発明の変形例を説明する。図9には、記憶装置とサーバとの種々の接続形態を含むストレージシステムが示されている。このストレージシステムには、大きく分けて3種類の接続形態が開示されている。
第1の接続形態は、サーバと記憶装置とをSANのようなネットワークを介して接続する形態である。第2の接続形態は、サーバと記憶装置とを直接的に接続する形態である。第3の接続形態は、サーバの内部に記憶装置を設ける形態である。
図9の全体構成について簡単に説明すると、LAN200には、複数の業務クライアント300と、複数の業務サーバ400と、NASサーバ410,420と、ファイルサーバ430と、管理サーバ600とが接続されている。
各業務サーバ400、NASサーバ410、各記憶装置500は、SAN210を介して相互に接続されている。SAN210は、例えばIPネットワーク220を介して、別のSAN230に接続されている。SAN210と同様に、別のSAN23にも、複数の業務サーバ400と複数の記憶装置500とがそれぞれ接続されている。従って、SAN210に接続された各サーバや記憶装置とSAN230に接続されたサーバや記憶装置とは、互いにデータ通信を行うことができる。
ここで、業務サーバ400は、各種の業務アプリケーションサービスを各業務クライアント300に提供するものである。NASサーバ410は、ファイル共有サービスに特化した専用のサーバである。記憶装置500は、例えば、ディスクサブシステム20として上述したように、業務サーバ400やNASサーバ410に大容量の記憶領域を提供する装置である。管理サーバ600は、管理用のLAN201を介して各記憶装置500に接続されており、各記憶装置500の構成や状態等を管理することができる。また、管理サーバ600は、LAN200を介して各業務サーバ400やNASサーバ410等と接続されている。管理サーバ600は、業務サーバ400やNASサーバ410等に代わって、記憶装置500に各種のコマンドを出力することができる。
図9に示された構成のうち、SAN210により相互に接続されたNASサーバ400と記憶装置500とは、前記第1の接続形態の一例である。
別のNASサーバ420は、別の記憶装置510と直接的に接続されている。この接続形態は、例えば、前記第2の接続形態に該当する。上述した実施例は、この第2の接続形態を例に挙げて説明している。NASサーバ420と記憶装置510とは、例えば、TCP/IPのようなプロトコルに基づいて、データ授受を行うことができる。
ファイルサーバ430は、汎用OS上にファイル共有プロトコル等を実装したサーバであり、ファイル共有サービスを提供する。ファイルサーバ430は、その内部に記憶装置を備えることができる。ファイルサーバ430は、前記第3の接続形態に該当する。
本発明は、NAS420と記憶装置510のような構成(第2の接続形態)以外に、NAS410と記憶装置500とをSAN210で接続した構成(第1の接続形態)や、ファイルサーバ430等のような構成にも適用することができる。
具体的には、図2中に示すNAS10は、図9中に示す各サーバ400〜430のいずれであってもよい。また、図2中に示すディスクサブシステム20は、図9中に示す各記憶装置500,510のいずれあってもよい。
なお、本発明は、上述した実施の形態に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。
例えば、差分ボリュームの利用率が所定値に達していない場合であっても、ユーザからの指定により、主ボリューム群と副ボリューム群とを同期させ、差分ボリュームを初期化してもよい。
また、差分ボリュームの利用状態を常時監視しておき、所定の状態(利用率が所定値に達した場合等)になった場合には、スナップショット取得要求の有無を問わず、主ボリューム群と副ボリューム群とを同期させることもできる。
また、差分ボリュームの利用率に代えて、差分スナップショットの取得回数を採用してもよい。
さらに、副ボリューム群のコピーを、リモートサイトに置く構成としてもよい。
本発明に係わるストレージシステムの特徴を概略的に示す模式図である。 ストレージシステムの全体構成を示すブロック図である。 差分スナップショット機能、ボリュームスナップショット機能及びスナップショット取得制御機能の関係を示す説明図である。 ストレージシステムのハードウェア構成に着目したブロック図である。 プライマリボリューム、差分ボリューム及びマッピングテーブルの関係を示す説明図である。 差分スナップショットを作成する様子を模式的に示す説明図である。 差分ボリューム利用率取得処理を示すフローチャートである。 スナップショット要求受付処理を示すフローチャートである。 サーバと記憶装置の種々の接続形態を含むストレージシステムの概略図である。
符号の説明
1…クライアント、2…管理端末、11…ファイル共有サーバ、12…スナップショット取得制御機能、12A…差分ボリューム利用率取得処理、12B…スナップショット要求受付処理、13…差分スナップショット機能、13A…差分スナップショット作成処理、13B…コピーオンライト処理、13C…差分スナップショット合成処理、13D…差分スナップショット初期化処理、20…ディスクサブシステム、21…ボリュームスナップショット機能、21A…スプリット処理、21B…同期処置、30…主ボリューム群、31…プライマリボリューム、32…差分ボリューム、33…マッピングテーブル、40…副ボリューム群、41…プライマリボリューム、42…差分ボリューム、43…マッピングテーブル、50…バックアップ装置、100…ストレージシステム、110…チャネルアダプタ、120…ディスクアダプタ、130…共有メモリ、140…キャッシュメモリ、150…スイッチ部、160…ディスクドライブ、161…論理ボリューム、162…記憶装置、200…LAN、201…管理用LAN、210,230…SAN、220…IPネットワーク、300…業務クライアント、400…業務サーバ、410,420…NASサーバ、430…ファイルサーバ、500,510…記憶装置、600…管理サーバ、CN1〜CN5…通信ネットワーク、D1〜D5…差分スナップショット

Claims (1)

  1. 主ボリューム群及び副ボリューム群を備えたストレージシステムにおいて、
    前記主ボリューム群は、第1のプライマリボリュームと、この第1のプライマリボリュームの記憶内容が変更された場合に、この変更部分に関する情報を記憶する第1の差分ボリュームとを含み、
    前記副ボリューム群は、前記第1のプライマリボリュームに対応付けられる第2のプライマリボリュームと、前記第1の差分ボリュームに対応付けられ、前記第2のプライマリボリュームの記憶内容が変更された場合に、この変更部分に関する情報を記憶する第2の差分ボリュームとを含み、
    前記主ボリューム群と前記副ボリューム群との同期またはスプリットを制御するボリュームスナップショット部と、
    前記第1のプライマリボリューム,前記第2のプライマリボリュームの差分スナップショットをそれぞれ生成して、前記第1の差分ボリューム,前記第2の差分ボリュームにそれぞれ記憶させる差分スナップショット部と、
    前記ボリュームスナップショット部と前記差分スナップショット部とをそれぞれ制御するスナップショット取得制御部とを備え、
    前記スナップショット取得制御部は、
    (1)スナップショット取得要求を受け付けると、
    (2)前記第1の差分ボリュームの利用率が予め設定された所定値に達しているか否かを判定し、
    (3)前記利用率が前記所定値に達していると判定した場合は、前記ボリュームスナップショット部により、前記主ボリューム群と前記副ボリューム群とを同期させた後でスプリットさせ、
    (4)前記差分スナップショット部により、前記第1の差分ボリュームを初期化させ、
    (5)前記差分スナップショット部により、前記第1の差分ボリュームに新たな差分スナップショットを記憶させ、
    (6)前記副ボリューム群の記憶内容をバックアップさせる、
    ものであるストレージシステム。
JP2004057813A 2004-03-02 2004-03-02 ストレージシステム及びストレージシステムの制御方法 Expired - Lifetime JP4454342B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004057813A JP4454342B2 (ja) 2004-03-02 2004-03-02 ストレージシステム及びストレージシステムの制御方法
US10/868,991 US7181477B2 (en) 2004-03-02 2004-06-15 Storage system and storage control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004057813A JP4454342B2 (ja) 2004-03-02 2004-03-02 ストレージシステム及びストレージシステムの制御方法

Publications (2)

Publication Number Publication Date
JP2005250676A JP2005250676A (ja) 2005-09-15
JP4454342B2 true JP4454342B2 (ja) 2010-04-21

Family

ID=34909061

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004057813A Expired - Lifetime JP4454342B2 (ja) 2004-03-02 2004-03-02 ストレージシステム及びストレージシステムの制御方法

Country Status (2)

Country Link
US (1) US7181477B2 (ja)
JP (1) JP4454342B2 (ja)

Families Citing this family (69)

* 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
US7787360B2 (en) * 2004-07-23 2010-08-31 Cisco Technology, Inc. System and method for preserving multicast data forwarding during control failures in a router
JP4545529B2 (ja) * 2004-08-27 2010-09-15 株式会社日立製作所 スナップショットの作成方法及びプログラム並びにストレージシステム
JP4550541B2 (ja) 2004-10-06 2010-09-22 株式会社日立製作所 ストレージシステム
JP4583150B2 (ja) * 2004-12-06 2010-11-17 株式会社日立製作所 ストレージシステム、及びストレージシステムにおけるスナップショットデータ作成方法
GB2422455A (en) * 2005-01-24 2006-07-26 Hewlett Packard Development Co Securing the privacy of sensitive information in a data-handling system
US7159072B2 (en) * 2005-03-24 2007-01-02 Hitachi, Ltd. Method and apparatus for monitoring the quantity of differential data in a storage system
JP4688617B2 (ja) * 2005-09-16 2011-05-25 株式会社日立製作所 記憶制御システム及び方法
JP4662548B2 (ja) * 2005-09-27 2011-03-30 株式会社日立製作所 スナップショット管理装置及び方法並びにストレージシステム
JP4749112B2 (ja) * 2005-10-07 2011-08-17 株式会社日立製作所 記憶制御システム及び方法
AU2006331932B2 (en) 2005-12-19 2012-09-06 Commvault Systems, Inc. Systems and methods for performing data replication
US7606844B2 (en) 2005-12-19 2009-10-20 Commvault Systems, Inc. System and method for performing replication copy storage operations
US7651593B2 (en) 2005-12-19 2010-01-26 Commvault Systems, Inc. Systems and methods for performing data replication
US8661216B2 (en) * 2005-12-19 2014-02-25 Commvault Systems, Inc. Systems and methods for migrating components in a hierarchical storage network
US7617262B2 (en) * 2005-12-19 2009-11-10 Commvault Systems, Inc. Systems and methods for monitoring application data in a data replication system
JP4741371B2 (ja) * 2006-01-05 2011-08-03 株式会社日立製作所 システム、サーバ装置及びスナップショットの形式変換方法
JP4796854B2 (ja) * 2006-01-30 2011-10-19 株式会社日立製作所 差分リモートコピーにおける中間ボリュームのデータ溢れ対策
JP4903461B2 (ja) * 2006-03-15 2012-03-28 株式会社日立製作所 記憶システム及びデータ移行方法並びにサーバ装置
JP4622914B2 (ja) * 2006-03-30 2011-02-02 日本電気株式会社 複製ボリューム作成装置、複製ボリューム作成方法、複製ボリューム作成プログラム
US20070277012A1 (en) * 2006-05-23 2007-11-29 Hitachi, Ltd. Method and apparatus for managing backup data and journal
US8726242B2 (en) 2006-07-27 2014-05-13 Commvault Systems, Inc. Systems and methods for continuous data replication
US20080086608A1 (en) * 2006-10-10 2008-04-10 Hitachi, Ltd. System and method for migration of CDP journal data between storage subsystems
US8290808B2 (en) 2007-03-09 2012-10-16 Commvault Systems, Inc. System and method for automating customer-validated statement of work for a data storage environment
JP2009003499A (ja) * 2007-06-19 2009-01-08 Hitachi Ltd ファイル共有システム及びファイル共有システムを用いて単一の論理的ディレクトリ構成を生成する方法
US20090125692A1 (en) * 2007-10-24 2009-05-14 Masayuki Yamamoto Backup system and method
JP2009146389A (ja) * 2007-11-22 2009-07-02 Hitachi Ltd バックアップシステム及び方法
US8285953B2 (en) * 2007-10-24 2012-10-09 Hitachi, Ltd. Storage system group
JP4998737B2 (ja) * 2007-12-28 2012-08-15 日本電気株式会社 情報処理装置、プログラム及びバックアップ方法
WO2010049314A1 (en) * 2008-10-30 2010-05-06 International Business Machines Corporation Flashcopy handling
US9495382B2 (en) * 2008-12-10 2016-11-15 Commvault Systems, Inc. Systems and methods for performing discrete data replication
US8204859B2 (en) 2008-12-10 2012-06-19 Commvault Systems, Inc. Systems and methods for managing replicated database data
US8595191B2 (en) 2009-12-31 2013-11-26 Commvault Systems, Inc. Systems and methods for performing data management operations using snapshots
JP5321416B2 (ja) * 2009-11-06 2013-10-23 株式会社リコー 情報処理システム及び情報処理装置
US8504517B2 (en) * 2010-03-29 2013-08-06 Commvault Systems, Inc. Systems and methods for selective data replication
US8504515B2 (en) 2010-03-30 2013-08-06 Commvault Systems, Inc. Stubbing systems and methods in a data replication environment
US8725698B2 (en) 2010-03-30 2014-05-13 Commvault Systems, Inc. Stub file prioritization in a data replication system
US8352422B2 (en) 2010-03-30 2013-01-08 Commvault Systems, Inc. Data restore systems and methods in a replication environment
US8489656B2 (en) 2010-05-28 2013-07-16 Commvault Systems, Inc. Systems and methods for performing data replication
US9594421B2 (en) * 2011-03-08 2017-03-14 Xyratex Technology Limited Power management in a multi-device storage array
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
JP6070146B2 (ja) 2012-12-14 2017-02-01 富士通株式会社 情報処理装置及びバックアップ方法
US8977594B2 (en) * 2012-12-21 2015-03-10 Zetta Inc. Systems and methods for state consistent replication
US9430491B2 (en) 2013-01-11 2016-08-30 Commvault Systems, Inc. Request-based data synchronization management
US9886346B2 (en) 2013-01-11 2018-02-06 Commvault Systems, Inc. Single snapshot for multiple agents
JP2014164614A (ja) * 2013-02-26 2014-09-08 Sony Corp 情報処理装置および方法、並びにプログラム
US9323764B2 (en) 2013-11-12 2016-04-26 International Business Machines Corporation Copying volumes between storage pools
US10120617B2 (en) 2013-11-12 2018-11-06 International Business Machines Corporation Using deterministic logical unit numbers to dynamically map data volumes
US9753812B2 (en) 2014-01-24 2017-09-05 Commvault Systems, Inc. Generating mapping information for single snapshot for multiple applications
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
US9767106B1 (en) * 2014-06-30 2017-09-19 EMC IP Holding Company LLC Snapshot based file verification
US9898369B1 (en) 2014-06-30 2018-02-20 EMC IP Holding Company LLC Using dataless snapshots for file verification
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
US9774672B2 (en) 2014-09-03 2017-09-26 Commvault Systems, Inc. Consolidated processing of storage-array commands by a snapshot-control media agent
US9648105B2 (en) 2014-11-14 2017-05-09 Commvault Systems, Inc. Unified snapshot storage management, using an enhanced storage manager and enhanced media agents
US9448731B2 (en) 2014-11-14 2016-09-20 Commvault Systems, Inc. Unified snapshot storage management
JP6281511B2 (ja) * 2015-03-24 2018-02-21 日本電気株式会社 バックアップ制御装置、バックアップ制御方法、及び、プログラム
US10678663B1 (en) * 2015-03-30 2020-06-09 EMC IP Holding Company LLC Synchronizing storage devices outside of disabled write windows
US10026454B2 (en) 2015-04-28 2018-07-17 Seagate Technology Llc Storage system with cross flow cooling of power supply unit
US9817729B2 (en) * 2015-07-30 2017-11-14 Zerto Ltd. Method for restoring files from a continuous recovery system
US10503753B2 (en) 2016-03-10 2019-12-10 Commvault Systems, Inc. Snapshot replication operations based on incremental block change tracking
US10235091B1 (en) * 2016-09-23 2019-03-19 EMC IP Holding Company LLC Full sweep disk synchronization in a storage system
WO2018055750A1 (ja) * 2016-09-26 2018-03-29 株式会社日立製作所 情報システム及び記憶制御方法
US10740022B2 (en) 2018-02-14 2020-08-11 Commvault Systems, Inc. Block-level live browsing and private writable backup copies using an ISCSI server
US11042318B2 (en) 2019-07-29 2021-06-22 Commvault Systems, Inc. Block-level data replication
US11809285B2 (en) 2022-02-09 2023-11-07 Commvault Systems, Inc. Protecting a management database of a data storage management system to meet a recovery point objective (RPO)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6651075B1 (en) * 2000-02-16 2003-11-18 Microsoft Corporation Support for multiple temporal snapshots of same volume
US6446176B1 (en) 2000-03-09 2002-09-03 Storage Technology Corporation Method and system for transferring data between primary storage and secondary storage using a bridge volume and an internal snapshot copy of the data being transferred
JP4108944B2 (ja) 2001-06-14 2008-06-25 株式会社東芝 スナップショット機能を有するディスク記憶装置、スナップショット差分情報管理方法及びスナップショット管理プログラム
US6948089B2 (en) 2002-01-10 2005-09-20 Hitachi, Ltd. Apparatus and method for multiple generation remote backup and fast restore
US20030177306A1 (en) 2002-03-14 2003-09-18 Cochran Robert Alan Track level snapshot
JP4318902B2 (ja) * 2002-10-15 2009-08-26 株式会社日立製作所 記憶装置システムの制御方法、記憶装置システム、およびプログラム
US7664771B2 (en) * 2002-10-16 2010-02-16 Microsoft Corporation Optimizing defragmentation operations in a differential snapshotter
JP2005301590A (ja) * 2004-04-09 2005-10-27 Hitachi Ltd ストレージシステム及びデータ複製方法
JP4575059B2 (ja) * 2004-07-21 2010-11-04 株式会社日立製作所 ストレージ装置

Also Published As

Publication number Publication date
JP2005250676A (ja) 2005-09-15
US7181477B2 (en) 2007-02-20
US20050198083A1 (en) 2005-09-08

Similar Documents

Publication Publication Date Title
JP4454342B2 (ja) ストレージシステム及びストレージシステムの制御方法
US10002048B2 (en) Point-in-time snap copy management in a deduplication environment
US8473465B2 (en) Data mirroring system
US9256605B1 (en) Reading and writing to an unexposed device
JP5182824B2 (ja) 1次サイトと2次サイトとの間でデータを同期化するための方法、システム、及びコンピュータ・プログラム
US7987326B2 (en) Performing backup operations for a volume group of volumes
US7464236B2 (en) Storage system and storage management method
US7627776B2 (en) Data backup method
US9983946B2 (en) Instant data restoration
US7523277B1 (en) Transient point-in-time images for continuous data protection
US7913046B2 (en) Method for performing a snapshot in a distributed shared file system
US20140208012A1 (en) Virtual disk replication using log files
US10915406B2 (en) Storage unit replacement using point-in-time snap copy
JP2006023889A (ja) リモートコピーシステム及び記憶装置システム
JP2005202915A (ja) スナップショット取得方法
JP2005292952A (ja) ストレージシステム、ストレージ装置及びリモートコピー方法
US20110320710A1 (en) Storage system and data management method
JP2003015933A (ja) 記憶装置のファイルレベルリモートコピー方法
US10956271B2 (en) Point-in-time copy on a remote system
US20160357479A1 (en) Storage control apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070131

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20070131

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091020

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091216

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

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

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

Free format text: PAYMENT UNTIL: 20130212

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4454342

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250