JP2013228778A - ストレージシステム、バックアップ管理装置、バックアップ方法及びバックアッププログラム - Google Patents

ストレージシステム、バックアップ管理装置、バックアップ方法及びバックアッププログラム Download PDF

Info

Publication number
JP2013228778A
JP2013228778A JP2012098484A JP2012098484A JP2013228778A JP 2013228778 A JP2013228778 A JP 2013228778A JP 2012098484 A JP2012098484 A JP 2012098484A JP 2012098484 A JP2012098484 A JP 2012098484A JP 2013228778 A JP2013228778 A JP 2013228778A
Authority
JP
Japan
Prior art keywords
backup
data
unit
metafile
storage
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
JP2012098484A
Other languages
English (en)
Inventor
Satoru Oda
哲 小田
Daigoro Yokozeki
大子郎 横関
Hiroshi Sakai
博 坂井
Hisanori Matsuzawa
寿典 松沢
Junichi Kikuchi
淳一 菊池
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2012098484A priority Critical patent/JP2013228778A/ja
Publication of JP2013228778A publication Critical patent/JP2013228778A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】バックアップ容量の圧迫を防止するとともに、データのバックアップ及びリストアの時間を短縮すること。
【解決手段】制御装置が、データとデータを特定するためのキー情報との組合せを、上書き及び削除せずに追加のみでストレージ装置に書き込むとともに、ストレージ装置に記憶されているデータに対応するキー情報の一覧を含むメタファイルを記憶する。バックアップ管理装置が、制御装置に記憶されているメタファイルを所定のバックアップ記憶部にバックアップする。
【選択図】図3

Description

