Nothing Special   »   [go: up one dir, main page]

JP6708929B2 - ストレージ制御装置、ストレージシステムおよびストレージ制御プログラム - Google Patents

ストレージ制御装置、ストレージシステムおよびストレージ制御プログラム Download PDF

Info

Publication number
JP6708929B2
JP6708929B2 JP2016159119A JP2016159119A JP6708929B2 JP 6708929 B2 JP6708929 B2 JP 6708929B2 JP 2016159119 A JP2016159119 A JP 2016159119A JP 2016159119 A JP2016159119 A JP 2016159119A JP 6708929 B2 JP6708929 B2 JP 6708929B2
Authority
JP
Japan
Prior art keywords
snapshot
area
control unit
storage
backup
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.)
Active
Application number
JP2016159119A
Other languages
English (en)
Other versions
JP2018028715A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016159119A priority Critical patent/JP6708929B2/ja
Priority to US15/650,002 priority patent/US10430286B2/en
Publication of JP2018028715A publication Critical patent/JP2018028715A/ja
Application granted granted Critical
Publication of JP6708929B2 publication Critical patent/JP6708929B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1456Hardware arrangements for backup
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/164File meta data generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/128Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、ストレージ制御装置、ストレージシステムおよびストレージ制御プログラムに関する。
ファイルが記憶された記憶領域を時間を空けて複数回バックアップする場合、その都度記憶領域内のすべてのファイルをバックアップすると、バックアップ先の記憶容量が膨大になる。そこで、以前のバックアップ時点から更新されたファイルだけをバックアップする差分バックアップを行うことで、バックアップ先の記憶容量を節約できる。
また、データのバックアップに関して、次のようなバックアップシステムが提案されている。このバックアップシステムに含まれる情報処理装置は、記憶部内のファイルが有するファイル管理情報に、バックアップ時点を示す情報を記録する。また、情報処理装置は、所定のバックアップ時点のファイル管理情報と別のバックアップ時点のファイル管理情報とを比較し、比較した差分の情報を取得して記録する。
また、次のようなストレージ装置も提案されている。このストレージ装置は、運用ボリュームのデータと、運用ボリュームのスナップショットの差分データを格納する差分ボリュームのデータとの関係を管理するマッピング情報に基づいて、運用ボリュームのデータと差分ボリュームの差分データとを合成してバックアップ装置に送信する。
特開2009−163334号公報 特開2005−284609号公報
ところで、ファイル単位の差分バックアップでは、ファイルに対応するメタデータの情報に基づいて、ファイルが以前のバックアップ時点から更新されたか否かが判定される。この判定には、例えば、メタデータに含まれるアーカイブ属性や更新時刻が用いられる。しかし、ある記憶領域についてファイル単位で差分バックアップを行う場合には、その記憶領域に含まれるすべてのファイルに対応するメタデータを参照する必要がある。このため、メタデータの参照処理負荷が大きく、バックアップにかかる時間が増大する、あるいは並行して実行される他の処理の進捗に影響を与えるといった問題がある。
1つの側面では、本発明は、ファイル単位での差分バックアップの処理負荷を軽減することが可能なストレージ制御装置、ストレージシステムおよびストレージ制御プログラムを提供することを目的とする。
1つの案では、記憶部と、制御部とを有するストレージ制御装置が提供される。このストレージ制御装置において、制御部は、記憶領域に対応する第1のスナップショットをコピーオンライト方式で作成するとともに、記憶領域に含まれるデータブロックのうち、第1のスナップショットの作成後に更新されたデータブロックの位置を管理するための管理情報を記憶部に格納し、第1のスナップショットに含まれるすべてのファイルを第1のバックアップ領域にコピーし、記憶領域に対応する第2のスナップショットを作成し、第2のスナップショットに含まれるすべてのファイルに関する第1のメタデータが記録された、第2のスナップショットにおける第1の領域のうち、第1のスナップショットの作成後に更新された第2の領域を、管理情報に基づいて特定し、第1のメタデータのうち第2の領域に含まれる第2のメタデータに基づいて、第2のスナップショットに含まれるファイルのうち、第1のスナップショットの作成後に更新された更新ファイルを特定し、更新ファイルを第2のバックアップ領域にコピーする。
また、1つの案では、記憶装置と、上記のストレージ制御装置とを有するストレージシステムが提供される。
さらに、1つの案では、コンピュータに次のような処理を実行させるストレージ制御プログラムが提供される。コンピュータは、記憶領域に対応する第1のスナップショットの作成を指示し、コピーオンライト方式で作成された第1のスナップショットに含まれるすべてのファイルを第1のバックアップ領域にコピーし、記憶領域に対応する第2のスナップショットの作成を指示し、第2のスナップショットに含まれるすべてのファイルに関する第1のメタデータが記録された、第2のスナップショットにおける第1の領域のうち、第1のスナップショットの作成後に更新された第2の領域を、記憶領域に含まれるデータブロックのうち、第1のスナップショットの作成後に更新されたデータブロックの位置を管理するための管理情報に基づいて特定し、第1のメタデータのうち第2の領域に含まれる第2のメタデータに基づいて、第2のスナップショットに含まれるファイルのうち、第1のスナップショットの作成後に更新された更新ファイルを特定し、更新ファイルを第2のバックアップ領域にコピーする。
1つの側面では、ファイル単位での差分バックアップの処理負荷を軽減できる。
第1の実施の形態に係るストレージ制御装置の構成例および処理例を示す図である。 第2の実施の形態に係るストレージシステムの構成例を示す図である。 CMのハードウェア構成例を示す図である。 CMの処理機能の構成例を示すブロック図である。 スナップショット機能について説明するための図である。 ファイルのバックアップについて説明するための図である。 ファイルシステムに含まれるデータのレイアウト例を示す図である。 スナップショット作成後にNASボリュームが更新される際の処理例を示す図である。 NASボリュームにおけるデータ配置の具体例を示す図である。 ビットマップのビットとinodeとの関係を示す図である。 第2の実施の形態におけるファイルのバックアップ処理の例を示す図である。 1回目のバックアップ処理手順の例を示すシーケンス図である。 2回目以降のバックアップ処理手順の例を示すシーケンス図である。 更新されたファイルのバックアップ処理手順の例を示すフローチャートである。
以下、本発明の実施の形態について図面を参照して説明する。
〔第1の実施の形態〕
図1は、第1の実施の形態に係るストレージ制御装置の構成例および処理例を示す図である。第1の実施の形態に係るストレージ制御装置1は、記憶部1aと制御部1bとを有する。記憶部1aは、例えば、RAM(Random Access Memory)やHDD(Hard Disk Drive)として実現される。制御部1bは、例えば、プロセッサとして実現される。この場合、制御部1bによる下記の処理は、プロセッサがプログラムを実行することによって実現される。
また、ストレージ制御装置1には、例えば、記憶装置2a,2bが接続されている。記憶装置2aは、例えば、HDDであり、記憶装置2bは、例えば、磁気テープの記録再生を行うテープドライブである。
制御部1bは、記憶領域10に対応するスナップショット21をコピーオンライト方式で作成する(ステップS1)。記憶領域10は、例えば、記憶装置2aによって実現される論理記憶領域である。なお、図1では、このスナップショット21の世代を第1の世代とする。また、これとともに、制御部1bは、記憶領域10に含まれるデータブロックのうち、スナップショット21の作成後に更新されたデータブロックの位置を管理するための管理情報21aを、記憶部1aに格納する。
そして、制御部1bは、スナップショット21に含まれるすべてのファイルを、バックアップ領域31にコピーする(ステップS2)。バックアップ領域31は、記憶領域10とは別の記録媒体によって実現されることが望ましく、例えば、記憶装置2bによって実現される。
ここで、スナップショット21が作成された時点では、実際には、記憶領域10からスナップショット21への実データのコピーは行われずに、スナップショット21を管理するための情報だけが作成される。その一方、スナップショット21が作成された後に記憶領域10において更新されたデータブロックの位置は、管理情報21aに記録される。
例えば、管理情報21aは、記憶領域の各ブロックに対応するビットを備えるビットマップとして実現される。初期状態では、各ビットには「0」が設定される。そして、スナップショット21が作成された後に記憶領域10のあるブロックの更新が要求されると、制御部1bは、そのブロックに対応する管理情報21aのビットを参照する。ビットに「0」が設定されている場合、制御部1bは、記憶領域10の書き込み先ブロックに記録されている更新前のデータをスナップショット21の領域に退避させた後、記憶領域10の書き込み先ブロックに新たなデータを書き込む。一方、ビットに「1」が設定されている場合、制御部1bは、上記のようなデータ退避を行わずに、記憶領域10の書き込み先ブロックに新たなデータを書き込む。このような処理により、スナップショット21の作成時点における記憶領域10のデータが確実に保存される。
その後、制御部1bは、次のバックアップタイミングにおいて、記憶領域10に対応するスナップショット22を作成する(ステップS3)。図1では、このスナップショット22の世代を第2世代とする。制御部1bは、スナップショット22に含まれるファイルのうち、前世代のスナップショット21の作成後に更新されたファイルだけをバックアップ領域31に格納するために、次のような処理を実行する。
制御部1bは、スナップショット22に含まれるすべてのファイルに関するメタデータが記録されたメタデータ領域22aのうち、スナップショット21の作成後に更新された領域を、管理情報21aに基づいて特定する(ステップS4)。なお、本実施の形態では、スナップショット22内のどの領域にメタデータ領域22aが存在するかはあらかじめ決められているものとする。そのため、制御部1bは、管理情報21aに管理されている、更新されたデータブロックの位置のうち、どれがメタデータ領域22aの位置かを認識できる。
ここで、記憶領域10に含まれるファイルが更新されると、そのファイルに関するメタデータも更新される。例えば、メタデータとして、ファイルの更新日時を示す情報が更新される。図1の例では、スナップショット21の作成後にファイルF1,F2が更新されたものとする。この場合、ファイルF1,F2の領域だけでなく、メタデータ領域22aのうち、ファイルF1に関するメタデータが含まれる領域M1と、ファイルF2に関するメタデータが含まれる領域M2も更新される。そして、管理情報21aには、ファイルF1,F2に対応するデータブロックだけでなく、領域M1,M2に対応するデータブロックが更新されたことも保持されている。したがって、制御部1bは、管理情報21aに基づいて、メタデータ領域22aのうち、更新された領域M1,M2を特定する。
制御部1bは、領域M1,M2に含まれるメタデータに基づいて、更新されたファイルF1,F2を特定する(ステップS5)。例えば、制御部1bは、領域M1に含まれる、ファイルF1についての更新日時の情報と、領域M2に含まれる、ファイルF2についての更新日時の情報に基づいて、ファイルF1,F2が更新されたことを認識する。
そして、制御部1bは、スナップショット22に含まれるファイルのうち、更新されたファイルF1,F2だけをバックアップ領域32にコピーする(ステップS6)。なお、バックアップ領域32は、例えば、記憶装置2b、あるいは記憶装置2a,2bとは別の記録媒体によって実現される。
ここで、従来、記憶領域から更新されたファイルを特定するためには、記憶領域内のすべてのファイルに関するメタデータを参照する必要があった。これに対して、本実施の形態では、制御部1bは、前世代のスナップショット21に対応する管理情報21aに基づいて、メタデータ領域22aのうち、更新された領域M1,M2だけを参照して、更新されたファイルF1,F2を特定できる。このように、更新されたファイルF1,F2の特定のために参照される領域がメタデータ領域22a内の一部のみに限定されることで、差分バックアップの処理負荷を軽減でき、その処理時間を短縮することができる。
〔第2の実施の形態〕
次に、第2の実施の形態として、ユニファイドストレージを含むストレージシステムを例示する。
図2は、第2の実施の形態に係るストレージシステムの構成例を示す図である。図2に示すストレージシステムは、ストレージ装置100、テープライブラリ装置200、ホスト装置310,320および管理端末330を含む。また、ストレージ装置100は、CM(Controller Module)110とDE(Drive Enclosure)120とを備える。
DE120は、ホスト装置310,320からのアクセス対象となるストレージ部である。DE120には、ストレージ部を構成する記憶装置として、複数のHDDが搭載されている。なお、DE120は、例えば、ストレージ装置100の外部に設けられていてもよい。また、ストレージ部を構成する記憶装置としては、HDDに限らず、例えばSSD(Solid State Drive)等の他の種類の記憶装置が使用されてもよい。
CM110は、図1に示したストレージ制御装置1の一例である。CM110は、ストレージ部に対するアクセスを制御するストレージ制御部である。すなわち、CM110は、ホスト装置310,320からのアクセス要求に応じて、DE120内のHDDへのアクセスを制御する。
テープライブラリ装置200は、ストレージ装置100内のCM110と接続され、例えば、SAS(Serial Attached SCSI,SCSI:Small Computer System Interface)、FC(Fibre Channel)などの通信プロトコルにしたがってCM110と通信する。テープライブラリ装置200には、テープドライブが1台または複数台搭載されている。テープライブラリ装置200のテープドライブは、CM110からの指示に応じて、磁気テープに対するデータの書き込みや、磁気テープからのデータの読み出しを行う。本実施の形態では、テープライブラリ装置200内の磁気テープは、データのバックアップ先として用いられる。
ホスト装置310は、例えば、SAN(Storage Area Network)301を介してストレージ装置100内のCM110と接続されている。ホスト装置310は、CM110から提供される論理ボリュームに対して、ブロック単位でアクセスを要求する。
ホスト装置320は、例えば、LAN(Local Area Network)302を介してストレージ装置100内のCM110と接続されている。ホスト装置320は、CM110から提供される論理ボリュームに対して、ファイル単位でアクセスを要求する。
管理端末330は、ストレージ装置100やテープライブラリ装置200を管理者が管理するための端末装置である。管理端末330は、例えば、管理者による入力操作に応じて、所定のボリュームのデータをテープライブラリ装置200内の磁気テープにバックアップするようにCM110に指示する。
図3は、CMのハードウェア構成例を示す図である。CM110は、プロセッサ111、RAM112、SSD113、SANインタフェース114、LANインタフェース115、端末インタフェース116、ディスクインタフェース117およびテープインタフェース118を有する。なお、プロセッサ111は、図1の制御部1bの一例であり、RAM112またはSSD113は、図1の記憶部1aの一例である。
プロセッサ111は、CM110の処理を統括的に制御する。プロセッサ111は、例えば、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)である。また、プロセッサ111は、CPU、DSP、ASIC、FPGAなどの2以上の要素の組合せであってもよい。
RAM112は、CM110の主記憶装置として使用される。RAM112には、プロセッサ111に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に記憶される。また、RAM112には、プロセッサ111による処理に用いる各種データが一時的に記憶される。
SSD113は、CM110の補助記憶装置として使用される。SSD113には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、CM110は、補助記憶装置として、SSD113の代わりにHDDを備えていてもよい。
SANインタフェース114は、SAN301を介してホスト装置310と通信するためのインタフェース回路である。LANインタフェース115は、LAN302を介してホスト装置320と通信するためのインタフェース回路である。端末インタフェース116は、管理端末330と通信するためのインタフェース回路である。
ディスクインタフェース117は、DE120内の記憶装置と通信するためのインタフェース回路である。テープインタフェース118は、テープライブラリ装置200内のテープドライブと通信するためのインタフェース回路である。
なお、図示しないが、ホスト装置310,320および管理端末330は、プロセッサ、RAM、HDDなどを備えたコンピュータとして実現可能である。
図4は、CMの処理機能の構成例を示すブロック図である。CM110は、SAN制御部130、NAS(Network Attached Storage)制御部140および記憶部151,152を有する。
上記のように、ホスト装置310は、CM110から提供される論理ボリュームに対して、ブロック単位でアクセスを要求する。また、ホスト装置320は、CM110から提供される論理ボリュームに対して、ファイル単位でアクセスを要求する。ストレージ装置100は、データのアクセス単位が異なる2つの通信プロトコルに対応するユニファイドストレージとして動作する。
CM110は、ブロック単位でのアクセス要求に応じてアクセス制御を行う処理機能と、ファイル単位でのアクセス要求に応じてアクセス制御を行う処理機能(すなわち、NASとして動作するための処理機能)の両方を備える。SAN制御部130は前者の処理機能であり、NAS制御部140は後者の処理機能である。
SAN制御部130は、ブロックアクセス制御部131、スナップショット制御部132および通信制御部133を有する。
ブロックアクセス制御部131は、ホスト装置310,320からのアクセス対象となる論理ボリュームを作成する。論理ボリュームには、DE120内の記憶装置によって実現される記憶領域の一部が割り当てられる。ブロックアクセス制御部131は、ホスト装置310から、論理ボリュームに対するブロック単位でのアクセス要求を受け付け、要求に応じて、DE120内の対応する記憶領域にアクセスする。また、ブロックアクセス制御部131は、論理ボリュームに対するホスト装置320からのアクセス要求を、NAS制御部140を介して受け付けることもできる。
なお、以下の説明では、ホスト装置320からNAS制御部140を介してアクセス可能な論理ボリュームを「NASボリューム」と呼ぶ。
また、スナップショットが作成された論理ボリュームには、更新位置を保持するための管理情報(後述するビットマップ)が対応付けられる。ブロックアクセス制御部131は、スナップショットが作成された論理ボリュームに対する書き込みが要求された場合、書き込み先のデータを別の記憶領域に退避させた後、新たな書き込みデータを論理ボリュームに書き込む。これとともに、ブロックアクセス制御部131は、書き込みが行われた位置を示す情報を管理情報に登録する。
スナップショット制御部132は、論理ボリュームのスナップショットを作成する。また、スナップショット制御部132は、スナップショットからのデータの読み出しを制御する。さらに、スナップショット制御部132は、NAS制御部140からの要求に応じて、スナップショットの管理情報をNAS制御部140に受け渡すこともできる。
通信制御部133は、NAS制御部140との間の通信を制御する。ブロックアクセス制御部131およびスナップショット制御部132は、通信制御部133を介してNAS制御部140と通信する。通信制御部133が制御する通信には、スナップショットの管理情報などの制御情報用の通信と、論理ボリュームの読み書きに関するIO(Input/Output)通信とが含まれる。
NAS制御部140は、ファイルアクセス制御部141、バックアップ制御部142および通信制御部143を有する。
ファイルアクセス制御部141は、ホスト装置320から、NASボリュームに対するファイル単位でのアクセス要求を受け付ける。例えば、ファイルアクセス制御部141は、NASボリュームに対するファイルの書き込みや更新、NASボリューム上のファイルの読み出しの要求を、ホスト装置320から受け付けることができる。
例えば、ホスト装置320からファイルの読み出しが要求されると、ファイルアクセス制御部141は、ファイルのメタデータを基にNASボリューム上のファイルの記憶領域を特定する。ファイルアクセス制御部141は、特定された記憶領域の論理アドレスをSAN制御部130に通知して読み出しを要求することで、ファイルの実データをSAN制御部130から取得し、ホスト装置320に送信する。
また、例えば、ホスト装置320からファイルの書き込みが要求されると、ファイルアクセス制御部141は、NASボリューム上のファイルの書き込み領域を特定する。ファイルアクセス制御部141は、特定された書き込み領域の論理アドレスとファイルとをSAN制御部130に通知して書き込みを要求することで、書き込み領域に対応するDE120内の記憶領域にファイルを記録する。
バックアップ制御部142は、NASボリュームのデータをテープライブラリ装置200内の磁気テープにバックアップする。このバックアップ処理では、バックアップ制御部142は、NASボリュームのスナップショットの作成をSAN制御部130に指示する。バックアップ制御部142は、作成されたスナップショットのデータをSAN制御部130から取得して、磁気テープに記録する。また、バックアップ制御部142は、2回目以降のバックアップ処理では、前回のバックアップ時から更新されたファイルだけを磁気テープにバックアップする差分バックアップを実行する。
通信制御部143は、SAN制御部130との間の通信を制御する。ファイルアクセス制御部141およびバックアップ制御部142は、通信制御部143を介してSAN制御部130と通信する。通信制御部143が制御する通信には、スナップショットボリュームの管理情報などの制御情報用の通信と、論理ボリュームの読み書きに関するIO通信とが含まれる。
記憶部151,152は、例えば、RAM112やSSD113の記憶領域として実装される。記憶部151は、SAN制御部130の処理で使用される各種のデータを記憶する。例えば、記憶部151には、スナップショットボリュームの管理情報が記憶される。記憶部152は、NAS制御部140の処理で使用される各種のデータを記憶する。例えば、記憶部151には、NASボリュームから読み出された、ファイルのメタデータが記憶される。
なお、SAN制御部130およびNAS制御部140の処理は、例えば、プロセッサ111が所定のプログラムを実行することで実現される。SAN制御部130の処理とNAS制御部140の処理は、同一のプログラムによって実現されてもよいし、それぞれ個別のプログラムによって実現されてもよい。
また、図4に示すように、CM110上で仮想マシン110a,110bが動作し、SAN制御部130の処理が仮想マシン110aによって実行され、NAS制御部140の処理が仮想マシン110bによって実行されてもよい。この場合、SAN制御部130の処理は、仮想マシン110a上で実行されるプログラムによって実現され、NAS制御部140の処理は、仮想マシン110b上で実行されるプログラムによって実現される。また、記憶部151は、仮想マシン110a上の仮想メモリに実装され、記憶部152は、仮想マシン110b上の仮想メモリに実装されてもよい。
なお、SAN制御部130の処理とNAS制御部140の処理とが別々のプログラムによって実行される場合、これらのプログラムの構成は次のような構成とされてもよい。スナップショット制御部132および通信制御部133の処理は、ブロックアクセス制御部131の処理を実現するプログラムと同一か、またはこのプログラムに付加されるプログラムにしたがって実行される。また、バックアップ制御部142および通信制御部143の処理は、ファイルアクセス制御部141の処理を実現するプログラムと同一か、またはこのプログラムに付加されるプログラムにしたがって実行される。
次に、スナップショット機能について説明する。
図5は、スナップショット機能について説明するための図である。スナップショット機能は、論理ボリュームのある時点におけるデータイメージを作成するものである。本実施の形態では、コピーオンライト方式でスナップショットが作成される。
例えば、図5に示すように、スナップショット制御部132は、スナップショットの作成指示に応じて、論理ボリューム161のスナップショットに対応するデータとして、スナップショットボリューム162を作成する。コピーオンライト方式では、スナップショットボリューム162には、論理ボリューム161の実データは格納されず、その代わり、実データの記憶領域に対するポインタなどの管理情報が格納される。これにより、スナップショットの作成指示を受けてから作成完了の応答を行うまでの時間が短縮される。
また、スナップショット制御部132は、スナップショットボリューム162とともに、このスナップショットボリューム162に対応するビットマップ162aを作成し、記憶部151に格納する。ビットマップ162aは、論理ボリューム161において更新されたブロックの位置を管理するための管理情報であり、論理ボリューム161に含まれる各ブロックに対応するビット値を保持する。ビット値は、スナップショットボリューム162の作成後に論理ボリューム161の対応するブロックのデータが更新されたか否かを示す。ビット値の初期値は、例えば「0」であるとする。
図5の下側には、スナップショットボリューム162の作成後に論理ボリューム161のブロックに対する更新要求を受けた場合のブロックアクセス制御部131の処理を示す。ブロックアクセス制御部131は、そのブロックに対応するビットマップ162aのビット値を読み出す。
読み出したビット値が「0」の場合、ブロックアクセス制御部131は、そのブロックに格納されていた更新前のデータをスナップショットボリューム162に退避させた後、論理ボリューム161上のそのブロックに新たなデータを格納する。また、ブロックアクセス制御部131は、そのブロックに対応するビットマップ162aのビット値を、「0」から「1」に更新する。
なお、スナップショットボリューム162へのデータの退避とは、スナップショットボリューム162に対して、そのデータを格納するための新たな物理ブロックが割り当てられることを意味する。すなわち、データの退避により、スナップショットボリューム162のブロックのうち、元の論理ボリューム161において更新されたブロックに対してのみ、新たな物理領域が割り当てられる。
一方、読み出したビット値が「1」の場合、ブロックアクセス制御部131は、更新前のデータの退避を行わずに、論理ボリューム161上のそのブロックに新たなデータを格納する。
このようなビットマップ162aを用いた処理により、スナップショットボリューム162の作成時点における論理ボリューム161のデータを、確実に残しておくことができる。
一方、NAS制御部140は、NASボリュームに格納されたファイルを磁気テープにバックアップする機能を備える。
図6は、ファイルのバックアップについて説明するための図である。本実施の形態では、ある時点でのNASボリューム内のファイルを整合性を保って確実にバックアップするために、NASボリュームのスナップショットを作成し、スナップショットからファイルを磁気テープにバックアップする運用が行われる。このような運用は、D2D2T(Disk to Disk to Tape)と呼ばれる場合もある。
図6の例では、NAS制御部140のバックアップ制御部142は、バックアップ時刻において、NASボリューム170のスナップショット作成をSAN制御部130に要求する。これにより、NASボリューム170に対応するスナップショットボリューム180が作成される。この処理が「D2D」に対応する。
続いて、バックアップ制御部142は、スナップショットボリューム180内のファイルを磁気テープ201にバックアップする。この処理が「D2T」に対応する。スナップショットボリューム180はコピーオンライト方式で作成されるため、NASボリューム170に対するアクセスが続行されても、バックアップ開始時点でNASボリューム170に格納されていたファイルを確実にバックアップできる。
また、後述するように、初回のバックアップでは、NASボリューム170に含まれるすべてのファイルが、対応するスナップショットボリューム180から磁気テープ201にバックアップされる。さらに、2回目以降のバックアップでは、その都度、NASボリューム170に対応するスナップショットボリュームが作成される。そして、作成されたスナップショットボリュームから、前回のバックアップ後に更新されたファイルだけが磁気テープにバックアップされる「差分バックアップ」が行われる。
次に、NASボリューム170のファイルシステムについて説明する。
図7は、ファイルシステムに含まれるデータのレイアウト例を示す図である。NASボリューム170は、スーパブロック171、メタデータ領域172、ジャーナルログ領域173およびファイルデータ領域174を含む。
スーパブロック171は、ファイルシステムのタイプ、ファイルシステムの作成・更新の日時、ファイルシステムのサイズおよびレイアウトなど、ファイルシステムに関する情報を含む。
メタデータ領域172は、ファイルやディレクトリに関するメタデータを含む。ファイルに関するメタデータとしては、ファイルごとに作成されるinodeがある。inodeは、ファイルやディレクトリなどのファイルシステム上のオブジェクトに関する情報が記録された管理データである。ファイルごとに作成されるinodeには、ファイルの種類、ファイルのサイズ、ファイルの更新日時、ファイルデータのNASボリューム170上の論理位置に対するポインタなどが記述される。また、inodeには、ファイルが更新されるとオンに設定され、ファイルがバックアップされるとオフに設定されるアーカイブ属性が含まれてもよい。さらに、メタデータ領域172には、ディレクトリに関する情報が記述されたinodeも含まれる。
ジャーナルログ領域173は、ファイルの更新情報など、ファイルシステムの復旧のために利用される情報を含む。
ファイルデータ領域174には、ファイルデータが格納される。
なお、本実施の形態では、NASボリューム170のファイルシステムは、次のような性質を有するものとする。図7に示した各領域は、NASボリューム170に固定的に割り当てられ、NASボリューム170上の論理アドレス(LBA:Logical Block Address)を指定することで、各領域を特定可能になっている。また、inodeの論理アドレスから、そのinodeの配列番号を特定可能になっている。
ところで、ファイル単位で差分バックアップを行うためには、バックアップ制御部142は、スナップショットボリュームに含まれるファイルの中から、前回のバックアップ後に更新されたファイルを特定する必要がある。ファイルが更新されたか否かを判定する方法としては、ファイルに対応するメタデータを確認する方法がある。例えば、バックアップ制御部142は、ファイルに対応するinodeを参照し、ファイルの更新日時が前回のバックアップ時刻より新しい場合、あるいは、アーカイブ属性がオンに設定されている場合に、ファイルが更新されたと判断できる。
しかし、バックアップ制御部142は、更新されたファイルを特定するためには、メタデータ領域172に記録された、すべてのファイルに対応するinodeを確認する必要があり、その処理負荷が大きいという問題がある。ファイルの数が多いほど、確認すべきinodeの数も多くなり、プロセッサ111の負荷が大きくなり、確認にかかる処理時間が長くなってしまう。
ここで、図8は、スナップショット作成後にNASボリュームが更新される際の処理例を示す図である。スナップショットボリューム180が作成された後、NASボリューム170内のファイルが更新される場合には、更新前のファイルだけでなく、そのファイルに対応する更新前のinodeもスナップショットボリューム180に退避される。
図8の例では、NASボリューム170のファイルデータ領域174に格納された2つのファイルの更新が要求されている。この場合、ファイルデータ領域174内のファイルの領域だけでなく、メタデータ領域172におけるそのファイルに対応するinodeの領域も更新される。これは、inodeの情報のうち、少なくとも更新時刻の情報が更新されるからである。このため、更新前のファイルと、これらのファイルに対応する更新前のinodeとが、スナップショットボリューム180に退避される。そして、退避が完了した後に、新たなファイルがファイルデータ領域174に書き込まれるとともに、メタデータ領域172内の対応するinodeが更新される。
このようなファイルの更新により、スナップショットボリューム180に対応するビットマップ180aでは、ファイルデータ領域内の退避されたファイルの領域と、メタデータ領域内の退避されたinode領域とにそれぞれ対応するビットが「1」に設定される。その結果、ビットマップ180aには、スナップショットボリューム180の作成後に、NASボリューム170上で更新されたファイルの領域だけでなく、更新されたファイルに対応するinodeの領域の位置も登録されることになる。
そして、次回のバックアップ時には、NASボリューム170に対応するスナップショットボリュームが新たに作成される。このとき、ビットマップ180aには、前回のバックアップ時から現在までに、NASボリューム170上で更新されたファイルの領域の位置と、更新されたファイルに対応するinodeの領域の位置とが登録された状態となる。
すなわち、次世代のスナップショットボリュームが作成されたとき、前世代のスナップショットボリュームに対応するビットマップは、メタデータ領域のうち更新されたファイルに対応するinodeの領域を示す情報を保持している。そこで、本実施の形態では、バックアップ制御部142は、前世代のスナップショットボリュームに対応するビットマップを基に、メタデータ領域のうち更新されたファイルに対応するinodeの領域を特定する。そして、バックアップ制御部142は、特定された領域に含まれるinodeのみを参照して、更新されたファイルを特定する。これにより、更新されたファイルを特定するために参照されるinodeの数を減らすことができ、特定のための処理負荷を軽減できる。
図9は、NASボリュームにおけるデータ配置の具体例を示す図である。例えば、NASボリューム上では、スーパブロック、メタデータ領域、ジャーナルログ領域が、図9の領域対応テーブル175に示すように割り当てられる。そして、これらの各領域は、領域対応テーブル175に示すように、ビットマップのビット番号と対応付けられる。なお、ここでは、ビットマップの1つのビットで管理される論理領域のサイズを、16キロバイトとする。また、領域対応テーブル175は、例えば、記憶部152に格納されて、ビットマップのビットと上記各領域との関係を認識するためにバックアップ制御部142によって参照されてもよい。
図10は、ビットマップのビットとinodeとの関係を示す図である。図10に示すように、本実施の形態では、ファイルごとのinodeのサイズを、4キロバイトとする。一方、前述のように、ビットマップ180aの1つのビットで管理される論理領域のサイズを、16キロバイトとする。この場合、ビットマップ180aにおけるメタデータ領域に対応する各ビットによって管理される論理領域には、4つのinodeが含まれる。
図11は、第2の実施の形態におけるファイルのバックアップ処理の例を示す図である。バックアップ制御部142は、最初のバックアップタイミングにおいて、スナップショットの作成をSAN制御部130に依頼する。これにより、NASボリューム170に対応する第1世代のスナップショットボリューム181およびビットマップ181aが作成される。バックアップ制御部142は、スナップショットボリューム181に含まれるすべてのファイルを磁気テープ211にバックアップする(フルバックアップ)。
また、スナップショットボリューム181が作成された後、NASボリューム170に対するホスト装置320からのアクセスは継続され、NASボリューム170における更新位置がビットマップ181aに記録される。そして、次のバックアップタイミングにおいて、バックアップ制御部142は、スナップショットの作成をSAN制御部130に依頼する。これにより、NASボリューム170に対応する第2世代のスナップショットボリューム182およびビットマップ182aが作成される。
バックアップ制御部142は、ビットマップ181aを参照して、スナップショットボリューム182のメタデータ領域に対応するビットの中から、「1」が設定されているビットを特定する。バックアップ制御部142は、特定されたビットに対応する論理領域のデータを読み込み、inodeを取得する。これにより、更新されたファイルの特定のために探索されるメタデータの領域が限定され、探索のための処理負荷が低減され、その処理時間が短縮される。
特定された各ビットに対応する論理領域には、更新されたinodeが少なくとも1つ含まれている。バックアップ制御部142は、更新されたinodeを抽出し、抽出されたinodeに対応するファイルを磁気テープ212にバックアップする。これにより、前回のバックアップ時からNASボリューム170において更新されたファイルのみが、磁気テープ212にバックアップされる。なお、バックアップ先は、前回と同じ磁気テープ211であってもよい。
さらに、スナップショットボリューム182が作成された後、NASボリューム170に対するホスト装置320からのアクセスは継続され、NASボリューム170における更新位置がビットマップ182aに記録される。そして、次のバックアップタイミングにおいて、バックアップ制御部142は、スナップショットの作成をSAN制御部130に依頼する。これにより、NASボリューム170に対応する第3世代のスナップショットボリューム183およびビットマップ183aが作成される。
バックアップ制御部142は、2回目のバックアップ時と同様の手順で、ビットマップ182aに基づいて、更新されたファイルの特定のために探索するメタデータ領域を限定することができる。そして、バックアップ制御部142は、探索されたメタデータ領域内のinodeを基に更新されたファイルを特定し、更新されたファイルだけを磁気テープ213にバックアップする。なお、バックアップ先は、磁気テープ211,212のいずれかであってもよい。
なお、スナップショット技術では、以前の世代のスナップショットボリュームを削除する場合、それに対応するビットマップを、次世代のスナップショットボリュームに対応するビットマップにマージすることができる。しかし、本実施の形態では、現世代より1世代前のスナップショットボリュームに対応するビットマップと、2世代前のスナップショットボリュームに対応するビットマップとが、残されている必要がある。これは、バックアップタイミングごとに、前回のバックアップ後に更新されたファイルを特定できるようにするためである。図11の例では、第3世代のスナップショットボリューム183からバックアップする際には、第2世代のスナップショットボリューム182に対応するビットマップ182aと、第1世代のスナップショットボリューム181とが残されている必要がある。
換言すると、ある世代のスナップショットボリュームを作成したとき、現世代より2世代前のスナップショットボリュームに対応するビットマップについては、さらに前の世代のスナップショットボリュームに対応するビットマップとマージされていてもよい。しかし、現世代より1世代前のスナップショットボリュームに対応するビットマップについては、さらに前の世代のスナップショットボリュームに対応するビットマップとマージさせない。
ただし、バックアップ制御部142は、2回目以降のバックアップの際には、初回のバックアップの後に更新されたファイルをバックアップするようにしてもよい。この場合には、2世代前のスナップショットボリュームに対応するビットマップは、それより前のスナップショットボリュームに対応するビットマップにマージされていてもよい。
次に、バックアップ処理の手順についてシーケンス図およびフローチャートを用いて説明する。
図12は、1回目のバックアップ処理手順の例を示すシーケンス図である。
[ステップS11]SAN制御部130のスナップショット制御部132は、管理端末330からNASボリュームのバックアップを開始する指示を受け付ける。スナップショット制御部132は、NASボリュームのバックアップ開始を、通信制御部133を介してNAS制御部140に指示する。
なお、管理端末330からのバックアップの開始指示を、NAS制御部140が直接受け付けるようにしてもよい。
[ステップS12]NAS制御部140のバックアップ制御部142は、ファイルアクセス制御部141に、ホスト装置320からの要求に応じたNASボリュームへのIO処理を一時的に停止させる。
[ステップS13]バックアップ制御部142は、NASボリュームのスナップショットの作成を、通信制御部143を介してSAN制御部130に指示する。
[ステップS14]SAN制御部130のスナップショット制御部132は、NASボリュームに対応するスナップショットボリュームと、更新位置管理用のビットマップとを作成する。なお、ビットマップは、記憶部151に記憶される。スナップショット制御部132は、スナップショットボリュームおよびビットマップの作成が完了すると、通信制御部133を介して、NAS制御部140に対して作成完了を通知する。
[ステップS15]NAS制御部140のバックアップ制御部142は、ファイルアクセス制御部141に、ホスト装置320からの要求に応じたNASボリュームへのIO処理を再開させる。
[ステップS16]バックアップ制御部142は、ステップS14で作成されたスナップショットボリュームをマウントする。この処理では、例えば、作成されたスナップショットボリュームを識別するための識別情報を、SAN制御部130のスナップショット制御部132から取得する。
[ステップS17]バックアップ制御部142は、NASボリュームのバックアップの実行が何回目であるかを判定する。ここでは、バックアップ制御部142は、初回のバックアップであると判定して、ステップS18の処理を実行する。
[ステップS18]バックアップ制御部142は、NASボリュームに含まれるすべてのファイルを、磁気テープにバックアップする。この処理では、バックアップ制御部142は、スナップショットボリュームのファイルデータ領域からのデータの読み出しを、SAN制御部130のスナップショット制御部132に依頼する。バックアップ制御部142は、依頼に応じて読み出されたデータに含まれるすべてのファイルを、磁気テープに格納する。
[ステップS19]すべてのファイルのバックアップが完了すると、バックアップ制御部142は、バックアップの完了を、通信制御部143を介してSAN制御部130に通知する。図示しないが、SAN制御部130のスナップショット制御部132は、管理端末330に対してバックアップの完了を通知する。
図13は、2回目以降のバックアップ処理手順の例を示すシーケンス図である。
ステップS21〜S26では、それぞれ図12のステップS11〜S16と同様の処理が実行される。すなわち、SAN制御部130のスナップショット制御部132は、管理端末330からの指示に応じて、NASボリュームのバックアップ開始をNAS制御部140に指示する(ステップS21)。NAS制御部140のバックアップ制御部142は、ファイルアクセス制御部141に、ホスト装置320からの要求に応じたNASボリュームへのIO処理を一時的に停止させる(ステップS22)。そして、バックアップ制御部142は、NASボリュームのスナップショットの作成をSAN制御部130に指示する(ステップS24)。
SAN制御部130のスナップショット制御部132は、NASボリュームに対応するスナップショットボリュームと、更新位置管理用のビットマップとを作成する(ステップS25)。これらの作成が完了すると、NAS制御部140のバックアップ制御部142は、ファイルアクセス制御部141に、ホスト装置320からの要求に応じたNASボリュームへのIO処理を再開させる(ステップS25)。そして、バックアップ制御部142は、ステップS24で作成されたスナップショットボリュームをマウントする(ステップS26)。
[ステップS27]バックアップ制御部142は、NASボリュームのバックアップの実行が何回目であるかを判定する。ここでは、バックアップ制御部142は、2回目以降のバックアップであると判定して、ステップS28の処理を実行する。
[ステップS28]バックアップ制御部142は、前世代のスナップショットボリュームに対応するビットマップを、通信制御部143を介してSAN制御部130に要求する。
[ステップS29]SAN制御部130のスナップショット制御部132は、前世代のスナップショットボリュームに対応するビットマップを、通信制御部133を介してNAS制御部140に渡す。NAS制御部140のバックアップ制御部142は、ビットマップを取得する。
[ステップS30]バックアップ制御部142は、ステップS29で取得したビットマップを用いて、スナップショットボリュームに含まれるファイルのうち、前世代のスナップショットが作成された後に更新されたファイルを、磁気テープにバックアップする。この処理については、図14を用いて詳しく説明する。
[ステップS31]更新されたすべてのファイルのバックアップが完了すると、バックアップ制御部142は、バックアップの完了を、通信制御部143を介してSAN制御部130に通知する。図示しないが、SAN制御部130のスナップショット制御部132は、管理端末330に対してバックアップの完了を通知する。
なお、本実施の形態では、inodeに記述された更新日時に基づいて、更新されたファイルが特定されるものとする。しかし、例えば、inodeに記述されたアーカイブ属性に基づいて、更新されたファイルが特定される場合には、図12および図13では次のような処理が実行される。図12のステップS14および図13のステップS24では、スナップショット制御部132は、スナップショットボリュームを作成した後、元のNASボリューム内の全ファイルに対応するinodeのアーカイブ属性を、オフにクリアする。このとき、作成されたビットマップにおいては、アーカイブ属性の更新を反映させない。
図14は、更新されたファイルのバックアップ処理手順の例を示すフローチャートである。図14の処理は、図13のステップS30に対応する。
[ステップS30a]NAS制御部140のバックアップ制御部142は、図13のステップS29で取得したビットマップから、メタデータ領域に対応するビットを特定する。
[ステップS30b]バックアップ制御部142は、ステップS30aで特定したビットから、「1」が設定されたビットを処理対象として1つ選択する。バックアップ制御部142は、選択したビットに対応する、スナップショットボリューム上の論理アドレスの範囲を特定する。
[ステップS30c]バックアップ制御部142は、ステップS30bで特定された論理アドレスの範囲からのデータの読み出しを、通信制御部143を介してSAN制御部130に依頼する。SAN制御部130のスナップショット制御部132は、スナップショットボリュームから、指定された範囲のデータを読み出し、通信制御部133を介してNAS制御部140に渡す。
[ステップS30d]NAS制御部140のバックアップ制御部142は、ステップS30bで特定された論理アドレスの範囲に含まれるinodeの番号を、その論理アドレスに基づいて特定する。そして、バックアップ制御部142は、ステップS30cで読み出されたデータから、特定された番号を有するinodeを抽出する。なお、本実施の形態では、この処理によって4つのinodeが抽出される。
[ステップS30e]バックアップ制御部142は、ステップS30dで抽出された各inodeの更新日時に基づいて、更新されたinodeを特定する。具体的には、バックアップ制御部142は、inodeに記述された更新日時が前世代のスナップショットが作成された日時より新しい場合、そのinodeが更新されたと判定する。このステップS30eでは、抽出された4つのinodeのうち、少なくとも1つが更新されたinodeとして特定される。
なお、更新日時の代わりにアーカイブ属性が用いられる場合には、inodeに記述されたアーカイブ属性がオンの場合に、そのinodeが更新されたと判定される。
[ステップS30f]バックアップ制御部142は、更新されたinodeから、対応するファイルが格納された論理アドレスの範囲を取得する。バックアップ制御部142は、取得された論理アドレスの範囲からのデータの読み出しを、通信制御部143を介してSAN制御部130に依頼する。SAN制御部130のスナップショット制御部132は、スナップショットボリュームから、指定された範囲のデータを読み出し、通信制御部133を介してNAS制御部140に渡す。これにより、NAS制御部140のバックアップ制御部142は、更新されたファイルを取得する。バックアップ制御部142は、取得したファイルを磁気テープに格納する。
[ステップS30g]バックアップ制御部142は、メタデータ領域に対応するビットマップ上のビットのうち、「1」が設定されたすべてのビットについて、ステップS30b〜S30fの処理を実行したか否かを判定する。処理済みでないビットがある場合、バックアップ制御部142は、ステップS30bに戻り、処理済みでないビットを1つ選択して処理を続行する。一方、すべてのビットについて処理済みの場合、バックアップ制御部142は、図13のステップS31の処理を実行する。
以上の図14の処理では、ステップS30cにおいて、スナップショットボリューム上のメタデータ領域のうち、「1」が設定されたビットに対応する領域のデータのみが読み出される。そして、ステップS30eにおいて、読み出されたデータに含まれるinodeが参照される。これにより、スナップショットボリューム上のメタデータ領域から、更新されたファイルを特定するために読み出され、参照されるinodeの数が低減される。したがって、差分バックアップの処理負荷を軽減でき、その処理時間を短縮することができる。
なお、上記の各実施の形態に示した装置(例えば、ストレージ制御装置1およびCM110)の処理機能は、コンピュータによって実現することができる。その場合、各装置が有すべき機能の処理内容を記述したプログラムが提供され、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc-Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムにしたがった処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムにしたがった処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムにしたがった処理を実行することもできる。
1 ストレージ制御装置
1a 記憶部
1b 制御部
2a,2b 記憶装置
10 記憶領域
21,22 スナップショット
21a 管理情報
22a メタデータ領域
31,32 バックアップ領域
F1,F2 ファイル
M1,M2 領域
S1〜S6 ステップ

