JP2008217209A - 差分スナップショット管理方法、計算機システム及びnas計算機 - Google Patents

差分スナップショット管理方法、計算機システム及びnas計算機 Download PDF

Info

Publication number
JP2008217209A
JP2008217209A JP2007051365A JP2007051365A JP2008217209A JP 2008217209 A JP2008217209 A JP 2008217209A JP 2007051365 A JP2007051365 A JP 2007051365A JP 2007051365 A JP2007051365 A JP 2007051365A JP 2008217209 A JP2008217209 A JP 2008217209A
Authority
JP
Japan
Prior art keywords
volume
differential
data
block
snapshot
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007051365A
Other languages
English (en)
Inventor
Atsushi Sudo
敦之 須藤
Koji Honami
幸二 帆波
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 JP2007051365A priority Critical patent/JP2008217209A/ja
Priority to US12/007,003 priority patent/US7890716B2/en
Publication of JP2008217209A publication Critical patent/JP2008217209A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents

Abstract

【課題】ビットマップを用いずに差分スナップショットを管理する。
【解決手段】ストレージシステムにおける差分スナップショット管理方法であって、前記ストレージシステムは、ディスクドライブと、ディスク制御部と、を備え、前記差分スナップショット管理方法は、前記ディスクドライブの記憶領域を、運用ボリューム及び差分ボリュームを含む複数の論理ボリュームとして提供するステップと、更新時刻を、前記運用ボリュームに含まれるブロックごとに記憶するステップと、前記運用ボリュームに含まれるブロックに対する書込要求を受信した場合、当該受信した書込要求において書込対象とされるブロックの前記更新時刻及び前記差分スナップショットの作成時刻に基づいて、前記書込対象のブロックに記憶されているデータを前記差分ボリュームに退避させるか否かを判定するステップと、を含むことを特徴とする。
【選択図】図1

Description