本発明の実施形態は、ストレージシステム、バックアップ管理装置、バックアップ方法及びバックアッププログラムに関する。
従来、コンピュータシステムにおいては、各種データを任意の時点における状態に戻すことが可能なように、各種データのバックアップが行われている。バックアップデータを用いれば、例えば、コンピュータウイルスに感染した場合に、感染前のデータに戻したり、誤ってデータを上書きした場合に、上書き前のデータに戻したりすることが可能となる。
バックアップ方式としては、例えば、差分バックアップ、増分バックアップ、世代管理バックアップ等が知られている。差分バックアップは、まずデータ全体をバックアップ(フルバックアップ)し、2回目以降は、フルバックアップデータとの差分データをバックアップする方式である(非特許文献1)。かかる差分バックアップの利点は、フルバックアップデータと差分データが存在すれば、任意の時点における状態までワンホップで遡れるので、リストアの時間が早い点が挙げられる。一方、差分バックアップの欠点は、あらゆる時点で差分データをバックアップしなければ任意の時点における状態まで遡れないので、バックアップ容量を圧迫する点、また、フルバックアップデータからの差分が大きくなればなるほど、差分データの量が増えるので、バックアップに時間を要する点が挙げられる。
増分バックアップは、まずフルバックアップを行い、2回目はフルバックアップデータとの差分データ、3回目は2回目の差分データとの差分データという形で、n回目に(n−1)回目との差分データをバックアップする方式である(非特許文献2)。かかる増分バックアップの利点は、毎回のバックアップが前回との差分データだけであるので、バックアップの時間が早い点が挙げられる。一方、増分バックアップの欠点は、リストアを行う場合に、これまでの全ての差分データを辿らなくてはならないので、リストアに時間を要する点が挙げられる。
世代管理バックアップは、決められた世代分のフルバックアップデータを保持し、古いフルバックアップデータから順次削除する方式である。かかる世代管理バックアップの利点は、バックアップ、リストアともに容易である点、また、リストアの時間が早い点が挙げられる。一方、世代管理バックアップの欠点は、大容量のバックアップ領域が必要なため、世代数を限定することを要する点である。
ところで、コンピュータシステムにおけるデータの保存・管理手法として、KVS(Key Value Store)が知られている。かかるKVSは、所定のデータであるvalueに対して、かかるvalueを特定するためのkeyを割り当て、keyとvalueとの組合せを記憶する方式である。このようなKVSによりデータ管理する場合であっても、上述したようなバックアップが行われる。
"バックアップ for PC"、[online]、[平成24年3月7日検索]、インターネット<http://backup.hikaq.com/yogo/sabun.html> "バックアップ for PC"、[online]、[平成24年3月7日検索]、インターネット<http://backup.hikaq.com/yogo/zobun.html>
上記の通り、データのバックアップに要する時間、データのリストアに要する時間、バックアップに必要なバックアップ容量は、トレードオフの関係にある。すなわち、上述した各バックアップ方式では、バックアップ容量を圧迫することなくデータのバックアップ及びリストアの時間を短縮することが困難である。
本願の開示する技術は、上記に鑑みてなされたものであって、バックアップ容量の圧迫を防止するとともに、データのバックアップ及びリストアの時間を短縮することができるストレージシステム、バックアップ管理装置、バックアップ方法及びバックアッププログラムを提供することを目的とする。
実施形態に係るストレージシステムは、ストレージ装置と、制御装置と、バックアップ管理装置とを含むストレージシステムであって、前記制御装置は、データと当該データを特定するためのキー情報との組合せを、上書き及び削除せずに追加のみで前記ストレージ装置に書き込むデータ書込部と、前記ストレージ装置に記憶されているデータに対応するキー情報の一覧を含むメタファイルを記憶するメタファイル記憶部とを備え、前記バックアップ管理装置は、バックアップ要求を受け付ける受付部と、前記受付部によってバックアップ要求が受け付けられた場合に、前記メタファイル記憶部に記憶されているメタファイルを所定のバックアップ記憶部にバックアップするバックアップ部とを備えることを特徴とする。
実施形態に係るストレージシステム、バックアップ管理装置、バックアップ方法及びバックアッププログラムは、バックアップ容量の圧迫を防止するとともに、データのバックアップ及びリストアの時間を短縮することができるという効果を奏する。
図1は、第1の実施形態に係るストレージシステムの構成例を示す図である。 図2は、第1の実施形態に係るストレージ装置群及び制御装置が保持する情報を模式的に示す図である。 図3は、第1の実施形態に係る制御装置及びバックアップ管理装置の構成例を示す図である。 図4は、第1の実施形態に係る制御装置内のフォルダ構成例を示す図である。 図5は、第1の実施形態に係るメタファイルの一例を示す図である。 図6は、第1の実施形態に係るデータ読込部によるデータ読込処理の一例を示す図である。 図7は、第1の実施形態に係るデータ読込部によるデータ読込処理の一例を示す図である。 図8は、第1の実施形態に係るデータ書込部によるデータ書込処理の一例を示す図である。 図9は、第1の実施形態に係るデータ書込部によるデータ書込処理の一例を示す図である。 図10は、第1の実施形態に係るバックアップリスト記憶部の一例を示す図である。 図11は、第1の実施形態に係るバックアップ管理装置によるバックアップ処理手順を示すフローチャートである。 図12は、第1の実施形態に係るバックアップ管理装置によるリストア処理手順を示すフローチャートである。 図13は、バックアッププログラムを実行するコンピュータを示す図である。
以下に、本願に係るストレージシステム、バックアップ管理装置、バックアップ方法及びバックアッププログラムの実施形態を図面に基づいて詳細に説明する。なお、この実施形態により本願に係るストレージシステム、バックアップ管理装置、バックアップ方法及びバックアッププログラムが限定されるものではない。
(第1の実施形態)
[ストレージシステムの構成]
まず、図1を用いて、第1の実施形態に係るストレージシステムについて説明する。図1は、第1の実施形態に係るストレージシステムの構成例を示す図である。図1に示した例では、ストレージシステム1には、ストレージ装置群10と、ユーザ側装置20と、制御装置100と、バックアップ管理装置200とが含まれる。なお、図1では、1台のユーザ側装置20が含まれる例を示したが、複数台のユーザ側装置20が含まれてもよい。
ストレージ装置群10は、各種データを記憶する複数のストレージ装置10〜10を含む。かかるストレージ装置10〜10は、データ管理方式としてKVSが採用されており、keyとvalueとの組合せを記憶する。なお、図1に示した例では、5台のストレージ装置10〜10を示したが、ストレージ装置群10には、4台以下のストレージ装置が含まれてもよいし、6台以上のストレージ装置が含まれてもよい。
ユーザ側装置20は、ユーザによって利用されるPC(Personal Computer)やサーバ装置等の情報処理装置である。かかるユーザ側装置20は、ストレージ装置群10を記憶領域として利用する各種アプリケーションが搭載される。すなわち、ユーザ側装置20は、制御装置100を介して、ストレージ装置群10に各種データを格納したり、ストレージ装置群10に記憶されている各種データを読み出したりする。
制御装置100は、ストレージ装置群10とユーザ側装置20との間におけるデータのリードライト等を制御する。具体的には、制御装置100は、ユーザ側装置20からデータの書込要求(ライト要求)を受け付けた場合に、かかるデータを予め決められたビット長(例えば、256KB)のvalue(「チャンク」等とも呼ばれる)に分割する。そして、制御装置100は、各valueについてhash(value)を計算することにより、各valueに対応するkey(ハッシュ値)を生成し、key及びvalueの組合せをストレージ装置群10に書き込む。なお、hashは、衝突困難性を有するハッシュ関数であり、例えば、SHA256等である。
また、制御装置100は、ストレージ装置群10に書き込んだデータの属性情報等が記述されたメタファイルを記憶する。具体的には、制御装置100は、ストレージ装置群10に書き込まれたkeyが記述されたメタファイルを記憶する。
また、制御装置100は、ユーザ側装置20からデータの読込要求(リード要求)を受け付けた場合に、メタファイルに記述されているkeyを参照して、読込対象のkeyに対応するvalueをストレージ装置群10から読み込み、読み込んだvalueを結合してユーザ側装置20に送信する。
なお、第1の実施形態に係る制御装置100は、ストレージ装置群10に記憶されるvalueによって形成される所定のファイル(例えば、テキストファイル、表計算ファイル、ワープロ文書ファイル、画像ファイルなど)毎に、かかる所定のファイルに対応するメタファイルを記憶する。すなわち、制御装置100は、ユーザ側装置20によって指定され得るファイル毎に、メタファイルを記憶する。例えば、ファイル「A.txt」(実際には、ビット列のデータ)が3個のvalueに分割されてストレージ装置群10に記憶されている場合、制御装置100は、ファイル「A.txt」に対応する1個のメタファイルを記憶する。そして、かかるメタファイルには、「A.txt」が分割された3個のvalueに対応する3個のkeyが記述されることとなる。
以下では、ストレージ装置群10に記憶されているvalueによって形成されるファイルであって、制御装置100に記憶されるメタファイルに対応するファイルを「メタ対応ファイル」と表記する場合がある。
ここで、上述した制御装置100は、ストレージ装置群10にデータを書き込む場合に、ストレージ装置群10に記憶されているkeyとvalueとの組合せを上書き及び削除せずに、追加のみでkeyとvalueとの組合せを格納する。また、制御装置100は、自装置(制御装置100)内で保持するメタファイルについては最新の情報に更新する。
この点について図2を用いて具体的に説明する。図2は、第1の実施形態に係るストレージ装置群10及び制御装置100が保持する情報を模式的に示す図である。図2の上段に示すように、ストレージ装置群10が、key「k1」及びvalue「v1」の組合せと、key「k2」及びvalue「v2」の組合せと、key「k3」及びvalue「v3」の組合せとを記憶しているものとする。かかるvalue「v1」〜「v3」は、ファイルA(例えば、テキストファイル)を形成するものとする。このとき、制御装置100が、ファイルAに対応するメタファイルとして、key「k1」、「k2」及び「k3」が記述されたメタファイルM1を記憶しているものとする。
このような状況において、例えば、ユーザ側装置20が、制御装置100を介して、ファイルAを形成するvalue「v1」〜「v3」のうち、value「v1」をvalue「v4」に更新する処理を行ったものとする。かかる場合に、制御装置100は、value「v4」に対応するkey「k4」を生成する。そして、制御装置100は、図2の下段に示すように、ストレージ装置群10に記憶されているkey「k1」とvalue「v1」との組合せを更新せずに、key「k4」とvalue「v4」との組合せを新たにストレージ装置群10に格納する。そして、制御装置100は、自装置(制御装置100)内で保持するメタファイルM1については、key「k1」をkey「k4」に更新する。
図1に戻って、バックアップ管理装置200は、所定のタイミングとなった場合に、制御装置100に記憶されているメタファイルをバックアップする。例えば、バックアップ管理装置200は、システム管理者によってバックアップする旨の操作が行われた場合に、メタファイルをバックアップする。
また、バックアップ管理装置200は、システム管理者によってリストアする旨の操作が行われた場合に、バックアップしたメタファイルのうち、システム管理者によって指定されたメタファイルを制御装置100にリストアする。
ここで、図2を用いて、バックアップ管理装置200によるバックアップ処理の一例について説明する。例えば、バックアップ管理装置200は、図2の上段に示した状態においてバックアップのタイミングとなった場合、制御装置100に記憶されているメタファイルM1(key「k1」〜「k3」が記述されている)をバックアップする。
そして、バックアップ管理装置200は、図2の下段に示した状態となった後に、図2の上段に示した状態に戻すために、メタファイルM1をリストアするように指示された場合、バックアップしたメタファイルM1を制御装置100にリストアする。この場合、制御装置100には、key「k1」〜「k3」が記述されているメタファイルM1が記憶される。ただし、ストレージ装置群10には、key「k1」〜「k4」及びvalue「v1」〜「v4」が記憶されたままの状態となる。すなわち、制御装置100は、ファイルAに対応するメタファイルとして、key「k1」〜「k3」が記述されたメタファイルM1を記憶するので、ユーザ側装置20からファイルAの読込要求を受け付けた場合には、key「k1」〜「k3」に対応するvalue「v1」〜「v3」により形成されるファイルAをユーザ側装置20に応答することとなる。
このように、第1の実施形態に係るバックアップ管理装置200は、制御装置100に記憶されているメタファイルを世代管理バックアップするだけで、ユーザ側装置20が参照可能なデータを任意の時点における状態に戻すことができる。また、バックアップ管理装置200は、ストレージ装置群10に記憶されているデータ自体(value)をバックアップするのではなく、key等が記述された容量の小さいメタファイルをバックアップするだけなので、バックアップ領域が圧迫されることを防止することができ、さらに、バックアップ処理の高速化及び負荷低減を図ることができる。また、バックアップ管理装置200は、リストア時には、容量の小さいメタファイルを制御装置100にコピーするだけなので、リストア処理の高速化及び負荷低減を図ることができる。以上のように、第1の実施形態に係るバックアップ管理装置200は、バックアップ容量の圧迫を防止するとともに、データのバックアップ及びリストアの時間を短縮することができる。
[制御装置100の構成]
次に、図1に示した制御装置100及びバックアップ管理装置200の構成について説明する。図3は、第1の実施形態に係る制御装置100及びバックアップ管理装置200の構成例を示す図である。
図3に示すように、制御装置100は、メタファイル記憶部110と、マウント部121と、参照部122と、キャッシュメモリ123と、データ読込部124と、データ書込部125とを有する。
メタファイル記憶部110は、ストレージ装置群10に記憶されている各種データに対応するメタファイルを記憶する。なお、メタファイル記憶部110は、ハードディスク等によって実現される記憶領域であり、フォルダ(ディレクトリ等とも呼ばれる)により構成されるファイルシステムによって管理される。そして、メタファイル記憶部110は、かかるファイルシステムによって管理されるフォルダのうち、所定のフォルダ配下にメタファイルを記憶する。以下では、メタファイルが記憶されるフォルダを「ソースフォルダ」と表記する場合がある。
マウント部121は、メタファイルが記憶されるソースフォルダを他のフォルダ(以下、「ルートフォルダ」と表記する)に割り当てる。
ここで、図4を用いて、マウント部121による処理について説明する。図4は、第1の実施形態に係る制御装置100内のフォルダ構成例を示す図である。図4の<実体>に示したフォルダ構成は、メタファイルが実際に記憶されるメタファイル記憶部110のフォルダ構成を示す。
具体的には、図4の<実体>において、ソースフォルダは、「C:¥test¥folder」に該当する。また、図4の<実体>では、ソースフォルダ配下のフォルダF10にメタファイルM11及びM12が記憶されており、フォルダF20にメタファイルM21及びM22が記憶されており、ソースフォルダの直下にメタファイルM10が記憶されている例を示している。
また、図4の<仮想ファイルシステム>は、マウント部121によって、ソースフォルダ「C:¥test¥folder」がルートフォルダ「V:¥」に割り当てられた例を示している。
ここで、第1の実施形態では、各メタファイルのファイル名は、かかるメタファイルに対応するメタ対応ファイルのファイル名と同一であるものとする。例えば、メタ対応ファイル「A.txt」のvalueがストレージ装置群10に記憶されている場合、制御装置100は、メタ対応ファイル「A.txt」に対応する1個のメタファイル「A.txt」を記憶する。なお、図4に示した例では、メタファイルに付した参照符号がメタファイルのファイル名であるものとする。例えば、メタファイルM11のファイル名は「M11」である。
そして、制御装置100は、ユーザ側装置20に対しては、図4の<仮想ファイルシステム>に示したフォルダ構成を提供する。すなわち、ユーザ側装置20のユーザは、「V:¥F10」配下に、ファイル名が「M11」であるファイルと、ファイル名が「M12」であるファイルとが記憶されており、「V:¥F20」配下に、ファイル名が「M21」であるファイルと、ファイル名が「M22」であるファイルとが記憶されていると認識することとなる。
なお、図4では、ソースフォルダが「C:¥test¥folder」である例を示したが、ストレージ装置群10が複数のユーザによって利用される場合等では、ユーザ毎にソースフォルダが存在してもよい。かかる場合には、ソースフォルダは、例えば、「C:¥test¥(ユーザID)」等が該当する。
続いて、第1の実施形態に係るメタファイルについて説明する。第1の実施形態に係るメタファイルは、少なくとも以下の(1)〜(7)に示す情報を含む。
(1)ソースフォルダからの相対位置(相対ファイルパス)
(2)ファイル名
(3)メタファイルに対応するメタ対応ファイルのファイルサイズ
(4)keyのリスト
(5)メタ対応ファイルの作成日時
(6)メタ対応ファイルの更新日時
(7)メタ対応ファイルへのアクセス日時
上記(1)、(2)、(5)〜(7)は、メタファイル自体の属性情報に該当する。このうち、(5)〜(7)は、メタファイル自体の属性情報であるが、メタ対応ファイルの属性情報にも該当する。具体的には、第1の実施形態において、メタ対応ファイルが作成、更新、アクセス(参照)された場合には、かかるメタ対応ファイルに対応するメタファイルも作成、更新、アクセス(参照)される。すなわち、メタファイルの作成日時、更新日時、アクセス日時は、メタ対応ファイルの作成日時、更新日時、アクセス日時を示すこととなる。
また、上記(3)及び(4)は、メタファイルに記述される。この点について図5を用いて説明する。図5は、第1の実施形態に係るメタファイルの一例を示す図である。図5では、図4に示したメタファイルM11を例に挙げて説明する。
図5に示したメタファイルM11のうち、1行目L11には、上記(1)ファイルサイズが記述される。かかるファイルサイズは、メタファイルM11のファイルサイズではなく、メタファイルM11に対応するメタ対応ファイルのサイズを示す。また、メタファイルM11のうち、2行目以降のL12〜L15には、メタ対応ファイルを形成するvalueのkeyが記述される。すなわち、図5にメタファイルM11に対応するメタ対応ファイルは、4個のvalueに分割されており、メタファイルM11には、かかる4個のvalueに対応する4個のkeyが記述される。
図3に戻って、参照部122は、ユーザ側装置20によってルートフォルダ配下のフォルダにアクセスされた場合に、かかるフォルダ内に存在するメタファイルの一覧をユーザ側装置20に応答する。
具体的には、参照部122は、ユーザ側装置20から、ルートフォルダ配下のフォルダを特定するためのフォルダパス(例えば、絶対パス)とともに、ファイル一覧の参照要求を受け付ける。かかる場合に、参照部122は、ユーザ側装置20から受け付けたフォルダパス(例えば、絶対パス)のうち、ルートフォルダを起点とした場合における相対パスを取得する。そして、参照部122は、ソースフォルダを起点とし、かかる相対パスによって示されるフォルダが存在するか否かを判定する。そして、参照部122は、フォルダが存在しない場合には、存在しない旨をユーザ側装置20に応答する。一方、参照部122は、フォルダが存在する場合には、かかるフォルダ配下に存在するメタファイルの一覧を取得し、取得した一覧をユーザ側装置20に応答する。
図4に示した例を用いて説明する。例えば、参照部122は、フォルダパス「V:¥F10」とともに参照要求を受け付けたものとする。かかる場合に、参照部122は、フォルダパス「V:¥F10」から、ルートフォルダ「V:¥」からの相対パス「F10」を取得する。そして、参照部122は、ソースフォルダ「C:¥test¥folder」を起点とした場合に相対パス「F10」によって示される「C:¥test¥folder¥F10」が存在するか否かを判定する。図4に示した例では、「C:¥test¥folder¥F10」が存在するので、参照部122は、F10の配下に存在するメタファイルの一覧「M11」及び「M12」をユーザ側装置20に応答する。
また、参照部122は、ユーザ側装置20からメタ対応ファイルの属性情報参照要求を受信した場合には、メタファイル記憶部110に記憶されているメタファイルに関する各種情報をユーザ側装置20に応答する。
具体的には、参照部122は、ユーザ側装置20から、ルートフォルダ配下のファイルを特定するためのファイルパス(例えば、絶対パス)とともに、属性情報参照要求を受け付ける。かかる場合に、参照部122は、ユーザ側装置20から受け付けたファイルパス(例えば、絶対パス)のうち、ルートフォルダを起点とした場合における相対パスを取得する。そして、参照部122は、ソースフォルダを起点とし、かかる相対パスによって示されるメタファイルを特定する。そして、参照部122は、特定したメタファイルのファイル名、ファイルサイズ、作成日時、更新日時、アクセス日時等をユーザ側装置20に応答する。なお、参照部122は、ファイルサイズについては、特定したメタファイルに記述されているファイルサイズの情報をメタ対応ファイルのファイルサイズとして応答する。
図4に示した例を用いて説明する。例えば、参照部122は、フォルダパス「V:¥F10¥M11」とともに属性情報参照要求を受け付けたものとする。かかる場合に、参照部122は、ファイルパス「V:¥F10¥M11」から、ルートフォルダ「V:¥」からの相対パス「F10¥M11」を取得する。そして、参照部122は、ソースフォルダ「C:¥test¥folder」からの相対パス「F10¥M11」、すなわち、「C:¥test¥folder¥F10¥M11」を特定する。そして、参照部122は、メタファイルM11から取得できるファイル名、ファイルサイズ、作成日時、更新日時、アクセス日時等をユーザ側装置20に応答する。
なお、上記の通り、メタファイルの各種属性情報(ファイル名、作成日時、更新日時及びアクセス日時等)は、メタ対応ファイルの属性情報を示し、メタファイルに記述されているファイルサイズは、メタ対応ファイルのファイルサイズを示す。したがって、ユーザ側装置20は、参照部122から、メタファイルの各種属性情報を受信することにより、メタ対応ファイルの属性情報を取得することができる。
また、参照部122は、ユーザ側装置20から、フォルダパスとともにフォルダの作成要求を受け付けた場合には、指定されたフォルダをソースフォルダに作成し、フォルダパスとともにフォルダの削除要求を受け付けた場合には、指定されたフォルダをソースフォルダから削除する。
図3に戻って、キャッシュメモリ123は、後述するデータ読込部124及びデータ書込部125によって、keyとvalueとの組合せが格納される。キャッシュメモリ123については、データ読込部124及びデータ書込部125とともに説明する。
データ読込部124は、ユーザ側装置20からデータのリード要求を受け付けた場合に、ストレージ装置群10やキャッシュメモリ123からデータ(value)を取得し、取得したデータをユーザ側装置20に応答する。
具体的には、データ読込部124は、リード要求とともに、ルートフォルダ配下のファイルを特定するための「ファイルパス」と、「読み出し開始位置」と、「最大読み出しサイズ」をユーザ側装置20から受け付ける。
かかる場合に、データ読込部124は、ユーザ側装置20から受け付けたファイルパスのうちルートフォルダからの相対パスを取得し、かかる相対パスによって示されるソースフォルダ配下のメタファイルを特定する。
そして、データ読込部124は、特定したメタファイルを開く処理(ファイルオープン)を行う。このとき、データ読込部124は、相対パスによって示されるメタファイルが存在しない場合には、ユーザ側装置20から受け付けたファイルパスによって示されるファイル(すなわち、メタ対応ファイル)が存在しない旨をユーザ側装置20に応答する。
一方、データ読込部124は、相対パスによって示されるメタファイルが存在する場合には、かかるメタファイルを開く。そして、データ読込部124は、予め決められているvalueのサイズ(データの分割サイズ)と、ユーザ側装置20から受け付けた「読み出し開始位置」及び「最大読み出しサイズ」とを用いて、特定したメタファイルに記述されているkeyのリストのうち、参照対象のkeyを特定する。
このとき、データ読込部124は、参照対象のkeyがキャッシュメモリ123に記憶されている場合には、かかるkeyに対応するvalueをキャッシュメモリ123から取得する。一方、データ読込部124は、参照対象のkeyがキャッシュメモリ123に記憶されていない場合には、かかるkeyに対応するvalueをストレージ装置群10から取得する。
なお、後述するデータ書込部125は、keyとストレージ装置10〜10とを対応付ける対応表やアルゴリズムを用いることにより、key及びvalueの組合せの格納先となるストレージ装置10〜10のいずれかを特定する。そして、データ読込部124は、データ書込部125と同様に、上記の対応表やアルゴリズムを用いることにより、key及びvalueの組合せが記憶されているストレージ装置10〜10のいずれかを特定し、特定したストレージ装置10〜10のいずれかから、keyに対応するvalueをストレージ装置群10から取得する。
そして、データ読込部124は、ストレージ装置群10又はキャッシュメモリ123から取得したvalueを結合することにより、ユーザ側装置20により指定されたリード対象のデータを生成し、生成したデータをユーザ側装置20に応答する。
ここで、図6及び図7を用いて、データ読込部124によるデータ読込処理について説明する。図6及び図7は、第1の実施形態に係るデータ読込部124によるデータ読込処理の一例を示す図である。
図6に示した例において、実データとは、ストレージ装置群10に記憶されているデータを示す。データ読込部124は、ユーザ側装置20からリード要求とともに受け付けた「ファイルパス」から、リード対象のデータに関するkeyが記述されているメタファイルを特定する。そして、データ読込部124は、かかる「ファイルパス」が示すメタ対応ファイルの実データのうち「読み出し開始位置」から「最大読み出しサイズ」までの範囲に対応するkeyを、前述において特定したメタファイルから読み出す。図6に示した例では、データ読込部124は、メタファイルからkey「k12」、「k13」及び「k14」を読み出す。
続いて、データ読込部124は、key「k12」、「k13」及び「k14」がキャッシュメモリ123に記憶されているか否かを判定する。図6の例では、key「k12」、「k13」及び「k14」のいずれもキャッシュメモリ123に記憶されていないものとする。かかる場合に、データ読込部124は、key「k12」に対応するvalue「v12」と、key「k13」に対応するvalue「v13」と、key「k14」に対応するvalue「v14」とをストレージ装置群10から読み出す。
そして、データ読込部124は、value「v12」〜「v14」のうち、ユーザ側装置20によって指定された「読み出し開始位置」から「最大読み出しサイズ」までの範囲に対応する実データを抽出し、抽出した実データを結合する。そして、データ読込部124は、結合した実データをユーザ側装置20に応答する。
一方、図7に示した例のように、key「k12」、「k13」及び「k14」がキャッシュメモリ123に記憶されているものとする。かかる場合に、データ読込部124は、キャッシュメモリ123に記憶されているkey「k12」〜「k14」に対応するvalue「v12」〜「v14」のうち、「読み出し開始位置」から「最大読み出しサイズ」までの範囲に対応する実データを読み出し、読み出した実データを結合する。そして、データ読込部124は、結合した実データをユーザ側装置20に応答する。
図3に戻って、データ書込部125は、ユーザ側装置20からデータのライト要求を受け付けた場合に、受け付けたデータをvalueに分割し、分割したvalueをストレージ装置群10に書き込む。
具体的には、データ書込部125、ライト要求とともに、ルートフォルダ配下のファイルを特定するための「ファイルパス」と、「書き込み開始位置」と、「書き込みデータ」とをユーザ側装置20から受け付ける。
かかる場合に、データ書込部125は、ユーザ側装置20から受け付けたファイルパスのうちルートフォルダからの相対パスを取得し、かかる相対パスによって示されるソースフォルダ配下のメタファイルを特定する。
そして、データ書込部125は、特定したメタファイルを開く。そして、データ書込部125は、予め決められているvalueのサイズ(データの分割サイズ)と、ユーザ側装置20から受け付けた「書き込み開始位置」及び「書き込みデータのサイズ」とを用いて、特定したメタファイルに記述されているkeyのリストのうち、書き換え対象のkeyを特定する。
このとき、データ書込部125は、書き換え対象のkeyがキャッシュメモリ123に記憶されている場合には、かかるkeyに対応するvalueをキャッシュメモリ123から取得する。一方、データ書込部125は、書き換え対象のkeyがキャッシュメモリ123に記憶されていない場合には、かかるkeyに対応するvalueをストレージ装置群10から取得する。
また、データ書込部125は、書き換え対象のkeyがキャッシュメモリ123に記憶されている場合には、かかるkeyに対応するキャッシュメモリ123内のvalueのうち、「書き込み開始位置」により特定される位置のデータを「書き込みデータ」に書き換える。
また、データ書込部125は、ストレージ装置群10又はキャッシュメモリ123から取得したvalueを、ユーザ側装置20から受け付けた「書き込みデータ」に書き換える。そして、データ書込部125は、書き換え後のvalueに対して、key=hash(value)を計算することにより、書き換え後のvalueに対応する新たなkeyを算出する。
そして、データ書込部125は、書き換え対象のkeyがキャッシュメモリ123に記憶されている場合には、キャッシュメモリ123に記憶されている書き換え対象のkeyを、新たなkeyに更新する。一方、データ書込部125は、書き換え対象のkeyがキャッシュメモリ123に記憶されていない場合には、新たなkeyと書き換え後のvalueとの組合せをキャッシュメモリ123に格納する。
また、データ書込部125は、新たなkeyと書き換え後のvalueとの組合せをストレージ装置群10に格納する。このとき、データ書込部125は、上記の通り、keyとストレージ装置10〜10とを対応付ける対応表やアルゴリズムを用いて、新たなkeyと書き換え後のvalueとの組合せの格納先となるストレージ装置10〜10のいずれかを特定する。例えば、データ書込部125は、上記の対応表を参照することにより、keyのハッシュ値(例えば、先頭1ビット目の値)に対応するストレージ装置を格納先として特定する。
そして、データ書込部125は、格納先のストレージ装置に、新たなkeyが既に記憶されているか否かを判定する。このとき、データ書込部125は、新たなkeyが既に記憶されている場合には、新たなkeyと書き換え後のvalueとの組合せを格納先のストレージ装置に格納しない。一方、データ書込部125は、新たなkeyが格納先のストレージ装置に記憶されていない場合には、新たなkeyと書き換え後のvalueとの組合せを格納先のストレージ装置に格納する。
このように、第1の実施形態に係るデータ書込部125は、同一のkeyとvalueとの組合せを重複してストレージ装置群10に格納しない。これにより、データ書込部125は、ストレージ装置群10の記憶容量を効率的に利用することができる。
なお、データ書込部125は、ソースフォルダ配下のメタファイルを開く処理を行う際に、かかるメタファイルが存在しなければ、「ファイルパス」に含まれるファイル名のメタファイルを新規に作成する。この例は、ストレージ装置群10に記憶されていないメタ対応ファイルが新たにストレージ装置群10に書き込まれることを示す。この場合、データ書込部125は、ユーザ側装置20から受け付けた「書き込みデータ」を分割してvalueを生成するとともに、各valueに対応するkeyを算出する。そして、データ書込部125は、keyとvalueとの組合せをストレージ装置群10に格納するとともに、キャッシュメモリ123に格納する。
ここで、図8及び図9を用いて、データ書込部125によるデータ書込処理について説明する。図8及び図9は、第1の実施形態に係るデータ書込部125によるデータ書込処理の一例を示す図である。なお、図8及び図9では、ストレージ装置群10に既に記憶されているデータ(value)を更新する例について説明する。
図8に示した例において、データ書込部125は、ユーザ側装置20からライト要求とともに受け付けた「ファイルパス」から、メタファイルを特定する。そして、データ書込部125は、かかる「ファイルパス」が示すメタ対応ファイルの実データのうち、「書き込み開始位置」から「書き込みデータのサイズ」までの範囲に対応するkeyを、前述において特定したメタファイルから読み出す。図8に示した例では、データ書込部125は、メタファイルからkey「k12」、「k13」及び「k14」を読み出す。
続いて、データ書込部125は、key「k12」、「k13」及び「k14」がキャッシュメモリ123に記憶されているか否かを判定する。図8の例では、key「k12」、「k13」及び「k14」のいずれもキャッシュメモリ123に記憶されていないものとする。かかる場合に、データ書込部125は、key「k12」に対応するvalue「v12」と、key「k13」に対応するvalue「v13」と、key「k14」に対応するvalue「v14」とをストレージ装置群10から読み出す。
そして、データ書込部125は、図8の下段に示すように、ストレージ装置群10から取得したvalue「v12」〜「k14」のうち、「書き込み開始位置」により特定される位置のデータを「書き込みデータ」に書き換える。これにより、データ書込部125は、新たなvalue「v22」〜「v24」を生成する。そして、データ書込部125は、新たなvalue「v22」〜「v24」に対応するkey「k22」〜「k24」を算出し、key「k22」とvalue「v22」との組合せと、key「k23」とvalue「v23」との組合せと、key「k24」とvalue「v24」との組合せとをストレージ装置群10に新たに格納する。
また、図8では図示することを省略したが、データ書込部125は、key「k22」〜「k24」とvalue「v22」〜「v24」との組合せをキャッシュメモリ123に格納する。
一方、図9に示した例のように、key「k12」、「k13」及び「k14」がキャッシュメモリ123に記憶されているものとする。かかる場合に、データ書込部125は、キャッシュメモリ123に記憶されているkey「k12」〜「k14」に対応するvalue「v12」〜「v14」のうち、「書き込み開始位置」により特定される位置のデータを「書き込みデータ」に書き換える。これにより、データ書込部125は、図9の上段に示すように、キャッシュメモリ123に記憶されていたvalue「v12」〜「v14」をvalue「v22」〜「v24」に更新する。
また、データ書込部125は、value「v22」〜「v24」に対応するkey「k22」〜「k24」を算出する。そして、データ書込部125は、図9の下段に示すように、キャッシュメモリ123に記憶されていたkey「k12」〜「k14」をkey「k22」〜「k24」に更新する。
また、データ書込部125は、図8に示した例と同様に、key「k22」とvalue「v22」との組合せと、key「k23」とvalue「v23」との組合せと、key「k24」とvalue「v24」との組合せとをストレージ装置群10に新たに格納する。
なお、上述した参照部122、データ読込部124及びデータ書込部125は、ファイルを扱う処理部として、ファイルを開いた後には、ファイルを閉じる処理(ファイルクローズ)も行う。このとき、参照部122、データ読込部124及びデータ書込部125は、メタファイルを閉じるたびに、かかるメタファイルに記述されているkeyと、かかるkeyに対応するvalueとをキャッシュメモリ123に格納してもよい。
[バックアップ管理装置200の構成]
次に、図3に示したバックアップ管理装置200について説明する。図3に示すように、バックアップ管理装置200は、バックアップ記憶部211と、バックアップリスト記憶部212と、バックアップ制御部220と、リストア制御部230とを有する。
バックアップ記憶部211は、バックアップ用の記憶領域であり、メタファイル記憶部110に記憶されている各メタファイルを記憶する。例えば、バックアップ記憶部211は、図4<実体>に示したソースフォルダ全体を記憶したり、かかるソースフォルダ配下のフォルダ(例えば、「C:¥test¥folder¥F10」)を記憶したりする。また、バックアップ記憶部211は、メタファイルの世代管理バックアップが可能なように、所定のフォルダ配下に、バックアップ用のメタファイルを記憶する。
バックアップリスト記憶部212は、バックアップ記憶部211に記憶されているバックアップ用のメタファイル(ソースフォルダ等)を特定するための各種情報を記憶する。ここで、図10に、第1の実施形態に係るバックアップリスト記憶部212の一例を示す。
図10に示した例では、バックアップリスト記憶部212は、「バックアップID」と「ソースフォルダ名」といった項目を有する。「バックアップID」は、システム管理者によって指定される情報である。「ソースフォルダ名」は、バックアップ用のメタファイル群が記憶されているバックアップ記憶部211内のフォルダ名を示す。
例えば、図10の例では、メタファイル記憶部110に記憶されていた初期状態のメタファイル群(例えば、ソースフォルダ)が、バックアップ記憶部211内のフォルダ名「0001」配下に記憶されていることを示す。また、図10の例では、バックアップID「20110312」がシステム管理者によって指定された際にバックアップしたメタファイル群が、バックアップ記憶部211内のフォルダ名「0002」配下に記憶されていることを示す。
図3に戻って、バックアップ制御部220は、制御装置100のメタファイル記憶部110に記憶されているメタファイル群をバックアップするバックアップ処理を行う。かかるバックアップ制御部220は、受付部221と、バックアップ部222とを有する。
受付部221は、図示しない入力部(キーボード、マウス等)を介して、システム管理者から、バックアップIDとともにバックアップ要求を受け付ける。かかる場合に、受付部221は、所定のアルゴリズム(ハッシュ関数等)を用いて、バックアップIDを変換することにより「ソースフォルダ名」を生成する。そして、受付部221は、バックアップIDとソースフォルダ名とを対応付けて、バックアップリスト記憶部212に格納する。
バックアップ部222は、受付部221によって生成されたソースフォルダ名のバックアップフォルダをバックアップ記憶部211に作成する。そして、バックアップ部222は、バックアップ記憶部211に作成したバックアップフォルダに、制御装置100のメタファイル記憶部110に記憶されているソースフォルダをコピーする。例えば、バックアップ部222は、図4<実体>に例示したようなソースフォルダ「C:¥test¥folder」全体をバックアップフォルダにコピーする。
なお、制御装置100が有するディスク全体(例えば、「C:¥」等)をバックアップ対象とする場合には、バックアップ部222は、バックアップ元のディスクと異なるディスク(例えば、「D:¥」等)にバックアップすることが望ましい。また、上記例のように、所定のフォルダ配下(例えば、「C:¥test¥folder」等)をバックアップ対象とする場合には、バックアップ部222は、バックアップ元と同一のディスクであっても異なるフォルダ(例えば、「C:¥test¥0001」等)にバックアップすることができる。
リストア制御部230は、バックアップ記憶部211に記憶されているバックアップ用のメタファイル記憶部110にリストアするリストア処理を行う。かかるリストア制御部230は、受付部231と、リストア部232とを有する。
受付部231は、図示しない入力部を介して、システム管理者から、バックアップIDとともにリストア要求を受け付ける。かかる場合に、受付部231は、バックアップIDに対応する「ソースフォルダ名」をバックアップリスト記憶部212から取得する。
リストア部232は、受付部231によってバックアップリスト記憶部212から取得されたソースフォルダ名が示すバックアップ記憶部211のバックアップフォルダから、バックアップ用のメタファイル群(例えば、ソースフォルダ)を取得する。そして、リストア部232は、バックアップフォルダから取得したメタファイル群を、制御装置100のメタファイル記憶部110にコピーする。
[バックアップ処理手順]
次に、図11を用いて、第1の実施形態に係るバックアップ管理装置200によるバックアップ処理の手順について説明する。図11は、第1の実施形態に係るバックアップ管理装置200によるバックアップ処理手順を示すフローチャートである。
図11に示すように、バックアップ管理装置200の受付部221は、バックアップ要求を受け付けたか否かを判定する(ステップS101)。例えば、受付部221は、システム管理者からバックアップIDとともにバックアップ要求を受け付けたか否かを判定する。
そして、受付部221は、バックアップ要求を受け付けた場合に(ステップS101肯定)、システム管理者から受け付けたバックアップIDを用いて、ソースフォルダ名を生成する(ステップS102)。続いて、受付部221は、バックアップIDとソースフォルダ名とを対応付けて、バックアップリスト記憶部212に格納する(ステップS103)。
続いて、バックアップ部222は、受付部221によって生成されたソースフォルダ名のバックアップフォルダをバックアップ記憶部211に作成する(ステップS104)。続いて、バックアップ部222は、かかるバックアップフォルダに、制御装置100のメタファイル記憶部110に記憶されているソースフォルダをコピーする(ステップS105)。
[リストア処理手順]
次に、図12を用いて、第1の実施形態に係るバックアップ管理装置200によるリストア処理の手順について説明する。図12は、第1の実施形態に係るバックアップ管理装置200によるリストア処理手順を示すフローチャートである。
図12に示すように、バックアップ管理装置200の受付部231は、リストア要求を受け付けたか否か判定する(ステップS201)。例えば、受付部231は、システム管理者からバックアップIDとともにリストア要求を受け付けたか否かを判定する。
そして、受付部231は、リストア要求を受け付けた場合に(ステップS201肯定)、システム管理者から受け付けたバックアップIDに対応する「ソースフォルダ名」をバックアップリスト記憶部212から取得する(ステップS202)。
続いて、リストア部232は、受付部231によって取得されたソースフォルダ名が示すバックアップ記憶部211のバックアップフォルダから、バックアップされたソースフォルダを取得する(ステップS203)。そして、リストア部232は、バックアップフォルダから取得したソースフォルダを、制御装置100のメタファイル記憶部110にコピーする(ステップS204)。
[第1の実施形態の効果]
上述してきたように、第1の実施形態に係るストレージシステム1において、制御装置100は、keyとvalueとの組合せを上書き及び削除せずに追加のみでストレージ装置群10に書き込み、かかるストレージ装置群10に記憶されているデータに対応するkeyの一覧を含むメタファイルを記憶する。また、バックアップ管理装置200は、バックアップ要求を受け付けた場合に、制御装置100に記憶されているメタファイルをバックアップする。
これにより、第1の実施形態に係るストレージシステム1によれば、バックアップ管理装置200は、制御装置100に記憶されているメタファイルを世代管理バックアップするだけなので、バックアップ領域が圧迫されることを防止することができ、さらに、バックアップ処理の高速化及び負荷低減を図ることができる。また、バックアップ管理装置200は、リストア時には、容量の小さいメタファイルを制御装置100にコピーするだけなので、リストア処理の高速化及び負荷低減を図ることができる。
また、第1の実施形態に係るストレージシステム1において、制御装置100のメタファイル記憶部110は、データにより形成されるメタ対応ファイル毎に生成されるメタファイルであって、最後に更新されたメタ対応ファイルを形成するデータに対応するkeyが記述されたメタファイルのみをメタ対応ファイル毎に記憶する。そして、制御装置100は、メタファイルに記述されているkeyに基づいて、ストレージ装置群10等からメタ対応ファイルをユーザ側装置20に送信したりする。
これにより、第1の実施形態に係るストレージシステム1によれば、バックアップ管理装置200は、制御装置100に記憶されているメタファイルを世代管理バックアップするだけで、ユーザ側装置20が参照可能なデータを任意の時点における状態に戻すことができる。
また、第1の実施形態に係るストレージシステム1において、制御装置100は、データを所定サイズのデータ長に分割したvalue毎にkeyを生成し、生成したkeyがストレージ装置群10に記憶されていない場合に、かかるkeyとvalueとの組合せをストレージ装置群10に格納する。
これにより、第1の実施形態に係るストレージシステム1によれば、ストレージ装置群10における記憶容量についても効率的に利用することができる。
(第2の実施形態)
上述したストレージシステム1は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、第2の実施形態では、上記のストレージシステム1の他の実施形態について説明する。
[システム構成]
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、上記実施形態では、バックアップ制御部220が、システム管理者からバックアップ要求を受け付けた場合に、バックアップ処理を行う例を示した。しかし、バックアップ制御部220は、予め決められた日時に、予め決められたメタファイルが記憶されているフォルダ(例えば、ソースフォルダ)をバックアップしてもよい。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図3に示した受付部221と受付部231とは統合されてもよい。
また、例えば、図1では、ストレージシステム1に、ストレージ装置群10と、制御装置100と、バックアップ管理装置200とが別装置として含まれる例を示した。しかし、制御装置100とバックアップ管理装置200とは統合された1個の装置であってもよい。また、ストレージ装置群10と制御装置100とは統合された1個の装置であってもよい。また、ストレージ装置群10と制御装置100とバックアップ管理装置200とは統合された1個の装置であってもよい。
[プログラム]
また、上記実施形態において説明した制御装置100やバックアップ管理装置200が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。例えば、制御装置100が実行する処理をコンピュータが実行可能な言語で記述した制御プログラムを作成することもできる。また、例えば、バックアップ管理装置200が実行する処理をコンピュータが実行可能な言語で記述したバックアッププログラムを作成することもできる。この場合、コンピュータが制御プログラムやバックアッププログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかる制御プログラムやバックアッププログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録された制御プログラムやバックアッププログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。以下に、一例として、図3に示したバックアップ管理装置200と同様の機能を実現するバックアッププログラムを実行するコンピュータの一例を説明する。
図13は、バックアッププログラムを実行するコンピュータ1000を示す図である。図13に例示するように、コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有し、これらの各部はバス1080によって接続される。
メモリ1010は、図13に例示するように、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、図13に例示するように、ハードディスクドライブ1031に接続される。ディスクドライブインタフェース1040は、図13に例示するように、ディスクドライブ1041に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブに挿入される。シリアルポートインタフェース1050は、図13に例示するように、例えばマウス1051、キーボード1052に接続される。ビデオアダプタ1060は、図13に例示するように、例えばディスプレイ1061に接続される。
ここで、図13に例示するように、ハードディスクドライブ1031は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、上記のバックアッププログラムは、コンピュータ1000によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ1031に記憶される。例えば、図3に例示した受付部221と同様の情報処理を実行する受付手順と、バックアップ部222と同様の情報処理を実行するバックアップ手順と、受付部231と同様の情報処理を実行する受付手順と、リストア部232と同様の情報処理を実行するリストア手順とが記述されたプログラムモジュール1093が、ハードディスクドライブ1031に記憶される。
また、上記実施形態で説明したバックアップ記憶部211やバックアップリスト記憶部212が保持する各種データは、プログラムデータとして、例えばメモリ1010やハードディスクドライブ1031に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1031に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出し、受付手順、バックアップ手順、リストア手順を実行する。
なお、バックアッププログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1031に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してCPU1020によって読み出されてもよい。あるいは、バックアッププログラムに係るプログラムモジュール1093やプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
1 ストレージシステム
10 ストレージ装置群
100 制御装置
110 メタファイル記憶部
123 キャッシュメモリ
124 データ読込部
125 データ書込部
200 バックアップ管理装置
211 バックアップ記憶部
212 バックアップリスト記憶部
221 受付部
222 バックアップ部
231 受付部
232 リストア部