Claims (6)

  1. 記憶部と、制御部とを有し、
    前記制御部は、
    記憶領域に対応する第1のスナップショットをコピーオンライト方式で作成するとともに、前記記憶領域に含まれるデータブロックのうち、前記第1のスナップショットの作成後に更新されたデータブロックの位置を管理するための管理情報を前記記憶部に格納し、
    前記第1のスナップショットに含まれるすべてのファイルを第1のバックアップ領域にコピーし、
    前記記憶領域に対応する第2のスナップショットを作成し、
    前記第2のスナップショットに含まれるすべてのファイルに関する第1のメタデータが記録された、前記第2のスナップショットにおける第1の領域のうち、前記第1のスナップショットの作成後に更新された第2の領域を、前記管理情報に基づいて特定し、
    前記第1のメタデータのうち前記第2の領域に含まれる第2のメタデータに基づいて、前記第2のスナップショットに含まれるファイルのうち、前記第1のスナップショットの作成後に更新された更新ファイルを特定し、
    前記更新ファイルを第2のバックアップ領域にコピーする、
    ストレージ制御装置。
  2. 前記第1のメタデータは、前記第2のスナップショットに含まれるすべてのファイルのそれぞれについての更新日時、またはバックアップ済みか否かを示すアーカイブ属性の少なくとも一方を含む、ファイル別の管理データを含み、
    前記更新ファイルは、前記第2の領域に含まれる前記管理データに基づいて特定される、
    請求項1記載のストレージ制御装置。
  3. 前記制御部は、ブロック単位のアクセス要求に応じて前記記憶領域にアクセスする第1の制御処理と、ファイル単位のアクセス要求に応じて前記記憶領域にアクセスする第2の制御処理を実行し、
    前記第1のスナップショットおよび前記第2のスナップショットの作成と、前記管理情報の格納は、前記第1の制御処理を実行するための第1のプログラムと一体の、または前記第1のプログラムに付加されるプログラムにしたがって実行され、
    前記第1のバックアップ領域へのコピーと前記第2のバックアップ領域へのコピーは、前記第2の制御処理を実行するための第2のプログラムと一体の、または前記第2のプログラムに付加されるプログラムにしたがって実行される、
    請求項1または2記載のストレージ制御装置。
  4. 前記制御部は、ブロック単位のアクセス要求に応じて前記記憶領域にアクセスする第1の仮想マシンと、ファイル単位のアクセス要求に応じて前記記憶領域にアクセスする第2の仮想マシンとを動作させ、
    前記第1のスナップショットおよび前記第2のスナップショットの作成と、前記管理情報の格納は、前記第1の仮想マシンによって実行され、
    前記第1のバックアップ領域へのコピーと前記第2のバックアップ領域へのコピーは、前記第2の仮想マシンによって実行される、
    請求項1または2記載のストレージ制御装置。
  5. 記憶装置と、ストレージ制御装置とを有するストレージシステムであって、
    前記ストレージ制御装置は、記憶部と、制御部とを有し、
    前記制御部は、
    前記記憶装置によって実現される所定の記憶領域に対応する第1のスナップショットをコピーオンライト方式で作成するとともに、前記記憶領域に含まれるデータブロックのうち、前記第1のスナップショットの作成後に更新されたデータブロックの位置を管理するための管理情報を前記記憶部に格納し、
    前記第1のスナップショットに含まれるすべてのファイルを第1のバックアップ領域にコピーし、
    前記記憶領域に対応する第2のスナップショットを作成し、
    前記第2のスナップショットに含まれるすべてのファイルに関する第1のメタデータが記録された、前記第2のスナップショットにおける第1の領域のうち、前記第1のスナップショットの作成後に更新された第2の領域を、前記管理情報に基づいて特定し、
    前記第1のメタデータのうち前記第2の領域に含まれる第2のメタデータに基づいて、前記第2のスナップショットに含まれるファイルのうち、前記第1のスナップショットの作成後に更新された更新ファイルを特定し、
    前記更新ファイルを第2のバックアップ領域にコピーする、
    ストレージシステム。
  6. コンピュータに、
    記憶領域に対応する第1のスナップショットの作成を指示し、
    コピーオンライト方式で作成された前記第1のスナップショットに含まれるすべてのファイルを第1のバックアップ領域にコピーし、
    前記記憶領域に対応する第2のスナップショットの作成を指示し、
    前記第2のスナップショットに含まれるすべてのファイルに関する第1のメタデータが記録された、前記第2のスナップショットにおける第1の領域のうち、前記第1のスナップショットの作成後に更新された第2の領域を、前記記憶領域に含まれるデータブロックのうち、前記第1のスナップショットの作成後に更新されたデータブロックの位置を管理するための管理情報に基づいて特定し、
    前記第1のメタデータのうち前記第2の領域に含まれる第2のメタデータに基づいて、前記第2のスナップショットに含まれるファイルのうち、前記第1のスナップショットの作成後に更新された更新ファイルを特定し、
    前記更新ファイルを第2のバックアップ領域にコピーする、
    処理を実行させるストレージ制御プログラム。