本発明は、ディスクドライブ及びディスク制御装置を備えるストレージシステムに関し、特に、差分スナップショットを管理する技術に関する。
近年、ストレージシステムは、運用ボリュームに格納されているデータを保護するために、スナップショット機能を備える。スナップショット機能によると、特定の時刻における運用ボリュームの複製(スナップショット)が作成される。なお、スナップショット機能としては、複製スナップショット機能及び差分スナップショット機能が知られている。
差分スナップショット機能については、特許文献1に開示されている。ストレージシステムは、運用ボリュームと差分スナップショットとの差分データを、差分ボリュームに記憶する。そして、ストレージシステムは、差分ボリュームに記憶されている差分データと運用ボリュームとを合成することによって、差分スナップショットを提供する。
特開2004−342050号公報
特許文献1に開示されている差分スナップショット機能では、差分データを退避済みか否かを示すビットマップが必要であった。ストレージシステムは、ビットマップを参照することによって、差分データの退避が必要であるか否かを判定する。
しかしながら、運用ボリュームに含まれるブロックの数が多くなると、ビットマップの容量が大きくなるという問題があった。更に、スナップショットの作成又は削除ごとに、ビットマップの更新が必要という問題があった。
本発明は前述した問題点に鑑みてなされたものであって、ビットマップを用いない差分スナップショット管理方法を提供することを目的とする。
本発明の代表的な形態は、ホスト計算機に接続されるストレージシステムにおける差分スナップショット管理方法であって、前記ストレージシステムは、データを記憶するディスクドライブと、前記ディスクドライブへのデータの入出力を制御するディスク制御部と、を備え、前記差分スナップショット管理方法は、前記ディスクドライブの記憶領域を、前記ホスト計算機から書き込み要求されるデータを記憶する運用ボリューム、及び前記運用ボリュームと当該運用ボリュームの差分スナップショットとの差分データを記憶する差分ボリュームを含む複数の論理ボリュームとして提供するステップと、前記運用ボリュームに含まれるブロックにデータが最後に書き込まれた時刻又は前記運用ボリュームに含まれるブロックに記憶されていたデータが差分ボリュームに最後に退避された時刻を、更新時刻として、前記運用ボリュームに含まれるブロックごとに記憶するステップと、前記運用ボリュームに含まれるブロックに対する書込要求を受信した場合、当該受信した書込要求において書込対象とされるブロックの前記更新時刻及び前記差分スナップショットの作成時刻に基づいて、前記書込対象のブロックに記憶されているデータを前記差分ボリュームに退避させるか否かを判定するステップと、を含むことを特徴とする。
本発明の代表的な形態によれば、ビットマップを用いずに差分スナップショットを管理できる。
以下、本発明の実施の形態を図面を参照して説明する。
図1は、本発明の実施の形態の計算機システムの構成のブロック図である。
計算機システムは、ストレージシステム1、ホスト計算機2及び管理コンソール3を備える。ストレージシステム1は、ホスト計算機2及び管理コンソール3に接続される。例えば、ストレージシステム1は、ファイバーチャネル(Fibre Channel)を介してホスト計算機2に接続される。
ホスト計算機2は、CPU、メモリ及びインタフェースを備える計算機である。また、ホスト計算機2は、ストレージシステム1から提供される運用ボリューム18に対するデータの読み書きを要求する。
管理コンソール3は、CPU、メモリ及びインタフェースを備える計算機である。管理コンソール3は、ストレージシステム1の管理者によって操作される。管理コンソール3は、管理者から入力された情報を、ストレージシステム1に送信する。また、管理コンソール3は、ストレージシステム1から受信した情報を出力する。
ストレージシステム1は、ストレージ制御装置10及びディスクドライブを備える。ストレージ制御装置10は、ディスクドライブに対してデータを読み書きする。また、ストレージ制御装置10は、ディスクドライブの記憶領域を、一つ以上の論理ボリューム(LU)としてホスト計算機2に提供する。なお、論理ボリュームは、運用ボリューム18及び差分ボリューム19を含む。
運用ボリューム18は、ホスト計算機2から書き込み要求されたデータを記憶する。
差分ボリューム19は、当該ストレージシステム1によって管理されるスナップショットと運用ボリューム18との差分データを記憶する。なお、本発明の実施の形態では、スナップショットは、差分スナップショットである。
つまり、差分ボリューム19は、運用ボリューム18への書き込みによって、運用ボリューム18から退避された差分データを記憶する。このため、運用ボリューム18と当該運用ボリューム18から退避された差分データを記憶する差分ボリューム19とは、ペアで管理される。なお、運用ボリューム18と差分ボリューム19とのペアは、一つが図示されているが、ストレージシステム1に複数備わっていてもよい。
プロセッサ11は、メモリ12に記憶されるプログラムを実行することによって、各種処理を行う。メモリ12は、プロセッサ11によって実行されるプログラム及びプロセッサ11によって必要とされる情報などを記憶する。
具体的には、メモリ12は、スナップショット運用開始プログラム121、スナップショット作成プログラム122、運用ボリュームアクセスプログラム123、スナップショットアクセスプログラム124、スナップショット削除プログラム125、スナップショット運用停止プログラム126、時刻管理プログラム127、スナップショット作成時刻テーブル131、使用ブロック管理テーブル132及び差分データ管理テーブル133を記憶する。
スナップショット運用開始プログラム121は、管理コンソール3からスナップショット運用開始の指示を受信すると、実行される。そして、スナップショット運用開始プログラム121は、スナップショットの運用開始に必要な処理を行う。なお、スナップショット運用開始プログラム121の処理については、図5で詳細を説明する。
スナップショット作成プログラム122は、管理コンソール3からスナップショット作成の指示を受信すると、実行される。そして、スナップショット作成プログラム122は、スナップショットを作成する。なお、スナップショット作成プログラム122の処理については、図6で詳細を説明する。
運用ボリュームアクセスプログラム123は、運用ボリューム18に対するアクセス要求をホスト計算機2から受信すると、実行される。なお、アクセス要求は、読出要求又は書込要求である。運用ボリュームアクセスプログラム123は、受信したアクセス要求に応じて、運用ボリューム18に対してデータを読み書きする。なお、運用ボリュームアクセスプログラム123の処理については、図7で詳細を説明する。
スナップショットアクセスプログラム124は、当該ストレージシステム1によって管理されるスナップショットに対するアクセス要求をホスト計算機2から受信すると、実行される。そして、スナップショットアクセスプログラム124は、受信したアクセス要求に応じて、スナップショットに対してデータを読み書きする。なお、スナップショットアクセスプログラム124の処理については、図8で詳細を説明する。
スナップショット削除プログラム125は、管理コンソール3からスナップショット削除の指示を受信すると、実行される。そして、スナップショット削除プログラム125は、当該ストレージシステム1によって管理されているスナップショットを削除する。なお、スナップショット削除プログラム125については、図9で詳細を説明する。
スナップショット運用停止プログラム126は、管理コンソール3からスナップショット運用停止の指示を受信すると、実行される。そして、スナップショット運用停止プログラム126は、スナップショットの運用停止に必要な処理を行う。なお、スナップショット運用停止プログラム126の処理については、図10で詳細を説明する。
時刻管理プログラム127は、当該ストレージシステム1内で使用される時刻を管理する。具体的には、時刻管理プログラム127は、クロック16からの割り込みを検出する度に、時刻を進める。例えば、クロック16からの割り込みが1ミリ秒ごとに発生する場合、時刻管理プログラム127は、クロック16からの割り込みを検出する度に、時刻を1ミリ秒ずつ進める。
また、時刻管理プログラム127は、プロセッサ11の動作クロックを利用することによって、クロック16からの割り込み間隔より細かい単位の時刻を管理してもよい。例えば、クロック16からの割り込みが1ミリ秒ごとに発生する場合であっても、時刻管理プログラム127は、プロセッサ11の動作クロックを利用することによって、ナノ秒単位の時刻を管理できる。
スナップショット作成時刻テーブル131は、当該ストレージシステム1によって管理されるスナップショットの作成時刻を示す。なお、スナップショット作成時刻テーブル131については、図2で詳細を説明する。
使用ブロック管理テーブル132は、差分ボリューム19に含まれるそれぞれのブロックが使用されているか否かを示す。ブロックは、データが読み書きされる最小単位の記憶領域である。つまり、データは、ブロック単位で読み書きされる。なお、使用ブロック管理テーブル132については、図3で詳細を説明する。
差分データ管理テーブル133は、当該ストレージシステム1によって管理されるスナップショットと運用ボリューム18との差分データを記憶するブロックを示す。なお、差分データ管理テーブル133については、図4で詳細を説明する。
インタフェース15は、ホスト計算機2及び管理コンソール3に接続される。クロック16は、時刻を管理するハードウェアである。また、クロック16は、所定の間隔で割り込みを発生させる。
図2は、本発明の実施の形態のストレージ制御装置10に記憶されるスナップショット作成時刻テーブル131の構成図である。
スナップショット作成時刻テーブル131は、スナップショット番号1311及び作成時刻1312を含む。
スナップショット番号1311は、当該ストレージシステム1によって管理されるスナップショットの一意な識別子である。
作成時刻1312は、当該列のスナップショット番号1311によって識別されるスナップショットが作成された時刻である。なお、当該列のスナップショット番号1311によって識別されるスナップショットが作成されていない場合、作成時刻1312には「Null」が格納される。
スナップショット作成時刻テーブル131は、当該ストレージシステム1によって管理可能なスナップショットの最大個数と同数の列を含む。例えば、当該ストレージシステム1がS個のスナップショットを管理できる場合、スナップショット作成時刻テーブル131はS個の列を含む。
図3は、本発明の実施の形態のストレージ制御装置10に記憶される使用ブロック管理テーブル132の構成図である。
使用ブロック管理テーブル132は、ブロック番号1321及び使用フラグ1322を含む。
ブロック番号1321は、差分ボリューム19に含まれるブロックの一意な識別子である。
使用フラグ1322は、当該列のブロック番号1321によって識別されるブロックに、差分データが格納されているか否かを示す。例えば、当該列のブロック番号1321によって識別されるブロックに差分データが格納されている場合、使用フラグ1322には「1」が格納される。一方、当該列のブロック番号1321によって識別されるブロックに差分データが格納されていない場合、使用フラグ1322には「0」が格納される。
使用ブロック管理テーブル132は、差分ボリューム19に含まれるブロックの数と同数の列を含む。例えば、当該差分ボリューム19がP個のブロックを含む場合、使用ブロック管理テーブル132はP個の列を含む。
図4は、本発明の実施の形態のストレージ制御装置10に記憶される差分データ管理テーブル133の構成図である。
差分データ管理テーブル133は、ブロック番号1331、更新時刻1332及びスナップショット番号1333を含む。
ブロック番号1331は、運用ボリューム18に含まれるブロックの一意な識別子である。スナップショット番号1333は、当該ストレージシステム1によって管理されるスナップショットの一意な識別子である。
差分データ管理テーブル133に含まれるそれぞれのボックス1334は、当該列のスナップショット番号1333によって識別されるスナップショットに含まれる、当該行のブロック番号1331によって識別されるブロックのデータが実際に記憶されている位置を示す。
具体的には、当該列のスナップショット番号1333によって識別されるスナップショットに含まれる、当該行のブロック番号1331によって識別されるブロックのデータが運用ボリューム18内のブロックに記憶されている場合、当該ボックス1334には「Null」が格納される。一方、当該列のスナップショット番号1333によって識別されるスナップショットに含まれる、当該行のブロック番号1331によって識別されるブロックのデータが差分ボリューム19内のブロックに記憶されている場合、当該ボックス1334には当該データが記憶されているブロックの一意な識別子が格納される。
更新時刻1332は、当該行に含まれるボックス1334のいずれかが最後に更新された時刻である。つまり、更新時刻1332は、当該行のブロック番号1331によって識別されるブロックのデータが差分ボリューム19に最後に退避された時刻である。なお、更新時刻1332は、当該行のブロック番号1331によって識別される運用ボリューム18のブロックのデータが最後に更新された時刻であってもよい。
差分データ管理テーブル133は、当該ストレージシステム1によって管理可能なスナップショットの最大個数と同数の列を含む。例えば、当該ストレージシステム1がS個のスナップショットを管理できる場合、差分データ管理テーブル133はS個の列を含む。
また、差分データ管理テーブル133は、運用ボリューム18に含まれるブロックの数と同数の行を含む。例えば、当該運用ボリューム18がN個のブロックを含む場合、差分データ管理テーブル133はN個の行を含む。
図5は、本発明の実施の形態のストレージ制御装置10によって実行されるスナップショット運用開始プログラム121の処理のフローチャートである。
ストレージ制御装置10に備わるプロセッサ11は、管理コンソール3からスナップショット運用開始の指示を受信すると、当該スナップショット運用開始プログラム121を実行する。なお、スナップショット運用開始の指示では、スナップショット運用が開始される運用ボリューム18及び当該運用ボリューム18から退避された差分データが格納される差分ボリューム19が指定される。
まず、ストレージ制御装置10に備わるプロセッサ11は、スナップショット運用開始の指示で指定された運用ボリューム18と差分ボリューム19とを、ペアで管理する。
次に、ストレージ制御装置10に備わるプロセッサ11は、使用ブロック管理テーブル132を初期化する(1211)。具体的には、ストレージ制御装置10に備わるプロセッサ11は、使用ブロック管理テーブル132に含まれるすべての列の使用フラグ1322に、「0」を格納する。
なお、当該初期化された使用ブロック管理テーブル132は、スナップショット運用開始の指示で指定された差分ボリューム19に含まれるブロックの数と同数の列を含む。
次に、ストレージ制御装置10に備わるプロセッサ11は、スナップショット作成時刻テーブル131を初期化する(1212)。具体的には、ストレージ制御装置10に備わるプロセッサ11は、スナップショット作成時刻テーブル131に含まれるすべての列の作成時刻1312に、「Null」を格納する。
なお、当該初期化されたスナップショット作成時刻テーブル131は、当該ストレージシステム1によって管理可能なスナップショットの最大個数と同数の列を含む。
次に、ストレージ制御装置10に備わるプロセッサ11は、差分データ管理テーブル133を初期化する(1213)。具体的には、ストレージ制御装置10に備わるプロセッサ11は、差分データ管理テーブル133に含まれるすべてのボックス1334に、「Null」を格納する。
なお、当該初期化された差分データ管理テーブル133は、当該ストレージシステム1によって管理可能なスナップショットの最大個数と同数の列を含む。また、当該初期化された差分データ管理テーブル133は、スナップショット運用開始の指示で指定された運用ボリューム18に含まれるブロックの数と同数の行を含む。
そして、ストレージ制御装置10に備わるプロセッサ11は、当該スナップショット運用開始プログラム121の処理を終了する。
図6は、本発明の実施の形態のストレージ制御装置10によって実行されるスナップショット作成プログラム122の処理のフローチャートである。
ストレージ制御装置10に備わるプロセッサ11は、スナップショット作成の指示を管理コンソール3から受信すると、当該スナップショット作成プログラム122を実行する。なお、スナップショット作成の指示は、スナップショット運用が開始されている運用ボリューム18のスナップショットの作成を指示する。また、スナップショット作成の指示
では、作成が指示されるスナップショットのスナップショット番号が指定される。
まず、ストレージ制御装置10に備わるプロセッサ11は、スナップショット作成の指示で指定されたスナップショット番号とスナップショット作成時刻テーブル131のスナップショット番号1311とが一致する列を、スナップショット作成時刻テーブル131から選択する。次に、ストレージ制御装置10に備わるプロセッサ11は、選択した列の作成時刻1312に、当該作成を指示されたスナップショットの作成時刻を格納する(1221)。例えば、ストレージ制御装置10に備わるプロセッサ11は、選択した列の作成時刻1312に、現在の時刻又はスナップショット作成の指示を受信した時刻を格納する。
そして、ストレージ制御装置10に備わるプロセッサ11は、スナップショット作成プログラム122の処理を終了する。
ビットマップを用いて差分データを退避させる必要があるか否かを判定するスナップショット機能を備える場合、ストレージ制御装置10に備わるプロセッサ11は、スナップショットの作成時に、ビットマップを設定する必要があった。しかしながら、本発明の実施の形態によれば、ストレージ制御装置10に備わるプロセッサ11は、スナップショットの作成時に、当該スナップショットの作成時刻を、スナップショット作成時刻テーブル131に格納するだけでよい。そのため、本発明の実施の形態では、スナップショットの作成に必要な時間が短縮される。よって、ストレージ制御装置10に備わるプロセッサ11は、短い間隔でスナップショットを作成できる。
図7は、本発明の実施の形態のストレージ制御装置10によって実行される運用ボリュームアクセスプログラム123の処理のフローチャートである。
ストレージ制御装置10に備わるプロセッサ11は、運用ボリューム18に対するアクセス要求をホスト計算機2から受信すると、当該運用ボリュームアクセスプログラム123を実行する。なお、アクセス要求では、アクセスの対象となるブロックのブロック番号が指定される。
まず、ストレージ制御装置10に備わるプロセッサ11は、受信したアクセス要求が書込要求であるか否かを判定する(1231)。
アクセス要求が読出要求の場合、ストレージ制御装置10に備わるプロセッサ11は、読み出しを要求されたデータを、運用ボリューム18から読み出す(1236)。次に、ストレージ制御装置10に備わるプロセッサ11は、読み出したデータを、アクセス要求の送信元であるホスト計算機2に送信する。そして、ストレージ制御装置10に備わるプロセッサ11は、当該運用ボリュームアクセスプログラム123の処理を終了する。
一方、アクセス要求が書込要求の場合、ストレージ制御装置10に備わるプロセッサ11は、当該アクセス要求で指定されたブロック番号と差分データ管理テーブル133のブロック番号1331とが一致する行を、差分データ管理テーブル133から選択する。次に、ストレージ制御装置10に備わるプロセッサ11は、選択した行から、更新時刻1332を抽出する。
次に、ストレージ制御装置10に備わるプロセッサ11は、スナップショット作成時刻テーブル131に含まれるすべての作成時刻1312が、抽出した更新時刻1332より前であるか否かを判定する(1232)。
スナップショット作成時刻テーブル131に含まれるすべての作成時刻1312が更新時刻1332より前の場合、差分データを退避させる必要がない。そこで、ストレージ制御装置10に備わるプロセッサ11は、書き込みを要求されたデータを、運用ボリューム18に書き込む(1236)。次に、ストレージ制御装置10に備わるプロセッサ11は、書込完了通知を、アクセス要求の送信元であるホスト計算機2に送信する。
なお、差分データ管理テーブル133の更新時刻1332が、当該ブロックのデータが最後に更新された時刻を示す場合には、ストレージ制御装置10に備わるプロセッサ11は、差分データ管理テーブル133の更新時刻1332を更新する。
具体的には、ストレージ制御装置10に備わるプロセッサ11は、アクセス要求で指定されたブロック番号と差分データ管理テーブル133のブロック番号1331とが一致する行を、差分データ管理テーブル133から選択する。次に、ストレージ制御装置10に備わるプロセッサ11は、選択した行の更新時刻1332に、現在の時刻を格納する。
そして、ストレージ制御装置10に備わるプロセッサ11は、当該運用ボリュームアクセスプログラム123の処理を終了する。
一方、スナップショット作成時刻テーブル131に含まれる少なくとも一つの作成時刻1312が更新時刻1332以降の場合、差分データの退避が必要である。
そこで、ストレージ制御装置10に備わるプロセッサ11は、使用ブロック管理テーブル132の使用フラグ1322に「0」が格納されている列を、使用ブロック管理テーブル132から選択する。次に、ストレージ制御装置10に備わるプロセッサ11は、選択した列の使用フラグ1322に「1」を格納する。次に、ストレージ制御装置10に備わるプロセッサ11は、選択した列のブロック番号1321を抽出する。これによって、ストレージ制御装置10に備わるプロセッサ11は、抽出したブロック番号1321によって識別されるブロックを、差分ボリューム19内の未使用のブロックとして特定する(1233)。
次に、ストレージ制御装置10に備わるプロセッサ11は、アクセス要求で指定されたブロック番号によって識別されるアクセス対象のブロックのデータを、特定した未使用のブロックに退避させる(1234)。
次に、ストレージ制御装置10に備わるプロセッサ11は、抽出した更新時刻1332以降の作成時刻1312であるすべての列を、スナップショット作成時刻テーブル131から選択する。次に、ストレージ制御装置10に備わるプロセッサ11は、選択した列からスナップショット番号1311を抽出する。
次に、ストレージ制御装置10に備わるプロセッサ11は、差分データ管理テーブル133を更新する(1235)。
具体的には、ストレージ制御装置10に備わるプロセッサ11は、アクセス要求で指定されたブロック番号と差分データ管理テーブル133のブロック番号1331とが一致する行を、差分データ管理テーブル133から選択する。次に、ストレージ制御装置10に備わるプロセッサ11は、選択した行の更新時刻1332に、現在の時刻を格納する。
次に、ストレージ制御装置10に備わるプロセッサ11は、抽出したスナップショット番号1311と差分データ管理テーブル133のスナップショット番号1333とが一致するボックス1334を、選択した行から選択する。次に、ストレージ制御装置10に備わるプロセッサ11は、選択したボックス1334に、抽出したブロック番号1321を格納する。これによって、ストレージ制御装置10に備わるプロセッサ11は、アクセス対象のブロックの更新時刻以降に作成されたスナップショットに対応するボックス1334に、差分データが退避されたブロックの識別子を格納する。
次に、ストレージ制御装置10に備わるプロセッサ11は、書き込みを要求されたデータを、運用ボリューム18に書き込む(1236)。次に、ストレージ制御装置10に備わるプロセッサ11は、書込完了通知を、アクセス要求の送信元であるホスト計算機2に送信する。そして、ストレージ制御装置10に備わるプロセッサ11は、当該運用ボリュームアクセスプログラム123の処理を終了する。
図8は、本発明の実施の形態のストレージ制御装置10によって実行されるスナップショットアクセスプログラム124の処理のフローチャートである。
ストレージ制御装置10に備わるプロセッサ11は、スナップショットに対するアクセス要求をホスト計算機2から受信すると、当該スナップショットアクセスプログラム124を実行する。なお、アクセス要求では、アクセスの対象となるスナップショットのスナップショット番号及びアクセスの対象となるブロックのブロック番号が指定される。
まず、ストレージ制御装置10に備わるプロセッサ11は、アクセス要求で指定されたブロック番号と差分データ管理テーブル133のブロック番号1331とが一致する行を、差分データ管理テーブル133から選択する。次に、ストレージ制御装置10に備わるプロセッサ11は、アクセス要求で指定されたスナップショット番号と差分データ管理テーブル133のスナップショット番号1333とが一致するボックス1334を、選択した行の中から選択する。
次に、ストレージ制御装置10に備わるプロセッサ11は、選択したボックス1334に「Null」が格納されているか否かを判定する。これによって、ストレージ制御装置10に備わるプロセッサ11は、アクセス対象のブロックのデータが差分ボリューム19に格納されているか否かを判定する(1241)。
選択したボックス1334に「Null」が格納されていない場合、アクセス対象のブロックのデータが差分ボリューム19に格納されている。そこで、ストレージ制御装置10に備わるプロセッサ11は、受信したアクセス要求が書込要求であるか否かを判定する(1246)。
アクセス要求が読出要求の場合、ストレージ制御装置10に備わるプロセッサ11は、読み出しを要求されたデータを、差分ボリューム19から読み出す(1248)。次に、ストレージ制御装置10に備わるプロセッサ11は、読み出したデータを、アクセス要求の送信元であるホスト計算機2に送信する。そして、ストレージ制御装置10に備わるプロセッサ11は、当該スナップショットアクセスプログラム124の処理を終了する。
一方、アクセス要求が書込要求の場合、ストレージ制御装置10に備わるプロセッサ11は、選択したボックス1334と同じ値のボックス1334が、選択した行に存在するか否かを判定する。これによって、ストレージ制御装置10に備わるプロセッサ11は、アクセス対象のブロックが、アクセス対象のスナップショット以外のスナップショットに使用されているか否かを判定する(1247)。
選択したボックス1334と同じ値のボックス1334が、選択した行に存在する場合、アクセス対象のブロックが、アクセス対象のスナップショット以外のスナップショットにも使用されている。そこで、ストレージ制御装置10に備わるプロセッサ11は、ステップ1243に進む。
一方、選択したボックス1334と同じ値のボックス1334が、選択した行に存在しない場合、アクセス対象のブロックが、アクセス対象のスナップショットのみに使用されている。そこで、ストレージ制御装置10に備わるプロセッサ11は、差分ボリューム19に含まれるブロックのうち、選択したボックス1334によって識別されるブロックに、データを書き込む(1248)。次に、ストレージ制御装置10に備わるプロセッサ11は、書込完了通知を、アクセス要求の送信元であるホスト計算機2に送信する。そして、ストレージ制御装置10に備わるプロセッサ11は、当該スナップショットアクセスプログラム124の処理を終了する。
一方、選択したボックス1334に「Null」が格納されている場合、アクセス対象のブロックのデータが運用ボリューム18に格納されている。そこで、ストレージ制御装置10に備わるプロセッサ11は、受信したアクセス要求が書込要求であるか否かを判定する(1242)。
アクセス要求が読出要求の場合、ストレージ制御装置10に備わるプロセッサ11は、読み出しを要求されたデータを、運用ボリューム18から読み出す(1245)。次に、ストレージ制御装置10に備わるプロセッサ11は、読み出したデータを、アクセス要求の送信元であるホスト計算機2に送信する。そして、ストレージ制御装置10に備わるプロセッサ11は、当該スナップショットアクセスプログラム124の処理を終了する。
一方、アクセス要求が書込要求の場合、ストレージ制御装置10に備わるプロセッサ11は、使用ブロック管理テーブル132の使用フラグ1322に「0」が格納されている列を、使用ブロック管理テーブル132から選択する。次に、ストレージ制御装置10に備わるプロセッサ11は、選択した列の使用フラグ1322に「1」を格納する。次に、ストレージ制御装置10に備わるプロセッサ11は、選択した列のブロック番号1321を抽出する。これによって、ストレージ制御装置10に備わるプロセッサ11は、抽出したブロック番号1321によって識別されるブロックを、差分ボリューム19内の未使用のブロックとして特定する(1243)。
次に、ストレージ制御装置10に備わるプロセッサ11は、差分データ管理テーブル133を更新する(1244)。
具体的には、ストレージ制御装置10に備わるプロセッサ11は、アクセス要求で指定されたブロック番号と差分データ管理テーブル133のブロック番号1331とが一致する行を、差分データ管理テーブル133から選択する。次に、ストレージ制御装置10に備わるプロセッサ11は、選択した行の更新時刻1332に、現在の時刻を格納する。
次に、ストレージ制御装置10に備わるプロセッサ11は、アクセス要求で指定されたスナップショット番号と差分データ管理テーブル133のスナップショット番号1333とが一致するボックス1334を、選択した行から選択する。次に、ストレージ制御装置10に備わるプロセッサ11は、選択したボックス1334に、抽出したブロック番号1321を格納する。
次に、ストレージ制御装置10に備わるプロセッサ11は、書き込みを要求されたデータを、特定した未使用ブロックに書き込む(1245)。次に、ストレージ制御装置10に備わるプロセッサ11は、書込完了通知を、アクセス要求の送信元であるホスト計算機2に送信する。そして、ストレージ制御装置10に備わるプロセッサ11は、当該スナップショットアクセスプログラム124の処理を終了する。
図9は、本発明の実施の形態のストレージ制御装置10によって実行されるスナップショット削除プログラム125の処理のフローチャートである。
ストレージ制御装置10に備わるプロセッサ11は、スナップショット削除の指示を管理コンソール3から受信すると、当該スナップショット削除プログラム125を実行する。なお、スナップショット削除の指示では、削除が指示されるスナップショットのスナップショット番号が指定される。
まず、ストレージ制御装置10に備わるプロセッサ11は、スナップショット作成時刻テーブル131を更新する(1251)。
具体的には、ストレージ制御装置10に備わるプロセッサ11は、スナップショット削除の指示で指定されたスナップショット番号とスナップショット作成時刻テーブル131のスナップショット番号1311とが一致する列を、スナップショット作成時刻テーブル131から選択する。次に、ストレージ制御装置10に備わるプロセッサ11は、選択した列の作成時刻1312に、「Null」を格納する。
次に、ストレージ制御装置10に備わるプロセッサ11は、以降の処理において使用される変数Bに「0」を設定する(1252)。
次に、ストレージ制御装置10に備わるプロセッサ11は、変数Bと差分データ管理テーブル133のブロック番号1331とが一致する行を、差分データ管理テーブル133から選択する。次に、ストレージ制御装置10に備わるプロセッサ11は、スナップショット削除の指示で指定されたスナップショット番号と差分データ管理テーブル133のスナップショット番号1333とが一致するボックス1334を、選択した行から選択する。
次に、ストレージ制御装置10に備わるプロセッサ11は、選択したボックス1334に「Null」が格納されているか否かを判定する。これによって、ストレージ制御装置10に備わるプロセッサ11は、変数Bによって識別されるブロックのデータが差分ボリューム19に格納されているか否かを判定する。
選択したボックス1334に「Null」が格納されている場合、変数Bによって識別されるブロックのデータは、運用ボリューム18に格納されている。よって、ストレージ制御装置10に備わるプロセッサ11は、そのままステップ1256に進む。
一方、選択したボックス1334に「Null」が格納されていない場合、変数Bによって識別されるブロックのデータは、差分ボリューム19に格納されている。そこで、ストレージ制御装置10に備わるプロセッサ11は、選択したボックス1334と同じ値のボックス1334が、選択した行に他に存在するか否かを判定する。
当該ボックス1334が他に存在する場合、変数Bによって識別されるブロックのデータが、削除対象のスナップショット以外のスナップショットで使用されている。そこで、ストレージ制御装置10に備わるプロセッサ11は、そのままステップ1255に進む。
一方、当該ボックス1334が他に存在しない場合、変数Bによって識別されるブロックのデータが、削除対象のスナップショットのみで使用されている。そこで、ストレージ制御装置10に備わるプロセッサ11は、使用ブロック管理テーブル132を更新する(1254)。
具体的には、ストレージ制御装置10に備わるプロセッサ11は、選択したボックス1334と使用ブロック管理テーブル132のブロック番号1321とが一致する列を、使用ブロック管理テーブル132から選択する。次に、ストレージ制御装置10に備わるプロセッサ11は、選択した列のブロック番号1321に、「0」を格納する。
次に、ストレージ制御装置10に備わるプロセッサ11は、差分データ管理テーブル133を更新する(1255)。具体的には、ストレージ制御装置10に備わるプロセッサ11は、選択したボックス1334に、「Null」を格納する。
次に、ストレージ制御装置10に備わるプロセッサ11は、運用ボリューム18に含まれるブロックの数から「1」を減算した値と変数Bとが同一であるか否かを判定する(1256)。
二つの値が異なる場合、ストレージ制御装置10に備わるプロセッサ11は、運用ボリューム18に含まれるいずれかのブロックに対してステップ1253〜1255を実行していない。そこで、ストレージ制御装置10に備わるプロセッサ11は、変数Bに「1」を加算し(1257)、ステップ1253に戻る。そして、ストレージ制御装置10に備わるプロセッサ11は、ステップ1253〜1256を実行する。
一方、二つの値が同一の場合、ストレージ制御装置10に備わるプロセッサ11は、運用ボリューム18に含まれるすべてのブロックに対してステップ1253〜1255を実行している。そこで、ストレージ制御装置10に備わるプロセッサ11は、当該スナップショット削除プログラム125の処理を終了する。
図10は、本発明の実施の形態のストレージ制御装置10によって実行されるスナップショット運用停止プログラム126の処理のフローチャートである。
ストレージ制御装置10に備わるプロセッサ11は、管理コンソール3からスナップショット運用停止の指示を受信すると、当該スナップショット運用停止プログラム126を実行する。なお、スナップショット運用停止の指示では、スナップショット運用が停止される運用ボリューム18が指定される。
まず、ストレージ制御装置10に備わるプロセッサ11は、使用ブロック管理テーブル132を削除する(1261)。
次に、ストレージ制御装置10に備わるプロセッサ11は、スナップショット作成時刻テーブル131を削除する(1262)。
次に、ストレージ制御装置10に備わるプロセッサ11は、差分データ管理テーブル133を削除する(1263)。
そして、ストレージ制御装置10に備わるプロセッサ11は、当該スナップショット運用停止プログラム126の処理を終了する。
本発明の実施の形態によれば、ストレージ制御装置10は、スナップショット作成時刻テーブル131の作成時刻1312と差分データ管理テーブル133の更新時刻1332とを比較することによって、差分データを退避させる必要があるか否かを判定する。つまり、ストレージ制御装置10は、書込対象のブロックからデータが最後に退避された時刻とスナップショットの作成時刻とを比較することによって、差分データを退避させる必要があるか否かを判定する。又は、ストレージ制御装置10は、書込対象のブロックのデータが最後に更新された時刻とスナップショットの作成時刻とを比較することによって、差分データを退避させる必要があるか否かを判定する。
このため、本発明の実施の形態では、ストレージ制御装置10は、ブロックのデータが最後に更新された時刻又はブロックからデータが最後に退避された時刻を記憶するが、差分データの退避を判定するために使用するビットマップを記憶する必要がない。
例えば、ビットマップでは、運用ボリューム18に含まれるブロック数に、当該ストレージシステム1によって管理可能なスナップショットの最大個数を乗じることによって求まった値(ビット)の記憶容量が必要となる。一方、本発明の実施の形態では、一つの時刻の記憶に必要な記憶容量に、当該ストレージシステム1によって管理可能なスナップショットの最大個数を乗じることによって求まった値(ビット)の記憶容量で済む。例えば、一つの時刻の記憶に必要な記憶容量は、64ビットである。
つまり、本発明の実施の形態によれば、差分データを退避させる必要があるか否かを判定するために使用する記憶容量が削減される。
また、ビットマップを用いて差分データを退避させる必要があるか否かを判定する場合、ストレージ制御装置10は、スナップショットの作成時に、ビットマップを設定する必要があった。しかしながら、本発明の実施の形態によれば、ストレージ制御装置10は、スナップショットの作成時に、当該スナップショットの作成時刻を記憶するだけでよい。そのため、本発明の実施の形態では、スナップショットの作成の処理が簡略化される。よって、本発明の実施の形態では、ストレージ制御装置10は、短い間隔でスナップショットを作成できる。
次に、本発明の実施の形態の変形例を説明する。
本発明の実施の形態の変形例では、ストレージ制御装置10の代わりに、NASサーバが各種処理を行う。
図11は、本発明の実施の形態の変形例の計算機システムの構成のブロック図である。
変形例の計算機システムは、ストレージシステム1、ホスト計算機2、管理コンソール3及びNASサーバ5を備える。ストレージシステム1は、NASサーバ5及び管理コンソール3に接続される。例えば、ストレージシステム1は、ファイバーチャネル(Fibre Channel)を介してNASサーバ5に接続される。また、NASサーバ5は、LAN(Local Area Network)などを介してホスト計算機2に接続される。
ストレージシステム1、ホスト計算機2及び管理コンソール3は、図1に示す計算機システムに備わるものと同一であるので、説明を省略する。但し、変形例では、ストレージシステム1のメモリ12は、スナップショット運用開始プログラム121、スナップショット作成プログラム122、運用ボリュームアクセスプログラム123、スナップショットアクセスプログラム124、スナップショット削除プログラム125、スナップショット運用停止プログラム126、時刻管理プログラム127、スナップショット作成時刻テーブル131、使用ブロック管理テーブル132及び差分データ管理テーブル133を記憶しない。
NASサーバ5は、ファイル共有サービスをホスト計算機2に提供する。例えば、NASサーバ5は、ファイルアクセス要求を受信する。すると、NASサーバ5は、受信したファイルアクセス要求を、ブロックアクセス要求に変換する。そして、NASサーバ5は、変換されたブロックアクセス要求をストレージシステム1に送信する。なお、NASサーバ5については、図12で詳細を説明する。
図12は、本発明の実施の形態の変形例の計算機システムに備わるNASサーバ5の構成図である。
NASサーバ5は、プロセッサ51、メモリ52、ネットワークインタフェース55、ストレージインタフェース56及びクロック57を備える。
プロセッサ51は、メモリ52に記憶されるプログラムを実行することによって、各種処理を行う。メモリ52は、プロセッサ51によって実行されるプログラム及びプロセッサ51によって必要とされる情報などを記憶する。
具体的には、メモリ52は、スナップショット運用開始プログラム121、スナップショット作成プログラム122、運用ボリュームアクセスプログラム123、スナップショットアクセスプログラム124、スナップショット削除プログラム125、スナップショット運用停止プログラム126、時刻管理プログラム127、スナップショット作成時刻テーブル131、使用ブロック管理テーブル132、差分データ管理テーブル133及びファイルアクセス処理プログラム521及びファイルシステム処理プログラム522を記憶する。
スナップショット運用開始プログラム121、スナップショット作成プログラム122、運用ボリュームアクセスプログラム123、スナップショットアクセスプログラム124、スナップショット削除プログラム125、スナップショット運用停止プログラム126、時刻管理プログラム127、スナップショット作成時刻テーブル131、使用ブロック管理テーブル132及び差分データ管理テーブル133は、図1に示すストレージシステム1に備わるメモリ12に記憶されるものと同一なので説明を省略する。
ファイルアクセス処理プログラム521は、ファイル共有サービスをホスト計算機2に提供する。なお、NASサーバ5とホスト計算機2との間では、NFS(Network File System)又はCIFS(Common Internet File System)等のファイル共有プロトコルが使用される。
ファイルシステム処理プログラム522は、ストレージシステム1に記憶されるデータをファイルとして、ホスト計算機2に提供する。例えば、ファイルシステム処理プログラム522は、ファイルアクセス要求を、ブロックアクセス要求に変換する。
ネットワークインタフェース55は、LANなどを介してホスト計算機2に接続される。ストレージインタフェース56は、ファイバーチャネルなどを介してストレージシステム1に接続される。クロック57は、時刻を管理するハードウェアである。また、クロック57は、所定の間隔で割り込みを発生させる。
本発明の実施の形態の変形例では、NASサーバ5は、図12で示す構成を備える。これによって、NASサーバ5は、ストレージ制御装置10の代わりに、図5〜図10で示す各種処理を実行する。
本発明の実施の形態の計算機システムの構成のブロック図である。 本発明の実施の形態のストレージ制御装置に記憶されるスナップショット作成時刻テーブルの構成図である。 本発明の実施の形態のストレージ制御装置に記憶される使用ブロック管理テーブルの構成図である。 本発明の実施の形態のストレージ制御装置に記憶される差分データ管理テーブルの構成図である。 本発明の実施の形態のストレージ制御装置によって実行されるスナップショット運用開始プログラムの処理のフローチャートである。 本発明の実施の形態のストレージ制御装置によって実行されるスナップショット作成プログラムの処理のフローチャートである。 本発明の実施の形態のストレージ制御装置によって実行される運用ボリュームアクセスプログラムの処理のフローチャートである。 本発明の実施の形態のストレージ制御装置によって実行されるスナップショットアクセスプログラムの処理のフローチャートである。 本発明の実施の形態のストレージ制御装置によって実行されるスナップショット削除プログラムの処理のフローチャートである。 本発明の実施の形態のストレージ制御装置によって実行されるスナップショット運用停止プログラムの処理のフローチャートである。 本発明の実施の形態の変形例の計算機システムの構成のブロック図である。 本発明の実施の形態の変形例の計算機システムに備わるNASサーバの構成図である。
符号の説明
1 ストレージシステム
2 ホスト計算機
3 管理コンソール
5 NASサーバ
10 ストレージ制御装置
11 プロセッサ
12 メモリ
15 インタフェース
16 クロック
18 運用ボリューム
19 差分ボリューム
51 プロセッサ
52 メモリ
55 ネットワークインタフェース
56 ストレージインタフェース
57 クロック
121 スナップショット運用開始プログラム
122 スナップショット作成プログラム
123 運用ボリュームアクセスプログラム
124 スナップショットアクセスプログラム
125 スナップショット削除プログラム
126 スナップショット運用停止プログラム
127 時刻管理プログラム
131 スナップショット作成時刻テーブル
132 使用ブロック管理テーブル
133 差分データ管理テーブル
521 ファイルアクセス処理プログラム
522 ファイルシステム処理プログラム