Claims (7)

  1. ストレージ装置と、制御装置と、バックアップ管理装置とを含むストレージシステムであって、
    前記制御装置は、
    データと当該データを特定するためのキー情報との組合せを、上書き及び削除せずに追加のみで前記ストレージ装置に書き込むデータ書込部と、
    前記ストレージ装置に記憶されているデータに対応するキー情報の一覧を含むメタファイルを記憶するメタファイル記憶部とを備え、
    前記バックアップ管理装置は、
    バックアップ要求を受け付ける受付部と、
    前記受付部によってバックアップ要求が受け付けられた場合に、前記メタファイル記憶部に記憶されているメタファイルを所定のバックアップ記憶部にバックアップするバックアップ部と
    を備えたことを特徴とするストレージシステム。
  2. 前記メタファイル記憶部は、
    前記データにより形成されるファイル毎に生成されるメタファイルであって、最後に更新されたファイルを形成するデータに対応するキー情報が記述されたメタファイルを前記ファイル毎に記憶する
    ことを特徴とする請求項1に記載のストレージシステム。
  3. 前記データ書込部は、
    前記データを所定サイズのデータ長に分割した分割データ毎に当該分割データに対応するキー情報を生成し、生成したキー情報が前記ストレージ装置に記憶されていない場合に、当該分割データと当該キー情報との組合せを前記ストレージ装置に書き込む、
    ことを特徴とする請求項1又は2に記載のストレージシステム。
  4. 前記バックアップ管理装置は、
    前記受付部によってリストア要求が受け付けられた場合に、前記バックアップ記憶部に記憶されているメタファイルを前記メタファイル記憶部にリストアするリストア部
    をさらに備えたことを特徴とする請求項1〜3のいずれか一つに記載のストレージシステム。
  5. データと当該データを特定するためのキー情報との組合せを、上書き及び削除せずに追加のみでストレージ装置に書き込むとともに、前記ストレージ装置に記憶されているデータに対応するキー情報の一覧を含むメタファイルを記憶する制御装置に対するバックアップ要求を受け付ける受付部と、
    前記受付部によってバックアップ要求が受け付けられた場合に、前記制御装置に記憶されているメタファイルを所定のバックアップ記憶部にバックアップするバックアップ部と
    を備えたことを特徴とするバックアップ管理装置。
  6. バックアップ管理装置が実行するバックアップ方法であって、
    データと当該データを特定するためのキー情報との組合せを、上書き及び削除せずに追加のみでストレージ装置に書き込むとともに、前記ストレージ装置に記憶されているデータに対応するキー情報の一覧を含むメタファイルを記憶する制御装置に対するバックアップ要求を受け付ける受付工程と、
    前記受付工程においてバックアップ要求が受け付けられた場合に、前記制御装置に記憶されているメタファイルを所定のバックアップ記憶部にバックアップするバックアップ工程と
    を含んだことを特徴とするバックアップ方法。
  7. データと当該データを特定するためのキー情報との組合せを、上書き及び削除せずに追加のみでストレージ装置に書き込むとともに、前記ストレージ装置に記憶されているデータに対応するキー情報の一覧を含むメタファイルを記憶する制御装置に対するバックアップ要求を受け付ける受付手順と、
    前記受付手順においてバックアップ要求が受け付けられた場合に、前記制御装置に記憶されているメタファイルを所定のバックアップ記憶部にバックアップするバックアップ手順と
    をコンピュータに実行させることを特徴とするバックアッププログラム。
