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

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

Info

Publication number
JP6604115B2
JP6604115B2 JP2015187554A JP2015187554A JP6604115B2 JP 6604115 B2 JP6604115 B2 JP 6604115B2 JP 2015187554 A JP2015187554 A JP 2015187554A JP 2015187554 A JP2015187554 A JP 2015187554A JP 6604115 B2 JP6604115 B2 JP 6604115B2
Authority
JP
Japan
Prior art keywords
file
storage
generation
update
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
JP2015187554A
Other languages
English (en)
Other versions
JP2017062636A (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 JP2015187554A priority Critical patent/JP6604115B2/ja
Priority to US15/255,450 priority patent/US10303395B2/en
Publication of JP2017062636A publication Critical patent/JP2017062636A/ja
Application granted granted Critical
Publication of JP6604115B2 publication Critical patent/JP6604115B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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
    • 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/1458Management of the backup or restore process
    • 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/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

Landscapes

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

Description

本発明はストレージ装置およびストレージ制御プログラムに関する。
現在、データの保存にストレージ装置が用いられている。ストレージ装置は、HDD(Hard Disk Drive)やSSD(Solid State Drive)などの記憶装置を複数有し、大容量の記憶領域を利用可能とする。
ストレージ装置に保存されたデータのバックアップを取得することがある。例えば、バックアップを取得する1つの方法としてスナップショットがある。スナップショットでは、ある時点のバックアップを取得する場合、当該時点から更新されたデータに対する更新前のデータを記憶装置に退避して保持する。例えば、退避したデータが記録されていること(すなわち、データが更新されていること)をブロック単位に管理するために、論理ユニット内のブロックに対応するビットを有する差分ビットマップを用いる提案がある。
なお、例えば、N世代までが反映されたスナップショットイメージと、そのイメージに対する更新データとしてN+1世代、N+2世代、・・・の更新データをもつ履歴情報とを保存することで、スナップショットイメージを世代管理する提案もある。
また、第1の記憶領域と第2の記憶領域とを統合した統合記憶領域内に1つのファイルシステムを構築する提案もある。この提案では、ファイルを格納する際に、ファイルに関するメタデータ(inodeなど)を、第1の記憶領域のみに格納することで、ファイル移動時にメタデータを新たに作成せずに変更のみで済ませる。
特開2005−301499号公報 特開2002−278819号公報 特開2007−79774号公報
近年、ブロックアクセスおよびファイルアクセスの両方を受け付け可能なストレージ装置が利用されている。このようなストレージ装置では、スナップショットによるバックアップの管理に用いられる管理情報に改善の余地がある。例えば、ブロックアクセスを受け付けるストレージ装置のスナップショットでは、上記のように差分ビットマップにより、ブロック単位にデータ更新の有無を管理している。このため、管理対象となるブロックの数が増えるほど、差分ビットマップのサイズも大きくなるという問題がある。
1つの側面では、本発明は、バックアップの管理情報のサイズを低減できるストレージ装置およびストレージ制御プログラムを提供することを目的とする。
1つの態様では、記憶装置に記憶されたデータのバックアップを世代管理するストレージ装置が提供される。このストレージ装置は、記憶部と制御部とを有する。記憶部は、記憶装置に記憶された複数のファイルそれぞれに対応するメタデータに対して各ファイルの更新の有無を示す識別情報が対応付けられた、バックアップの世代毎の管理情報を記憶する。制御部は、何れかのファイルに対する更新の要求を受け付けると、更新前のファイルの複製を保存した後に更新を実行し、ファイルのメタデータに対応付けてファイルに更新があることを、記憶部における現世代の管理情報に登録する。制御部は、記憶装置の記憶領域がファイルアクセスまたはブロックアクセスの何れに用いられるかに応じて、記憶領域に対し、メタデータ毎に識別情報を対応付けた第1の種類の管理情報を用いるか、または、ブロック毎に識別情報を対応付けた第2の種類の管理情報を用いるか、を選択する。
また、1つの態様では、記憶装置に記憶されたデータのバックアップを世代管理するコンピュータによって実行されるストレージ制御プログラムが提供される。このストレージ制御プログラムは、コンピュータに、記憶装置の記憶領域がファイルアクセスまたはブロックアクセスの何れに用いられるかに応じて、記憶領域に対するバックアップの世代管理に、記憶領域に記憶された複数のファイルそれぞれに対応するメタデータに対して各ファイルの更新の有無を示す識別情報を対応付けた第1の種類の管理情報を用いるか、または、ブロック毎に更新の有無を示す識別情報を対応付けた第2の種類の管理情報を用いるか、を選択し、ファイルアクセスに用いられる記憶装置の記憶領域に記憶された何れかのファイルに対する更新の要求を受け付けると、更新前のファイルの複製を保存した後に更新を実行し、バックアップの世代毎の第1の種類の管理情報を記憶する記憶部における現世代の第1の種類の管理情報に、ファイルのメタデータに対応付けてファイルに更新があることを、登録する、処理を実行させる。
1つの側面では、バックアップの管理情報のサイズを低減できる。
第1の実施の形態のストレージ装置を示す図である。 第2の実施の形態の情報処理システムを示す図である。 CMのハードウェア例を示す図である。 業務サーバのハードウェア例を示す図である。 CMの機能例を示す図である。 ブロック単位のビットマップテーブルの例を示す図である。 メタデータ単位のビットマップテーブルの例を示す図である。 バックアップ管理テーブルの例を示す図である。 共有領域の設定処理の例を示すフローチャートである。 世代追加の例を示すフローチャートである。 ビットマップ更新処理の例を示すフローチャートである。 リストア処理の例を示すフローチャートである。
以下、本実施の形態について図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態のストレージ装置を示す図である。ストレージ装置1は、ストレージ制御装置2および記憶装置3を有する。ストレージ制御装置2は、記憶装置3に対するデータアクセスを制御する。記憶装置3としては、HDDやSSDなどを用いることができる。ストレージ装置1は、記憶装置3を複数備えてもよい。ここで、ストレージ装置1は、情報処理装置4とネットワーク5を介して接続されている。例えば、記憶装置3は、情報処理装置4の処理に用いられるデータを記憶する。ストレージ制御装置2は、ファイルシステムの機能を有し、情報処理装置4によるファイルアクセスを許容する。
ストレージ装置1は、記憶装置3に記憶されたデータのバックアップを取得し、取得したバックアップを世代管理する。ストレージ装置1は、スナップショットの技術によりバックアップを取得する。ストレージ装置1が用いるバックアップの取得方法は、コピーオンライト(Copy On Write)と呼ばれることもある。ストレージ装置1におけるバックアップ管理機能は、ストレージ制御装置2によって提供される。
ストレージ制御装置2は、記憶部2aおよび制御部2bを有する。記憶部2aは、RAM(Random Access Memory)などの揮発性記憶装置でもよいし、フラッシュメモリなどの不揮発性記憶装置でもよい。制御部2bは、例えばプロセッサである。プロセッサは、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)などを含み得る。また、制御部2bは、マルチプロセッサでもよい。
記憶部2aは、バックアップの世代毎の管理情報を記憶する。管理情報は、記憶装置3に記憶された複数のファイルそれぞれに対応するメタデータに対して各ファイルの更新の有無を示す識別情報が対応付けられた情報である。識別情報は、例えば、ファイルの更新がないことを“0”、ファイルの更新があることを“1”で表わすビット情報でもよい。また、メタデータは、ファイルが格納された記憶装置3上の物理的な記憶位置を示す複数のブロックに対応付けられる情報である。例えば、メタデータは、ファイルシステムで管理されるinode番号やファイルのパスのハッシュ値などでもよい。
制御部2bは、バックアップの取得指示を受け付ける。バックアップの取得指示は、情報処理装置4から送信されてもよいし、他の装置から送信されてもよい。制御部2bは、バックアップの取得指示の受け付け時に対応する世代の管理情報を生成して記憶部2aに格納する。
例えば、記憶部2aに、第1世代、第2世代、・・・、第N−1世代(Nは2以上の整数)までの各世代の管理情報T1,T2,・・・が記憶されているものとする。ここで、世代は、世代の数値が大きいほど、新しい世代を表わす。制御部2bは、バックアップの取得指示を受け付けると、第N世代の管理情報TNを生成して、記憶部2aに格納する。管理情報TNの生成時は、管理情報TNに含まれる全ての識別情報が、“更新なし”を示す(例えば、“0”)。
制御部2bは、記憶部2aにおけるバックアップの取得する世代の管理情報に、何れかのファイルに対する更新の要求を受け付けると、更新前のファイルの複製を保存した後に当該更新を実行し、該当のファイルのメタデータに対応付けて、当該ファイルに更新があることを、登録する。
例えば、制御部2bは、ファイルXに対する更新の要求を、情報処理装置4から受け付ける。ファイルXに対応するメタデータは“B”であるものとする。すると、制御部2bは、更新対象のファイルXを複製し、記憶装置3の所定の記憶領域または他の記憶装置に、複製した更新前のファイルXを格納する。こうして、制御部2bは、更新前のファイルXの複製を保存する。このとき、制御部2bは、メタデータ“B”に対応するファイルXの複製の格納先を特定するための情報を記憶部2aに記録する。
そして、制御部2bは、ファイル更新の要求に応じて、当該更新を実行する。例えば、制御部2bは、保存した複製に対する複製元のファイルXを更新する。ファイルXの更新後のファイルをファイルXaとする。そして、制御部2bは、管理情報TNにおけるメタデータ“B”に対応付けられた識別情報を、“更新なし”から“更新あり”に変更する(例えば、“0”から“1”に変更する)。なお、以後、当該メタデータ“B”に対応するファイルXaの更新要求を受け付けても、次の世代のバックアップの取得が指示されるまでは、管理情報TNにおけるメタデータ“B”の識別情報の更新やファイルXaの複製の保存を行わずに更新を行っていく。
すると、ストレージ装置1は、仮に、情報処理装置4から第N世代のバックアップを記憶装置3上に復元する旨の指示を受け付けたとき、管理情報TNに基づいて、復元を実行できる。具体的には、制御部2bは、管理情報TNを参照することで、メタデータ“B”に対し、第N世代のバックアップの取得指示を受け付けたタイミングにおけるファイルXの複製が保存されていることを特定する。制御部2bは、ファイルXの複製の格納先の情報を記憶部2aに記録しているので、記録した情報を基にファイルXの複製を取得し、ファイルXを復元できる。他のファイルについても、ファイルXと同様に管理することで、記憶装置3に記憶された各ファイルの第N世代の状態を復元できる。
ストレージ装置1によれば、バックアップの管理情報のサイズを低減できる。具体的には次の通りである。例えば、記憶装置3上の物理的な記憶位置に対応する複数のブロックそれぞれに対して識別情報を対応付けて管理することも考えられる。しかし、この方法では、管理対象となるブロックの数が増えるほど、管理情報のサイズも大きくなる。
特に、近年、ブロックアクセスおよびファイルアクセスの両方を受け付け可能なストレージ装置(ユニファイド(Unified)型のストレージ装置と呼ばれることがある)が利用されている。このようなストレージ装置は、ファイルサーバとして利用可能となり、多数のクライアント装置からアクセスされ得る。すると、バックアップ対象となるブロック範囲や世代数が、ブロックアクセスのみを受け付ける場合よりも増す可能性があり、管理情報のサイズの増大が深刻になるおそれがある。
そこで、ストレージ装置1では、記憶装置3に格納されたデータの更新状況を管理するために、ファイルのメタデータとファイル更新の有無を示す識別情報とを対応付けた管理情報を用いる。メタデータは、複数のブロックに対応付けられる情報である。このため、複数のブロックそれぞれに対して識別情報をもつよりも、管理情報のサイズを低減できる。例えば、1ブロック当たりのサイズが512バイトであり、ファイルXのサイズが6キロバイトである場合を考える。この場合、ファイルXは12個のブロックに相当する。すなわち、ブロック単位に識別情報をもつ場合に比べて、ファイルのメタデータ単位に識別情報をもつ方が、12個のブロックにおける更新状況を管理するための情報量を1/12に削減できることになる。こうして、管理情報のサイズを低減することができる。
[第2の実施の形態]
図2は、第2の実施の形態の情報処理システムを示す図である。第2の実施の形態の情報処理システムは、ストレージ装置10、業務サーバ20,30およびクライアント装置40を含む。ストレージ装置10および業務サーバ20は、SAN(Storage Area Network)50に接続されている。ストレージ装置10、業務サーバ30およびクライアント装置40は、LAN(Local Area Network)60に接続されている。
ストレージ装置10は、複数のHDDを備え、複数のHDDを用いて業務サーバ20,30およびクライアント装置40が業務処理に用いるデータを記憶する。ストレージ装置10は、HDDに代えて、あるいは、HDDと併せてSSDなどの他の種類の記憶装置を備えてもよい。
ここで、ストレージ装置10は、SAN50経由でのブロックアクセス、および、LAN60経由でのファイルアクセスの両方を受け付け可能なユニファイド型のストレージ装置である。ストレージ装置10は、CM(Controller Module)100,100aおよびDE(Drive Enclosure)200,200aを有する。CM100,100aは、DE200,200aに収納されたHDDに対するデータアクセスを制御するストレージ制御装置である。DE200,200aは、複数のHDDを収納するための筐体である。例えば、ストレージ装置10では、CM100,100aおよびDE200,200aを冗長構成として、何れかの障害時にも運用を継続可能である。
業務サーバ20は、ストレージ装置10に格納されたデータにアクセスするサーバコンピュータである。業務サーバ20は、例えば、SAN50を介してストレージ装置10に対するブロックアクセスを行う。
業務サーバ30は、ストレージ装置10に格納されたデータにアクセスするサーバコンピュータである。業務サーバ30は、例えば、LAN60を介してストレージ装置10に対するファイルアクセスを行う。
クライアント装置40は、ユーザが操作するクライアントコンピュータである。クライアント装置40は、例えば、LAN60を介してストレージ装置10に対するファイルアクセスを行う。例えば、ユーザは、クライアント装置40で所定のアプリケーションソフトウェアを利用し、当該アプリケーションソフトウェアによって作成されたファイルを、ストレージ装置10に格納することができる。
ここで、CM100は、DE200に搭載されている複数のHDDを組み合わせて、RAID(Redundant Arrays of Inexpensive Disks)の技術により論理ボリュームを作成する。論理ボリュームは、CM100が業務サーバ20,30およびクライアント装置40に提供する記憶領域の1つの単位である。論理ボリュームには論理ボリュームを識別する論理ユニット番号(LUN:Logical Unit Number)が割り当てられる。業務サーバ20は、LUNおよび論理ボリュームにおけるブロックのアドレス(LBA:Logical Block Address)を直接指定して、ストレージ装置10に対するデータアクセス(以下、ブロックアクセス)を行える。一方、業務サーバ30やクライアント装置40は、業務サーバ30、クライアント装置40およびストレージ装置10のファイルシステムを介して、ストレージ装置10の論理ボリュームに格納されたデータに対するファイルアクセスを行える。
このため、ストレージ装置10では、ある論理ボリュームを業務サーバ20によるブロックアクセス用の論理ボリュームとし、別の論理ボリュームを業務サーバ30やクライアント装置40によるファイルアクセス用の論理ボリュームとすることができる。後者の場合、ストレージ装置10は、例えば、NAS(Network Attached Storage)として利用可能であり、業務サーバ30やクライアント装置40に対するファイルサーバとして機能し得る。ストレージ装置10は、ファイル共有を行うためのプロトコルとして、例えば、NFS(Network File System)やCIFS(Common Internet File System)などを用いることができる。
図3は、CMのハードウェア例を示す図である。CM100は、プロセッサ101、RAM102、NVRAM(Non-Volatile RAM)103、CA(Channel Adapter)104、NA(Network Adapter)105、DI(Drive Interface)106および媒体リーダ107を有する。各ユニットはCM100のバスに接続されている。CM100aもCM100と同様のハードウェアにより実現できる。
プロセッサ101は、CM100の情報処理を制御する。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU、DSP、ASICまたはFPGAなどである。プロセッサ101は、CPU、DSP、ASIC、FPGAなどのうちの2以上の要素の組み合わせであってもよい。
RAM102は、CM100の主記憶装置である。RAM102は、プロセッサ101に実行させるファームウェアのプログラムの少なくとも一部を一時的に記憶する。また、RAM102は、プロセッサ101による処理に用いる各種データを記憶する。
NVRAM103は、CM100の補助記憶装置である。NVRAM103は、例えば、不揮発性の半導体メモリである。NVRAM103は、ファームウェアのプログラムや各種データなどを記憶する。
CA104は、SAN50を介して業務サーバ20と通信するための通信インタフェースである。例えば、CA104として、iSCSI(Internet Small Computer System Interface)や、ファイバチャネル(FC:Fibre Channel)などのインタフェースを用いることができる。
NA105は、LAN60を介して業務サーバ30やクライアント装置40と通信するための通信インタフェースである。例えば、NA105として、イーサネット(登録商標)のインタフェースを用いることができる。
DI106は、DE200と通信するためのインタフェースである。例えば、DI106としてSAS(Serial Attached SCSI)などのインタフェースを用いることができる。また、DI106は、DE200aと接続されて、DE200aとの通信も行える。
媒体リーダ107は、可搬型の記録媒体11に記録されたプログラムやデータを読み取る装置である。記録媒体11として、例えば、フラッシュメモリなどの不揮発性の半導体メモリを使用することができる。媒体リーダ107は、例えば、プロセッサ101からの命令に従って、記録媒体11から読み取ったプログラムやデータを、RAM102やNVRAM103に格納することもできる。
DE200は、複数のHDDを有する。例えば、DE200は、HDD201,202203,204,205,206を有する。各HDDを用いて作成された論理ボリュームは共有領域として用いられる。共有領域に対して受け付けるアクセスの種類は、論理ボリューム毎に異なる。例えば、HDD201,202,203により作成される第1の論理ボリュームは、ブロックアクセス用の共有領域を提供する。一方、HDD204,205,206により作成される第2の論理ボリュームは、ファイルアクセス用の共有領域を提供する。なお、DE200もDE200aと同様に複数のHDDを備えている。前述のように、DE200,200aは、HDDに代えて、あるいは、HDDと併せて、SSDなどの他の記憶装置を備えてもよい。
ここで、CM100は、CM100aと接続するためのインタフェースも備え、CM100aと連携してデータアクセスを行える。例えば、CM100を運用系、CM100aを待機系としてもよい。あるいは、CM100,100aの両方を運用系として、データアクセスを分散して行ってもよい。何れの場合も、一方の故障時に他方でデータアクセスを引き継ぐことができ、ユーザの業務が停止されることを防げる。
図4は、業務サーバのハードウェア例を示す図である。業務サーバ20は、プロセッサ21、RAM22、HDD23、画像信号処理部24、入力信号処理部25、媒体リーダ26および通信アダプタ27を有する。各ユニットは業務サーバ20のバスに接続されている。業務サーバ30およびクライアント装置40も業務サーバ20と同様のハードウェアにより実現できる。
プロセッサ21は、業務サーバ20の情報処理を制御する。プロセッサ21は、マルチプロセッサであってもよい。プロセッサ21は、例えばCPU、DSP、ASICまたはFPGAなどである。プロセッサ21は、CPU、DSP、ASIC、FPGAなどのうちの2以上の要素の組み合わせであってもよい。
RAM22は、業務サーバ20の主記憶装置である。RAM22は、プロセッサ21に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、RAM22は、プロセッサ21による処理に用いる各種データを記憶する。
HDD23は、業務サーバ20の補助記憶装置である。HDD23は、内蔵した磁気ディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD23は、OSのプログラム、アプリケーションプログラム、および各種データを記憶する。業務サーバ20は、フラッシュメモリやSSDなどの他の種類の補助記憶装置を備えてもよく、複数の補助記憶装置を備えてもよい。
画像信号処理部24は、プロセッサ21からの命令に従って、業務サーバ20に接続されたディスプレイ51に画像を出力する。ディスプレイ51としては、CRT(Cathode Ray Tube)ディスプレイや液晶ディスプレイなどを用いることができる。
入力信号処理部25は、業務サーバ20に接続された入力デバイス52から入力信号を取得し、プロセッサ21に出力する。入力デバイス52としては、例えば、マウスやタッチパネルなどのポインティングデバイス、キーボードなどを用いることができる。
媒体リーダ26は、記録媒体53に記録されたプログラムやデータを読み取る装置である。記録媒体53として、例えば、フレキシブルディスク(FD:Flexible Disk)やHDDなどの磁気ディスク、CD(Compact Disc)やDVD(Digital Versatile Disc)などの光ディスク、光磁気ディスク(MO:Magneto-Optical disk)を使用できる。また、記録媒体53として、例えば、フラッシュメモリカードなどの不揮発性の半導体メモリを使用することもできる。媒体リーダ26は、例えば、プロセッサ21からの命令に従って、記録媒体53から読み取ったプログラムやデータをRAM22またはHDD23に格納する。
通信アダプタ27は、SAN50を介して仮想ボリュームにアクセスするためのインタフェースである。通信アダプタ27としては、例えばiSCSIアダプタやFCアダプタなどを用いることができる。
図5は、CMの機能例を示す図である。CM100は、記憶部110、IO(Input/Output)制御部120、バックアップ処理部130およびリストア処理部140を有する。記憶部110は、例えば、RAM102またはNVRAM103に確保された記憶領域として実現される。IO制御部120、バックアップ処理部130およびリストア処理部140は、RAM102に記憶されたプログラムを、プロセッサ101が実行することで実現される。
記憶部110は、DE200における各論理ボリュームのバックアップを管理するための情報を記憶する。ここで、CM100は、バックアップの取得にスナップショットの技術を用いる。具体的には、CM100は、コピーオンライトの手法により、論理ボリュームにおけるバックアップ対象領域のバックアップを取得する(バックアップ対象領域の全てのデータではなく更新のあった差分のデータのみをバックアップする)。記憶部110は、ブロック単位およびファイル単位のデータ更新の管理に用いられるビットマップテーブルなどを記憶する。
IO制御部120は、業務サーバ20,30およびクライアント装置40に対してデータを格納するための共有領域を提供する。業務サーバ20からのブロックアクセスに対するデータの書き込みや読み出しなどのIO処理を制御する。また、IO制御部120は、業務サーバ30やクライアント装置40からのファイルアクセスに対するデータのIO処理を制御する。具体的には、IO制御部120は、指定されたファイルにアクセスする際、論理ボリュームおよびブロックと、指定されたファイルとのマッピングを行う。通常、1ファイルのサイズは、1つのブロックのサイズよりも大きい。このため、1つのファイルは、複数のブロックに跨って論理ボリュームに格納されることになる。
バックアップ処理部130は、各論理ボリュームにおけるバックアップ処理を行う。前述のように、バックアップには、コピーオンライトの手法を用いる。バックアップ処理部130は、バックアップの世代を管理するためのビットマップテーブルや、複製したデータの格納先を管理するための情報を、バックアップ処理に応じて生成し、記憶部110に格納する。ここで、世代は、年月日時分秒などで表わされる時間に対応付けられる情報である。
ここで、バックアップ処理部130は、ブロックアクセス用の論理ボリュームと、ファイルアクセス用の論理ボリュームとで、ビットマップテーブルのデータ構造を使い分ける。前者に対しては、ブロック単位にデータ更新の有無を対応付けたビットマップテーブルを用いる。後者に対しては、ファイルに対応するメタデータ単位にデータ更新の有無を対応付けたビットマップテーブルを用いる。バックアップ処理部130は、当該ビットマップテーブルを用いて、各論理ボリュームのバックアップを世代管理する。ここで、メタデータは、ファイルが格納された複数のブロックに対応付けられる情報である。このようなメタデータとしてファイルシステムで管理されるinode番号や、ファイルのパスのハッシュ値が考えられる。例えば、バックアップ処理部130は、所定のハッシュ関数に、ファイルのパスを入力することで、当該ハッシュ値を得ることができる。
リストア処理部140は、クライアント装置40などの他の装置から、何れかの論理ボリュームに対する何れかの世代のリストアが要求されると、バックアップ処理部130が生成した各種のテーブルに基づいて、当該論理ボリュームの当該世代のデータを復元する。
図6は、ブロック単位のビットマップテーブルの例を示す図である。ビットマップテーブル111は、記憶部110に格納される。ビットマップテーブル111は、HDD201,202,203により作成された1つの論理ボリュームに対応付けられる。ビットマップテーブル111は、ブロック番号および更新情報の項目を含む。
ブロック番号の項目には、該当の論理ボリュームにおけるブロック番号が登録される。更新情報の項目には、各ブロックに格納されたデータの世代毎の更新の有無を示すビット(識別情報)を格納したビットマップが登録される。当該ビットは、“0”が更新なしを示し、“1”が更新ありを示す(以下、同様)。ビットマップは、世代毎に作成される。例えば、ビットマップ111aは、第1世代のビットマップである。ビットマップ111bは、第2世代のビットマップである。ビットマップ111cは、第3世代のビットマップである。ここで、世代の数値が大きいほど、新しい世代を示す(以下、同様)。
例えば、ビットマップ111aによれば、ブロック番号“1”、“12”のビットが“0”であり、ブロック番号“2”、“13”のビットが“1”である。これは、該当の論理ボリュームに対して、第1世代のバックアップの取得指示を受け付けたタイミングから、ブロック番号“1”、“12”のブロックは更新がなく、また、ブロック番号“2”、“13”のブロックは更新があったことを示す。
また、ビットマップ111bによれば、ブロック番号“1”、“2”、“13”のビットが“0”であり、ブロック番号“12”のビットが“1”である。これは、該当の論理ボリュームに対して、第2世代のバックアップの取得指示を受け付けたタイミングから、ブロック番号“1”、“2”、“13”のブロックは更新がなく、また、ブロック番号“12”のブロックは更新があったことを示す。
また、ビットマップ111cによれば、ブロック番号“1”、“2”、“12”のビットが“0”であり、ブロック番号“13”のビットが“1”である。これは、該当の論理ボリュームに対して、第3世代のバックアップの取得指示を受け付けたタイミングから、ブロック番号“1”、“2”、“12”のブロックは更新がなく、また、ブロック番号“13”のブロックは更新があったことを示す。
図7は、メタデータ単位のビットマップテーブルの例を示す図である。ビットマップテーブル112は、記憶部110に格納される。例えば、ビットマップテーブル112は、HDD204,205,206により作成された1つの論理ボリュームに対応付けられる。ビットマップテーブル112は、メタデータ、最新更新世代および更新情報の項目を含む。
メタデータの項目には、ファイルに対応するメタデータが登録される。ここでは、メタデータとして、ファイルに対して一意に割り振られる番号を想定する。このような番号は、例えば、inode番号でもよいし、ファイルのパスのハッシュ値でもよい。最新更新世代の項目には、該当のメタデータに対応するファイルの最新の更新世代を示す情報(更新世代情報)が登録される。更新情報の項目には、各メタデータに対応するファイルの世代毎の更新の有無を示すビット(識別情報)を格納したビットマップが登録される。ビットマップは、世代毎に作成される。例えば、ビットマップ112aは、第1世代のビットマップである。ビットマップ112bは、第2世代のビットマップである。ビットマップ112cは、第3世代のビットマップである。ここで、ビットマップテーブル111およびビットマップテーブル112において同じ数値で表わされる世代は、同期していなくてもよい。
例えば、ビットマップ112aによれば、メタデータ“1”、“3”、“5”のビットが“0”であり、メタデータ“2”、“4”のビットが“1”である。これは、該当の論理ボリュームに対して、第1世代のバックアップの取得指示を受け付けたタイミングから、メタデータ“1”、“3”、“5”に対応するファイルは更新がなく、また、メタデータ“2”、“4”に対応するファイルは更新があったことを示す。
また、ビットマップ112bによれば、メタデータ“1”、“2”、“4”、“5”のビットが“0”であり、メタデータ“3”のビットが“1”である。これは、該当の論理ボリュームに対して、第2世代のバックアップの取得指示を受け付けたタイミングから、メタデータ“1”、“2”、“4”、“5”に対応するファイルは更新がなく、また、メタデータ“3”に対応するファイルは更新があったことを示す。
また、ビットマップ112cによれば、メタデータ“1”、“2”、“3”、“4”のビットが“0”であり、メタデータ“5”のビットが“1”である。これは、該当の論理ボリュームに対して、第3世代のバックアップの取得指示を受け付けたタイミングから、メタデータ“1”、“2”、“3”、“4”に対応するファイルは更新がなく、また、メタデータ“5”に対応するファイルは更新があったことを示す。
図8は、バックアップ管理テーブルの例を示す図である。バックアップ管理テーブル113,113a,113bは、記憶部110に格納される。バックアップ管理テーブル113,113a,113bは、あるファイルの更新時に作成された当該ファイルの複製(複製ファイルと称する)のメタデータを管理するための情報である。バックアップ管理テーブル113,113a,113bは、論理ボリューム毎、世代毎に作成される。ここで、バックアップ管理テーブル113,113a,113bは、図7で例示したビットマップテーブル112とセットで用いられる。バックアップ管理テーブル113,113a,113bは、それぞれ、ビットマップテーブル112における第1世代、第2世代、第3世代に対応付けられる。バックアップ管理テーブル113,113a,113bは、メタデータおよびバックアップとして退避されたファイルのポインタの項目を含む。
メタデータの項目には、ファイル(複製元のファイル)のメタデータが登録される。退避されたファイルのポインタの項目には、当該ファイル(複製元のファイル)に対するバックアップである複製ファイルの保存場所を示すポインタが登録される。
例えば、バックアップ管理テーブル113には、メタデータが“2”、退避されたファイルのポインタが“P1”という情報が登録される。これは、メタデータ“2”に対応するファイルの第1世代のバックアップとして、ポインタ“P1”で示される記憶領域に複製ファイルが退避されていることを示す。なお、ポインタとして、複製ファイルのinode番号などのメタデータを用いてもよい。あるいは、ポインタは、複製ファイルのパスでもよい。
なお、ブロック毎にバックアップを取得する場合にも、バックアップ管理テーブル113,113a,113bに相当する情報を管理することになるが、この場合は既存の手法を利用できるので、説明を省略する。次に、ストレージ装置10による処理手順を説明する。
図9は、共有領域の設定処理の例を示すフローチャートである。以下、図9に示す処理をステップ番号に沿って説明する。
(S11)ストレージ装置10は、ユーザの操作による電源投入を受け付ける。
(S12)IO制御部120は、論理ボリューム毎に共有領域の設定を行う。
(S13)バックアップ処理部130は、差分バックアップ(すなわち、コピーオンライトによるバックアップ)が有効であるか否かを判定する。有効である場合、処理をステップS14に進める。有効でない場合、処理を終了する。例えば、ストレージ装置10は、コピーオンライトによるバックアップを取得するか否かの設定情報をNVRAM103に予め格納している。バックアップ処理部130は、当該設定情報を参照することで、ステップS13の判定を行える。
(S14)バックアップ処理部130は、ストレージ装置10がNASとして利用されるか否かを判定する。NASとして利用される場合、処理をステップS15に進める。NASとして利用されない場合、処理をステップS16に進める。例えば、バックアップ処理部130は、IO制御部120によるNAS用のサービス(例えば、NFSなど)の起動状況を確認することで、ステップS14の判定を行える。
(S15)バックアップ処理部130は、メタデータ単位のビットマップテーブル112を作成し、記憶部110に格納する。ここで、バックアップの取得対象となっているファイルアクセス用の論理ボリュームが複数存在する場合、バックアップ処理部130は、該当の論理ボリューム毎にビットマップテーブル112を作成する。なお、ストレージ装置10では、前述のように、業務サーバ20に対するブロックアクセス用の論理ボリュームを設けることも可能である。ブロックアクセス用の論理ボリュームが存在する場合、当該論理ボリュームに対して、ブロック単位のビットマップテーブル111を作成する。そして、処理を終了する。
(S16)バックアップ処理部130は、ブロック単位のビットマップテーブル111を作成し、記憶部110に格納する。ここで、バックアップの取得対象となっているブロックアクセス用の論理ボリュームが複数存在する場合、バックアップ処理部130は、該当の論理ボリューム毎にビットマップテーブル111を作成する。そして、処理を終了する。
図10は、世代追加の例を示すフローチャートである。以下、図10に示す処理をステップ番号に沿って説明する。
(S21)バックアップ処理部130は、クライアント装置40などの他の装置から、バックアップ取得指示を受け付ける。バックアップ処理部130は、スケジュールされたタイミングで、CM100におけるスケジューラ機能が発行したバックアップ取得指示を受け付けてもよい。
(S22)バックアップ処理部130は、ブロック単位のビットマップテーブル111、または、メタデータ単位のビットマップテーブル112に、新たな世代のビットマップを追加する。なお、バックアップ処理部130は、ブロックアクセス用の論理ボリューム、および、ファイルアクセス用の論理ボリュームの両方に対して、バックアップ取得指示を受け付けてもよい。その場合、バックアップ処理部130は、ビットマップテーブル111およびビットマップテーブル112の両方に、新たな世代のビットマップを追加する。
(S23)バックアップ処理部130は、バックアップの取得対象の論理ボリュームに対するデータの更新を待機する。
図11は、ビットマップ更新処理の例を示すフローチャートである。以下、図11に示す処理をステップ番号に沿って説明する。
(S31)IO制御部120は、データの更新要求を受け付ける。データ更新要求は、業務サーバ20により発行されたものであれば、ブロック番号を指定した更新要求である(ブロックアクセス)。また、データ更新要求は、業務サーバ30やクライアント装置40により発行されたものであれば、ファイルを指定した更新要求である(ファイルアクセス)。
(S32)バックアップ処理部130は、IO制御部120が受け付けたデータ更新要求に基づいて、更新対象のデータについて現世代での初回の更新であるか否かを判定する。初回の更新である場合、処理をステップS34に進める。初回の更新ではない場合、処理をステップS33に進める。なお、バックアップ処理部130は、ビットマップテーブル111,112に基づいて、更新対象のデータについて現世代での初回の更新であるか否かを判定できる。例えば、データ更新要求がファイルアクセスである場合、バックアップ処理部130は、更新対象のファイルのメタデータを取得し、ビットマップテーブル112の現世代のビットを確認する。ビットが“0”であれば、初回の更新である。ビットが“1”であれば、初回の更新ではない。ブロックアクセスの場合も、ビットマップテーブル111に基づいて同様に判断できる。
(S33)IO制御部120は、受け付けたデータ更新要求に応じて、データの更新を実行する。そして、処理を終了する。
(S34)バックアップ処理部130は、更新対象のデータの複製(複製データ)を生成し、保存する。例えば、バックアップ処理部130は、保存先として、DE200に収納されたHDDの所定の記憶領域を用いることができる。
(S35)IO制御部120は、受け付けたデータ更新要求に応じて、データの更新を実行する。
(S36)バックアップ処理部130は、受け付けたデータ更新がファイルアクセスであるか否かを判定する。ファイルアクセスである場合、処理をステップS37に進める。ファイルアクセスでない(すなわち、ブロックアクセスである)場合、処理をステップS38に進める。
(S37)バックアップ処理部130は、メタデータ単位のビットマップテーブル111を更新する。具体的には、バックアップ処理部130は、ビットマップテーブル112上の現世代のビットマップについて、更新対象となったファイルのメタデータに対応するビットを“0”から“1”に更新する。また、バックアップ処理部130は、更新対象となったファイルと、複製ファイル(ステップS34で保存されたファイル)との対応関係を示す情報を作成する。例えば、図8で例示したバックアップ管理テーブルを作成して、更新対象となったファイル(複製元のファイル)に対する複製ファイルの所在を世代毎に管理する。更に、バックアップ処理部130は、更新対象となったファイルのメタデータに対する最新更新世代(現世代)を、ビットマップテーブル112に登録する。そして、処理を終了する。
(S38)バックアップ処理部130は、ブロック単位のビットマップテーブル112を更新する。具体的には、バックアップ処理部130は、ビットマップテーブル112上の現世代のビットマップについて、更新対象となったブロックに対応するビットを“0”から“1”に更新する。また、バックアップ処理部130は、ステップS37と同様に、更新対象となったブロックと、その複製との対応関係を示す情報を作成して、更新対象となったブロックに対する複製の所在を世代毎に管理する。そして、処理を終了する。
次に、ストレージ装置10におけるリストア処理の手順を説明する。
図12は、リストア処理の例を示すフローチャートである。以下、図12に示す処理をステップ番号に沿って説明する。
(S41)リストア処理部140は、クライアント装置40などの他の装置からリストア要求を受信する。リストア要求は、リストア対象の論理ボリュームや世代の情報を含む。
(S42)リストア処理部140は、ファイルのリストアであるか否かを判定する。ファイルのリストアである場合、処理をステップS43に進める。ファイルのリストアではない場合、処理をステップS45に進める。例えば、リストア処理部140は、リストア要求で指定された論理ボリュームが、ファイルアクセス用の論理ボリュームであれば、ファイルのリストアであると判定する。また、リストア処理部140は、リストア要求で指定された論理ボリュームが、ブロックアクセス用の論理ボリュームであれば、ファイルのリストアではないと判定する。
(S43)リストア処理部140は、リストア要求で指定された論理ボリュームに対応するメタデータ単位のビットマップテーブル112を検索し、指定された世代のファイルを特定する。このとき、リストア処理部140は、ビットマップテーブル112に登録された各メタデータの最新更新世代の情報を用いることができる。例えば、ビットマップテーブル112のある1つのメタデータに着目する。そして、リストア要求で指定された世代が、着目するメタデータの最新更新世代よりも大きい場合、リストア処理部140は、着目するメタデータに対して、最新更新世代のファイルを、リストア対象データとする。一方、リストア要求で指定された世代が、着目するメタデータの最新更新世代以下の場合、例えば、リストア処理部140は、リストア要求で指定された世代から降順に(指定された世代から古い世代へ順に)検索して、更新された世代を特定し、最初に特定した世代でバックアップされた複製ファイルをリストア対象データとする。世代を降順に検索して、更新された世代が特定されない場合は、指定された世代から新しい世代へ昇順に検索して更新された世代を特定し、最初に特定した世代でバックアップされた複製ファイルをリストア対象データとする。なお、着目するメタデータに対して、全世代のビットが“0”である場合、当該メタデータに対応するファイルの更新は発生していないことになるので、当該ファイルについてはリストアしなくてよい。ここで、リストア処理部140は、あるメタデータに対応する世代における複製ファイルの保存場所を、バックアップ管理テーブル113,113a,113bに基づいて特定できる。
(S44)リストア処理部140は、記憶部110に記憶された各世代のバックアップ管理テーブルに基づいて、ステップS43で特定したファイルを、リストア対象のデータとして読み出す。そして、処理をステップS47に進める。
(S45)リストア処理部140は、リストア要求で指定された論理ボリュームに対応するブロック単位のビットマップテーブル111を検索し、指定された世代のブロック毎のデータを特定する。
(S46)リストア処理部140は、ステップS45で特定したデータを、リストア対象のデータとして読み出す。
(S47)リストア処理部140は、ステップS44またはステップS46で読み出したリストア対象のデータの、指定された論理ボリュームへの書き込みをIO制御部120に指示する。IO制御部120は、リストア対象のデータを該当の論理ボリュームに書き込む。こうして、当該論理ボリュームに格納されたデータが、リストア要求により指定された世代の状態に復元される。
このように、ストレージ装置10は、ファイルのメタデータ単位に、当該ファイルの更新の有無を管理することで、ブロック単位に更新の有無を管理するよりも、ビットマップテーブル112のサイズを低減できる。
ここで、ファイル用の共有領域に格納されるファイルをブロックに分割して管理する場合を考える。しかし、この場合、管理対象となるブロック数が多くなると更新を管理するテーブルのサイズが大きくなる。特に、ユニファイド型のストレージ装置10は、ファイルサーバとして利用することも可能であり、業務サーバ30やクライアント装置40などの多数の装置からアクセスされ得る。このため、ストレージ装置10においてバックアップ対象となるブロック範囲や世代数が、ブロックアクセスのみを受け付ける場合よりも増す可能性があり、ビットマップテーブルのサイズの増大が深刻になるおそれがある。
そこで、第2の実施の形態では、メタデータ単位のビットマップテーブル112を用いて、ファイル単位に更新状況を管理する。ファイル単位に更新状況を管理することで、ブロック単位に更新状況を管理する場合に比べて、ビットマップテーブル112のデータサイズを低減できる。また、バックアップの管理用の情報のデータ量を抑制できるので、より多くの世代についてバックアップを管理可能となる。
また、ステップS43で例示したように、ストレージ装置10では、リストア対象ファイルを特定する際、ビットマップテーブル112に登録された最新更新世代の情報を用いる。これにより、ストレージ装置10によるリストア対象ファイルの特定を高速化できる。特に、リストア要求において、ビットマップテーブル112における最新の世代がリストア先世代として指定された場合、全メタデータについて、最新更新世代を基にリストア対象ファイルを特定可能であり、この場合に最も高速化の効果が高まる。
なお、第1の実施の形態の情報処理は、制御部2bとして用いられるプロセッサに、プログラムを実行させることで実現できる。第2の実施の形態の情報処理は、プロセッサ101にプログラムを実行させることで実現できる。ストレージ制御装置2およびCM100,100aは、メモリとプロセッサとを含むコンピュータを備えていると考えることもできる。プログラムは、コンピュータ読み取り可能な記録媒体に記録できる。
例えば、プログラムを記録した記録媒体(例えば、記録媒体11)を配布することで、プログラムを流通させることができる。コンピュータは、他のコンピュータ(例えば、業務サーバ20,30)から、当該プログラムをダウンロードすることもできる。コンピュータは、例えば、ダウンロードしたプログラム、または、記録媒体から読み出したプログラムを、RAM102やNVRAM103などの記憶装置に格納し(インストールし)、当該記憶装置からプログラムを読み込んで実行してもよい。
1 ストレージ装置
2 ストレージ制御装置
2a 記憶部
2b 制御部
3 記憶装置
4 情報処理装置
5 ネットワーク
T1,T2,TN 管理情報