Claims (18)

  1. ホスト計算機に接続されるストレージシステムにおける差分スナップショット管理方法であって、
    前記ストレージシステムは、データを記憶するディスクドライブと、前記ディスクドライブへのデータの入出力を制御するディスク制御部と、を備え、
    前記差分スナップショット管理方法は、
    前記ディスクドライブの記憶領域を、前記ホスト計算機から書き込み要求されるデータを記憶する運用ボリューム、及び前記運用ボリュームと当該運用ボリュームの差分スナップショットとの差分データを記憶する差分ボリュームを含む複数の論理ボリュームとして提供するステップと、
    前記運用ボリュームに含まれるブロックにデータが最後に書き込まれた時刻又は前記運用ボリュームに含まれるブロックに記憶されていたデータが差分ボリュームに最後に退避された時刻を、更新時刻として、前記運用ボリュームに含まれるブロックごとに記憶するステップと、
    前記運用ボリュームに含まれるブロックに対する書込要求を受信した場合、当該受信した書込要求において書込対象とされるブロックの前記更新時刻及び前記差分スナップショットの作成時刻に基づいて、前記書込対象のブロックに記憶されているデータを前記差分ボリュームに退避させるか否かを判定するステップと、を含むことを特徴とする差分スナップショット管理方法。
  2. 前記データを退避させるか否かを判定するステップでは、前記書込対象のブロックの前記更新時刻以降に作成された前記差分スナップショットが一つでも存在する場合、前記書込対象のブロックに記憶されているデータを前記差分ボリュームに退避させると判定することを特徴とする請求項1に記載の差分スナップショット管理方法。
  3. 更に、前記書込対象のブロックに記憶されているデータを前記差分ボリュームに退避させると判定された場合、前記書込対象のブロックに記憶されているデータを、前記書込対象のブロックの前記更新時刻以降に作成された前記差分スナップショットの差分データとして、前記差分ボリュームに退避させるステップを含むことを特徴とする請求項1に記載の差分スナップショット管理方法。
  4. 前記データを退避させるステップでは、前記書込対象のブロックに記憶されているデータを、前記差分ボリュームに含まれる未使用のブロックに退避させることを特徴とする請求項3に記載の差分スナップショット管理方法。
  5. 更に、前記差分スナップショットが作成された時に、当該作成された差分スナップショットの作成時刻を記憶するステップを含むことを特徴とする請求項1に記載の差分スナップショット管理方法。
  6. 更に、前記差分スナップショットに含まれるブロックに対する書込要求を受信した場合、当該受信した書込要求において書込対象とされるブロックのデータが前記運用ボリューム又は前記差分ボリュームのいずれに記憶されているかを判定するステップと、
    当該データが前記差分ボリュームに記憶されている場合、当該差分ボリュームに記憶されている当該データを、当該受信した書込要求に含まれるデータに更新するステップと、
    当該データが前記運用ボリュームに記憶されている場合、当該受信した書込要求に含まれるデータを、前記差分ボリュームに含まれる未使用のブロックに記憶させるステップと、を含むことを特徴とする請求項1に記載の差分スナップショット管理方法。
  7. ホスト計算機と、管理計算機と、前記ホスト計算機及び前記管理計算機に接続されるストレージシステムと、を備える計算機システムであって、
    前記ストレージシステムは、データを記憶するディスクドライブと、前記ディスクドライブへのデータの入出力を制御するディスク制御部と、を備え、
    前記ディスク制御装置は、
    前記ディスクドライブの記憶領域を、前記ホスト計算機から書き込み要求されるデータを記憶する運用ボリューム、及び前記運用ボリュームと当該運用ボリュームの差分スナップショットとの差分データを記憶する差分ボリュームを含む複数の論理ボリュームとして、前記ホスト計算機に提供し、
    前記運用ボリュームに含まれるブロックにデータが最後に書き込まれた時刻又は前記運用ボリュームに含まれるブロックに記憶されていたデータが差分ボリュームに最後に退避された時刻を、更新時刻として、前記運用ボリュームに含まれるブロックごとに記憶し、
    前記運用ボリュームに含まれるブロックに対する書込要求を前記ホスト計算機から受信した場合、当該受信した書込要求において書込対象とされるブロックの前記更新時刻及び前記差分スナップショットの作成時刻に基づいて、前記書込対象のブロックに記憶されているデータを前記差分ボリュームに退避させるか否かを判定することする計算機システム。
  8. 前記ディスク制御装置は、前記書込対象のブロックの前記更新時刻以降に作成された前記差分スナップショットが一つでも存在する場合、前記書込対象のブロックに記憶されているデータを前記差分ボリュームに退避させると判定することを特徴とする請求項7に記載の計算機システム。
  9. 前記ディスク制御装置は、前記書込対象のブロックに記憶されているデータを前記差分ボリュームに退避させると判定した場合、前記書込対象のブロックに記憶されているデータを、前記書込対象のブロックの前記更新時刻以降に作成された前記差分スナップショットの差分データとして、前記差分ボリュームに退避させることを特徴とする請求項7に記載の計算機システム。
  10. 前記ディスク制御装置は、前記書込対象のブロックに記憶されているデータを、前記差分ボリュームに含まれる未使用のブロックに退避させることを特徴とする請求項9に記載の計算機システム。
  11. 前記ディスク制御装置は、
    前記管理計算機から前記差分スナップショットの作成指示を受信すると、当該作成を指示された差分スナップショットを作成し、
    当該作成された差分スナップショットの作成時刻を記憶することを特徴とする請求項7に記載の計算機システム。
  12. 前記ディスク制御装置は、
    前記差分スナップショットに含まれるブロックに対する書込要求を前記ホスト計算機から受信した場合、当該受信した書込要求において書込対象とされるブロックのデータが前記運用ボリューム又は前記差分ボリュームのいずれに記憶されているかを判定し、
    当該データが前記差分ボリュームに記憶されている場合、当該差分ボリュームに記憶されている当該データを、当該受信した書込要求に含まれるデータに更新し、
    当該データが前記運用ボリュームに記憶されている場合、当該受信した書込要求に含まれるデータを、前記差分ボリュームに含まれる未使用のブロックに記憶させることを特徴とする請求項7に記載の計算機システム。
  13. ホスト計算機及びストレージシステムに接続され、プロセッサ、メモリ及びインタフェースを備えるNAS計算機であって、
    前記プロセッサは、
    前記ホスト計算機から書き込み要求されるデータを記憶する運用ボリューム、及び前記運用ボリュームと当該運用ボリュームの差分スナップショットとの差分データを記憶する差分ボリュームを含む複数の論理ボリュームを、前記ストレージシステムから提供され、
    前記運用ボリュームに含まれるブロックにデータが最後に書き込まれた時刻又は前記運用ボリュームに含まれるブロックに記憶されていたデータが差分ボリュームに最後に退避された時刻を、更新時刻として、前記運用ボリュームに含まれるブロックごとに、前記メモリに記憶させ、
    前記運用ボリュームに含まれるブロックに対する書込要求を前記ホスト計算機から受信した場合、当該受信した書込要求において書込対象とされるブロックの前記更新時刻及び前記差分スナップショットの作成時刻に基づいて、前記書込対象のブロックに記憶されているデータを前記差分ボリュームに退避させるか否かを判定することするNAS計算機。
  14. 前記プロセッサは、前記書込対象のブロックの前記更新時刻以降に作成された前記差分スナップショットが一つでも存在する場合、前記書込対象のブロックに記憶されているデータを前記差分ボリュームに退避させると判定することを特徴とする請求項13に記載のNAS計算機。
  15. 前記プロセッサは、前記書込対象のブロックに記憶されているデータを前記差分ボリュームに退避させると判定した場合、前記書込対象のブロックに記憶されているデータを、前記書込対象のブロックの前記更新時刻以降に作成された前記差分スナップショットの差分データとして、前記差分ボリュームに退避させることを特徴とする請求項13に記載のNAS計算機。
  16. 前記プロセッサは、前記書込対象のブロックに記憶されているデータを、前記差分ボリュームに含まれる未使用のブロックに退避させることを特徴とする請求項15に記載のNAS計算機。
  17. 前記プロセッサは、前記差分スナップショットが作成された時に、当該作成された差分スナップショットの作成時刻を前記メモリに記憶させることを特徴とする請求項13に記載のNAS計算機。
  18. 前記プロセッサは、
    前記差分スナップショットに含まれるブロックに対する書込要求を前記ホスト計算機から受信した場合、当該受信した書込要求において書込対象とされるブロックのデータが前記運用ボリューム又は前記差分ボリュームのいずれに記憶されているかを判定し、
    当該データが前記差分ボリュームに記憶されている場合、当該差分ボリュームに記憶されている当該データを、当該受信した書込要求に含まれるデータに更新し、
    当該データが前記運用ボリュームに記憶されている場合、当該受信した書込要求に含まれるデータを、前記差分ボリュームに含まれる未使用のブロックに記憶させることを特徴とする請求項13に記載のNAS計算機。