JP2016159119A 2016-08-15 2016-08-15 ストレージ制御装置、ストレージシステムおよびストレージ制御プログラム Active JP6708929B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016159119A JP6708929B2 (ja) 2016-08-15 2016-08-15 ストレージ制御装置、ストレージシステムおよびストレージ制御プログラム
US15/650,002 US10430286B2 (en) 2016-08-15 2017-07-14 Storage control device and storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016159119A JP6708929B2 (ja) 2016-08-15 2016-08-15 ストレージ制御装置、ストレージシステムおよびストレージ制御プログラム

Publications (2)

Publication Number Publication Date
JP2018028715A JP2018028715A (ja) 2018-02-22
JP6708929B2 true JP6708929B2 (ja) 2020-06-10

Family

ID=61159096

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016159119A Active JP6708929B2 (ja) 2016-08-15 2016-08-15 ストレージ制御装置、ストレージシステムおよびストレージ制御プログラム

Country Status (2)

Country Link
US (1) US10430286B2 (ja)
JP (1) JP6708929B2 (ja)

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10437729B2 (en) * 2017-04-19 2019-10-08 International Business Machines Corporation Non-disruptive clearing of varying address ranges from cache
US11947489B2 (en) 2017-09-05 2024-04-02 Robin Systems, Inc. Creating snapshots of a storage volume in a distributed storage system
US10430105B2 (en) 2017-09-13 2019-10-01 Robin Systems, Inc. Storage scheme for a distributed storage system
US10452267B2 (en) 2017-09-13 2019-10-22 Robin Systems, Inc. Storage scheme for a distributed storage system
US10579276B2 (en) 2017-09-13 2020-03-03 Robin Systems, Inc. Storage scheme for a distributed storage system
US10423344B2 (en) 2017-09-19 2019-09-24 Robin Systems, Inc. Storage scheme for a distributed storage system
US10534549B2 (en) 2017-09-19 2020-01-14 Robin Systems, Inc. Maintaining consistency among copies of a logical storage volume in a distributed storage system
US10782887B2 (en) 2017-11-08 2020-09-22 Robin Systems, Inc. Window-based prority tagging of IOPs in a distributed storage system
US10846001B2 (en) 2017-11-08 2020-11-24 Robin Systems, Inc. Allocating storage requirements in a distributed storage system
US10452308B2 (en) 2017-12-19 2019-10-22 Robin Systems, Inc. Encoding tags for metadata entries in a storage system
US10430292B2 (en) * 2017-12-19 2019-10-01 Robin Systems, Inc. Snapshot deletion in a distributed storage system
US10430110B2 (en) 2017-12-19 2019-10-01 Robin Systems, Inc. Implementing a hybrid storage node in a distributed storage system
US11582168B2 (en) 2018-01-11 2023-02-14 Robin Systems, Inc. Fenced clone applications
US11748203B2 (en) 2018-01-11 2023-09-05 Robin Systems, Inc. Multi-role application orchestration in a distributed storage system
US10896102B2 (en) 2018-01-11 2021-01-19 Robin Systems, Inc. Implementing secure communication in a distributed computing system
US11392363B2 (en) 2018-01-11 2022-07-19 Robin Systems, Inc. Implementing application entrypoints with containers of a bundled application
US10642697B2 (en) 2018-01-11 2020-05-05 Robin Systems, Inc. Implementing containers for a stateful application in a distributed computing system
US10628235B2 (en) 2018-01-11 2020-04-21 Robin Systems, Inc. Accessing log files of a distributed computing system using a simulated file system
US11099937B2 (en) 2018-01-11 2021-08-24 Robin Systems, Inc. Implementing clone snapshots in a distributed storage system
US10579364B2 (en) 2018-01-12 2020-03-03 Robin Systems, Inc. Upgrading bundled applications in a distributed computing system
US10846137B2 (en) 2018-01-12 2020-11-24 Robin Systems, Inc. Dynamic adjustment of application resources in a distributed computing system
US10845997B2 (en) 2018-01-12 2020-11-24 Robin Systems, Inc. Job manager for deploying a bundled application
US10642694B2 (en) 2018-01-12 2020-05-05 Robin Systems, Inc. Monitoring containers in a distributed computing system
US10976938B2 (en) 2018-07-30 2021-04-13 Robin Systems, Inc. Block map cache
US11023328B2 (en) 2018-07-30 2021-06-01 Robin Systems, Inc. Redo log for append only storage scheme
US10599622B2 (en) 2018-07-31 2020-03-24 Robin Systems, Inc. Implementing storage volumes over multiple tiers
US10817380B2 (en) 2018-07-31 2020-10-27 Robin Systems, Inc. Implementing affinity and anti-affinity constraints in a bundled application
CN109144416B (zh) * 2018-08-03 2020-04-28 华为技术有限公司 查询数据的方法和装置
US11036439B2 (en) 2018-10-22 2021-06-15 Robin Systems, Inc. Automated management of bundled applications
US10908848B2 (en) 2018-10-22 2021-02-02 Robin Systems, Inc. Automated management of bundled applications
US10620871B1 (en) 2018-11-15 2020-04-14 Robin Systems, Inc. Storage scheme for a distributed storage system
CN109960527B (zh) * 2019-02-22 2020-08-18 北京三快在线科技有限公司 一种应用在设备终端的配置方法、装置、设备及可读存储介质
US11086725B2 (en) 2019-03-25 2021-08-10 Robin Systems, Inc. Orchestration of heterogeneous multi-role applications
US11256434B2 (en) 2019-04-17 2022-02-22 Robin Systems, Inc. Data de-duplication
US11042483B2 (en) 2019-04-26 2021-06-22 International Business Machines Corporation Efficient eviction of whole set associated cache or selected range of addresses
US10831387B1 (en) 2019-05-02 2020-11-10 Robin Systems, Inc. Snapshot reservations in a distributed storage system
US10877684B2 (en) 2019-05-15 2020-12-29 Robin Systems, Inc. Changing a distributed storage volume from non-replicated to replicated
US11226847B2 (en) 2019-08-29 2022-01-18 Robin Systems, Inc. Implementing an application manifest in a node-specific manner using an intent-based orchestrator
US11520650B2 (en) 2019-09-05 2022-12-06 Robin Systems, Inc. Performing root cause analysis in a multi-role application
US11249851B2 (en) 2019-09-05 2022-02-15 Robin Systems, Inc. Creating snapshots of a storage volume in a distributed storage system
US11113158B2 (en) 2019-10-04 2021-09-07 Robin Systems, Inc. Rolling back kubernetes applications
US11347684B2 (en) 2019-10-04 2022-05-31 Robin Systems, Inc. Rolling back KUBERNETES applications including custom resources
US11403188B2 (en) 2019-12-04 2022-08-02 Robin Systems, Inc. Operation-level consistency points and rollback
US11354268B2 (en) * 2020-01-08 2022-06-07 EMC IP Holding Company LLC Optimizing snapshot creation
US11108638B1 (en) 2020-06-08 2021-08-31 Robin Systems, Inc. Health monitoring of automatically deployed and managed network pipelines
US11528186B2 (en) 2020-06-16 2022-12-13 Robin Systems, Inc. Automated initialization of bare metal servers
US11379319B2 (en) * 2020-06-24 2022-07-05 Hitachi, Ltd. LAN-free and application consistent backup method
US12001392B2 (en) * 2020-07-17 2024-06-04 Rubrik, Inc. Snapshot and restoration of distributed file system
US11740980B2 (en) 2020-09-22 2023-08-29 Robin Systems, Inc. Managing snapshot metadata following backup
US11743188B2 (en) 2020-10-01 2023-08-29 Robin Systems, Inc. Check-in monitoring for workflows
US11271895B1 (en) 2020-10-07 2022-03-08 Robin Systems, Inc. Implementing advanced networking capabilities using helm charts
US11456914B2 (en) 2020-10-07 2022-09-27 Robin Systems, Inc. Implementing affinity and anti-affinity with KUBERNETES
US11750451B2 (en) 2020-11-04 2023-09-05 Robin Systems, Inc. Batch manager for complex workflows
US11556361B2 (en) 2020-12-09 2023-01-17 Robin Systems, Inc. Monitoring and managing of complex multi-role applications
JP7530288B2 (ja) 2020-12-28 2024-08-07 シャープ株式会社 情報処理システム、情報処理方法、及び情報処理プログラム
WO2022258166A1 (en) * 2021-06-09 2022-12-15 Huawei Technologies Co., Ltd. Cascaded continuous data protection system and method of initial synchronization therein
WO2022258163A1 (en) * 2021-06-09 2022-12-15 Huawei Technologies Co., Ltd. Cascaded data mover for cascaded backup system and method of cascaded backup
US12026065B1 (en) * 2023-01-20 2024-07-02 Dell Products L.P. System and method for a distribution of backup operations for network attached storage assets
US12093578B2 (en) 2023-01-20 2024-09-17 Dell Products L.P. System and method for slice distribution of network attached storage assets based on available streams in backup agents

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US737247A (en) * 1902-09-17 1903-08-25 Frank G Kammerer Glass-rinsing device.
US6038639A (en) * 1997-09-09 2000-03-14 Storage Technology Corporation Data file storage management system for snapshot copy operations
JP3868708B2 (ja) * 2000-04-19 2007-01-17 株式会社日立製作所 スナップショット管理方法及び計算機システム
US6594744B1 (en) * 2000-12-11 2003-07-15 Lsi Logic Corporation Managing a snapshot volume or one or more checkpoint volumes with multiple point-in-time images in a single repository
US6799189B2 (en) * 2001-11-15 2004-09-28 Bmc Software, Inc. System and method for creating a series of online snapshots for recovery purposes
US7743031B1 (en) * 2002-09-06 2010-06-22 3Par, Inc. Time and space efficient technique for creating virtual volume copies
US7055010B2 (en) * 2002-11-06 2006-05-30 Synology Inc. Snapshot facility allowing preservation of chronological views on block drives
JP4456909B2 (ja) 2004-03-29 2010-04-28 株式会社日立製作所 バックアップ方法、ストレージシステム及びそのプログラム
JP4515132B2 (ja) * 2004-03-31 2010-07-28 株式会社日立製作所 ストレージシステム、ストレージ装置及びリモートコピー方法
US7167880B2 (en) * 2004-04-14 2007-01-23 Hitachi, Ltd. Method and apparatus for avoiding journal overflow on backup and recovery system using storage based journaling
JP2005332067A (ja) * 2004-05-18 2005-12-02 Hitachi Ltd バックアップ取得方法及びディスクアレイ装置
US20060047926A1 (en) * 2004-08-25 2006-03-02 Zheng Calvin G Managing multiple snapshot copies of data
US7809910B2 (en) * 2007-07-05 2010-10-05 Novell, Inc. Backup archive management
JP4998737B2 (ja) 2007-12-28 2012-08-15 日本電気株式会社 情報処理装置、プログラム及びバックアップ方法
CN101681312B (zh) * 2008-02-29 2012-05-23 株式会社东芝 存储器系统
US8055630B2 (en) * 2008-06-17 2011-11-08 International Business Machines Corporation Estimating recovery times for data assets
US8904126B2 (en) * 2010-11-16 2014-12-02 Actifio, Inc. System and method for performing a plurality of prescribed data management functions in a manner that reduces redundant access operations to primary storage
US9311014B2 (en) * 2012-11-29 2016-04-12 Infinidat Ltd. Storage system and methods of mapping addresses of snapshot families
US9146877B2 (en) * 2012-11-29 2015-09-29 Infinidat Ltd. Storage system capable of managing a plurality of snapshot families and method of snapshot family based read
WO2015135574A1 (en) * 2014-03-11 2015-09-17 Hitachi Data Systems Engineering UK Limited Computer program product, method, apparatus and data storage system for controlling write operations in the data storage system