Claims (5)

  1. 記憶装置に記憶されたデータのバックアップを世代管理するストレージ装置であって、
    前記記憶装置に記憶された複数のファイルそれぞれに対応するメタデータに対して各ファイルの更新の有無を示す識別情報が対応付けられた、前記バックアップの世代毎の管理情報を記憶する記憶部と、
    れかのファイルに対する更新の要求を受け付けると、更新前の前記ファイルの複製を保存した後に前記更新を実行し、前記ファイルの前記メタデータに対応付けて前記ファイルに更新があることを、前記記憶部における現世代の前記管理情報に登録する、制御部と、を有し、
    前記制御部は、前記記憶装置の記憶領域がファイルアクセスまたはブロックアクセスの何れに用いられるかに応じて、前記記憶領域に対し、前記メタデータ毎に前記識別情報を対応付けた第1の種類の管理情報を用いるか、または、ブロック毎に前記識別情報を対応付けた第2の種類の管理情報を用いるか、を選択する、
    ストレージ装置。
  2. 前記制御部は、前記バックアップの取得指示を受け付けると、受け付け時に対応する世代の前記管理情報を生成する、請求項1記載のストレージ装置。
  3. 前記制御部は、第1の記憶領域については前記第1の種類の管理情報を用いてデータの更新状況を管理し、第2の記憶領域については前記第2の種類の管理情報を用いてデータの更新状況を管理する、請求項記載のストレージ装置。
  4. 前記制御部は、前記ファイルに更新があることを前記管理情報に登録する際に、前記メタデータに対応付けて現世代を示す更新世代情報も登録し、前記メタデータおよび現世代に対応付けて前記複製の保存先を示す情報を前記記憶部に格納し、前記ファイルを復元する際に、前記更新世代情報に基づいて復元用の前記ファイルを検索する、請求項1乃至の何れか1つに記載のストレージ装置。
  5. 記憶装置に記憶されたデータのバックアップを世代管理するコンピュータに、
    前記記憶装置の記憶領域がファイルアクセスまたはブロックアクセスの何れに用いられるかに応じて、前記記憶領域に対する前記バックアップの世代管理に、前記記憶領域に記憶された複数のファイルそれぞれに対応するメタデータに対して各ファイルの更新の有無を示す識別情報を対応付けた第1の種類の管理情報を用いるか、または、ブロック毎に更新の有無を示す前記識別情報を対応付けた第2の種類の管理情報を用いるか、を選択し、
    前記ファイルアクセスに用いられる前記記憶装置の前記記憶領域に記憶された何れかのファイルに対する更新の要求を受け付けると、更新前の前記ファイルの複製を保存した後に前記更新を実行し、前記バックアップの世代毎の前記第1の種類の管理情報を記憶する記憶部における現世代の前記第1の種類の管理情報に、前記ファイルの前記メタデータに対応付けて前記ファイルに更新があることを、登録する、
    処理を実行させるストレージ制御プログラム。