JP2012098484A 2012-04-24 2012-04-24 ストレージシステム、バックアップ管理装置、バックアップ方法及びバックアッププログラム Pending JP2013228778A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012098484A JP2013228778A (ja) 2012-04-24 2012-04-24 ストレージシステム、バックアップ管理装置、バックアップ方法及びバックアッププログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012098484A JP2013228778A (ja) 2012-04-24 2012-04-24 ストレージシステム、バックアップ管理装置、バックアップ方法及びバックアッププログラム

Publications (1)

Publication Number Publication Date
JP2013228778A true JP2013228778A (ja) 2013-11-07

Family

ID=49676372

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012098484A Pending JP2013228778A (ja) 2012-04-24 2012-04-24 ストレージシステム、バックアップ管理装置、バックアップ方法及びバックアッププログラム

Country Status (1)

Country Link
JP (1) JP2013228778A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019061574A (ja) * 2017-09-27 2019-04-18 東芝情報システム株式会社 ファイル管理システム及びファイル管理用プログラム
CN110188256A (zh) * 2018-02-23 2019-08-30 三星电子株式会社 存储设备中的分布式查找方法和采用该方法的系统
KR102719064B1 (ko) * 2018-02-23 2024-10-17 삼성전자주식회사 스토리지 장치에서 분산 룩업 방법 및 그것을 적용하는 시스템

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019061574A (ja) * 2017-09-27 2019-04-18 東芝情報システム株式会社 ファイル管理システム及びファイル管理用プログラム
CN110188256A (zh) * 2018-02-23 2019-08-30 三星电子株式会社 存储设备中的分布式查找方法和采用该方法的系统
KR102719064B1 (ko) * 2018-02-23 2024-10-17 삼성전자주식회사 스토리지 장치에서 분산 룩업 방법 및 그것을 적용하는 시스템