Also Published As

Publication number Publication date
US20180046553A1 (en) 2018-02-15
US10430286B2 (en) 2019-10-01
JP2018028715A (ja) 2018-02-22

Similar Documents

Publication Publication Date Title
JP6708929B2 (ja) ストレージ制御装置、ストレージシステムおよびストレージ制御プログラム
US10852981B2 (en) System for migrating virtual tape volumes between filesystems
US9880759B2 (en) Metadata for data storage array
US7716183B2 (en) Snapshot preserved data cloning
JP4199993B2 (ja) スナップショット取得方法
KR100968318B1 (ko) 데이터 저장 디바이스 및 이로부터의 정보 획득 방법 및 시스템과 컴퓨터 판독가능 저장 매체
US8200631B2 (en) Snapshot reset method and apparatus
US7287045B2 (en) Backup method, storage system, and program for backup
US7783850B2 (en) Method and apparatus for master volume access during volume copy
US7975115B2 (en) Method and apparatus for separating snapshot preserved and write data
JP4776342B2 (ja) ストレージシステムでオブジェクトレベルのスナップショットを生成するシステムと方法
US9996421B2 (en) Data storage method, data storage apparatus, and storage device
KR100317691B1 (ko) 로그 구조화 목표 저장장치를 사전에 구성하여 볼륨을 효율적으로 복사하는 방법 및 장치
JP2003280964A (ja) スナップショット取得方法、ストレージシステム及びディスク装置
US20040268070A1 (en) Method and apparatus for backing up data in virtual storage medium
US11263090B2 (en) System and method for data packing into blobs for efficient storage
US8140886B2 (en) Apparatus, system, and method for virtual storage access method volume data set recovery
US11099768B2 (en) Transitioning from an original device to a new device within a data storage array
WO2018076633A1 (zh) 一种远程数据复制方法、存储设备及存储系统
WO2007099636A1 (ja) ファイルシステム移行方法、ファイルシステム移行プログラム及びファイルシステム移行装置
US9229814B2 (en) Data error recovery for a storage device
JP4394467B2 (ja) ストレージシステム、サーバ装置及び先行コピーデータ生成方法
JP4390618B2 (ja) データベース再編成プログラム、データベース再編成方法、及びデータベース再編成装置
US20130031320A1 (en) Control device, control method and storage apparatus
US11307774B2 (en) Storage control device, non-transitory computer-readable storage medium, and storage control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190513

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20190517

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190517

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200327

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200504

R150 Certificate of patent or registration of utility model

Ref document number: 6708929

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150