JP2015187554A 2015-09-25 2015-09-25 ストレージ装置およびストレージ制御プログラム Active JP6604115B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015187554A JP6604115B2 (ja) 2015-09-25 2015-09-25 ストレージ装置およびストレージ制御プログラム
US15/255,450 US10303395B2 (en) 2015-09-25 2016-09-02 Storage apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015187554A JP6604115B2 (ja) 2015-09-25 2015-09-25 ストレージ装置およびストレージ制御プログラム

Publications (2)

Publication Number Publication Date
JP2017062636A JP2017062636A (ja) 2017-03-30
JP6604115B2 true JP6604115B2 (ja) 2019-11-13

Family

ID=58409300

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015187554A Active JP6604115B2 (ja) 2015-09-25 2015-09-25 ストレージ装置およびストレージ制御プログラム

Country Status (2)

Country Link
US (1) US10303395B2 (ja)
JP (1) JP6604115B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109358897A (zh) * 2018-10-18 2019-02-19 Oppo广东移动通信有限公司 结构光文件的更新方法及相关装置
KR102427418B1 (ko) * 2019-09-27 2022-08-01 주식회사 데이타커맨드 백업 데이터 합성 장치 및 방법
KR20210068699A (ko) 2019-12-02 2021-06-10 삼성전자주식회사 스토리지 장치, 스토리지 시스템 및 스토리지 장치의 동작 방법
CN111382011B (zh) * 2020-02-28 2022-11-29 苏州浪潮智能科技有限公司 一种文件数据存取方法、装置和计算机可读存储介质
US11914478B2 (en) 2021-06-09 2024-02-27 EMC IP Holding Company LLC System and method for a specialized backup operation of file based backups based on a target backup storage system
US12007849B2 (en) 2021-09-27 2024-06-11 EMC IP Holding Company LLC System and method for securing instant access of data in file based backups in a backup storage system using metadata files
US11853444B2 (en) 2021-09-27 2023-12-26 EMC IP Holding Company LLC System and method for securing instant access of data in file based backups in a backup storage system using metadata files
US11940883B2 (en) 2022-07-25 2024-03-26 Dell Products L.P. Generating a synthetic full backup
US12026059B2 (en) 2022-07-25 2024-07-02 Dell Products L.P. Method and system for executing a secure data access from a block-based backup
JP7406189B1 (ja) 2023-04-11 2023-12-27 株式会社小林 サーバ装置及びコンピュータプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4078039B2 (ja) 2001-03-21 2008-04-23 株式会社東芝 スナップショットイメージの世代管理方法及び世代管理装置
JP4681247B2 (ja) 2004-04-08 2011-05-11 株式会社日立製作所 ディスクアレイ装置及びディスクアレイ装置の制御方法
JP4704161B2 (ja) 2005-09-13 2011-06-15 株式会社日立製作所 ファイルシステムの構築方法
US7698318B2 (en) * 2006-02-10 2010-04-13 Microsoft Corporation Automatically determining file replication mechanisms
JP5275692B2 (ja) * 2007-10-24 2013-08-28 株式会社日立製作所 ストレージシステム群
JP5028218B2 (ja) * 2007-10-30 2012-09-19 株式会社日立製作所 記憶制御装置、ストレージシステム及び記憶制御装置の制御方法
JP5581776B2 (ja) * 2010-03-31 2014-09-03 富士通株式会社 バックアップ装置,バックアップ方法およびバックアッププログラム
US10089185B2 (en) * 2014-09-16 2018-10-02 Actifio, Inc. Multi-threaded smart copy
US9983936B2 (en) * 2014-11-20 2018-05-29 Commvault Systems, Inc. Virtual machine change block tracking