JP2007051365A 2007-03-01 2007-03-01 差分スナップショット管理方法、計算機システム及びnas計算機 Pending JP2008217209A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007051365A JP2008217209A (ja) 2007-03-01 2007-03-01 差分スナップショット管理方法、計算機システム及びnas計算機
US12/007,003 US7890716B2 (en) 2007-03-01 2008-01-04 Method of managing time-based differential snapshot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007051365A JP2008217209A (ja) 2007-03-01 2007-03-01 差分スナップショット管理方法、計算機システム及びnas計算機

Publications (1)

Publication Number Publication Date
JP2008217209A true JP2008217209A (ja) 2008-09-18

Family

ID=39733963

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007051365A Pending JP2008217209A (ja) 2007-03-01 2007-03-01 差分スナップショット管理方法、計算機システム及びnas計算機

Country Status (2)

Country Link
US (1) US7890716B2 (ja)
JP (1) JP2008217209A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113220500A (zh) * 2020-02-05 2021-08-06 伊姆西Ip控股有限责任公司 基于逆向差异恢复的恢复方法、设备和程序产品

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008147973A2 (en) 2007-05-25 2008-12-04 Attune Systems, Inc. Remote file virtualization in a switched file system
US8548953B2 (en) 2007-11-12 2013-10-01 F5 Networks, Inc. File deduplication using storage tiers
US8549582B1 (en) 2008-07-11 2013-10-01 F5 Networks, Inc. Methods for handling a multi-protocol content name and systems thereof
JP5156518B2 (ja) 2008-07-23 2013-03-06 株式会社日立製作所 記憶制御装置及び方法
US9195500B1 (en) 2010-02-09 2015-11-24 F5 Networks, Inc. Methods for seamless storage importing and devices thereof
US9286298B1 (en) 2010-10-14 2016-03-15 F5 Networks, Inc. Methods for enhancing management of backup data sets and devices thereof
US9063768B2 (en) * 2011-10-10 2015-06-23 Vmware, Inc. Method and apparatus for comparing configuration and topology of virtualized datacenter inventories
US9020912B1 (en) 2012-02-20 2015-04-28 F5 Networks, Inc. Methods for accessing data in a compressed file system and devices thereof
US9519501B1 (en) 2012-09-30 2016-12-13 F5 Networks, Inc. Hardware assisted flow acceleration and L2 SMAC management in a heterogeneous distributed multi-tenant virtualized clustered system
US10375155B1 (en) 2013-02-19 2019-08-06 F5 Networks, Inc. System and method for achieving hardware acceleration for asymmetric flow connections
US9554418B1 (en) 2013-02-28 2017-01-24 F5 Networks, Inc. Device for topology hiding of a visited network
JP2015064676A (ja) * 2013-09-24 2015-04-09 株式会社東芝 情報処理装置、半導体装置、情報処理方法およびプログラム
JP6194784B2 (ja) * 2013-12-13 2017-09-13 富士通株式会社 ストレージ制御装置、制御方法および制御プログラム
US10834065B1 (en) 2015-03-31 2020-11-10 F5 Networks, Inc. Methods for SSL protected NTLM re-authentication and devices thereof
CN105279100A (zh) * 2015-11-04 2016-01-27 杭州华为数字技术有限公司 链接克隆母卷更新方法及装置
US10404698B1 (en) 2016-01-15 2019-09-03 F5 Networks, Inc. Methods for adaptive organization of web application access points in webtops and devices thereof
US10412198B1 (en) 2016-10-27 2019-09-10 F5 Networks, Inc. Methods for improved transmission control protocol (TCP) performance visibility and devices thereof
US10567492B1 (en) 2017-05-11 2020-02-18 F5 Networks, Inc. Methods for load balancing in a federated identity environment and devices thereof
US11223689B1 (en) 2018-01-05 2022-01-11 F5 Networks, Inc. Methods for multipath transmission control protocol (MPTCP) based session migration and devices thereof
US10833943B1 (en) 2018-03-01 2020-11-10 F5 Networks, Inc. Methods for service chaining and devices thereof

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266654B2 (en) * 2003-03-18 2007-09-04 Hitachi, Ltd. Storage system, server apparatus, and method for creating a plurality of snapshots
JP4292882B2 (ja) 2003-03-18 2009-07-08 株式会社日立製作所 複数のスナップショット維持方法及びサーバ装置及びストレージ装置
JP3856035B2 (ja) 2004-02-24 2006-12-13 ダイキン工業株式会社 空調監視制御システム
JP2005279208A (ja) 2004-03-28 2005-10-13 Yoshiko Nakaya 焼き魚用消臭パック
JP4515132B2 (ja) * 2004-03-31 2010-07-28 株式会社日立製作所 ストレージシステム、ストレージ装置及びリモートコピー方法
KR100537202B1 (ko) 2004-05-06 2005-12-16 주식회사 하이닉스반도체 지연고정루프의 지연고정상태 정보의 이용이 가능한반도체 소자
JP2006011811A (ja) * 2004-06-25 2006-01-12 Hitachi Ltd 記憶制御システム及び記憶制御方法
US7284019B2 (en) * 2004-08-18 2007-10-16 International Business Machines Corporation Apparatus, system, and method for differential backup using snapshot on-write data
JP4353422B2 (ja) 2004-08-31 2009-10-28 株式会社第一興商 カラオケルームサービス課金システム
JP2006113927A (ja) 2004-10-18 2006-04-27 Hitachi Ltd ストレージ装置、ストレージシステム、スナップショット維持方法、およびコマンド
JP2006209636A (ja) 2005-01-31 2006-08-10 Hitachi Ltd スナップショット維持方法
US7366859B2 (en) * 2005-10-06 2008-04-29 Acronis Inc. Fast incremental backup method and system
US20080140963A1 (en) * 2006-12-11 2008-06-12 Thomason Ronald G Methods and systems for storage system generation and use of differential block lists using copy-on-write snapshots

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113220500A (zh) * 2020-02-05 2021-08-06 伊姆西Ip控股有限责任公司 基于逆向差异恢复的恢复方法、设备和程序产品

