JP2020201702A - ストレージシステム及びスナップショット管理方法 - Google Patents
ストレージシステム及びスナップショット管理方法 Download PDFInfo
- Publication number
- JP2020201702A JP2020201702A JP2019107928A JP2019107928A JP2020201702A JP 2020201702 A JP2020201702 A JP 2020201702A JP 2019107928 A JP2019107928 A JP 2019107928A JP 2019107928 A JP2019107928 A JP 2019107928A JP 2020201702 A JP2020201702 A JP 2020201702A
- Authority
- JP
- Japan
- Prior art keywords
- snapshot
- storage system
- interface
- generation
- group
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/128—Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】複数ユーザから同一正ボリュームのスナップショットを取得しても、全ユーザが問題なくスナップショット管理可能なストレージを提供するストレージシステム及びスナップショット管理方法を提供する。【解決手段】複数のインターフェースから作成されたスナップショットをグループ化する。グループ化はスナップショット作成時に行われ、グループ内のスナップショット群は、スナップショットが作成された時刻に他のインターフェースから必要とされるスナップショットである。グループ化されたスナップショットに対して削除指示がされた場合、スナップショットデータは削除せず、削除指示されたことのみを記録する。グループ内の全スナップショットが削除指示済になった場合、どのユーザからも不要なスナップショットと判断できるため、グループを削除する。グループ削除後、削除指示済でグループ化されていないスナップショットを削除する。【選択図】図12
Description
本発明は、ストレージシステムに関し、特にスナップショットを管理するに好適な技術に関する。
ストレージシステムでは、ホストが処理に利用するデータを書き込むボリュームである正ボリュームのデータをバックアップすることが行われている。バックアップとしては、例えば、所定の時点のボリュームの状態のスナップショットを管理する方法が知られている。スナップショットを構成するデータは、正ボリューム又はボリュームより1つ下の論理記憶階層であるプールに記録されている。
スナップショット作成指示後に正ボリュームにライトアクセスが発生した際には、正ボリュームのライト先の領域のデータをプールに退避することで、所定の時点のデータを保持する。正ボリュームのデータが破壊された場合、ストレージ管理者が、プールに退避されているスナップショットデータを正ボリュームに反映させるリストア処理を行うことで、正ボリュームのデータを復旧する。
また、近年スナップショットはバックアップユースケースのみならず、データ2次利用のユースケースでも利用されている。データ2次利用のユースケースでは、基幹システムを正ボリュームで運用し、データ分析や開発・テスト用途は正ボリュームの複製である副ボリュームを用いることが想定される。副ボリュームは、正ボリュームの所定の時点のスナップショットを参照している。データ2次利用のユースケースでは、ストレージの管理者ではなくアプリケーション開発者やユーザがホスト上のアプリケーションからストレージ装置のスナップショット機能を利用する場合が多い。一方で、バックアップユースケースでは、従来通りストレージ管理者が定期的にスナップショットを作成してバックアップ運用するケースが多い。そのため、複数ユースケースで複数のユーザがスナップショットを併用する機会が増加している。
特許文献1には、スナップショット機能有するストレージシステムが記載されている。
上記特許文献1に記載されたストレージシステムによれば、スナップショット機能により所定の時点のボリュームのバックアップが可能となる。
しかしながら、複数のユーザが同一の正ボリュームに対するスナップショット機能を使用する場合、スナップショット管理情報とスナップショットデータの整合性が取れた状態に復元が出来ない場合がある。例えば、ユーザ1が不要になったスナップショットを削除した後に、ユーザ2がユーザ1の使用しているアプリケーションの認識していない時点にリストア処理を行うと、ユーザ1が使用しているアプリケーションはユーザ2によってリストアされた過去の地点の状態に戻る。リストアされたデータには削除されたスナップショットを管理するスナップショット管理情報を有するため、ユーザ1のアプリケーションには既に消されてしまったスナップショットが存在するものと認識するが、そのスナップショットは既に削除されており、運用が出来なくなる。これは、ユーザ1が使用するスナップショットを操作するアプリケーションからスナップショット管理情報にアクセスする必要があるため、スナップショット管理情報を通常のライトデータのようにボリュームに格納する必要がある。そのため、ユーザ2がスナップショットを取得するとユーザ1によって取得したスナップショット管理情報もユーザ2が取得したスナップショットに含まれることになるためである。
上記特許文献1には、スナップショット機能については記載されているものの、複数のユーザによって一つのボリュームのスナップショットを取得する際に生じる課題に対する記載は見当たらない。
そこで、本発明の目的は、複数ユーザから同一正ボリュームのスナップショットを取得しても、全ユーザが問題なくスナップショットを管理可能なストレージシステムおよびスナップショット管理方法を提供することにある。
上記課題を解決するため本発明のストレージシステムの一側面は、
記憶装置とコントローラとを有するストレージシステムにおいて、コントローラは、ストレージシステムにIO要求を発行するサーバシステムに接続される第1のインターフェースと、ストレージシステムを管理する管理システムに接続される第2のインターフェースと、サーバシステムに対し、記憶装置を用いて構成されるボリュームを提供し、第1のインターフェースおよび第2のインターフェースの一方から、ボリュームのスナップショット取得指示を受領すると、スナップショット取得指示が第1のインターフェースと第2のインターフェースとのいずれを介して受領したかを示す属性情報と、取得したスナップショットが削除指示前の状態であることを示すステータス情報とを、取得するスナップショットに対応して記憶するメモリとを有する。
記憶装置とコントローラとを有するストレージシステムにおいて、コントローラは、ストレージシステムにIO要求を発行するサーバシステムに接続される第1のインターフェースと、ストレージシステムを管理する管理システムに接続される第2のインターフェースと、サーバシステムに対し、記憶装置を用いて構成されるボリュームを提供し、第1のインターフェースおよび第2のインターフェースの一方から、ボリュームのスナップショット取得指示を受領すると、スナップショット取得指示が第1のインターフェースと第2のインターフェースとのいずれを介して受領したかを示す属性情報と、取得したスナップショットが削除指示前の状態であることを示すステータス情報とを、取得するスナップショットに対応して記憶するメモリとを有する。
本発明によれば、複数のユーザから同一正ボリュームに対するスナップショット機能を使用しても、どのユーザのスナップショット操作も他のユーザの運用に影響を与えずに、スナップショット機能を利用することができるストレージシステムを提供することが可能になる。
以下の説明において、「インターフェース部」は、1以上のインターフェースでよい。この1以上のインターフェースは、1以上の同種の通信インターフェースデバイス(例えば1以上のNIC(Network Interface Card))であってもよいし、2以上の異種の通信インターフェースデバイス(例えばNICとHBA(Host Bus Adapter))であってもよい。
また、以下の説明において、「メモリ部」は、1以上のメモリであり、典型的には主記憶デバイスでよい。メモリ部における少なくとも1つのメモリは、揮発性メモリであってもよいし不揮発性メモリであってもよい。
また、以下の説明において、「PDEV部」は、1以上のPDEVであり、典型的には補助記憶デバイスでよい。「PDEV」は、物理的な記憶デバイス(Physical storage DEVice)を意味し、典型的には、不揮発性の記憶デバイス、例えばHDD(Hard Disk Drive)又はSSD(Solid State Drive)である。
また、以下の説明において、「記憶部」は、メモリ部とPDEV部の少なくとも1つ(典型的には少なくともメモリ部)である。
また、以下の説明において、「プロセッサ部」は、1以上のプロセッサである。少なくとも1つのプロセッサは、典型的には、CPU(Central Processing Unit)のようなマイクロプロセッサであるが、GPU(Graphics Processing Unit)のような他種のプロセッサでもよい。少なくとも1つのプロセッサは、シングルコアでもよいしマルチコアでもよい。
また、少なくとも1つのプロセッサは、処理の一部又は全部を行うハードウェア回路(例えばFPGA(Field-Programmable Gate Array)又はASIC(Application Specific Integrated Circuit))といった広義のプロセッサでもよい。
また、以下の説明において、「xxxテーブル」といった表現により、入力に対して出力が得られる情報を説明することがあるが、この情報は、どのような構造のデータでもよいし、入力に対する出力を発生するニューラルネットワークのような学習モデルでもよい。従って、「xxxテーブル」を「xxx情報」と言うことができる。
また、以下の説明において、各テーブルの構成は一例であり、1つのテーブルは、2以上のテーブルに分割されてもよいし、2以上のテーブルの全部又は一部が1つのテーブルであってもよい。
また、以下の説明において、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ部によって実行されることで、定められた処理を、適宜に記憶部及び/又はインターフェース部などを用いながら行うため、処理の主語が、プロセッサ部(或いは、そのプロセッサ部を有するコントローラのようなデバイス)とされてもよい。
プログラムは、計算機のような装置にインストールされてもよいし、例えば、プログラム配布サーバ又は計算機が読み取り可能な(例えば非一時的な)記録媒体にあってもよい。また、以下の説明において、2以上のプログラムが1つのプログラムとして実現されてもよいし、1つのプログラムが2以上のプログラムとして実現されてもよい。
また、以下の説明において、「計算機システム」は、1以上の物理的な計算機を含んだシステムである。物理的な計算機は、汎用計算機でも専用計算機でもよい。物理的な計算機は、I/O(Input/Output)要求を発行する計算機(例えばホスト計算機)として機能してもよいし、I/O要求に応答してデータのI/Oを行う計算機(例えばストレージ装置)として機能してもよい。
すなわち、計算機システムは、I/O要求を発行する1以上のホスト計算機であるホストシステム、及び、I/O要求に応答してデータのI/Oを行う1以上のストレージ装置であるストレージシステムのうちの少なくとも1つでよい。少なくとも1つの物理的な計算機において、1以上の仮想的な計算機(例えばVM(Virtual Machine))が実行されてもよい。仮想的な計算機は、I/O要求を発行する計算機でもよいし、I/O要求に応答してデータのI/Oを行う計算機でもよい。
また、計算機システムは、1以上(典型的には複数)の物理的なノード装置で構成された分散システムでよい。物理的なノード装置は、物理的な計算機である。
また、物理的な計算機(例えばノード装置)が所定のソフトウェアを実行することにより、その物理的な計算機、又は、その物理的な計算機を含んだ計算機システムに、SDx(Software-Defined anything)が構築されてもよい。SDxとしては、例えば、SDS(Software Defined Storage)又はSDDC(Software-defined Datacenter)が採用されてもよい。
例えば、ストレージ機能を有するソフトウェアが物理的な汎用の計算機で実行されることにより、SDSとしてのストレージシステムが構築されてもよい。
また、少なくとも1つの物理的な計算機(例えばストレージ装置)が、ホストシステムとしての1以上の仮想的な計算機と、ストレージシステムのストレージコントローラ(典型的には、I/O要求に応答してデータをPDEV部に対して入出力する装置)としての仮想的な計算機とが実行されてもよい。
言い換えれば、このような少なくとも1つの物理的な計算機は、ホストシステムの少なくとも一部としての機能と、ストレージシステムの少なくとも一部としての機能の両方を有してもよい。
また、計算機システム(典型的にはストレージシステム)は、冗長構成グループを有してよい。冗長構成は、Erasure Coding、RAIN(Redundant Array of Independent Nodes)及びノード間ミラーリングのように複数のノード装置での構成でもよいし、PDEV部の少なくとも一部としての1以上のRAID(Redundant Array of Independent (or Inexpensive) Disks)グループのように単一の計算機(例えばノード装置)での構成でもよい。
また、以下の説明において、「データセット」とは、アプリケーションプログラムのようなプログラムから見た1つの論理的な電子データの塊であり、例えば、レコード、ファイル、キーバリューペアのうちのいずれでもよい。
また、以下の説明において、種々の対象の識別情報として、識別番号が使用されるが、識別番号以外の種類の識別情報(例えば、英字や符号を含んだ識別子)が採用されてもよい。
また、以下の説明において、同種の要素を区別しないで説明する場合には、参照符号(又は、参照符号のうちの共通符号)を使用し、同種の要素を区別して説明する場合は、要素の識別番号(又は参照符号)を使用することがある。
例えば、副ボリュームである「SVOL」を特に区別しないで説明する場合には、「SVOL501」と記載し、個々のページを区別して説明する場合には、SVOLの世代番号を用いて「SVOL#0」、「SVOL#1」のように記載したり、参照番号を用いて「SVOL501a」、「SVOL501b」のように記載したりすることがある。
以下、実施例1について、図1〜図18を用いて説明する。
図1は、ストレージシステム300を含むシステムの構成例を示す図である。ストレージシステム300は、記憶装置から構成される複数(又は1つ)のPDEV320と、PDEV320に接続されたストレージコントローラ301とを有する。
ストレージコントローラ301は、S−I/F314と、M−I/F315と、P−I/F313と、メモリ312と、プロセッサ311とを有する。S−I/F314、M−I/F315、及びP−I/F313が、インターフェース部の一例である。メモリ312が、記憶部の一例である。
S−I/F314は、サーバシステム302とストレージコントローラ301との間のデータのやり取りを仲介する通信インターフェースデバイスである。S−I/F314に、FC(Fibre Channel)ネットワーク306を介して、サーバシステム302が接続される。
サーバシステム302は、ストレージコントローラ301に対して、I/O先(例えばLUN(Logical Unit Number)のような論理ボリューム番号や、LBA(Logical Block Address)のような論理アドレス)を指定したI/O要求(ライト要求又はリード要求)を送信する。
M−I/F315は、管理システム308とストレージコントローラ301の間、サーバシステム302とストレージコントローラ301の間のデータのやり取りを仲介する通信インターフェースデバイスである。M−I/F315に、IP(Internet Protocol)ネットワーク307を介して、管理システム308とサーバシステム302が接続される。
ネットワーク306及びネットワーク307は、同一の通信ネットワークでもよい。サーバシステム302で動作するアプリケーション303はストレージコントローラ301に対して、API304とストレージベンダから提供されるプロバイダ305を介して、スナップショットの作成や削除の要求を送信したり、作成された世代#を管理したりする。
管理システム308は、ストレージシステム300を管理する。管理システム308からもストレージコントローラ301に対して、スナップショットの作成や削除の要求を送信したり、作成された世代#を管理したりする。
P−I/F313は、複数のPDEV320とストレージコントローラ301の間のデータのやり取りを仲介する通信インターフェースデバイスである。P−I/F313には、複数(又は1つ)のPDEV320が接続される。
メモリ312は、プロセッサ311が実行するプログラムと、プロセッサ311が使用するデータを記憶する。プロセッサ311は、メモリ312に格納されているプログラムを実行する。実施例1では、例えば、メモリ312及びプロセッサ311の組が二重化されている。
図2は、ストレージシステム300内の正ボリュームと副ボリュームとの関係を説明する図である。正ボリューム(PVOL)502は、サーバシステム302が処理に利用するデータを書き込むボリュームである。PVOL502は、複数のディスク装置で構成されたRAIDグループ(所定のRAID(Redundant Array of Independent (or Inexpensive) Disks)レベルでデータを記憶するディスク装置群)に基づく実体的な論理ボリュームであっても良いし、RAIDグループに基づかない仮想的な論理ボリューム(例えば、シンプロビジョニングに従うボリューム、或いは、外部のストレージ装置の記憶資源(例えば論理ボリューム)がマッピングされたボリューム)であっても良い。
一方、各副ボリューム(SVOL)501は、PVOL502に対するスナップショット取得時点におけるスナップショットを記憶するボリュームである。SVOL501は、仮想的な論理ボリュームであり、SVOL501が記憶するデータは、実際には、PVOL502又はプール503に記憶されている。実施例1においては、SVOL501は、世代番号(世代#)により、そのスナップショットの取得順を表すようにしており、古いものから順に、世代#1、世代#2、世代#3・・・となっており、旧い世代ほど世代番号が小さい。
世代#1のSVOL501a内の領域510aと、世代#2のSVOL501b内の領域510cは、PVOL内の領域510bを参照するように設定される。世代#3のSVOL501c内の領域R510gは、世代#2と世代#3の間に更新された領域(PVOL502内の領域)から退避されたデータを記憶している、プール503内の領域510hを参照するように設定される。また、世代#1と世代#2の間に更新され世代#2と世代#3の間に更新されなかった領域(PVOL502における領域)に対応する、世代#2のSVOL501b内の領域510d、及び、世代#3のSVOL501c内の領域510fついては、世代#1と世代#2の間に更新された領域(PVOL502における領域)から退避されたデータを記憶している、プール503内の領域510eを参照するように設定される。
図3は、ストレージシステム300内の記憶階層を示す。なお、以下の説明では、n番目のレイヤを「レイヤn」と呼ぶ(nは自然数)。nが小さい程、上のレイヤである。レイヤには、SVOL501、プール503及びRG602がある。
SVOL501は、レイヤ1の論理記憶領域であり、サーバシステム302に提供される(サーバシステム302から可視の)上述の論理ボリュームである。
プール503は、レイヤ2の論理記憶領域であり、1以上のRG602に基づく論理記憶領域である。プール503は、複数のページ610で構成されている。なお、プール503の全部又は一部は、少なくとも1つのRG602に代えて又は加えて、ストレージシステム300の外部の記憶資源に基づいていてもよい。
RG602は、レイヤ3の論理記憶領域であり、複数のPDEV220で構成されたRAIDグループの空間である。
SVOL501に対しては、データが実際に格納される領域に対して、プール503のページ610が割り当てられる。
図4A−図4Cは、管理者によるスナップショット取得動作を示す図である。図4Dは、スナップショット管理情報を示す図である。図4A-図4Dを用いて、課題を説明する。
図4Aに示す通り、管理者1は図1で説明した、サーバシステム302内アプリケーション303からストレージシステム300のストレージコントローラ301にスナップショットの作成指示を行うユーザである。管理者1は、サーバシステム302からスナップショット作成指示を送信する。スナップショット作成・削除などのオペレーション実行に関する情報や、スナップショット数などの情報は、アプリケーション303からアクセスできるようにPVOL502内のスナップショット管理情報10(以下、SS管理情報)に記録される。
SS管理情報は、図4Dに示すように、PVOL T1に対し、スナップショットの世代番号 T2が対応して管理されている。世代番号 T2は、スナップショットが取得された取得日時等、各スナップショットがどのPVOLのどの世代であるか一意に特定できる情報であればよい。
一方、管理者2はストレージシステム300の管理者であって、管理システム308からストレージコントローラ301にスナップショット作成指示を送信する。管理者2が管理システム308を用いて取得するスナップショットの管理情報は、ストレージシステム300内のメモリ312(共有メモリ)内に格納される。
時刻T0に管理者1がアプリケーション303からスナップショット作成指示を実施すると世代#0のスナップショットであるSVOL501aが作成される。スナップショット501aは、PVOL502に対して更新要求があった場合に、旧データを格納する。スナップショット作成完了後、アプリケーション303はPVOL502内に、世代#0のSS管理情報10aを記録する。一般的に、スナップショットの管理情報はストレージシステムのメモリ312に格納されるが、アプリケーション303からはメモリ312に格納されたスナップショットの管理情報にアクセスすることができないため、アクセス可能なPVOL502にSS管理情報10を書き込む。SS管理情報10は、図4Dに示す通り、PVOLの識別情報T1とPVOLに対するスナップショットの世代情報T2とが対応して管理される。世代情報は、スナップショットを取得した時間情報であっても良い。
その後、管理者2は管理システム308からスナップショット作成指示を実施すると、世代#1のスナップショットであるSVOL501bが作成される。このSVOL501bには、PVOL502に格納されているSS管理情報10も含まれる。
図4Bに示す通り、時刻T1に、管理者1がアプリケーション303から世代#0のスナップショットの削除を実施すると、世代#0のスナップショット501aが削除される。その後、世代#2のスナップショット作成指示を実施すると、世代#2のスナップショット、SVOL501cが作成される。この時、PVOL502には、世代2のSS管理情報10cが格納され、アプリケーション303から世代2のスナップショットのSS管理情報を読み出すことができる。
図4Cに示す通り、時刻T2に管理者2が管理システム308から世代#1時点にリストア処理を行った場合に、世代0のSS管理情報を含むスナップショット501bがリストアされる。しかし、実際には世代#0(501a)が削除されていて世代#1時点のSS管理情報10bと整合性が取れないといった状況が発生する。そのため、管理者1はアプリケーション303からのスナップショットの運用を継続できない、という課題が発生する。
図5〜18を用いて上述した課題を解決するための実施例を説明する。
図5は、メモリ312の構成と、メモリ312内のプログラム及び管理情報との例を示す図である。メモリ312は、ローカルメモリ401、キャッシュメモリ402、及び共有メモリ404というメモリ領域を含む。これらのメモリ領域のうちの少なくとも1つは、独立したメモリであってもよい。ローカルメモリ401は、このローカルメモリ401を含むメモリ212と同一組に属するプロセッサ311により使用される。
図5は、メモリ312の構成と、メモリ312内のプログラム及び管理情報との例を示す図である。メモリ312は、ローカルメモリ401、キャッシュメモリ402、及び共有メモリ404というメモリ領域を含む。これらのメモリ領域のうちの少なくとも1つは、独立したメモリであってもよい。ローカルメモリ401は、このローカルメモリ401を含むメモリ212と同一組に属するプロセッサ311により使用される。
ローカルメモリ401には、スナップショット作成プログラム411、スナップショット削除プログラム412、リストアプログラム413、リストア確定処理プログラム414、コピー処理プログラム415、I/O処理プログラム416、が格納される。スナップショット作成プログラム411、スナップショット削除プログラム412、リストアプログラム413、リストア確定処理プログラム414については後述する。
コピー処理プログラム415は、データのコピー処理を実行する。I/O処理プログラム416は、他のプログラムを適宜呼び出して、データの入出力処理を実行する。この2つのプログラムは、特許文献1の記載と同じである為、詳細な説明は省略する。
キャッシュメモリ402には、PDEV320に対してライト又はリードされるデータセットが一時的に格納される。
共有メモリ404は、この共有メモリ404を含むメモリ312と同一組に属するプロセッサ311、及び異なる組に属するプロセッサ311の両方により使用される。共有メモリ404には、管理情報が格納される。
管理情報は、ペア管理テーブル421、差分領域管理テーブル422、アドレス管理テーブル423、ページ管理テーブル424を含む。これらのテーブルは図を参照して後述する。
以下、幾つかのテーブルを説明する。
図6は、PVOLに対するペア情報を管理するペア管理テーブル421を説明する図である。なお、以下の説明では、適宜、論理ボリュームを「VOL」と記載する。
ペア管理テーブル421は、PVOL番号(PVOL#)421−1と、最新世代番号(最新世代#)421−2と、ペアID421−3と、SVOL番号(SVOL#)421−4と、世代番号(世代#)421−5と、2つのステータス421−6と421−7と属性情報421−8と、登録グループ番号(登録Gr#)421−9と、グループ作成時のSVOL番号(Gr作成時SVOL#)421−10を対応付けたレコードを管理する。 ペアID421−3と、SVOL番号(SVOL#)421−4と、世代番号(世代#)421−5と、2つのステータス421−6と421−7と属性情報421−8と、登録グループ番号(登録Gr#)421−9と、グループ作成時のSVOL番号(Gr作成時SVOL#)421−10は、取得したスナップショットに対応する情報である。
ペア管理テーブル421は、PVOL番号(PVOL#)421−1と、最新世代番号(最新世代#)421−2と、ペアID421−3と、SVOL番号(SVOL#)421−4と、世代番号(世代#)421−5と、2つのステータス421−6と421−7と属性情報421−8と、登録グループ番号(登録Gr#)421−9と、グループ作成時のSVOL番号(Gr作成時SVOL#)421−10を対応付けたレコードを管理する。 ペアID421−3と、SVOL番号(SVOL#)421−4と、世代番号(世代#)421−5と、2つのステータス421−6と421−7と属性情報421−8と、登録グループ番号(登録Gr#)421−9と、グループ作成時のSVOL番号(Gr作成時SVOL#)421−10は、取得したスナップショットに対応する情報である。
PVOL#421−1は、コピー元となるボリューム(PVOL)をストレージシステム300内で一意に特定する番号である。最新世代#421−2は、対応するPVOLにおける最新のスナップショットの世代番号である。ペアID421−3は、PVOLと世代とのペアを一意に特定する番号である。SVOL#421−4は、世代#のスナップショットをマップしているボリューム(SVOL)を示す番号であり、ペア作成時に付与される。SVOL#421−4は、ペア操作によって変更される場合がある。
世代#421−5は、PVOLのスナップショットの取得順を決定する番号である。ステータス1(421−6)は、対応するコピーペアの状態である。状態としては、スナップショットを保持している状態を示す「Snapshot保持」と、対応するスナップショットの世代からのリストアを実行している状態を示す「リストア中」がある。
ステータス2(421−7)は、対応する世代のスナップショットの状態である。状態としては、スナップショットの削除指示がされていない状態を示す「指示前」とスナップショットの削除指示を受けた状態を示す「指示済」がある。属性情報421−8は、どのインターフェースからスナップショット作成されたかを示す情報である。登録グループ番号(登録Gr#)421−9は、図11を用いて後で説明するグループ化処理で、所属したグループ番号であり、例えば、グループ化されるタイミングで付与され、その後変更されることはない。グループ作成時のSVOL番号(Gr作成時SVOL#)421−10も、図11を用いて後で説明するグループ化処理で記録するグループ作成時のSVOL番号である。
例えば、同図における一番上のレコードは、VOL#0のVOLがPVOLであり、属性情報0のI/F指示で、VOL#6のSVOLにスナップショット作成指示がされ、そのペアIDが0である。このスナップショットは、世代番号が1であり、グループ0に登録され、スナップショットを保持していることを示している。また、現在は属性情報0のI/Fから削除指示がされ、SVOL#421−4が「−」となり、サーバシステム302からはスナップショットが見えていない状態を示している。
図7は、PVOLの各領域に対するスナップショットの情報を示す図である。図7により、差分領域管理テーブルを説明する。
差分領域管理テーブル422は、PVOL番号(PVOL#)422−1と、領域IDと422−2、退避状態422−3と、リストア状態422−4と、CAW属性422−5と、世代番号(世代#)422−6とを対応付けたレコードを管理する。
差分領域管理テーブル422は、PVOL番号(PVOL#)422−1と、領域IDと422−2、退避状態422−3と、リストア状態422−4と、CAW属性422−5と、世代番号(世代#)422−6とを対応付けたレコードを管理する。
PVOL#422−1は、コピー元となるVOL(PVOL)をストレージシステム300内で一意に特定する番号である。領域ID422−2は、領域特定情報の一例であり、PVOLにおいて区分されている領域(スロット)を特定する番号である。退避状態422−3は、PVOLにおける領域に書き込まれるデータがプール503に退避されているか否かを示す情報である。退避状態としては、例えば、データを退避していることを示す「退避済み」と、データを退避していないことを示す「未退避」とがある。
リストア状態422−4は、リストアが実行された際のリストアの状態を示す情報である。リストア状態としては、リストアが実行された場合には、リストアが済んでいることを示す「済み」が設定され、リストアが実行されていない場合には、「未」が設定される。CAW属性422−5は、当該領域についてCAWを実行する必要がある場合、すなわち、対応するPVOLの領域からデータを退避させるコピーを実行する必要がある場合には、「ON」が設定され、CAWを実行する必要がない場合、すなわち、PVOLの領域からデータを退避させる必要がない場合には、「OFF」が設定される。
世代#422−6は、該当する領域に書き込むべきデータ(キャッシュメモリ402内のデータ(データ要素))に対応するスナップショットの世代番号である。実施例1では、最新のスナップショット取得時点以降に書き込まれたデータ要素の世代#としては、書き込まれた時点のスナップショットの最新世代#+1が設定される。ここで、この世代番号が、PVOLに対するスナップショット取得時点との時間的関係を示す時間関係情報の一例である。なお、世代#に代えて、スナップショット取得時間が管理されてもよく、要は、データ要素について、各スナップショットの取得時点との一致又は前後等の時間関係を把握できる情報であればよい。
例えば、同図における2番目のレコードは、VOL#が0のVOL内の領域#が1の領域においては、データ要素が未退避であり、リストアは実行されておらず、当該領域に対してデータが書き込まれる場合には、CAWを実行することを示し、当該領域のデータは、スナップショットの世代#は、2であることを示している。
図8は、アドレス変換テーブル423の例を示す図である。各世代のスナップショットを構成する各領域に関する情報となる。アドレス管理テーブル423は、世代番号(世代#)423−1と、領域ID423−2と、共有ページID423−3と、自ページID423−4とを対応付けたレコードを管理する。
世代#423−1は、PVOLのスナップショットの世代をストレージシステム300内で一意に特定する番号である。領域ID423-2は、世代番号のスナップショットにおいて区分されているPVOLの領域を特定する番号であり、図7に示した領域ID422-2と同じ情報である。共有ページID423−3は、当該領域のデータが格納される共有ページを特定する番号である。共有ページは、他の世代のからも参照される可能性があるページである。自ページID423−4は、当該領域のデータが格納される自ページを特定する番号である。自ページは、対応する世代のみで参照されるページである。具体的には、対応するSVOLが書き込み可能な世代のスナップショットを管理しており、当該SVOLに対して書き込みがあった場合のデータを格納するページである。例えば、同図の一番上のレコードは、世代#0のスナップショットデータの領域#0の領域について、共有ページIDが1であり、自ページIDが10であることを示している。
図9は、プールのアドレスを管理するための情報であるページ管理テーブル424の例を示す図である。ページ管理テーブル424は、ページ番号(ページ#)424−1と、割り当てフラグ424−2と、VOL番号(VOL#)424−3とVOL内アドレス424−4とを対応付けたレコードを管理する。ページ#424−1は、ページ610をプール503内で一意に特定する番号である。割当フラグ424−2は、対象ページ610が割り当てられている状態である「割当済」か、割当てられていない状態である「未割当」かを示す。VOL#424−3は、対象ページ610の割当先VOL(PVOL又はSVOL)の番号を示す。VOL内アドレスは、対応するページ610の割当先VOLのアドレスを示す。
以下、実施例1で行われる幾つかの処理を説明する。
図10は、スナップショット作成処理の流れを示す。スナップショット作成処理は、サーバシステム302や管理システム308から、予め設定された時刻又はスナップショット作成要求があった場合に実行される。スナップショット作成プログラムは、ペア管理テーブル421に新しく行を追加し、ペアID421−3とSVOL#421−3を新しく設定する(S411−1)。スナップショットを作成するのに、SVOLは作成されていなくてもよい。その場合、スナップショット作成プログラム411の処理S411-1が不要になる。
スナップショット作成プログラムは、ペア管理テーブル421のペアID421−3とSVOL#421−3を新しく設定した行のステータス1(421−6)に「Snapshot保持」を設定する(S411−2)。また、ステータス2(421−7)にスナップショット削除指示前であることを示す「指示前」を登録する。
スナップショット作成プログラムは、ペア管理テーブル412の当該PVOLの最新世代#421−2をカウントアップする(S411−3)。
最新世代#のカウントアップ後、最新世代#をスナップショット作成対象SVOLの世代#421−5に設定(S411−4)。
スナップショット作成プログラムは、作成対象SVOLの登録Gr#421−9とGr作成時SVOL#421−10に「−」を設定する(S411−5)。
S411−5の処理の後、スナップショット作成処理プログラム411は、グループ化処理(S411−6)を実施する。
S411−5の処理の後、スナップショット作成処理プログラム411は、グループ化処理(S411−6)を実施する。
図11は、グループ化処理の流れを示す。グループ化処理プログラム411−6は、アプリケーション303がスナップショット取得時、他の管理者のスナップショットがあれば、グループ化を行う。管理システム308がスナップショットを取得する際にも、他の管理者のスナップショットがある場合には、グループ化を行う。
グループ化処理プログラム411−6は、ペア管理テーブル421を参照する(S411−6−1)。グループ化処理プログラム411−6は、スナップショット作成プログラム411の一部である。グループ化処理プログラム411−6は、同一PVOL#の全ペア分、判断処理(S411−6−2)を実施する。グループ化処理プログラム411−6は、判断処理を実施するスナップショットの属性情報421−8がスナップショットを作成したペアの属性情報421−8と同一かを判断する(S411−6−3)。属性情報421−8が同一なら同一の管理者、異なっている場合異なる管理者によってスナップショットが取得されたことが把握できる。
S411−6−3の判断結果が偽の場合(S411−6−3:NO)、2つ目の判断処理を実施する(S411−6−4)。S411−6−3の判断結果は真の場合(S411−6−3:YES)、次のペアについて処理を行う。
2つ目の判断処理S411−6−4では、判断対象のペアのステータス2(421−7)が「指示前」か否かを判断する。
S411−6−4の判断結果が真の場合(S411−6−4:YES)、グループ化処理プログラム411−6は、判断対象ペアの登録Gr#421−9に未使用のGr#を追加する(S411−6−5)。S411−6−4の判断結果が偽の場合(S411−6−4:NO)、次のペアについて処理を行う。
S411−6−5の後、グループ化処理プログラム411−6は、当該Gr作成時SVOL#421−10に対象SVOL#を設定する。これにより、リストア処理の際には、SVOL#421−4もGr作成時のSVOL#に戻すことが可能となる。つまり、SVOL#421−4は、一方の管理者によるペア操作により番号が変更さ得る場合があるが、Gr作成時のSVOL#421−10は、グループ作成時に付与された番号から変更されることがないため、管理者1からも管理者2からも正しいバックアップイメージを参照することができる。
SVOLが作成されていない場合は、Gr作成時の世代#421−5をペア管理テーブル421に記録する。その場合、ペア管理テーブル421にGr作成時世代#の情報が追加され、グループ化処置プログラム411−6の処理S411−6−6の後に、当該Gr作成時世代#に対象世代#を設定する処理が追加される。
グループ化処理プログラムは、同一PVOL#の全ペア分繰り返しが完了すると、グループ化処理を完了する。
図12は、スナップショット削除処理の流れを示す。スナップショット削除処理412は、スナップショット作成処理411と同様、サーバシステム302や管理システム308から、予め設定された時刻又はスナップショット削除要求があった場合に実行される。
スナップショット削除プログラム412は、ペア管理テーブル421を参照する(S412−1)。スナップショット削除プログラム412は、スナップショット削除対象ペアのSVOL#421−4を「−」に設定する。これにより、サーバシステム302や管理システム308から、削除されたSVOL#でスナップショットの作成指示が来ても当該SVOL#を使用することができる。
スナップショットを削除する際に、SVOLはなくても良い。その場合、スナップショット削除処理412の処理S412−2が不要になる。SVOLがない場合、世代#421−5がSVOL#421−4にあたるため、当該世代#421−5を「−」に設定する。
S412−2の後、スナップショット削除対象ペアのステータス2(421−7)に「指示済」を設定する(S412−3)。S412−3の後、スナップショット削除指示要求がされたペアがグループ化されているか、すなわち、当該ペア管理情報の登録Gr#421−9にGr#が登録されているか否かを判断する(S412−4)。グループの登録、即ち、グループ化は属性情報421−8、ステータス2 421−7によって行われるため、これら属性情報421−8、ステータス2 421−7によって直接判断することもできる。
S412−4の判断結果が偽の場合(S412−4:NO)、削除指示要求がされたペアはグループ化されていない、すなわち、スナップショット削除対象ペアの属性情報421−8とは異なる属性情報421−8をもつ他のどのインターフェースからも当該ペアは使われないので、スナップショットデータを実際に削除する為に指定スナップショット削除処理(S412−5)を実施する。
S412−4の判断結果が真の場合(S412−4:YES)、削除指示要求がされたペアを削除しても良いか、すなわち、所属グループを削除可能か判断するため、グループ削除処理(S412−6)を実施する。これにより、複数の管理者から同一の正ボリュームに対するスナップショット機能を使用する環境下において、一方の管理者のスナップショットの削除等のペア操作を行った場合でも、他の管理者の運用に影響を与えることなくスナップショット機能を利用することができる。
スナップショット削除処理は、指定スナップショット削除処理S412−5又は、グループ削除処理S412−6が完了すると、スナップショット削除処理は完了する。
図13は、指定スナップショット削除処理の流れを示す。指定スナップショット削除処理プリグラム412−5は、スナップショット削除プログラム412の一部である。指定スナップショット削除処理プリグラム412−5は、差分領域管理テーブル422から、スナップショット削除対象となるSVOLに対応するPVOLについてのCAW属性422−5がONの領域を検出する(S412−5−1)。その後、当該CAW属性422−5がONの領域に対して、必要に応じて退避コピーを実行する(S412−5−2)。具体的には、削除するSVOLが記憶している領域であって、他のスナップショットにより参照されている領域のデータについては、参照しているSVOLの領域に退避コピーをする。
次いで、指定スナップショット削除処理プログラム412−5は、PVOLの退避した領域について、差分領域管理テーブル422のCAW属性422−5をOFFに設定し(S412−5−3)、ペア管理テーブル422の対応するペア情報をペア管理テーブルから削除する(S412−5−3)。
図14は、グループ削除処理の流れを示す。グループ削除処理プログラム412−6は、ペア管理テーブル421を参照する(S412−6−1)。グループ削除処理プログラム412−6は、スナップショット削除プログラム412の一部である。
グループ削除処理プログラム412−6は、削除対象グループ内の全ペア分、ステータス2(421−7)が削除指示済みである「指示済」かを確認し(S412−6−3)、削除対象グループの全ペアのステータス2(421−7)が「指示済」か否かを判断する(421−6−5)。
グループ削除処理プログラム412−6は、削除対象グループ内の全ペア分、ステータス2(421−7)が削除指示済みである「指示済」かを確認し(S412−6−3)、削除対象グループの全ペアのステータス2(421−7)が「指示済」か否かを判断する(421−6−5)。
S412−6−5の判断結果が真の場合(S412−6−5:YES)、削除対象グループに属している全ペアの登録Gr#421−9から、削除対象グループ番号を削除し、指定スナップショット削除処理(S412−5)を行う。
S412−6−5の判断結果が偽の場合(S412−6−5:NO)、グループは削除せず、処理を終了する。これにより、図4で説明した課題、即ち、必要なスナップショットが削除されることがない。
図15は、リストア処理の流れを示す。リストア処理プログラム413は、サーバシステム302や管理システム308から、ある世代#のSVOLに対してリストア指示された場合に実行される。リストア処理時に、SVOLなくても良い。その場合、PVOLのある世代#に対してリストア指示がされる。
まず、リストア処理プログラム413は、リストア実施可能か判断する(S413−1)。例えば、同じPVOLに対してすでに他のSVOLがリストア中の場合、リストア不可として、リストア処理は完了する。また、リストア可能なSVOLを、リストア操作インターフェースの属性情報と同じ属性情報のSVOLに限定する場合、リストア対象SVOLの属性情報421−8が操作インターフェースの属性情報421−8と一致するか否かの判断を実施する。
S413−1の判断結果が真の場合(S413−1:YES)、リストア処理プログラム413は、当該SVOLのステータス1(421−6)を「リストア中」に設定し(S413−2)、SVOLからPVOLにデータ転送を実施する(S413−3)。
S413−3完了後、リストア処理プログラム413は、リストア対象SVOLがグループ化されているが判断する(S413−4)。
S413−4の判断結果が真である場合(S413−4:YES)、リストア対象SVOLの属するグループのSVOL#421−4変更処理(S413−7)を行う。
S413−4の判断結果が偽である場合(S413−4:NO)、リストア対象SVOLのステータス1(421−6)を「Snapshot保持」に設定し(S413−9)、リストア処理を完了する。
S413−4の判断結果が偽である場合(S413−4:NO)、リストア対象SVOLのステータス1(421−6)を「Snapshot保持」に設定し(S413−9)、リストア処理を完了する。
S413−7の処理では、リストア対象SVOLの属するグループのSVOL#421−4の変更処理を行う。対象グループ内の全ペアに対して、SVOL#421−4がグループ作成時のSVOL#421−4と不一致か否か判断する。
S413−6の判断結果が真である場合(S413−6:YES)、リストア処理プログラム413は、当該SVOL#421−4をGr作成時SVOL#421−10に変更する(S413−7)。グループ作成時のSVOL番号に戻すことにより、グループ作成後に管理者1や管理者2のスナップショットの操作に拘らず、スナップショット作成時状態でリストア指示を行うことができる。
S413−6の判断結果が偽である場合(S413−6:NO)、リストア処理プログラムは、同一グループ内の次のペアの処理を行う。
対象グループ内のSVOL#421−4変更処理が完了すると、リストア対象SVOLのステータス1(421−6)を「Snapshot保持」に設定し(S413−9)、リストア処理を完了する。
SVOLがない場合は、SVOL#421−4が世代#421−5にあたるため、処理S413−6では世代#421−5がGr作成時世代#と不一致かを判断する。同様に、処理S413−7では世代#421−5をGr作成時世代#に変更する。
図16は、リストア確定処理の流れを示す。リストア確定処理プログラム414は、リストア処理413実施後、リストア世代#を確定する際に実行される。リストア確定処理414は図17に示すような状況を防ぐための処理である。図17は、実施例1のリストア時のスナップショット処理方式の概念図である。時刻T1でリストア実施後、PVOL502内のアプリケーション303が利用するSS管理情報10は世代#1の時点に戻るため、SS管理情報10bには世代#0の情報しか記録されておらず、アプリケーション303からは世代#2のスナップショットが認識できない。そのため、世代#2に対するリストア完了後の処理が必要である。実施例1では、リストア確定処理414で世代#2(501a)を削除する。
リストア確定処理プログラム414は、ペア管理テーブル421を参照する(S414−1)。
リストア確定処理プログラム414は、リストア世代#以降に作成された世代を全て、指定スナップショット削除処理S412−5を用いて削除する。これにより、アプリケーション303から認識することが出来ない世代のスナップショットデータを削除し、プール消費量を削減することができる。
図18は、上述した本発明の実施例1を示す概念図である。説明を簡略化するために、管理システム308からスナップショット作成指示された際のみ、グループ化処理を実施する。時刻T0に管理者1がアプリケーション303からスナップショット作成指示を実施すると世代#0のスナップショット、SVOL501aが作成される。その際、世代の情報として図6で説明した、属性情報及び、スナップショットが削除指示前であることを示す「指示前」という状態を記録する。
スナップショット作成完了後、アプリケーション303はPVOL502内に、世代#0のSS管理情報10aを記録する。その後、管理者2は管理システム308からスナップショット作成指示を実施すると、世代#1のスナップショット、SVOL501bが作成される。このSVOL501bは、世代0の管理情報も含むイメージが作成される。スナップショット作成処理が完了後は、図11で説明したクループ作成処理を行う。作成したスナップショットとは異なる属性情報が記録されていて、かつ「指示前」状態のスナップショットが存在する場合、そのスナップショットと作成したスナップショットを同一グループに登録する。つまり、一の管理者(管理者2)がスナップショットを作成指示した際に、他の管理者(管理者1)が作成した同一ボリュームのスナップショットが存在する場合、グループ化を実施する。
時刻T1に、管理者1がアプリケーション303から世代#0のスナップショットの削除指示をすると、削除要求を受け付けたことに応答し、世代#0のスナップショットの状態を削除指示済みである「指示済」に変更する。実際にスナップショット削除するタイミングは、図12で説明したスナップショット削除プログラムによって判断され、後述する条件を満たしたときに非同期に行う。
これにより、図17で示したように、管理者2が管理システム308からリストア実施しても不整合にはならず、図4の本発明の課題で示した状況の発生を防ぐことが出来る。
以って、複数のユーザから同一正ボリュームに対するスナップショット機能を使用しても、どのユーザのスナップショット操作も他のユーザの運用に影響を与えずに、スナップショット機能を利用することができる。
その後、時刻T2に管理者2が管理システム308から世代#1のスナップショットの削除指示をした場合、時刻T1の時と同様に世代#1のスナップショットの状態を「指示済」に変更する。グループ1内の全スナップショットの状態が「指示済」の場合、図14で説明したグループ削除処理を行う。その後、時刻T3の図で示すように、状態が「指示済」でグループ化されていない世代のスナップショットのみを削除することで、どのユーザからも使用されない世代のみを削除することが可能になる。
以下、本発明の第二の実施形態について、図19〜図21を用いて説明する。
実施例1では、図17に示すような状況を防ぐために、リストア確定処理プログラム414でアプリケーション303から認識出来なくなった世代のスナップショットを削除する方法を示した。実施例2では、リストア実施後にアプリケーション303から認識することが出来ない世代のスナップショットを自動的に削除する方法について示す。
図19は、メモリ312の構成と、メモリ312内のプログラム及び管理情報との例を示す図である。図5とはローカルメモリ401内のプログラム構成が異なる。
ローカルメモリ401には、スナップショット作成プログラム411、スナップショット削除プログラム412、リストアプログラム413、リストア後処理プログラム417、コピー処理プログラム415、I/O処理プログラム416、が格納される。
キャッシュメモリ402には、図5と同様、PDEV320に対してライト又はリードされるデータセットが一時的に格納される。
共有メモリ404は、図5と同様、この共有メモリ404を含むメモリ312と同一組に属するプロセッサ311、及び異なる組に属するプロセッサ311の両方により使用される。共有メモリ404には、管理情報が格納される。
管理情報は、ペア管理テーブル421、差分領域管理テーブル422、アドレス管理テーブル423、ページ管理テーブル424を含む。
図20は、リストア後処理の流れを示す図である。リストア後処理プログラム417は、ペア管理テーブル421を参照し(S417−1)、リストアを実施した世代#以降のペア分、以下の処理を繰り返す。
リストア後処理プログラム417は、リストアを実施した世代#の属性情報421−8と同じか否かを判断する(S417−3)。
417−3の判断結果が真である場合(S417−3:NO)、リストア確定処理プログラム417は、当該ペア管理テーブルのステータス2(S421−7)を「指示済」に更新する。
417−3の判断結果が偽である場合(S417−3:YES)、すなわち、リストア実施世代#と同じ属性情報421−8のペアである場合、次のペアの確認処理を実施する。リストア実施世代#以降の全てのペアについて判断処理417−3が完了すると、リストア後処理417は完了する。
図21は、リストア後処理の動作概念を示す図である。時刻T1の時、リストア後処理により、リストア実施世代#より新しい、リストア実施世代の属性情報421−8の異なるSVOL(501c)のステータス2(421−7)を「指示済」にすることで、時刻T2−1の時に他のSVOLから再リストアを実施しても、リストア後に必要なSVOL(501a)を復元可能となる。加えて、時刻T2−2の時にリストア不要となったSVOL(501d)を削除すれば、スナップショット削除処理412によって、グループとスナップショットの削除が実施される。
本発明は、他の種々の形態でも実施することが可能である。例えば、ライト要求のようなI/O要求の送信元(I/O元)は、上述の実施形態では、サーバシステム302であるが、ストレージシステム300における図示しないプログラム(例えば、VM上で実行されるアプリケーションプログラム)であってもよい。
10:SS管理情報、
300:ストレージシステム、
301:ストレージコントローラ、
302:サーバシステム、
303:アプリケーション、
308:管理システム、
311:プロセッサ、
312:メモリ、
320:PDEV、
401:ローカルメモリ、
402:キャッシュメモリ、
404:共有メモリ、
411:スナップショット作成プログラム、
412:スナップショット削除プログラム、
413:リストアプログラム、
414:リストア確定処理プログラム、
415:コピー処理プログラム、
416:I/O処理プログラム、
417:リストア後処理プログラム、
421:ペア管理テーブル、
422:差分領域管理テーブル、
423:アドレス管理テーブル、
424:ページ管理テーブル、
501:SVOL、
502:PVOL、
503:プール、
510:領域、
610:ページ、
602:RG。
300:ストレージシステム、
301:ストレージコントローラ、
302:サーバシステム、
303:アプリケーション、
308:管理システム、
311:プロセッサ、
312:メモリ、
320:PDEV、
401:ローカルメモリ、
402:キャッシュメモリ、
404:共有メモリ、
411:スナップショット作成プログラム、
412:スナップショット削除プログラム、
413:リストアプログラム、
414:リストア確定処理プログラム、
415:コピー処理プログラム、
416:I/O処理プログラム、
417:リストア後処理プログラム、
421:ペア管理テーブル、
422:差分領域管理テーブル、
423:アドレス管理テーブル、
424:ページ管理テーブル、
501:SVOL、
502:PVOL、
503:プール、
510:領域、
610:ページ、
602:RG。
Claims (11)
- 記憶装置とコントローラとを有するストレージシステムにおいて、
前記コントローラは、
前記ストレージシステムにIO要求を発行するサーバシステムに接続される第1のインターフェースと、
前記ストレージシステムを管理する管理システムに接続される第2のインターフェースと、
前記サーバシステムに対し、前記記憶装置を用いて構成されるボリュームを提供し、
前記第1のインターフェースおよび前記第2のインターフェースの一方から、前記ボリュームのスナップショット取得指示を受領すると、前記スナップショット取得指示が前記第1のインターフェースと前記第2のインターフェースとのいずれを介して受領したかを示す属性情報と、取得したスナップショットが削除指示前の状態であることを示すステータス情報とを、取得するスナップショットに対応して記憶するメモリとを有することを特徴とするストレージシステム。 - 請求項1記載のストレージシステムにおいて、
前記第1のインターフェースを介して受領する前記スナップショット取得指示は、前記サーバシステムのアプリケーションからの要求であり、
前記コントローラは、前記第1のインターフェースを介して前記アプリケーションからのスナップショット取得指示を受領すると、前記ボリュームにスナップショット管理情報を格納することを特徴とするストレージシステム。 - 請求項2記載のストレージシステムにおいて、
前記メモリに記憶される前記ステータス情報には、取得したスナップショットが削除指示を受けた状態であることを示す情報が記憶されることを特徴とするストレージシステム。 - 請求項3に記載のストレージシステムにおいて、
前記コントローラは、前記ボリュームの異なる時点の複数のスナップショットを取得する場合、前記属性情報と前記ステータス情報に基づいて、前記複数のスナップショットをグループ登録することを特徴とするストレージシステム。 - 請求項4に記載のストレージシステムにおいて、
前記コントローラは、
前記第1のインターフェース及び前記第2のインターフェースの何れか一方のインターフェースから前記複数のスナップショットの何れかスナップショットの削除指示を受領した場合、
前記削除指示のあったスナップショットが前記グループ登録されている場合、前記グループ登録されている全てのスナップショットの前記ステータス情報が削除指示を受けた状態でなければ、前記受領したスナップショットの削除指示を実行しないことを特徴とするストレージシステム。 - 請求項5に記載のストレージシステムにおいて、
前記コントローラは、前記グループ登録された全てのスナップショットの前記ステータス情報が、削除指示を受けた状態とした後、前記グループ登録を削除することを特徴とするストレージシステム。 - 請求項6に記載のストレージシステムにおいて、
前記コントローラは、前記スナップショットの削除指示が、前記グループ登録されていないスナップショットに対するものである場合、前記スナップショットの削除を実行することを特徴とするストレージシステム。 - 請求項4に記載のストレージシステムにおいて、
前記コントローラは、前記グループ登録の時に前記サーバシステムが認識できる前記グループ登録されたスナップショットの識別情報を前記メモリに格納することを特徴とするストレージシステム。 - 請求項8に記載のストレージシステムにおいて、
前記コントローラは、前記グループ登録されたスナップショットをリストアする際には、前記サーバシステムが認識できる前記識別情報を復元することを特徴とするストレージシステム。 - 請求項9に記載のストレージシステムにおいて、
前記コントローラは、前記グループ登録されたスナップショットのリストア後は、前記サーバシステムから認識できない世代のスナップショットを削除することを特徴とするストレージシステム。 - 記憶装置とコントローラとを有するストレージシステムのスナップショット管理方法において、
前記コントローラは、前記ストレージシステムにIO要求を発行するサーバシステムに接続される第1のインターフェースと、前記ストレージシステムを管理する管理システムに接続される第2のインターフェースとを有し、
前記サーバシステムに対し、前記記憶装置を用いて構成されるボリュームを提供し、
前記第1のインターフェースおよび前記第2のインターフェースの一方から、前記ボリュームのスナップショット取得指示を受領すると、前記スナップショット取得指示が前記第1のインターフェースと前記第2のインターフェースとのいずれを介して受領したかを示す属性情報と、取得したスナップショットが削除指示前の状態であることを示すステータス情報とを、取得するスナップショットに対応して記憶することを特徴とするストレージシステムのスナップショット管理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019107928A JP2020201702A (ja) | 2019-06-10 | 2019-06-10 | ストレージシステム及びスナップショット管理方法 |
US16/800,610 US20200387477A1 (en) | 2019-06-10 | 2020-02-25 | Storage system and snapshot management method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019107928A JP2020201702A (ja) | 2019-06-10 | 2019-06-10 | ストレージシステム及びスナップショット管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020201702A true JP2020201702A (ja) | 2020-12-17 |
Family
ID=73650597
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019107928A Pending JP2020201702A (ja) | 2019-06-10 | 2019-06-10 | ストレージシステム及びスナップショット管理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20200387477A1 (ja) |
JP (1) | JP2020201702A (ja) |
-
2019
- 2019-06-10 JP JP2019107928A patent/JP2020201702A/ja active Pending
-
2020
- 2020-02-25 US US16/800,610 patent/US20200387477A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20200387477A1 (en) | 2020-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10235066B1 (en) | Journal destage relay for online system checkpoint creation | |
US10152381B1 (en) | Using storage defragmentation function to facilitate system checkpoint | |
US10073641B2 (en) | Cluster families for cluster selection and cooperative replication | |
US20210294775A1 (en) | Assignment of longevity ranking values of storage volume snapshots based on snapshot policies | |
US20210294774A1 (en) | Storage system implementing snapshot longevity ranking for efficient management of snapshots | |
US7467268B2 (en) | Concurrent data restore and background copy operations in storage networks | |
US8046534B2 (en) | Managing snapshots in storage systems | |
US6678809B1 (en) | Write-ahead log in directory management for concurrent I/O access for block storage | |
US9501231B2 (en) | Storage system and storage control method | |
US20090216973A1 (en) | Computer system, storage subsystem, and data management method | |
US8200631B2 (en) | Snapshot reset method and apparatus | |
US8850145B1 (en) | Managing consistency groups in storage systems | |
EP1653358A2 (en) | Incremental backup operations in storage networks | |
EP2407884A2 (en) | Data duplication operations in storage networks | |
US9218138B1 (en) | Restoring snapshots to consistency groups of mount points | |
US7774094B2 (en) | Selecting a source cluster by measuring system factors, calculating a mount-to-dismount lifespan, and selecting the source cluster in response to the lifespan and a user policy | |
EP1653360A2 (en) | Recovery operations in storage networks | |
JP2008065525A (ja) | 計算機システム、データ管理方法及び管理計算機 | |
US8140886B2 (en) | Apparatus, system, and method for virtual storage access method volume data set recovery | |
US20200150866A1 (en) | Volume management apparatus, volume management method, and volume management program | |
US6629203B1 (en) | Alternating shadow directories in pairs of storage spaces for data storage | |
US9063892B1 (en) | Managing restore operations using data less writes | |
US20200341871A1 (en) | Raid schema for providing metadata protection in a data storage system | |
US10698627B2 (en) | Storage system and storage control method | |
JP7190421B2 (ja) | ストレージシステム及びボリューム複製方法 |