Also Published As

Publication number Publication date
US20170090770A1 (en) 2017-03-30
US10303395B2 (en) 2019-05-28
JP2017062636A (ja) 2017-03-30

Similar Documents

Publication Publication Date Title
JP6604115B2 (ja) ストレージ装置およびストレージ制御プログラム
US10235066B1 (en) Journal destage relay for online system checkpoint creation
JP4456909B2 (ja) バックアップ方法、ストレージシステム及びそのプログラム
US7836266B2 (en) Managing snapshot history in a data storage system
US9600377B1 (en) Providing data protection using point-in-time images from multiple types of storage devices
JP5706966B2 (ja) 情報処理システム、及び、それを用いたファイル復元方法
US8850145B1 (en) Managing consistency groups in storage systems
US8204858B2 (en) Snapshot reset method and apparatus
US8793451B2 (en) Snapshot content metadata for application consistent backups
US8965850B2 (en) Method of and system for merging, storing and retrieving incremental backup data
US9218138B1 (en) Restoring snapshots to consistency groups of mount points
JP2018028715A (ja) ストレージ制御装置、ストレージシステムおよびストレージ制御プログラム
EP2407884A2 (en) Data duplication operations in storage networks
US9223811B2 (en) Creation and expiration of backup objects in block-level incremental-forever backup systems
US9075755B1 (en) Optimizing data less writes for restore operations
KR100819022B1 (ko) 하나의 타겟 볼륨과 하나의 소스 볼륨 사이의 관계 관리
US9047169B1 (en) Resizing snapshot mount points
US8140886B2 (en) Apparatus, system, and method for virtual storage access method volume data set recovery
US8612495B2 (en) Computer and data management method by the computer
US9063892B1 (en) Managing restore operations using data less writes
US10936243B2 (en) Storage system and data transfer control method
US20060015696A1 (en) Integrated storage device
JP4394467B2 (ja) ストレージシステム、サーバ装置及び先行コピーデータ生成方法
US8447944B2 (en) Information processing device and data shredding method
WO2017122313A1 (ja) オブジェクト履歴として表示される情報をクライアントに提供する計算機システム及び計算機

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180608

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190312

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190426

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20190426

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190426

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190930

R150 Certificate of patent or registration of utility model

Ref document number: 6604115

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150