Similar Documents

Publication Publication Date Title
US8392386B2 (en) Tracking file contents
US10452484B2 (en) Systems and methods for time-based folder restore
JP6309103B2 (ja) スナップショットおよびクローンの複製
US8135677B2 (en) File management system and method
US9928210B1 (en) Constrained backup image defragmentation optimization within deduplication system
US10303363B2 (en) System and method for data storage using log-structured merge trees
AU2013210018B2 (en) Location independent files
JP5466459B2 (ja) 階層ストレージ管理(hsm)制御ストレージ環境で双方向オーファン照合を行う方法、システムおよぶコンピュータ・プログラム
JP5650982B2 (ja) ファイルの重複を排除する装置及び方法
US8095678B2 (en) Data processing
KR20080097196A (ko) Fat 볼륨 상의 개별적인 파일들은 압축하고, 그 외의 파일들은 비압축 상태로 유지하기 위한 컴퓨터 구현 방법, 시스템 및 컴퓨터 판독 가능 매체
CN105474200A (zh) 具有占位符的水合和脱水
US11762738B2 (en) Reducing bandwidth during synthetic restores from a deduplication file system
US9223811B2 (en) Creation and expiration of backup objects in block-level incremental-forever backup systems
US8090925B2 (en) Storing data streams in memory based on upper and lower stream size thresholds
JP4755244B2 (ja) 情報生成方法、情報生成プログラム及び情報生成装置
US8176087B2 (en) Data processing
EP2669806A1 (en) Storage system
US20200333970A1 (en) Data de-duplication
JP2013228778A (ja) ストレージシステム、バックアップ管理装置、バックアップ方法及びバックアッププログラム
US20230006814A1 (en) Method and apparatus for implementing changes to a file system that is emulated with an object storage system
JP5494817B2 (ja) ストレージシステム、データ管理装置、方法及びプログラム
US8886656B2 (en) Data processing
US11385826B2 (en) Method, electronic device and computer program product for restoring orphan block via replication
JP2013127748A (ja) 情報処理装置、データ記憶方法及びプログラム