Also Published As

Publication number Publication date
US7890716B2 (en) 2011-02-15
US20080215836A1 (en) 2008-09-04

Similar Documents

Publication Publication Date Title
JP2008217209A (ja) 差分スナップショット管理方法、計算機システム及びnas計算機
US11099769B1 (en) Copying data without accessing the data
JP6605078B2 (ja) 情報処理方法、情報処理装置、サーバ及びコンピュータ読み取り可能な記録媒体
US7069393B2 (en) Storage system providing file aware caching and file aware remote copy
JP4741371B2 (ja) システム、サーバ装置及びスナップショットの形式変換方法
US20130311429A1 (en) Method for controlling backup and restoration, and storage system using the same
US9892183B2 (en) Computer system, computer system management method, and program
US9740422B1 (en) Version-based deduplication of incremental forever type backup
JP2019519025A (ja) 分散システムにおける範囲の分割および移動
JP2007200114A (ja) データベース回復方法及び計算機システム
US10007548B2 (en) Transaction system
US8850148B2 (en) Data copy management for faster reads
JP2007310788A (ja) ストレージ装置のデータ管理方法、ストレージ装置、および、計算機システム
JP2007323507A (ja) 記憶システム並びにこれを用いたデータの処理方法
JP2009529192A (ja) ファイルシステムの冪等ジャーナルメカニズム
US20170083419A1 (en) Data management method, node, and system for database cluster
JP4755244B2 (ja) 情報生成方法、情報生成プログラム及び情報生成装置
JP6406283B2 (ja) ストレージ装置およびストレージ方法
JP4838054B2 (ja) ディスクアレイ装置及びその負荷分散方法
US10430287B2 (en) Computer
JP6189266B2 (ja) データ処理装置、データ処理方法及びデータ処理プログラム
JPH11316727A (ja) セキュリティシステム
US9529812B1 (en) Timestamp handling for partitioned directories
JP2004013867A (ja) 複製データベースシステム、データベース装置及びそれに用いるデータベース更新方法並びにそのプログラム
CN112835967A (zh) 基于分布式存储系统的数据处理方法、装置、设备和介质