JP2006338461A - 電子的なファイルの記憶を制御するシステム及び方法 - Google Patents
電子的なファイルの記憶を制御するシステム及び方法 Download PDFInfo
- Publication number
- JP2006338461A JP2006338461A JP2005163801A JP2005163801A JP2006338461A JP 2006338461 A JP2006338461 A JP 2006338461A JP 2005163801 A JP2005163801 A JP 2005163801A JP 2005163801 A JP2005163801 A JP 2005163801A JP 2006338461 A JP2006338461 A JP 2006338461A
- Authority
- JP
- Japan
- Prior art keywords
- file
- files
- duplicate
- storage
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 73
- 238000012545 processing Methods 0.000 claims description 48
- 230000008569 process Effects 0.000 claims description 44
- 238000004590 computer program Methods 0.000 claims description 6
- 238000007616 round robin method Methods 0.000 abstract 1
- 238000007726 management method Methods 0.000 description 53
- 230000010365 information processing Effects 0.000 description 48
- 238000012546 transfer Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000013479 data entry Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
Abstract
【課題】 ファイルが消失してしまう危険性を抑える。
【解決手段】 記憶制御システムは、複数の記憶領域のうちの少なくとも一つの記憶領域に記憶される互いに重複した重複ファイルを検索する重複検索手段と、検索された重複ファイルのうちの少なくとも一方の重複部分のデータを、その重複部分のデータが記憶されている記憶領域以上の信頼性を有する記憶領域に記憶する記憶制御手段とを備える。複数の記憶領域には多数のファイルが記憶されており、重複検索手段は、記憶されているファイルの数よりも少ない数のファイルの中から重複ファイルを検索する。
【選択図】図1
【解決手段】 記憶制御システムは、複数の記憶領域のうちの少なくとも一つの記憶領域に記憶される互いに重複した重複ファイルを検索する重複検索手段と、検索された重複ファイルのうちの少なくとも一方の重複部分のデータを、その重複部分のデータが記憶されている記憶領域以上の信頼性を有する記憶領域に記憶する記憶制御手段とを備える。複数の記憶領域には多数のファイルが記憶されており、重複検索手段は、記憶されているファイルの数よりも少ない数のファイルの中から重複ファイルを検索する。
【選択図】図1
Description
本発明は、電子的なファイルの記憶を制御するための技術に関する。
例えば、現在の情報化社会に於いて、ストレージ内の日々増大していくファイルは、ストレージを利用する人間(例えば、情報処理装置のユーザ或いはストレージ管理者)の悩みの種であると考えられる。それらのファイルの中には、必ずしも必要でないファイル(例えば、過去のファイルのバックアップ、或いは、無造作に複製されたまま放置されているファイル)が少なくないであろう。これらの不要なファイルを削除して空きの記憶容量を増やすために、電子的なファイルの記憶を制御するための技術として、例えば、特許文献1に開示の技術が知られている。この技術では、例えば、記憶媒体に記憶された第一と第二のファイルの一致度が獲得され、その獲得された一致度から、第一と第二のファイルが類似しているか否かが判定され、その結果、類似していると判定された場合に、第一と第二のファイルのうちの一方を上記記憶媒体から削除される。
上述の特許文献1では、第一と第二のファイルが類似していると判定された場合に、第一と第二のファイルうちの一方が削除される。これにより、消費される記憶容量が節約される。しかし、特許文献1では、第一と第二のファイルのうちのどちらを残すことにするかの基準は特に無い。このため、残されたファイルが消失してしまう危険性を抑えることができていない。
また、上述の特許文献1では、全てのファイルを総当たり方式で比較することにより、類似の判定が行われる。しかし、これでは、例えば多数のファイルが記憶されている場合には、それら多数のファイルの全てが検索範囲となるので、互いに類似したファイルを見つけるまでに長い時間を要すると考えられる。
従って、本発明の目的は、ファイルが消失してしまう危険性を抑えられるようにすることにある。
本発明の別の目的は、完全に又は一部が重複したファイルの検出にかかる時間を少なくとも総当たり方式で検出するのにかかる時間よりも短くできるようにすることにある。
本発明の他の目的は、後に説明から明らかになるであろう。
本発明の第一の側面に従う記憶制御システムは、複数の記憶領域のうちの少なくとも一つの記憶領域に記憶される互いに重複した重複ファイルを検索する重複検索手段と、前記検索された重複ファイルのうちの少なくとも一方の重複部分のデータを、その重複部分のデータが記憶されている記憶領域以上の信頼性を有する記憶領域に記憶する記憶制御手段とを備える。
一つの実施態様では、前記複数の記憶領域には多数のファイルが記憶されている。前記重複検索手段は、前記記憶されているファイルの数よりも少ない数のファイルの中から前記重複ファイルを検索することができる。ここで、「多数」とは、「複数」よりも多いことを意味することができる。
一つの実施態様では、記憶制御システムは、少なくとも一つの記憶領域からファイルを読み出す手段と、ファイルが読み出される都度に、読み出されたファイルをマークし、且つ、マークされたファイルの数を、前記記憶されているファイルの数よりも少ない数に制御するファイルマーク手段とを備えることができる。前記重複検索手段は、マークされている複数のファイルの中から、或るファイルと重複するファイルを検索することができる。
一つの実施態様では、前記重複検索手段は、前記マークされている複数のファイルのうち、マークされた時点が現在に近いファイルから順に、前記或るファイルと重複するか否かを判断することができる。
一つの実施態様では、前記重複検索手段は、前記マークされている複数のファイルから前記重複したファイルが見つからない場合には、前記或るファイルのファイル名の全部又は一部及び/又はファイルサイズが一致する一以上のファイルの中から、前記或るファイルと重複したファイルを検索することができる。
一つの実施態様では、複数の記憶領域の各々の信頼性に関する信頼性情報を記憶することができる信頼性記憶域が更に備えられてもよい。前記記憶制御手段は、二つのファイルが互いに完全に重複する場合には、前記信頼性情報に基づいて、どちらのファイルがより信頼性の高い記憶領域に存在するかを判断し、信頼性が低い記憶領域に存在する方のファイルの場所を開放し、信頼性の高い記憶領域に入っている方のファイルを残すことができる。
一つの実施態様では、複数の記憶領域の各々の信頼性に関する信頼性情報を記憶することができる信頼性記憶域が更に備えられてもよい。前記記憶制御手段は、更新前後のファイルが互いに部分的に重複する場合には、前記信頼性情報に基づいて、更新後のファイルを、更新前のファイルが記憶されている記憶領域以上の信頼性を有する記憶領域に記憶させ、更新前後のファイルの差分ファイルを生成し、前記生成された差分ファイルを、少なくとも一つの記憶領域に記憶させ、前記更新前ファイルのうちの少なくとも重複部分のデータが存在する場所を開放することができる。ここでの差分ファイルは、例えば、後述する新差分ファイルとすることができる。
一つの実施態様では、前記検索された重複ファイルに関する情報を所定のログファイルに書き込むログファイル更新手段が更に備えられてもよい。前記重複検索手段は、前記ログファイルに記録されている情報に基づいて、前記重複ファイルを検索することができる。
一つの実施態様では、前記記憶制御システムは、別の記憶制御システムと通信可能に接続されていてもよい。前記記憶制御手段は、前記複数の記憶領域のプライマリの記憶領域に存在する全てのファイルを、前記別の記憶制御システムに転送することにより、前記別の記憶制御システムがアクセス可能なセカンダリの記憶領域に、前記全てのファイルをコピーし、その後、前記プライマリの記憶領域の或るファイルが更新された場合、少なくとも更新後ファイルのファイルメタデータを前記別の記憶制御システムに転送することができる。
具体的には、例えば、前記記憶制御システムの記憶制御手段は、更新後ファイルそれ自体とファイルメタデータとを、別の記憶制御システムに転送しても良い。この場合、別の記憶制御システムの記憶制御手段が、更新後ファイル及びファイルメタデータを受信し、受信したファイルメタデータに従って、受信した更新後ファイルを、前記セカンダリの記憶領域に書き込むことができる。
また、例えば、前記記憶制御システムの別の記憶制御手段は、更新後ファイルと更新前ファイルとに基づいて、更新前ファイルをベースに更新後ファイルを生成するための後述の旧差分ファイルを生成し、更に、旧差分ファイルを、前記別の記憶制御システムに転送しても良い。この場合、前記別の記憶制御手段は、旧差分ファイルを受信し、受信した旧差分ファイルと、前記セカンダリの記憶領域に存在する更新前ファイルとに基づいて、更新後ファイルを生成し、生成した更新後ファイルを、受信したファイルメタデータに従って、前記セカンダリの記憶領域に格納しても良い。
一つの実施態様では、前記記憶制御システムは、少なくとも一つの記憶領域に記憶されているファイルを取得しバックアップ用記憶領域にバックアップするバックアップ装置と通信可能に接続されていてもよい。前記記憶制御システムは、前記バックアップ装置に対して、前記検索された重複ファイルを隠蔽する手段を更に備えても良い。
一つの実施態様では、前記記憶制御手段は、前記複数の記憶領域に記憶されている多数のファイルにそれぞれ対応した多数のファイルメタデータが記録されたメタデータ集合ファイルを生成し、前記生成したメタデータ集合ファイルを少なくとも一つの記憶領域に記憶させ、前記記憶させたメタデータ集合ファイルを前記バックアップ装置に送信し、それにより、バックアップ装置において、前記メタデータ集合ファイルに記録されているファイルメタデータに基づく復元を可能にすることができる。
一つの実施態様では、前記記憶制御手段は、前記複数の記憶領域のうちの少なくとも一つの物理イメージの物理イメージファイルを作成し、前記作成した物理イメージファイルを前記バックアップ装置に送信することができる。
一つの実施態様では、前記記憶制御手段は、前記検索された重複ファイルのうちの少なくとも一方の重複部分のデータを、その重複部分のデータが記憶されている記憶領域以上の信頼性を有する記憶領域にバックアップすることができる。
一つの実施態様では、前記記憶制御手段は、前記バックアップの後、バックアップ元のファイルが更新された場合には、バックアップ先にその更新結果を反映することができる。
一つの実施態様では、記憶制御システムは、重複したファイルの数の閾値を記憶する閾値記憶域と、前記検索された重複ファイルの数が前記閾値以上になった場合には、不要な重複ファイルの削除をユーザに促す手段とを備えることができる。
本発明の第二の側面に従う記憶制御システムは、複数の記憶領域に記憶されているファイルの数よりも少ない数のファイルの中から、互いに重複した重複ファイルを検索する重複検索手段と、前記検索された重複ファイルに対する所定の処理を行う制御手段と
を備える。
を備える。
上述した各手段は、ハードウェア、コンピュータプログラム又はそれらの組み合せ等の要素により実現することができる。コンピュータプログラムは、通信ネットワークを介してダウンロードされても良いし、CD-ROM或いはDVD(Digital Versatile Disk)等の記憶媒体から読出されても良い。また、各手段が実行する処理は、一つの要素によって行われても良いし複数の要素によって行われても良い。
本発明の第三の側面に従う記憶制御システムは、少なくとも一つの記憶域(例えばメモリ)と、少なくとも一つプロセッサとを備える。前記少なくとも一つのプロセッサが、多数のファイルが記憶されている複数の記憶デバイスのうちの少なくとも一つの記憶デバイスからファイルを読み出し、ファイルが読み出される都度に、読み出されたファイルを前記記憶域上にマークし、且つ、マークされたファイルの数を、前記複数の記憶デバイスに記憶されているファイルの数よりも少ない数に制御し、マークされている複数のファイルの中から、或るファイルと重複するファイルを検索し、前記検索された重複ファイルのうちの少なくとも一方の重複部分のデータを、その重複部分のデータが記憶されている記憶デバイス以上の信頼性を有する記憶デバイスに記憶させる。
プロセッサは、例えば、コンピュータプログラムを読み込んで実行するマイクロプロセッサであっても良い。
記憶デバイスは、物理的な記憶デバイス(例えばハードディスク)であっても良いし、論理的な記憶デバイス(例えば、論理ユニット或いは論理ボリューム)であっても良い。
本発明の第一の側面に従う記憶制御システムによれば、ファイルが消失してしまう危険性を抑えることができる。
本発明の第二の側面に従う記憶制御システムによれば、完全に又は一部が重複したファイルの検出にかかる時間を少なくとも総当たり方式で検出するのにかかる時間よりも短くすることができる。
以下、図面を参照して、本発明の幾つかの実施例について説明する。
図1及び図2は、本発明の第一実施例に係る記憶制御システムが適用されたNASコントローラを有する情報処理システムを示す。図1と図2とを繋げることにより、一つの情報処理システムが示される。以下の説明では、同種の構成要素のどれでも良い場合には親番号のみを用いて説明し、同種の構成要素を区別する場合には親番号に枝符号を付して説明することがある。また、図では枝符号が付いていても、説明を分かりやすくするために、枝符号を用いないで説明することもある。
図1に示すように、LAN(Local Area Network)3(WAN(World Area Network)等の他の通信ネットワークであっても良い)に、複数台(一台でも良い)の情報処理装置1と、NAS(Network Attached Storage)コントローラ5とが接続されている。
各情報処理装置1は、例えば、CPU、メモリ及び表示装置等のハードウェア資源を備えたコンピュータ装置(例えばパーソナルコンピュータ)である。情報処理装置1は、NASコントローラ5に対して、読出し対象データの読出し命令や、書込み命令及び書き込み対象データを送信することができる(以下、読出し命令及び書込み命令を「アクセス要求」と総称する場合がある)。各情報処理装置1は、ファイルレベルのアクセス要求を送信することができる。
NASコントローラ5に記憶装置システム2が所定の通信インターフェースを介して通信可能に接続されている。NASコントローラ5は、例えば、一又は複数の回路基板により構成することができる。NASコントローラ5は、例えば、CPU11と、LAN3に接続される二つのLAN I/F制御部(例えばLANインターフェース装置)13,13と、ファイバチャネル(FC)を介して記憶装置システム2に接続される二つのFC I/F制御部(例えばFCインターフェース装置)15,15とを備えている(LAN I/F制御部13及びFC I/F制御部15は、二つより多くても少なくても良い)。また、NASコントローラ5は、例えば、各LAN I/F制御部13、CPU11、メモリ7及び各FC I/F制御部15間のデータ転送を制御するデータコントローラ14と、種々の情報を記憶することができるメモリ7とを備えている。CPU11は、例えば、情報処理装置1から受信されたファイルレベルのアクセス要求を、ブロックレベルのアクセス要求に変換し、そのブロックレベルのアクセス要求を記憶装置システム2に送信することができる。メモリ7は、例えば、NASコントローラ5の動作を制御するための制御情報を記憶するための制御領域と、情報処理装置1と後述の論理ボリューム52,54との間でやり取りされるデータを一時的に記憶するためのキャッシュ領域とを有することができる。メモリ7の制御領域は、例えば、後に詳述する記憶管理テーブル51、信頼性比較テーブル55及びファイル比較テーブル53を記憶することができる。
記憶装置システム2は、例えば、直列に接続された複数台の筐体を備える。複数台の筐体には、例えば、基本筐体21と、一台以上の増設筐体23、23、…とが含まれている。直列に接続された一台以上の増設筐体23、23、…の端に位置する増設筐体が、基本筐体21に直接接続され、他の増設筐体は、一以上の増設筐体を介して基本筐体21に通信可能に接続されている。以下、説明を分かりやすくするために、増設筐体23の数は二台とする(なお、基本筐体の数又は増設筐体の数は、図1及び図2の例に限定されない)。
基本筐体21には、例えば、二重化されたディスクコントローラ23,23が備えられる。各ディスクコントローラ23は、NASコントローラ5からブロックレベルのアクセス要求を受信し、そのアクセス要求に応じて、後述の論理ユニット48,50に対するデータの入出力を制御することができる。各ディスクコントローラ23には、例えば、CPU25、メモリ27、データコントローラ29、チャネル制御部37、ディスク制御部31、キャッシュメモリ35、及び共用メモリ33が設けられている。
キャッシュメモリ35には、チャネル制御部37とディスク制御部31との間で送受信されるデータ(換言すれば、情報処理装置1と後述の論理ユニット48,50との間でやり取りされるデータ)が一時的に記憶される。
メモリ27には、例えば、LUNとHDD番号との対応関係を表すテーブル等の制御情報が記録されている。
チャネル制御部37は、NASコントローラ5との間でデータや制御信号を送受信することができる。ディスク制御部31は、例えば、ファイバチャネルプロトコルに従って、HDD45,50との間でやり取りするためのデータや制御信号を送受信することができる。
データコントローラ29は、他のデータコントローラ29に通信可能に接続されており、これにより、他のデータコントローラ10との間でデータをやり取りすることができる。データコントローラ29は、CPU25、チャネル制御部37、ディスク制御部31、キャッシュメモリ35及び共用メモリ33の間でのデータの転送を制御することができる。
CPU25は、種々の情報処理を実行することができる。例えば、NASコントローラ5からブロックレベルの読出し命令が受信された場合、CPU25は、メモリ27に記憶されている制御情報を参照し、その読出し命令中で指定されているボリュームIDに対応する論理ボリューム52,54に書き込まれている読出し対象データを読み出すための要求を生成し、その要求を、ディスク制御部31を介して送信することができる。それにより、CPU25は、キャッシュメモリ35に読出し対象データを読み出し、その後、その読出し対象データをキャッシュメモリ35から読み出してNASコントローラ5に送信することができる。また、例えば、NASコントローラ5からブロックレベルの書込み命令と書き込み対象データとが受信された場合、書込み対象データはキャッシュメモリ35に一時格納され、CPU25は、メモリ27に記憶されている制御情報を参照し、その書込み命令に基づいて、その書込み命令で指定されているボリュームIDに対応した論理ボリューム52,54に書き込み対象データを書き込むための要求を生成し、その要求を、ディスク制御部31を介して送信することができる。それにより、CPU25は、キャッシュメモリ35に格納された書込み対象データを、その書込み命令で指定されているボリュームIDに対応した論理ボリューム52,54に書き込むことができる。
図2に示すように、増設筐体23A、23Bの各々には、同じ装置が搭載されても良いし異なる装置が搭載されても良い。この実施例では、基本筐体21に近い側の増設筐体(この実施例では23A)には、二重化されたバックエンドスイッチ装置(以下、バックエンドSW)41,41と、両方のバックエンドSW41,41に接続された複数の物理記憶装置45,45,…が備えられる。基本筐体21から遠い側の増設筐体(この実施例では23B)には、二重化されたバックエンドSW47,47と、両方のバックエンドSW47,47に接続された複数の物理記憶装置46,46,…が備えられる。例えば、複数の物理記憶装置45,45、…のうちの少なくとも二以上や、複数の物理記憶装置46,46、…のうちの少なくとも二以上を、例えば、RAID(Redundant Arrays of Inexpensive Disks)の方式に従う一つのグループとすることができる。
増設筐体23Aの各バックエンドSW41は、各ディスクコントローラ23の各ディスク制御部31と、他の増設筐体23BのバックエンドSW47とに接続されている。これにより、ディスクコントローラ23は、バックエンドSW41、47を介して、増設筐体23Aより遠い位置にある増設筐体23B内の物理記憶装置46にアクセスすることができる。
各バックエンドSW41、47には、I/F−プロトコル変換部43,49が備えられている。このI/F−プロトコル変換部43,49により、ディスクコントローラ23からのブロックレベルのアクセス要求が、物理記憶装置45,46に適した形式のアクセス要求に変換されて、物理記憶装置45,46に対するデータの書き込みや読出しが可能になる。
増設筐体23A内の物理記憶装置45は、例えば、オンラインで読み書きするデータの記憶に利用される。また、増設筐体23B内の物理記憶装置46は、例えば、ニアライン(例えば夜間でのバッチ処理)で読み書きするデータの記憶に利用される。物理憶装置45,46は、本実施例では、ハードディスクドライブ(以下、HDD)であるが、それに限らず、例えば、光ディスク、磁気テープ或いは半導体メモリ等を搭載することができる他種のドライブ装置としてもよい。また、基本筐体21に近い側の増設筐体に備えられる物理記憶装置45の信頼性(又は性能)は、基本筐体21から遠い側の増設筐体に備えられる物理記憶装置46の信頼性(又は性能)よりも高いものとすることができる。具体的には、例えば、物理記憶装置45は、FC インターフェース(以下、I/F)のHDD(以下、FC HDD))とすることができる。一方、物理記憶装置46は、SAS(Serial Attached SCSI) I/FのHDD(以下、SAS HDD)とすることができる。複数の物理記憶装置46の全てがSAS HDDであっても良いし、それに代えてSATA(Serial ATA) I/FのHDDであってもよいし、SAS HDDとSATA HDDとが混在していてもよい。
複数のFC HDD45も複数のSAS HDD46も、例えばアレイ状に配列されている。複数のFC HDD45の少なくとも一つには、一又は複数の論理ユニット(以下、LUと記載することがある)を設定することができる。同様に、複数のSAS HDD46の少なくとも一つにも、一又は複数のLUを設定することができる(以下、FC HDD45上のLUの参照番号を「48」とし、SAS HDD46上のLUの参照番号を「50」とする)。各LU48,50によって提供される論理的な記憶領域は、更に複数のサブ領域52,54に区分することができる。その区分されたサブ領域を、この実施例では「論理ボリューム」と呼ぶ。
以上が、この第一実施例における情報処理システムの概要である。次に、NASコントローラ5のメモリ7に記憶される各種テーブル51,55及び53について説明する。なお、以下の説明では、ファイルとそれに対応するファイルメタデータとの両方を削除することを「ファイル全体を削除する」と言い、ファイルを削除するがファイルメタデータを残しておく場合には「ファイルが存在する記憶領域を開放する」と言うようにする。また、以下の説明では、全てのデータ又は一部のデータが互いに重複するファイルを「重複ファイル」と言うことにし、互いの重複部分に相当するデータを「重複データ」と言うことにする。従って、例えば、第一のファイルと第二のファイルの全て又は一部が互いに重複している場合には、第一のファイルも第二のファイルも、「重複データ」を有した「重複ファイル」である。以下、単に「重複ファイル」というときには、重複データを有する双方のファイルを表し、いずれか一方のファイルを指すときには、例えば「一方の重複ファイル」、「他方の重複ファイル」のように、きちんと区別できる表現を用いるようにする。
図3Aは、記憶管理テーブル51の構成例を示す。
記憶管理テーブル51は、一種のファイルメタデータ群である。記憶管理テーブル51には、記憶装置システム2の物理記憶装置45又は46に格納された各ファイル毎に、そのファイルに関する種々の情報を含んだレコード(ファイルメタデータ)が存在する。一つのファイル(以下、便宜上これを「ファイルZ」と言う)に関する種々の情報としては、例えば、ボリュームID、パス名、ファイル名、データ長、属性情報及び参照位置情報とがある。ボリュームIDは、ファイルZが格納されている論理ボリュームの識別子である。パス名は、ファイルZへのアクセスパスを表す名前である。ファイル名は、ファイルZの名称である。データ長は、ファイルZのデータ長である。属性情報は、ファイルZに関する属性を表す情報であり、例えば、更新日時等である。参照位置情報は、ファイルZに対応する一以上のブロックデータの在り処を示す情報(換言すればいわゆるポインタ)であり、例えば、物理装置ID、LUN、先頭LBA、使用データ長及びリンク用テーブルを含んでいる。物理装置IDは、一以上のブロックデータを記憶するLUを備えた増設筐体の識別子である。LUNは、一以上のブロックデータを記憶するLUの番号である。先頭LBAは、一以上のデータブロックのうちの先頭のデータブロックの場所を表す論理ブロックアドレスである。使用データ長は、一以上のデータブロックによるデータ長である。先頭LBAと使用データ長とにより、ファイルZに対応する一以上のデータブロックを特定することができる。なお、ファイルZが他のファイルと一部重複したファイルである場合には、使用データ長は、その重複部分のデータ長となる。リンク用テーブルは、ファイルZの更なる一又は複数の参照位置情報とすることができる(ファイルZが、後述する新差分ファイル或いは旧差分ファイルの場合には、後述する他の種類の情報が含まれていても良い)。ファイルZの参照位置情報に含まれている全ての使用データ長の合計が、ファイルZのデータ長となる。
NASコントローラ5のCPU11は、物理記憶装置45、46に新たにファイルが格納される都度に、その新たなファイルに対応する新たなレコードを記憶管理テーブル51に追記することができる。また、CPU11は、ファイルを物理記憶装置45、46から削除する都度に、削除したファイルに対応するレコードを記憶管理テーブル51から削除し、それにより、ファイル全体を削除することもできる。また、CPU11は、一つの重複ファイルの全部又は一部が存在する記憶領域を開放した場合には、その重複ファイルに対応するレコード(つまりファイルメタデータ)を削除せず、そのレコード中の所定の情報を更新することができる。
図3Bは、信頼性比較用テーブル55の構成例を示す。
信頼性比較用テーブル55には、記憶装置システム2に備えられている各論理ユニット48,50に関する種々の情報が登録される。一つの論理ユニット(以下、便宜上「論理ユニットZ」と言う)に関する種々の情報としては、例えば、物理装置ID、LUN、RAIDレベル、HDD台数、HDD種別、空き容量、装置搭載日時及び信頼性順位がある。物理装置IDは、論理ユニットZを有する物理装置の識別子である。LUNは、論理ユニットZの番号である。RAIDレベルは、論理ユニットZを有するRAIDグループ(HDD群)のRAIDレベルを表す。HDD台数は、論理ユニットZが何台のHDDにより提供されているのかを示す情報である。HDD種別は、論理ユニットZを有する一以上のHDDの種別(例えばFC HDDかSAS HDD)を表す(それら一以上のHDDに複数種類のHDDが混在している場合には、複数の種別が記録される)。空き容量は、論理ユニットZが有する記憶容量のうちデータが記憶されていない領域(換言すれば、開放されている領域)の記憶容量を表す。装置搭載日時は、論理ユニットZを有するHDD群が増設筐体23に搭載された日時(或いは、その増設筐体23が基本筐体21に通信可能に接続された日時)を表す。信頼性順位は、論理ユニットZの信頼性の順位を表す。信頼性順位は、信頼性が高いほど若い数値となる。各論理ユニットには、異なる信頼性順位が設定される(他の論理ユニットと同一の信頼性順位が設定されても良い)。例えば、複数の論理ユニットのRAIDレベル及びHDD種別のうちの少なくとも一方が同じ場合には、それら複数の論理ユニットの各々には、同一の信頼性順位が設定されても良いし、異なる信頼性順位が設定されても良い。信頼性順位は、例えば、物理装置ID、LUN、RAIDレベル、HDD台数、HDD種別、空き容量及び装置搭載日時の少なくとも一つに基づいて、システム管理者の構成変更(コンフィギュレーション)設定が行われる毎に、NASコントローラ5のCPU11が各要素の重み比較により決定する(その決定後、管理者の承認を得て或いは得ることなく設定してもよい)。ここで、例えば、RAIDレベルの観点に基づく重み比較がされた場合、信頼性順位は、RAID6+1>RAID3+1、4+1又は5+1>RAID1>RAID0+1>RAID6>RAID3,4又は5>RAID0の順で低くなっても良い(つまり、一例として、RAID6+1が最も高く、RAID0が最も低くなってもよい)。また、例えば、HDD種別の観点に基づく重み比較がされた場合、信頼性順位は、FC>SASの順で低くなる。また、例えば、RAIDレベルとHDD種別の両方の観点に基づく重み比較が行われた場合には、一例として、RAIDレベルの観点で決定された信頼性順位と、HDD種別の観点で決定された信頼性順位との平均値に基づいて決定されてもよい(平均値が同じ場合には、どちらの観点を優先するかに基づいて決定されても良い)。
図4は、ファイル比較用テーブル53の構成例と、このテーブル53を用いた情報処理の一つの流れの一例を示す。
ファイル比較用テーブル53には、物理記憶装置45又は46から読み出されたファイル毎に、そのファイルに関する種々の情報を含んだレコードが存在する。読み出された一つのファイル(以下、便宜上これを「ファイルY」と言う)に関する種々の情報としては、例えば、ボリュームID、パス名、ファイル名、データ長、リードアクセス日時及びデータ位置がある。ボリュームID、パス名、ファイル名及びデータ長は、記憶管理テーブル51に登録されているそれらと同じである。リードアクセス日時は、ファイルYが読み出された日時を表す。データ位置は、ファイルYがキャッシュメモリ35のどこに記憶されているか、及び/又は、ファイルYに対応するレコードが記憶管理テーブル51のどこに存在するかを表す位置情報である。
NASコントローラ5のCPU11は、物理記憶装置45、46からファイルを読み出す都度に、その読み出したファイルに対応する新たなレコードをファイル比較用テーブル53の先頭に追記し、既に存在する各レコードの位置を繰り下げることができる。これにより、ファイル比較用テーブル54では、先頭から最後尾にかけて、読み出された日時が現在日時に近い順に、ファイルに関するレコードが並ぶことになる。そして、CPU11は、ファイル比較用テーブル54に所定個数のレコードが登録されているとき、最新のレコードを新たに登録する場合には、最古のレコードをファイル比較用テーブル54から削除することができる。
以上が、ファイル比較用テーブル53についての説明である。なお、この図4には、前述したとおり、このテーブル53を用いた情報処理の一つの流れの一例も示されているが、それについては、本実施例で行われる処理の概要を説明した後で説明した方が分かりやすいので、後で、再びこの図4を参照して説明することにする。
以下、本実施例におけるNASコントローラ5(例えばそれのCPU11)が行う処理の概要について説明する。
図5Aは、フォルダX中のファイルAをフォルダYにコピーする処理の概要の説明図である。
フォルダXは、LU0に存在し、フォルダYは、LU0よりも信頼性順位の低いLU1に存在するものとする。ここで、「LU0よりもLU1の方が信頼性順位が低い」とは、例えば、LU0のRAIDレベル(例えばRAID5+1)よりもLU1のRAIDレベル(例えばRAID5)の方が低いことである。勿論、それに限らず、例えば、LU0のHDD(例えばFC HDD)よりもLU1のHDD(例えばSAS HDD)の方が信頼性順位が低いということであってもよい。
NASコントローラ5は、情報処理装置1からの指示に従って(又はその指示を受けることなく自動的に)、フォルダX中のファイルAをフォルダYにコピーすることができる。具体的には、例えば、NASコントローラ5は、ファイル読み出し命令を発行することで、フォルダXからファイルAを読み出し、その後、ファイル書き込み命令を発行することで、読み出したファイルAをフォルダYに書き込み、それにより、フォルダX中のファイルAをフォルダYにコピーすることができる。NASコントローラ5は、読み出したファイルAに関するファイルメタデータを信頼性比較用テーブル53の先頭に追記し、且つ、フォルダYに生成されたファイルAの複製に関する新たなファイルメタデータ(例えば、そのファイルAを構成するデータの参照位置情報を含んだレコード)を記憶管理テーブル51に追記することができる。
以上のように、NASコントローラ5は、複数のHDD45,46によって提供される記憶資源(以下、HDD記憶資源)に、少なくとも一つのファイルについて、一又は複数のそのファイルの複製を記憶させることができる。また、例えば、第一のファイルの複製である第二のファイルが生成された後に、第一のファイルと第二のファイルとのうちの少なくとも一方が更新され、その結果、第一のファイルと第二のファイルは、完全に重複したものから、部分的に重複したものになる。これらのようなことが繰り返されると、HDD記憶資源には、多くの重複データが存在することになってしまう。
本実施例では、LUの信頼性に基づいて、複数の重複データのうちの少なくとも一つを残し、他の重複データが存在する記憶領域を開放して空きの記憶領域とすることができる。以下、その処理について説明する。なお、以下の説明では、重複ファイルのうち、後から記憶されたファイルを「更新後ファイル」と言い、その前に記憶されていたファイルを「更新前ファイル」と言う場合がある。
図5Bは、重複データの領域開放の一例の概念図である。
図5Aに示した処理が行われたことにより、LU0とLU1との両方に、ファイルAが存在する。つまり、LU0に存在するファイルAと、LU1に存在するファイルAは、互いに完全に重複している。
この場合において、NASコントローラ5のCPU11は、LU0とLU1とのそれぞれの信頼性順位を、信頼性比較用テーブル55を参照することにより特定する。これにより、CPU11は、LU0の方がLU1よりも高い信頼性順位が割り当てられているということを特定することができる。
この場合、CPU11は、信頼性順位の低いLU1において、ファイルAの重複データ(つまり、ここではファイルAそれ自体)が存在する記憶領域を開放し、信頼性順位の高いLU0にファイルAを残しておく。また、CPU11は、LU1から重複データの記憶領域を開放したことに伴い、LU1のファイルAのパス名を変更せず、そのLU1のファイルAに対応したファイルメタデータ中の参照位置情報(記憶管理テーブル51中の情報)を、LU0のファイルAに対応したファイルメタデータ中の参照位置情報と同じ情報にする。これにより、CPU11は、各情報処理装置1に対し、フォルダXとフォルダYのどちらが参照されても、ファイルAが存在しているかのように見せることができる。しかし、そのファイルAに対応するデータは、フォルダXとYのいずれから読み出しても、LU0から読み出されることになる。
また、CPU11は、LU1から重複データの記憶領域を開放したことに関するログを、システムボリューム402に存在する重複ファイルリスト403に記録する。システムボリューム402及び重複ファイルリスト403については、後に詳述する。
図6Aは、重複データの領域開放の別の例の概念図である。以下、図5Bとの相違点を主に説明し、共通点については説明を省略或いは簡略する。
図5Aに示した処理が行われたことにより、LU0とLU1との両方に、ファイルAが存在する。そして、その後に、ファイルAが更新されたとする。更新されたファイルAを「ファイルA´」と呼ぶ。LU0には、更新後ファイルA´が存在し、LU1には、更新前ファイルAが存在することになる。
この場合において、NASコントローラ5のCPU11は、LU0に存在する更新後ファイルA´と、LU1に存在する更新前ファイルAとが互いに一部重複していることを、所定の方法により検出することができる。例えば、最長共通部分(LCS:Longest Common Subsequence)又は最小エディット距離(SED:Shortest Edit Distance)等を求めるアルゴリズムにより検出することができる。また、CPU11は、更新後ファイルA´に対応する複数のブロックデータと、更新前ファイルAに対応する二以上のブロックデータのうち、どのブロックデータが重複部分であってどのブロックデータが重複部分でないかを特定することもできる。
CPU11は、更新後ファイルA´が更新前ファイルAよりも信頼性順位の高いLUに存在するか否かを判断する。この結果、否定的な判断結果が得られた場合には、CPU11は、更新後ファイルA´を、より信頼性順位の高いLUに移動(マイグレーション)させることができる(その際、更新後ファイルA´のファイルメタデータのうち、パス名は変えず、参照位置情報を、移動先の位置を表す情報に更新することができる)。図6Aの例では、更新後ファイルA´が更新前ファイルAよりも信頼性順位の高いLUに存在するので、移動は行わなくて良い。
また、CPU11は、更新後ファイルA´と更新前ファイルAとに基づいて、更新後ファイルA´を用いて更新前ファイルAを復元するための差分ファイルA´−Aを得る。以下、更新後ファイルに基づいて更新前ファイルを復元するための差分ファイルを、更新後ファイル(新しい方のファイル)をベースにして得られる差分ファイルという意味で、「新差分ファイル」と言う。逆に、更新前ファイルに基づいて更新後ファイルを復元するための差分ファイルを、更新前ファイル(古い方のファイル)をベースとして得られる差分ファイルという意味で「旧差分ファイル」と言うことにする。
以下、新差分ファイルと旧差分ファイルとについて詳細に説明する。その際、更新前ファイルAには、514バイトの重複データと、重複データの後に続く800バイトの重複しないデータ(以下、旧オリジナルデータ)とが含まれているとする。また、更新後ファイルA´には、上記と同一の重複データ(つまり、514バイトの重複データ)と、その重複データの前に付加された50バイトの重複しないデータ(以下、新オリジナルデータ)と、重複データの後に続く1000バイトの新オリジナルデータとが含まれているとする。
この場合、新差分ファイルA´−Aは、その新差分ファイルA´−Aと更新後ファイルA´とから更新前ファイルAを復元するのに必要な情報が含まれたファイルとなる。具体的には、例えば、新差分ファイルA´−Aには、ヘッダ部と、重複データ長と、重複データ後オフセット情報と、旧オリジナルデータ情報とが含まれる。ヘッダ部には、最初の重複データの前に新オリジナルデータが何バイトあるか、換言すれば、更新後ファイルA´の先頭から何バイトスキップすれば重複データを参照できるかを表すオフセット(この例では50バイト)が含まれる。重複データ長は、最初の重複データのデータ長(この例では「514バイト」)を表す情報である。重複データ後オフセット情報には、最初の重複データの後から何バイトスキップすれば次の重複データを参照できるのかを表すオフセットと、次の重複データのデータ長とが含まれる(この例では、重複データは一つだけなので、オフセットは「0」(又はヌル)、重複データ長は「0バイト」となる)。旧オリジナルデータ情報には、例えば、旧オリジナルデータそれ自体が含まれる。また、旧オリジナルデータ情報には、更新前ファイルAの先頭からどの位置にその旧オリジナルデータが入るのかを示すオフセットが含まれてもよい。また、旧オリジナルデータとオフセットとが一つのセットとなっても良い。このセットの数は、旧オリジナルデータの個数と同じ数であっても良い。この例では、そのセットの数は一つであり、そのセットには、800バイトの旧オリジナルデータと、その旧オリジナルデータの位置を表すオフセット「514バイト」が含まれても良い。
このような新差分ファイルA´−Aのファイルメタデータも、記憶管理テーブル51に登録される。その際、例えば、そのファイルメタデータ中のリンク用テーブルには、新差分ファイルA´−Aのヘッダ部、重複データ長、重複データ後オフセット情報及び旧オリジナルデータ情報の各々に関する情報(例えば、新差分ファイルA´−Aにおける位置)が記述されてもよい。
NASコントローラ5のCPU11は、上記の新差分ファイルA´−Aと、更新後ファイルA´とに基づいて、更新前ファイルAを復元することができる。具体的には、例えば、CPU11は、新差分ファイルA´−Aのヘッダ部、重複データ長及び重複データ後オフセット情報を参照することにより、更新後ファイルA´から重複データを特定することができる。また、CPU11は、新差分ファイルA´−Aの旧オリジナルデータ情報を参照することにより、新差分ファイルA´−A中の旧オリジナルデータを特定することができる。CPU11は、新差分ファイルA´−Aの旧オリジナルデータ情報に基づいて、特定された重複データと旧オリジナルデータとを組み合わせることにより、更新前ファイルAを復元することができる。
次に、旧差分ファイルについて説明する。旧差分ファイルA−A´は、その旧差分ファイルA−A´と更新前ファイルAとから更新後ファイルA´を復元するのに必要な情報が含まれたファイルとなる。具体的には、例えば、旧差分ファイルA−A´には、ヘッダ部と、重複データ長と、重複データ後オフセット情報と、新オリジナルデータ情報とが含まれる。ヘッダ部には、最初の重複データの前に旧オリジナルデータが何バイトあるか、換言すれば、更新前ファイルAの先頭から何バイトスキップすれば重複データを参照できるかを表すオフセット(この例では「0」)が含まれる。重複データ長は、最初の重複データのデータ長(この例では「514バイト」)を表す情報である。重複データ後オフセット情報には、最初の重複データの後から何バイトスキップすれば次の重複データを参照できるのかを表すオフセットと、次の重複データのデータ長とが含まれる(この例では、重複データは一つだけなので、オフセットは「0」(又はヌル)、重複データ長は「0バイト」となる)。新オリジナルデータ情報には、例えば、新オリジナルデータそれ自体と、更新後ファイルA´の先頭からどの位置にその新オリジナルデータが入るのかを示すオフセットとのセットが含まれる。このセットの数は、新オリジナルデータの個数と同じ数であっても良い。この例では、そのセットの数は二つである。第一のセットには、50バイトの新オリジナルデータと、その新オリジナルデータの位置を表すオフセット「0」とが含まれる。第二のセットには、1000バイトの新オリジナルデータと、その新オリジナルデータの位置を表すオフセット「564バイト」が含まれる。
NASコントローラ5のCPU11は、上記の旧差分ファイルA−A´と、更新前ファイルAとに基づいて、更新後ファイルA´を復元することができる。具体的には、例えば、CPU11は、旧差分ファイルA−A´のヘッダ部、重複データ長及び重複データ後オフセット情報を参照することにより、更新前ファイルAから重複データを特定することができる。また、CPU11は、旧差分ファイルA−A´の新オリジナルデータ情報を参照することにより、旧差分ファイルA−A´中の新オリジナルデータを特定することができる。CPU11は、新差分ファイルA´−Aの新オリジナルデータ情報に基づいて、特定された重複データと新オリジナルデータとを組み合わせることにより、更新後ファイルA´を復元することができる。
図6Aの説明に戻る。CPU11は、新差分ファイルA´−AをLU1に書き、更新前ファイルAが存在する記憶領域(LU1における記憶領域)を開放する。この処理に伴い、CPU11は、LU1上のフォルダYにおける更新前ファイルAに関するファイルメタデータを更新する。具体的には、例えば、CPU11は、更新前ファイルAにおける重複データについての参照位置情報を、更新後ファイルA´の重複データについての参照位置情報と同じにし(つまりLU0における重複データの位置を表す情報とし)、且つ、更新前ファイルAにおける旧オリジナルデータについては、LU1における存在場所(具体的には、新差分ファイルA´−Aにおける旧オリジナルデータ)を表す参照位置情報とする(その情報を表すリンク用テーブルを追加する)。
また、CPU11は、更新前ファイルAが存在する記憶領域をLU1から開放したことに関するログを、システムボリューム402に存在する重複ファイルリスト403に記録する。
図6Bは、重複データの領域開放のまた別の例の概念図である。
LU0に、ファイルAが存在する。そして、その後に、ファイルAが更新され、更新後のファイルA(以下、更新後ファイルA´)が、ファイルAとは別のファイル名で更新されたとする。これにより、LU0に、更新前ファイルAと更新後ファイルA´との両方が存在することになる(但しファイル名が異なる)。
この場合において、NASコントローラ5のCPU11は、LU0に存在する更新後ファイルA´と更新前ファイルAとが互いに一部重複していることを、所定の方法により検出することができる。
CPU11は、更新後ファイルA´と更新前ファイルAとに基づいて新差分ファイルA´−Aを得る。そして、CPU11は、更新前ファイルAが存在する記憶領域を開放し、代わりに、新差分ファイルA´−Aを、その開放された記憶領域を有するLUに書く。この処理に伴い、CPU11は、更新前ファイルAに関するファイルメタデータを更新する(具体的には、例えば、図6Aの場合と同様に更新する)。
また、CPU11は、更新前ファイルAが存在する記憶領域をLU0から開放したことに関するログを、システムボリューム402に存在する重複ファイルリスト403に記録する。
以上が、重複データの領域開放についての例である。
以下、本実施例について更に詳細に説明する。
まず、重複データの領域開放のことを分かりやすくするため、参考として、図7及び図8を参照し、重複データの領域開放が行われない場合の、ファイルの読出し処理と、ファイルの書き込み処理との流れについて説明する。そして、その後で、本実施例で行われるファイル読出し処理とファイル書込み処理、すなわち、重複データの領域開放が行われる場合のファイル読出し処理とファイル書き込み処理との流れについて説明する。
図7は、重複データの領域開放が行われない場合のファイル読出し処理の流れの一例を示す。
ファイル読出し命令(ファイルレベルの読出し命令)を受信した場合、NASコントローラ5のCPU11は、読出し命令の対象である読出し対象ファイルが、メモリ7におけるキャッシュ領域に存在するか否かを調べる(ステップS1)。
S1の結果、キャッシュ領域に読み出し対象ファイルがあれば(S2でYES)、CPU11は、データコントローラ14に、キャッシュ領域における読出し対象ファイルを読み出し命令の送信元の情報処理装置1に転送することを指示する(S11)。これにより、キャッシュ領域における読出し対象ファイルは、データコントローラ14からLAN I/F制御部13を介して、読出し命令の送信元の情報処理装置1に送信される(S12)。
S1の結果、キャッシュ領域に読み出し対象ファイルがなければ(S2でNO)、CPU11は、記憶管理テーブル51から読出し対象ファイルのファイルメタデータを検索する(S3)。
S3の結果、読出し対象ファイルのファイルメタデータが見つからなければ(S4でYES)、CPU11は、読出し命令の送信元の情報処理装置1に、異常終了ステータスを報告する(S5)。
S3の結果、読出し対象ファイルのファイルメタデータが見つかれば(S4でNO)、CPU11は、そのファイルメタデータ中の参照位置情報を参照する(つまり、読み出し対象ファイルの格納位置を取得する)(S6)。そして、CPU11は、その参照位置情報に基づいて、読出し対象ファイルのデータを取得することをデータコントローラ14に指示する(S7)。これにより、読出し対象ファイルのデータの読出し命令が、データコントローラ14からFC I/F制御部15を介して記憶装置システム2に送信される(S8)。それにより、LU48又は50から読出し対象ファイルのデータが読み出され、読み出されたデータが、記憶装置システム2からNASコントローラ5に転送される(S9)。そして、NASコントローラ5のデータコントローラ14が、読出し対象ファイルのデータを、メモリ7におけるキャッシュ領域に格納し、CPU11が、図示しないキャッシュテーブル(例えば、キャッシュ領域のどの場所にデータが格納されているかを示すテーブル)を更新する(S10)。その後、上述したS11及びS12の処理が行われる。
図8は、重複データの領域開放が行われない場合のファイル書込み処理の流れの一例を示す。
ファイル書込み命令(ファイルレベルの書込み命令)及び書込み対象ファイルを受信した場合、NASコントローラ5のCPU11は、書込み対象ファイルに対応する更新前ファイルのファイルメタデータを記憶管理テーブル51から検索する(S21)。
S21の結果、更新前ファイルのファイルメタデータが見つからない場合(S22でYES)、書込み対象ファイルは、未だ記憶装置システム2に記憶されていない新規のファイルである。CPU11は、データコントローラ14に、書込み命令で指定されている論理ボリュームの空き領域に書込み対象ファイルを書き込むことを指示する(S23)。これにより、書込み対象ファイルのデータを書き込むことの書込み命令が、データコントローラ14からFC I/F制御部15を介して記憶装置システム2に送信される(S24)。LU48又は50に書込み対象ファイルのデータが、指定された論理ボリュームに書き込まれる(S25)。CPU11は、書き込まれた書込み対象ファイルのファイルメタデータを生成し、そのファイルメタデータを記憶管理テーブル51に追記する(S26)。
S21の結果、更新前ファイルのファイルメタデータが見つかった場合(S22でNO)、書込み対象ファイルは、既に記憶装置システム2に記憶されている更新前ファイルに対する更新後ファイルとなる。CPU11は、更新前ファイルのファイルメタデータ中の参照位置情報を参照する(S27)。そして、CPU11は、その参照位置情報に基づいて、更新前ファイルのデータを更新後ファイルに更新すること(つまり更新前ファイルに更新後ファイルを上書きすること)をデータコントローラ14に指示する(S28)。これにより、更新後ファイルのデータの書込み命令が、データコントローラ14からFC I/F制御部15を介して記憶装置システム2に送信される(S29)。それにより、LU48又は50に更新後ファイルのデータが書き込まれていく(S30)。
更新後ファイルのデータサイズが更新前ファイルのデータサイズ以下の場合には(S31でNO)、S35に進む。更新後ファイルのデータサイズが更新前ファイルのデータサイズよりも多い場合には(S31でYES)、NASコントローラ5のCPU11が、その多い分のデータ(ここでは「残データ」と言う)を、更新後ファイルの書込み先の論理ボリュームの空いている領域に残データを書き込むことをデータコントローラ14に指示する(S32)。これにより、残データの書込み命令が、データコントローラ14からFC I/F制御部15を介して記憶装置システム2に送信される(S33)。LU48又は50に更に残データが書き込まれる(S34)。NASコントローラ11のCPU11は、書き込まれた更新後ファイルのファイルメタデータを更新する(S35)。例えば、CPU11は、更新後ファイルと更新前ファイルとが全く同じ場合には、更新日時等の属性情報を更新する。また、例えば、CPU11は、上記残データが格納された場合には、属性情報に加えて、参照位置情報も更新する(例えば、残データに対応するリンク用テーブルを追加する)。
NASコントローラ5のCPU11は、記憶管理テーブル51を記憶装置システム2に送信し、記憶装置システム2における記憶資源(例えば、HDD45又は46、メモリ27、キャッシュメモリ35又は共用メモリ33)に記憶させることができる。
以上が、重複データの領域開放が行われない場合におけるファイル読出し処理とファイル書き込み処理の流れについての説明である。次に、重複データの領域開放が行われる場合におけるファイル読出し処理とファイル書き込み処理の流れについて説明する。
図9は、重複データの領域開放が行われる場合のファイル読出し処理の流れの一例を示す。
図9のS41〜S52は、図7のS1〜S12と同様である。S52の後、NASコントローラ5のCPU11は、読み出されたファイルに関する所定種類の情報を含んだレコードを、ファイル比較用テーブル53の先頭に追記する(S53)。
図10、図11及び図12は、重複データの領域開放が行われる場合のファイル書込み処理の流れの一例を示す。以下、これらの図の他、適宜に、図4を参照して、書込み処理について説明する。なお、図10、図11及び図12により示す処理の流れは、書込み対象ファイルの更新前ファイルのファイルメタデータが記憶管理テーブル51に存在しない場合のいわゆる新規のファイルの書き込みについての流れである。しかし、この処理は、書込み対象ファイルが新規のファイルの場合だけでなく、更新後ファイルの場合にも適用することができる。
書込み対象ファイルが新規ファイルと判断された場合、図10に示すように、図8のS23〜S26と同様の処理が行われる(S61〜S64)。以下、新規ファイルのデータを、「第一のデータ」と言う。なお、後述のリモートコピー処理の場合には、CPU11は、第一のデータを、NASコントローラ5のキャッシュ領域、或いは、記憶装置システム2のキャッシュメモリ35に残しておき、キャッシュ領域又はキャッシュメモリ35から、第一のデータを、コピー先に転送するようにしてもよい。
NASコントローラ5のCPU11は、ファイル比較用テーブル53の先頭のレコードを参照し(S65)、そのファイル比較用テーブル53にマーク済みのファイルの参照位置情報を記憶管理テーブル53から取得する(S66)。ここで、「マーク済みのファイル」とは、ファイル比較用テーブル53に存在するレコードに対応したファイルのことである。CPU11は、図4に示すように、S66で取得した参照位置情報が表す場所に存在するマーク済みファイルのデータ(以下、「第二のデータ」と言う)と、第一のデータとを比較する(S67)。
S67の結果、1ブロック(例えば512バイト)以上の部分一致領域(換言すれば重複データ)が無い場合には、S65で参照したレコードが、ファイル比較用テーブル53における最後のレコードで無ければ(S74でNO)、再びS65の処理が行われる。S65で参照したレコードが、ファイル比較用テーブル53における最後のレコードであった場合(S74でYES)、CPU11は、第一のデータと同一のファイル名及び/又はデータ長のファイル(以下、このファイルのデータを「第三のデータ」と言う)のファイルメタデータを記憶管理テーブル51から検索する(S75)。第三のデータのファイルメタデータが見つからなかった場合、処理が終了となっても良い。第三のデータのファイルメタデータが見つかった場合、CPU11は、そのファイルメタデータ中の参照位置情報が表す場所に存在する第三のデータと、第一のデータとを比較する(S76)。
S76の結果、1ブロック以上の部分一致領域がある場合であって(S77でNO)、全てのデータが一致した場合には(S69でYES)、後述のS70の処理が行われ、部分一致の場合には(S69でNO)、図12のS81の処理が行われる。S76の結果、1ブロック以上の部分一致領域がない場合(S77でYES)、S75の検索で見つかったファイルメタデータが、記憶管理テーブル51の最後の位置に存在するファイルメタデータでなければ(S78でNO)、再びS75の処理が行われる。
さて、S67の結果、又は、S76の結果、1ブロック以上の部分一致領域があった場合であって(図11のS68でNO、又は、S77でNO)、全てのデータが一致した場合には(S69でYES)、後述のS70の処理が行われる。すなわち、CPU11は、図4にも示す通り、信頼性比較用テーブル55を参照し、第一のデータが存在するLUの信頼性順位と、第二のデータ(又は第三のデータ)が存在するLUの信頼性順位とを比較する(S70)。CPU11は、信頼性順位の低い方のデータの参照位置情報を、信頼性順位の高い方のデータの参照位置情報に更新する(S71)。CPU11は、信頼性順位の低い方のデータが存在する記憶領域を開放する(S72)。CPU11は、完全な重複が得られた第一データと第二データ(又は第三データ)に関する情報(例えば、それぞれのファイルメタデータの全部又は一部)と、それら第一データと第二データ(又は第三データ)とのうちのいずれか一方が存在する領域が開放されたことを、システムボリューム402に存在する重複ファイルリスト403に登録する(S73)。
S67の結果、又は、S76の結果、1ブロック以上の部分一致領域があった場合であって(図11のS68でNO、又は、S77でNO)、全てのデータが一致したわけではない場合には(S69でNO)、図12のS81の処理が行われる。すなわち、CPU11は、第一のデータ(更新後ファイル)と第二のデータ又は第三のデータ(更新前ファイル)とに基づいて新差分ファイルを得る(S81)。CPU11は、信頼性比較用テーブル55を参照し、第一のデータが存在するLU(以下、第一のLU)の信頼性順位と、第二のデータ(又は第三のデータ)が存在するLU(以下、第二のLU)の信頼性順位とを比較する(S82)。
S82の結果、第一のLUの方が第二のLU以上に信頼性順位が高い場合には(S83でNO)、後述のS87が行われる。
一方、S82の結果、第一のLUの方が第二のLUよりも信頼性順位が低い場合には(S83でYES)、CPU11は、データコントローラ14に、第二のLUに第一のデータを書き込むことの指示を出す(S84)。これにより、第一のデータが、より信頼性順位の高い第二のLUに書き込まれる(S85)。CPU11は、第一のデータの参照位置情報を、第二のLUにおける書込み先の場所を表す情報に更新する(S86)。
CPU11は、信頼性順位の低い方のLUに新差分ファイルを書き込むことの指示をデータコントローラ14に出す(S87)。それにより、データコントローラ14からFC I/F制御部15を介して、信頼性順位の低い方のLUに新差分ファイルが書き込まれる(S88)。CPU11は、少なくとも第二のデータ又は第三のデータ(更には、例えば、信頼性順位の低いLUに存在する第一のデータ)が存在する領域を開放する(S89)。
CPU11は、第二の記憶管理テーブル51を更新する(S90)。具体的には、CPU11は、第一のデータと第二のデータ(又は第三のデータ)とのうち、重複データについては、信頼性順位の高い方のLUにおけるその重複データが存在する領域を示す参照位置情報に更新し、新差分ファイル中の旧オリジナルデータについては、信頼性順位の低い方のLU(又は信頼性順位の同じLU)におけるその旧オリジナルデータが存在する領域を示す参照位置情報に更新する。
CPU11は、システムボリューム402における重複ファイルリスト403を更新する(S91)。具体的には、CPU11は、第一のデータと第二のデータ(又は第三のデータ)とが重複していることを重複ファイルリスト403に記録する(更に、第二のデータの領域が開放されて新差分ファイルが書かれたことも記録しても良い)。
以上が、書込み処理における流れの一例である。
以下、未だ説明を行っていないシステムボリューム402及び重複ファイルリスト403について説明する。
システムボリューム402とは、例えば、情報処理装置1からのアクセスは不可となっている論理ボリューム(少なくとも、情報処理装置1からの書込みは禁止されている論理ボリューム)である。システムボリューム402には、記憶装置システム2の制御に関するシステム情報を記憶させておき、記憶装置システム2のCPU25は、そのシステム情報をシステムボリューム402から読み込み、そのシステム情報に基づいて動作することができる。重複ファイルリスト403は、いわゆるログファイルである。重複ファイルリスト403には、例えば、どのファイルとどのファイルとに完全な又は一部の重複があるかが記録される(それらの重複ファイルのうちのどちらのファイルのデータの全部又は一部の領域が開放されたかが記録されてもよい)。具体的には、例えば、重複ファイルリスト403には、
(1)[ソース]パス¥ファイル名 (ファイルハンドル;メタデータ位置等)、
(2)[コピー]パス¥ファイル名 (ファイルハンドル) 複製日時 (完全重複か部分重複か)
といった情報が記録される。ここで、(1)の[ソース]は、更新前ファイルか更新後ファイルかに関わらず、重複データが残された方であり、重複データの記憶領域が開放された方ではないものとすることができる。それに対し、(2)の[コピー]は、その逆で、重複データの記憶領域が開放された互いに重複するファイルのうちの領域が開放された方であり、重複データが残された方ではないものとすることができる。
(1)[ソース]パス¥ファイル名 (ファイルハンドル;メタデータ位置等)、
(2)[コピー]パス¥ファイル名 (ファイルハンドル) 複製日時 (完全重複か部分重複か)
といった情報が記録される。ここで、(1)の[ソース]は、更新前ファイルか更新後ファイルかに関わらず、重複データが残された方であり、重複データの記憶領域が開放された方ではないものとすることができる。それに対し、(2)の[コピー]は、その逆で、重複データの記憶領域が開放された互いに重複するファイルのうちの領域が開放された方であり、重複データが残された方ではないものとすることができる。
NASコントローラ5のCPU11は、例えば、図13Aに示すように、この重複ファイルリスト403に基づいて、どのファイルとどのファイルとが互いに重複するのかを、特定の装置(例えば、情報処理装置1又はシステム管理者が使用する図示しない端末(以下、管理者端末)に表示することができる。また、例えば、CPU11は、或る重複ファイルの削除の指示を、上記特定の装置(以下、「特定装置」)から受けた場合、その重複ファイル及びそれのファイルメタデータを削除することにより、その重複ファイルを削除することができる。具体的には、例えば、削除の指示が出された重複ファイルが、更新前ファイルの場合には、CPU11は、残された新差分ファイルと、更新前ファイルのファイルメタデータとを削除することにより、その更新前ファイルを削除することができる。また、例えば、削除の指示が出された重複ファイルが、更新後ファイルの場合には、CPU11は、図13Bに示すように、残された新差分ファイルA´−Aと、更新後ファイルA´とを用いて更新前ファイルAを再構築し、且つ、更新後ファイルA´とそれのファイルメタデータとを削除することにより、その更新後ファイルA´を削除することができる。また、CPU11は、重複ファイルを削除した場合には、その重複ファイルに関わる情報を重複ファイルリスト403から削除することもできる。例えば、図13Bの例で言えば、更新後ファイルA´を削除した場合には、CPU11は、その更新後ファイルA´と更新前ファイルAとのペアに関する情報を削除することができる。
また、NASコントローラ5のCPU11は、例えば、図13Cに示すように、重複ファイルリスト403を参照することにより、どのファイルとどのファイルとが重複するかを特定することができる。CPU11は、特定された結果に基づいて、特定の処理を実行することができる。例えば、CPU11は、或るファイルと完全に又は部分的に重複する二以上のファイルを特定した場合、換言すれば、三つ以上のファイルが重複していることを特定した場合、少なくとも二つのファイル以外のファイルを削除しても良い。また、その際、CPU11は、信頼性順位のより高いLUに存在するファイルを残しても良いし、残すファイルを信頼性順位のより高い(或いは最も高い)LUに移動させても良い。
また、NASコントローラ5のCPU11は、重複ファイルリスト403の他に例えば記憶管理テーブル51も参照することで、記憶装置システム2に存在する複数のファイルのうちどれが重複しないファイルであるかも特定することができる。その場合、CPU11は、例えば、図13Cに示すように、重複しないファイルを、そのファイルが現在存在する第一のLUよりも信頼性順位の低い第二のLUに移動させ、第一のLUから、重複しないファイルの領域を開放し、それにより、第一のLUの空きの記憶容量を増やすことを行っても良い。
以上、この第一実施例によれば、互いに重複する二つのファイルのうち、信頼性順位の高い場所に存在するファイルが残され、信頼性順位の低い場所に存在するファイルの領域が開放される。更新前ファイルと更新後ファイルとが一部重複する場合、更新後ファイルが信頼性順位の低い場所にある場合には、信頼性順位の高い方に移された後、更新前ファイルが開放される。このような処理により、消費される記憶容量を節約しつつも、ファイルが消失してしまう危険性を抑えることができる。
また、この第一実施例によれば、ファイルの書き込みの際に行われる重複ファイルの検索の範囲は、記憶装置システム2に存在する全てのファイルではなく、その書き込みの時点から近い時点に読み出された一以上のファイル(例えば、書込み時点から所定時間内に読み出されたファイル、又は、書込み時点から近い時点に読み出された所定個数のファイル)に絞り込まれている。これは、以下の点で効率的である。すなわち、例えば、情報処理装置1からの命令に従って、或るフォルダから別のフォルダにファイルをコピーする場合や、或るフォルダから更新前ファイルが読み出されて更新後ファイルとして同一の又は別のフォルダに書き込まれる。その際、或るファイルについての読出し処理の後、あまり長い時間を隔てないで(例えば24時間以内に)、或るファイル又はそれに対する更新後ファイルの書込み処理が行われる。従って、上記のように、重複ファイルの検索の範囲を、ファイルの書き込みの時点から近い時点に読み出された一以上のファイルとすることは、重複ファイルの検出の観点から効率的であると考えられる。少なくとも、総当たり方式で重複ファイルを検索することに比べて短い時間で重複ファイルを見つけることができる。
また、この第一実施例によれば、更新前ファイルと更新後ファイルとが一部重複する場合に生成される差分ファイルは、旧差分ファイルではなく新差分ファイルである。これは、新差分ファイルではなく旧差分ファイルを生成して残す場合よりも、効率が良いと考えられる。なぜなら、更新後ファイルと更新前ファイルとのうちどちらかが削除されるとすれば、更新後ファイルよりも更新前ファイルの方が削除される可能性が高いと考えられるからである。具体的に言えば、例えば、更新前ファイルが削除される場合、新差分ファイルを残す方式であれば、更新前ファイルに対応するファイルメタデータ及び新差分ファイルのみを削除すれば済むが、旧差分ファイルを残す方式だと、旧差分ファイルと削除される更新前ファイルとを用いて更新後ファイルを再構築する必要性が生じるためである。
また、この第一実施例によれば、重複ファイルが検出された場合には、互いに重複するファイルに関する情報が、重複ファイルリスト403に記録される。もし、システム管理者或いはユーザ等から、記憶装置システム2に存在する重複ファイルがどれであるかを提示することが求められた場合には、重複ファイルリスト403に基づく情報を提示すれば済むので、改めて検索を行なうことに比べて短い時間で、求められた情報を提示することができる。
この第一実施例では、重複ファイルが検出された場合、所定のタイミングで(例えば、少なくとも一つの重複データの記憶領域が開放されたときに)、検出された重複ファイルに関する情報が、重複ファイルリスト403に記録される。これにより、以後は、重複ファイルリスト403に記録されている情報から、重複ファイルを特定することができる。具体的には、例えば、CPU11が、この重複ファイルリスト403に記録されている情報を、上記特定装置(例えば、情報処理装置1又は管理者端末)に提供し、その情報が表示されれば、特定装置のオペレータ(例えばユーザ或いは管理者)が、重複ファイルを容易に特定することができる。或いは、例えば、CPU11は、重複ファイルリスト403を参照することで、重複ファイルがどれであるかを迅速に特定することができる。
別の言い方をすれば、この第一実施例では、重複ファイルが検出された後に、どれが重複ファイルであるかということが、記憶管理テーブル51に記録されるのではなく、記憶管理テーブル51とは別に用意された重複ファイルリスト403に記録される。
例えば、ファイルの複製が3つも4つも作成されたような場合には、或る複製が、別の複製からの複製であることもあり得る。どの複製がどの複製からの複製であるか等を正確に検出する為の領域を、記憶管理テーブル51に用意するのは効率上良くないと考えられる。また、一つのファイルを複製した時の検索以外に、その複製後のファイルの他のファイルとの重複を検索する必要が生じる。このような場合において、記憶装置システム2内の全ての重複ファイルがリストアップされた重複ファイルリスト403があれば、リスト403内を検索すれば重複ファイルを特定できるので、記憶管理テーブル51のみを用いる方法に比べて検索範囲が少なくて済む。具体的な一例として、ファイルAの更新後ファイルであるファイルBが作成された後に、ファイルBの更新後ファイルであるファイルCが作成されて、更新後ファイルCを、ファイルBの存在するLUに移動させる場合に、重複ファイルリスト403を参照することにより、ファイルBと重複するファイルがファイルAであり、ファイルAのファイルメタデータがどこにあるかということを、高速に特定することができる。
なお、この第一実施例では、重複ファイルリスト403に記録する重複ファイルに関する情報は、たとえ、或る一つのファイルが複数のファイルと重複していたとしても、重複ファイルに関する情報を、1対Nとして記録するのではなく、1対1で記録するのが好ましいと考えられる。具体的には、例えば、一つのファイルAが二つのファイルB,Cと重複している場合には、ファイルAとファイルB、及び、ファイルAとファイルCとのごとく、分けて記録するのが好ましいと考えられる。これにより、例えば、ファイルAとファイルBとのうちのファイルAが削除された場合には、ファイルBに関するファイルメタデータを更新し、ファイルCに関するメタデータまで更新しなくても済む。
以下、本発明の第二実施例について説明する。なお、以下、上述した第一実施例との相違点を主に説明し、第一実施例との共通点については説明を省略或いは簡略する(なお、これは、後述の他の実施例についても同様である)。
図14は、本発明の第二実施例に係る情報処理システムの概要を示す。
この情報処理システムは、いわゆるリモートコピーを可能にしたシステムとなっている。例えば、プライマリのNASコントローラ5AとセカンダリのNASコントローラ5Bとがある。プライマリのNASコントローラ5Aには、プライマリの記憶装置システム2Aが接続されており、セカンダリのNASコントローラ5Bには、セカンダリの記憶装置システム2Bが接続されている。プライマリの記憶装置システム2A(例えばそれの基本筐体)には、セカンダリの記憶装置システム2B(例えばそれの基本筐体)が、専用線或いは通信ネットワーク等により通信可能に接続されている(実線で図示)。
この情報処理システムで行われる処理の概要の一例は以下の通りである。
例えば、まず、プライマリの記憶装置システム2Aにおけるユーザデータ領域(例えば、システムボリュームを除くHDD記憶資源上の領域)501Aに存在する全てのデータが、セカンダリの記憶装置システム2BのHDD記憶資源にコピーされることにより、セカンダリの記憶装置システム2Bに、プライマリの記憶装置システム2Aのユーザデータ領域501Aと同じ領域501Bが用意される。
また、プライマリの記憶装置システム2Aにおける所定のメタデータ領域(例えば共用メモリ33)502Aに、上述した各種テーブル51,53及び55が記録されている。これらのテーブル51,53及び55も、セカンダリの記憶装置システム2Bに転送され、それにより、セカンダリの記憶装置システム2Bに、プライマリの記憶装置システム2Aのメタデータ領域502Aと同様の領域502Bが用意される。
次に、例えば、ユーザデータ領域501Aに存在する或るファイルと完全に重複するファイルがその領域501Aに記憶された場合、NASコントローラ5又はディスクコントローラ23(例えば、CPU11又は25)によって、新たに記憶された重複ファイルのファイルメタデータが、記憶管理テーブル51に登録される。この場合、プライマリの記憶装置システム2A(例えばディスクコントローラ23)は、新たな重複ファイルのメタデータをセカンダリの記憶装置システム2Bに転送する。セカンダリの記憶装置システム2Bにおける記憶管理テーブルは、転送されて来たファイルメタデータが追記される。これにより、セカンダリの記憶装置システム2Bには、実際には新たな重複ファイルそれ自体のデータが記憶されていないが、情報処理装置1に対して、セカンダリの記憶装置システム2に新たな重複ファイルが存在するように認識させることができる。具体的には、例えば、セカンダリのNASコントローラ5Bが、セカンダリの記憶装置システム2Bにおける記憶管理テーブルに新たに登録されたファイルメタデータに基づいて、新たな重複ファイルを情報処理装置1に認識させることができる。
この様に、ユーザデータ領域501Aに記憶済みの第一のファイルと完全に重複する第二のファイルが同領域501Aに書き込まれた場合、第二のファイルの方の記憶領域が開放されたならば、リモートコピーのために転送するデータは、第二のファイルのファイルメタデータのみで済む。すなわち、書き込まれたファイルそれ自体の転送は不要となるので、転送するデータ量を減らすことができる。
しかし、このリモートコピー方式を、部分的に重複する更新後ファイルが別ファイル名でユーザデータ領域501Aに書き込まれた場合のリモートコピーに単純に転用するのは好ましくないと考えられる。なぜなら、単純な転用が行われた場合には、更新後ファイルそれ自体の他に、更新後ファイルのファイルメタデータ、新差分ファイル及びそれのファイルメタデータの転送が必要となり、故に、転送するデータ量が増大してしまうためである。
そこで、この問題点を回避する為に、図14に示すように、記憶装置システム2A、2Bが通信可能に接続されることに代えて又は加えて、NASコントローラ5A,5Bが通信可能に接続される方式(以下、NASコントローラ接続方式)を採用することができる(点線で図示)。以下、このNASコントローラ接続方式においてプライマリ側及びセカンダリ側で行われる処理の流れの一例を説明する。
図15及び図16は、NASコントローラ接続方式においてプライマリ側でリモートコピー処理が開始される場合に行われる処理の流れの一例を示す。
NASコントローラ5Aが、直前回のリモートコピーより後に行われた更新を検索する(S101)。これは、例えば、リモートコピー処理が終了した日時を、NASコントローラ5Aが、メモリに記憶しておき、その日時と、記憶管理テーブル51の各ファイルメタデータ中の更新日時とを比較することにより、前回のリモートコピーより後に行われた更新を検索することができる。
NASコントローラ5Aは、前回のリモートコピーより後に行われた更新場所を表す参照位置情報を記憶管理テーブル51から取得する(S102)。
S102の結果、取得された参照位置情報が表す場所に存在するデータが、完全に重複したファイルのデータである場合には(S103でYES)、NASコントローラ5Aは、メタデータヘッダ情報中のフラグを「重複データ」として設定し、ヘッドオプションを「無し」として設定する(S104)。ここで、メタデータヘッダ情報とは、NASコントローラ5Aから送信されるファイルメタデータを含んだ情報のヘッダに設定される情報である。NASコントローラ5Aは、後から書かれた重複ファイルのファイルメタデータと、上記メタデータヘッダ情報とを含んだ情報を、NASコントローラ5Bに転送する(S105)。その後、後述の図16のS118が行われる。
S102の結果、取得された参照位置情報が表す場所に存在するデータが、いわゆる新規ファイルの場合には(S103でNO、S106でNO)、NASコントローラ5Aは、その新規ファイルの読出し命令を記憶装置システム2Aに送信することにより(S107)、その新規ファイルを取得し、キャッシュ領域に保存しておく(S108)。また、NASコントローラ5Aは、メタデータヘッダ情報中のフラグを「新規データ」として設定し、ヘッドオプションを「無し」として設定する(S109)。NASコントローラ5Aは、キャッシュ領域に保存された新規ファイルと、その新規ファイルのファイルメタデータと、S109でのメタデータヘッダ情報とを含んだ情報を、NASコントローラ5Bに送信する(S110)。なお、NASコントローラ5Aは、前回のリモートコピーよりも後に書込み対象として受信したファイルの全部又は一部を、キャッシュ領域に残しておいた場合、新規ファイルが、キャッシュ領域に保存されたままになっていれば、S107及びS108の処理を行うことなく、新規ファイルをNASコントローラ5Bに送信することができる。
S102の結果、取得された参照位置情報が表す場所に存在するデータが、一部重複の更新後ファイルの場合には(S103でNO、S106でYES)、NASコントローラ5Aは、その更新後ファイルの読出し命令を記憶装置システム2Aに送信することにより(S111)、その更新後ファイルを取得し、キャッシュ領域に保存しておく(S112)。
また、NASコントローラ5Aは、取得された更新後ファイルに対応する新差分ファイルを、記憶管理テーブル51を参照することにより特定し、特定された新差分ファイルを、記憶装置システム2Aから取得し、取得された新差分ファイルをキャッシュ領域に保存する(S113)。また、NASコントローラ5Aは、キャッシュ領域上にある更新後ファイルと新差分ファイルとから更新前ファイルを再構築し、且つ、更新前ファイルと更新後ファイルとに基づいて旧差分ファイルを生成し、生成した旧差分ファイルをキャッシュ領域に保存する(S114)。NASコントローラ5Aは、メタデータヘッダ情報中のフラグを「更新データ」として設定し、ヘッドオプションを「有り」として設定する(S115)。
また、NASコントローラ5Aは、再構築された更新前ファイルと同じ更新前ファイルをNASコントローラ5Bが記憶装置システム2Bから検索するのに必要な情報をヘッダオプションに追加する(S116)。「必要な情報」としては、例えば、セカンダリ側における更新前ファイルの参照位置情報とすることができる。この参照位置情報は、例えば、NASコントローラ5Aが、記憶装置システム2Aから更新前ファイルの領域を開放する際に、その更新前ファイルの参照位置情報を、更新後ファイルのファイルメタデータ又は新差分ファイルのファイルメタデータに関連付けておくことで、特定することができる。NASコントローラ5Aは、S114で生成した旧差分ファイルとS115及びS116におけるメタデータヘッダ情報とを含んだ情報を、NASコントローラ5Bに送信する(S117)。
なお、上記のヘッダオプションというのは、通常、ヘッダには存在していなくても良い情報で、存在した場合に特定の機能を実行する為のものである。例えば、ヘッダオプションとして、検索用のパス/ファイル名/領域情報等がヘッダに含められて転送された場合には、そのヘッダオプションを含んだ情報を受け取った側が、そのヘッダオプションに基づき、ファイルを検索することができる。
以上の処理が、直前回のリモートコピーが行われた後に更新されたファイルの全てについて行われた場合に(S118でYES)、処理が終了となり、そうではない場合には(S118でNO)、次の未処理のファイルについて、図15のS103の判断が行われる。
図17、図18及び図19は、NASコントローラ接続方式においてセカンダリ側で行われる処理の流れの一例を示す。
NASコントローラ5Bは、メタデータヘッダ情報を含んだ情報をNASコントローラ5Aから受信した場合、そのメタデータヘッダ情報中のフラグをチェックする(S121)。
S121の結果、フラグが新規データになっていれば(S122でYES)、NASコントローラ5Bは、受信した情報に含まれている新規ファイルを、その新規ファイルのファイルメタデータの参照位置情報が表す場所に書込む(S123)。また、NASコントローラ5Bは、その新規ファイルのファイルメタデータを記憶管理テーブル51に追加する(S124)。その後、図18のS135の処理が行われる。
S121の結果、フラグが重複データになっていれば(S122でNO、S125でYES)、NASコントローラ5Bは、受信した情報に含まれている更新前ファイル(一方の重複ファイル)のファイルメタデータに対応するファイルメタデータを記憶管理テーブル51から特定し、その特定されたファイルメタデータ中の参照位置情報を取得する(S126)。NASコントローラ5Bは、取得された参照位置情報が表す場所にある重複ファイルを記憶したLUの信頼性順位と、格納予定領域を有するLU(更新後ファイル(他方の重複ファイル)のファイルメタデータが表すLU)の信頼性順位とを、信頼性比較用テーブル55を用いて比較する(S127)。
S127の結果、格納予定領域のLUの方が信頼性順位が低い場合には(図18のS128でNO)、S133の処理が行われる。S127の結果、格納予定領域のLUの方が信頼性順位が高い場合には(図18のS128でYES)、NASコントローラ5Bは、更新前ファイル(一方の重複ファイル)を、信頼性順位の低いLUから読出し(S129、S130)、読み出された更新前ファイルを、格納予定領域に書き込む(S131)。そして、NASコントローラ5Bは、読み出された重複ファイルが存在する領域を、信頼性順位の低いLUから開放する(S132)。NASコントローラ5Bは、書込み後のファイルに関するファイルメタデータ(つまり、NASコントローラ5Aから受信した更新後ファイルのファイルメタデータ)を記憶管理テーブル51に追記し、且つ、領域開放されたファイルのファイルメタデータを更新する(S133)。
NASコントローラ5Bは、記憶装置システム2Bにおけるシステムボリューム内の重複ファイルリストを更新する(S134)。例えば、NASコントローラ5Bは、S126〜S133の処理を行うことにより、重複ファイルリストを更新する場合には、互いに完全に重複するファイルに関する情報を、重複ファイルリストに追記する。
また、NASコントローラ5Bは、記憶管理テーブル51において追加及び更新されたファイルメタデータを、記憶装置システム2Bに送信する(S135)。これにより、記憶装置システム2Bにおける記憶管理テーブルが更新され、その結果、その記憶管理テーブルが、NASコントローラ5Bにおける更新後の記憶管理テーブル51と同じ内容になる。なお、NASコントローラ5Bは、このS135の処理を、S134が行われる都度に行うのではなく、例えば、更新されたファイルメタデータが所定数になった場合に、その所定数の更新後のファイルメタデータについてS135を行っても良い。
S121の結果、フラグが更新データになっていれば(図17のS122でNO、S125でNO)、NASコントローラ5Bは、受信した情報に含まれている更新前ファイルのファイルメタデータに対応するファイルメタデータを記憶管理テーブル51から特定する(図19のS136)。NASコントローラ5Bは、その特定されたファイルメタデータ中の参照位置情報から、更新前ファイルを読み出す(S137、S138)。NASコントローラ5Bは、読み出された更新前ファイルと、受信した情報中の旧差分ファイルとにより、更新後ファイルを作成し、且つ、その更新後ファイルと更新前ファイルとに基づいて新差分ファイルを作成する(S139)。NASコントローラ5Bは、読み出された更新前ファイルが存在するLUの信頼性順位と、作成された更新後ファイルの格納予定領域のLU(受信した情報中の更新後ファイルのファイルメタデータが表すLU)の信頼性順位とを、信頼性比較用テーブル55を用いて比較する(S140)。更新後ファイルの格納予定領域のLUの方が信頼性順位が高い場合、NASコントローラ5Bは、作成された更新後ファイルを、その格納予定領域のLUに書き込む(S141)。また、NASコントローラ5Bは、作成された更新後ファイルと読み出された更新前ファイルとに基づく新差分ファイルを、信頼性順位の低い方のLU(又は信頼性順位が同一のLU)に書き込む(S142)。また、NASコントローラ5Bは、読み出された更新前ファイルが存在する領域を開放する(S143)。NASコントローラ5Bは、更新後ファイルの書込みや、新差分ファイルの書込みや、更新前ファイルの領域開放に従って、記憶管理テーブル51を更新する。その後、図18の上述したS134及びS135の処理が行われる。
このように、セカンダリ側のNASコントローラ5Bが、更新後ファイル及び新差分ファイルを生成するようにすることで、更新後ファイルや新差分ファイルの転送を不要にできるので、転送されるデータ量を減少させることができる。
なお、旧差分ファイルを送り、その旧差分ファイルから、更新後ファイルと新差分ファイルとの生成をセカンダリ側で行うことに代えて、更新後ファイルを転送することにより、更新後ファイルを生成することを不要にするようにしてもよい。なお、いずれの方式を採用するかを、ユーザ又はシステム管理者からの指令により適宜に選択されても良いし、所定の条件に基づいて、NASコントローラ5又はディスコントローラ23により自動的に選択されてもよい。所定の条件としては、例えば、更新後ファイルのデータサイズが、データ転送に大きな影響の出ることのない程度の所定サイズ未満の場合には、更新後ファイルそれ自体が転送される方式が選択され、そうではない場合には、旧差分ファイルが生成されて転送される方式が選択されても良い。
以下、本発明の第三実施例について説明する。
図20Aは、本発明の第三実施例に係る情報処理システムの概要を示す。
LAN3に、バックアップサーバ101が接続される。バックアップサーバ101には、テープライブラリ103が接続されている。テープライブラリ103には、記憶装置としてテープを備えたテープシステム105が接続されている。テープライブラリ103は、この例では、バックアップサーバ101に直接接続されているが、LAN3等の通信ネットワークを介して接続されても良い。テープライブラリ103は、内蔵するテープシステム105に対してデータの読み書きを行うことができる。テープシステム105は、通常、処理の高速化のために複数のテープデッキを有しているが、ここでは図示していない。また、モデルをシンプルにするために、テープライブラリ103の収納可能なテープの一本に、一つのLUが格納されているように図示している。具体的には、例えば、図示のように、テープ1にLU0のデータが格納されており、テープ2にLU1のデータが格納されている。
NASコントローラ5には、バックアップサーバ登録テーブル102が、例えばメモリ7に記憶されている。バックアップサーバ登録テーブル102には、前もって、特定の者(例えばシステム管理者)により、特定のバックアップサーバに関する情報(例えば、識別子)が登録される。
記憶装置システム2のLU0とLU1(以下、プライマリのLU0、LU1)には、同一のファイルAが存在する。NASコントローラ5により、情報処理装置1に対しては、両方のファイルAが認識可能とされ、テーブル102に登録されたバックアップサーバ101に対しては、プライマリのLU0に存在するファイルAは認識可能とされるが、プライマリのLU1に存在するファイルAは隠蔽される。このように、少なくとも一つの重複ファイルを、登録されたバックアップサーバ101に対して隠蔽することで、例えば同一内容のファイルを多重にバックアップすることを防げるので、バックアップされるデータの量を低減することができる。また、その結果として、バックアップに要する時間を短縮することができる。
プライマリのLU1には、更に、記憶装置システム2に存在する各重複ファイルのファイルメタデータを記録したファイル(以下、メタデータ集合ファイル)Xも記録されている。また、上記の隠蔽されたファイルであっても、データのリストア時に完全に元の状態に復元できるように、NASコントローラ5は、記憶装置システム2におけるメタデータ集合ファイルXをバックアップサーバ101に認識させる。図20Aでは、より信頼性の低い記憶領域であるLU1にメタデータ集合ファイルXが配置されているようにバックアップサーバ101には認識される。その結果、例えば、メタデータ集合ファイルXは、バックアップサーバ101により、プライマリのLU1から読み出されて、セカンダリのLU1(テープ2におけるLU1)に格納される。
この第三実施例では、第一、第二及び第三のモードのうちの少なくとも一つのモードが採用される。
(A)第一のモード。
ファイルイメージでバックアップを行うNASの場合は、情報処理装置1からのリード処理を順次実行することで、バックアップが実現される。このため、何ら工夫が行われないと、互いに重複する両方のファイルが読み出されて、読み出された両方のファイルがバックアップサーバ101に転送されることになるため、データ量の減少が望めない。
そこで、この第一のモードでは、NASコントローラ5は、登録されたバックアップサーバ101からのアクセスであることを判別した場合には、ファイルのiノードツリーから重複ファイルのiノードのみをバックアップサーバ101に対して隠蔽し、ファイルを不可視の状態とする。これにより、バックアップ対象となるデータ量を削減することができる(換言すれば、バックアップに要する時間を短縮することが可能となる)。具体的には、例えば、プライマリのLU0における全てのデータがバックアップサーバ101に認識され、その結果、プライマリのLU0から全てのデータが読み出されて、テープ1のLU0(以下、セカンダリのLU0)にバックアップされても良い。
この第一のモードの場合、重複ファイル以外の全てのファイルの復元をテープシステム105上に行うことが可能となる。復元されない重複ファイルについては、例えば、セカンダリのLU0における更新前ファイル(原本となるファイル)と、プライマリのLU1からセカンダリのLU1(テープ2のLU1)にコピーされたメタデータ集合ファイルXとに基づいて、復元が行われても良い。また、その復元が済んだ後は、テープシステム105からメタデータ集合ファイルXが消去されても良い。
なお、NASコントローラ5に予め登録されてないバックアップサーバからのアクセスを受けた場合には、NASコントローラ5は、重複ファイルを含めた全てのファイルの存在を見せても良い。この場合、その予め登録されてないバックアップサーバには、全てのファイルが読み出されても良い。
なお、NASコントローラ5は、更新後ファイルと新差分ファイルとを記憶装置システム2から読み込み、読み込まれた更新後ファイルと新差分ファイルとに基づいて更新前ファイルをキャッシュ領域上で復元し、復元された更新前ファイルをバックアップサーバ101に転送してもよい。
また、NASコントローラ5は、前述したように、リストア時に以前の状態を回復可能とする為、LU1の不可視状態ファイルのファイルメタデータを纏めて、一つのめたデータ集合ファイルXとして、或るLU(例えば図示のようにLU1)に書き込んでも良い。この場合、バックアップサーバ101が、そのメタデータ集合ファイルXに書かれている情報に基づいて、隠蔽されているファイルを読出し、テープライブラリ103を介してテープシステム105のLUに書込みを行うことで、データ量の削減を図りつつ、復元が可能となる。
また、NASコントローラ5は、前述したように、リストア時に以前の状態を回復可能とする為、LU1の不可視状態ファイルのファイルメタデータを纏めて、一つのめたデータ集合ファイルXとして、或るLU(例えば図示のようにLU1)に書き込んでも良い。この場合、バックアップサーバ101が、そのメタデータ集合ファイルXに書かれている情報に基づいて、隠蔽されているファイルを読出し、テープライブラリ103を介してテープシステム105のLUに書込みを行うことで、データ量の削減を図りつつ、復元が可能となる。
また、例えば、メタデータ集合ファイルXには、他の通常ファイルと識別することができるようなファイル属性が設定されても良いし、或いは、NASコントローラ5又はディスクコントローラ23が管理するパス(フォルダ)/ファイル名で識別可能とされてもよい。この場合、NASコントローラ5は、当該メタデータ集合ファイルXから特定されるファイルを記憶するLUより信頼性順位の高いLUに存在する実体ファイル(つまり、領域開放されたことにより仮想的に存在するファイルではなくデータとして実在するファイル)を用いて、記憶管理テーブルの再構築(例えば、実体ファイルのデータが実在する位置を表す情報に、ファイルメタデータ中の参照位置情報を更新する処理)を行っても良い。
(B)第二のモード。
旧差分ファイル或いは新差分ファイルそれ自体がバックアップされる。この場合、テープシステム105のテープによる必要記憶容量を抑えることができる。すなわち、第一のモードでは、更新後ファイル及び新差分ファイルに基づいて更新前ファイルが復元され、その復元された更新前ファイルがバックアップサーバ101に提供されるが、第二のモードでは、新差分ファイルのまま、バックアップサーバ101に提供される。これにより、第一のモードよりも、バックアップされるデータの量を低減することが可能である。しかしながら、この第二のモードでは、新差分ファイルに基づいてバックアップサーバ101が更新前ファイルを作成する必要が生じ得るので、そのような機能を有しないバックアップサーバにはその機能を備えさせる必要が生じると考えられる。
(C)第三のモード。
記憶装置システム2の物理イメージ(例えば、ボリュームイメージ或いはLUイメージ)がファイルとされ、そのファイルがバックアップサーバ101に転送される。具体的には、例えば、図20Bに例示するように、NASコントローラ5が、先頭LBAから1GBの連続したブロック単位毎の物理イメージをファイル化し、このファイル(以下、物理イメージファイル)を、バックアップサーバ101に転送する。バックアップサーバ101は、この物理イメージファイルを、テープライブラリ103を介してテープシステム105のテープに書き込む。
この第三のモードによれば、テープシステム105に、記憶装置システム2の内容を完全に一致させた復元を行うことができる。換言すれば、第三のモードは、記憶装置システム2の或る記憶領域(例えばLU又は論理ボリューム)における使用済みデータ量が多い場合に有効であり、テープ上に記憶されるファイル名やパス名の情報を削減することで、テープの必要記憶容量を抑えることができる。ここで、「使用済みデータ量」とは、或る記憶領域を占めるデータ(ファイル)の使用量である。
また、各ファイルの読出し毎にコマンドやステータスを通信する回数が減るため、データ転送効率が向上する他、記憶装置システム2にとっては、次のデータの先読み等が容易で、ハードディスクのシーク時間等の待ち時間を減らすことができる。
また、システム管理者にとっては、ファイル数の多少に関わらず、データサイズが変化しないので、フルバックアップ時の記憶容量(例えばテープ)の割当の計算が容易である。
なお、例えば、NASコントローラ5が、メモリ7等に、フルバックアップに要すると予測される転送時間長(以下、予測転送時間長)と、登録済みバックアップサーバ101の前回のアクセス時間長(データ転送時間長)とを記憶するようにすれば、次回のアクセス時には、予測転送時間長と前回のアクセス時間長との差分に基づき、前回からの差分イメージを転送するようにすることも可能である(各リージョンイメージファイルのデータ長が小さくなる)。
なお、例えば、NASコントローラ5が、メモリ7等に、フルバックアップに要すると予測される転送時間長(以下、予測転送時間長)と、登録済みバックアップサーバ101の前回のアクセス時間長(データ転送時間長)とを記憶するようにすれば、次回のアクセス時には、予測転送時間長と前回のアクセス時間長との差分に基づき、前回からの差分イメージを転送するようにすることも可能である(各リージョンイメージファイルのデータ長が小さくなる)。
さて、上述した第一モード〜第三モードのどれにするかを、例えば、手動で又は自動で選択することができる。具体的には、例えば、NASコントローラ5は、情報処理装置1又は図示しない管理者端末に、第一モード〜第三モードのうちのどのモードを採用するかを受付け、モードの選択を受けた場合、その選択されたモードによるバックアップを行うようにすることができる。
以下、この第三実施例で行われる処理の流れの一例を説明する。
図21Aは、NASコントローラ5がバックアップサーバ101からファイルマウント要求を受けた場合に行われる処理の流れの一例を示す。
NASコントローラ5は、アクセス命令(例えば読出し命令)の送信元のバックアップサーバ101の識別子が予めバックアップサーバ登録テーブル102に登録されているか否かを判断する(S151)。
S151の結果、送信元のバックアップサーバ101が、登録済みでなく(S151でNO)、且つ、アクセス権限が無い場合(S152でNO)、NASコントローラ5は、アクセスを拒絶することを意味する応答を返す(S153)。
S151の結果、送信元のバックアップサーバ101が、登録済みでないが(S151でYES)、アクセス権限を有する場合(S152でYES)、NASコントローラ5は、アクセスを許可することを意味する応答を返す(S157)。
S151の結果、送信元のバックアップサーバ101が、登録済みである場合(S151でYES)、NASコントローラ5は、第一〜第三のモードのうちのどれが選択されているか(例えば、どのモードを実行することがNASコントローラ5のメモリ7に設定されているか)を判断する(S154)。
S154の結果、第一又は第二のモードが選択されている場合、NASコントローラ5は、重複ファイルのiノードを隠蔽し、且つ、メタデータ集合ファイルX用のiノードを追加して(S155)、アクセスを許可する応答を返す(S157)。
S154の結果、第三のモードが選択されている場合、NASコントローラ5は、生成されたファイルイメージのiノード(物理イメージ用のiノード)を追加し(S156)、アクセスを許可する応答を返す(S157)。
このように、重複ファイルを隠蔽するか否かの判断は、ファイルマウント要求を受信した場合に行われる。これにより、以後、NASコントローラ5が読み出し命令を受信した場合、その読み出し命令が、バックアップのための読み出し命令なのか、情報処理装置1からの通常の読み出し命令なのかを判別することができなくても、バックアップサーバ101に対しては重複ファイルを隠蔽することができる。
図21Bは、NASコントローラ5がバックアップサーバ101からファイル読出し命令を受けた場合に行われる処理の流れの一例を示す。
NASコントローラ5は、受けたファイル読出し命令が、アクセス権限が無いバックアップサーバからのものである場合(S161でNO)、アクセスを拒絶することを意味する応答を返す(S162)。
NASコントローラ5は、受けたファイル読出し命令が、アクセス権限が有るバックアップサーバからのものである場合(S161でYES)、第一〜第三のモードのうちのどれが選択されているか判断する(S163)。
S163の結果、第一のモードが選択されている場合、NASコントローラ5は、ファイル読出し命令に従う読出しを行う場合に、新差分ファイルへアクセスする必要があれば(S164でYES)、その新差分ファイルに基づいて、読出し対象の更新前ファイルを復元し、復元された更新前ファイルを、バックアップサーバ101に送信する(S166)。一方、新差分ファイルへアクセスする必要がなければ(S164でNO)、NASコントローラ5は、読出し対象ファイルを読出し、読み出されたファイルをバックアップサーバ101に送信する(S166)。
S163の結果、第二のモードが選択されている場合、NASコントローラ5は、ファイル読出し命令に従って読み出された新差分ファイルを、バックアップサーバ101に送信する(S166)。
S163の結果、第三のモードが選択されている場合、NASコントローラ5は、物理イメージを表した物理イメージファイルを作成し(S167)、その物理イメージファイルを、バックアップサーバ101に送信する(S166)。
以上のように、NASコントローラ5は、選択されているモードに応じた方法でバックアップを行うことができる。
以下、本発明の第四実施例について説明する。
図22は、本発明の第四実施例で行われる処理の概要を示す。
この第四実施例は、本発明の第一実施例がILM(Information Lifecycle Management)に適用された場合の一例である。
すなわち、第一実施例では、完全に又は部分的に重複したファイルの検出を上記総当たり方式で行う場合よりも短時間で行うことができる。ファイルの複製や、バージョンを管理するような動作を行う場合、これらのファイルは重要である可能性が高い。この第四実施例では、重要なデータがどれであるかを識別し、重要であると識別されたデータを、積極的に、より信頼性順位の高い領域にバックアップすることが行われる。
例えば、NASコントローラ5が、完全な又は部分的な重複ファイルを重要なファイルであると判断し、その重複ファイルを、より信頼性順位の高い領域に移動或いはバックアップすることができる。具体的には、例えば、完全に又は部分的に互いに重複するファイルが検出された場合、NASコントローラ5は、完全に重複するファイルの場合は片方のファイル、部分的に重複する場合には両方のファイルを、確保されている高信頼性領域にバックアップする。これにより、高信頼性領域とは別の領域が障害等によりデータロストしても、重要データは高信頼性領域に保護されているので、重要データの消失の危険性を抑えることができる。なお、ここで、「高信頼性領域」とは、例えば、移動前のファイルが記憶されている記憶領域よりも信頼性順位の高い記憶領域であっても良いし、最高の信頼性順位の記憶領域として予め確保された記憶領域であっても良い。
また、例えば、NASコントローラ5は、一旦バックアップされたファイルの元ファイルが更新された場合は、それをバックアップ先にも反映する。これにより、高信頼性領域とは別の領域が障害等によりデータロストしても、例えば、システム管理者又はアクセス権限のあるユーザから当該高信頼性領域にアクセスすることで、最新のファイルでの回復を期待できる。
また、例えば、NASコントローラ5が、当該高信頼性領域をWORM領域(ライト・ワンス・リード・メニー領域)として管理することで、重要データの更新履歴を当該領域に残していくことができる。
以下、この図22を参照して、この第四実施例で行われる処理の流れの一例の概要を説明する。
例えば、図22に示すように、記憶装置システム2内に、LU0に存在するフォルダXと、LU1に存在するフォルダUYと、LU3に存在するフォルダZとがあるとする。フォルダXには、ファイルAとファイルBとがあるとする。LU0及びLU1には、信頼性順位として「2」が割り当てられており、LU3には、より高い信頼性順位として「1」が割り当てられているとする。
この場合において、例えば、NASコントローラ5は、フォルダX内のファイルAをフォルダYにコピーした場合、フォルダXを有するLU0よりも信頼性順位の高いLUを、信頼性比較用テーブル55を用いて探し、探し出されたLU3におけるフォルダZに、フォルダX内のファイルAをコピーする。そして、NASコントローラ5は、フォルダXにおけるファイルAそれ自体と、そのファイルAの位置を表す参照位置情報を含んだファイルメタデータ601とを、フォルダZに格納する。また、NASコントローラ5は、フォルダYにおけるファイルAの位置を表す参照位置情報を含んだファイルメタデータ603を、フォルダZのファイルAに関連付ける(例えば、ファイルAに統合する)。
また、例えば、NASコントローラ5は、フォルダX内のファイルBを別ファイル名で更新した場合、更新前のファイルB及び更新後のファイルB´の両方を、フォルダZにコピーする。また、NASコントローラ5は、フォルダXにおけるファイルBの位置を表す参照位置情報を含んだファイルメタデータ605を、フォルダZに記憶されているファイルBに関連付け(例えばファイルBに統合し)、ファイルB´の位置を表す参照位置情報を含んだファイルメタデータ607を、フォルダZに記憶されているファイルB´に関連付ける(例えばファイルB´に統合する)。
また、例えば、NASコントローラ5は、バックアップ元となったフォルダXのファイルAをファイルA´に更新した場合、その更新を、バックアップ先のフォルダZにも反映させる。具体的には、例えば、NASコントローラ5は、図22の下部に示す通り、ファイルAのファイルメタデータ601、603のうちの一方を削除し、バックアップ元のフォルダXにおける更新後ファイルA´の参照位置情報を含んだファイルメタデータ609を、フォルダZに記憶された更新後ファイルA´に関連付ける(例えば更新後ファイルA´に統合する)。
図23は、図22に示した処理流れの概要をより詳細に示したものの一例である。
例えば、図11のS69でNOの場合、NASコントローラ5は、更新前ファイルがバックアップ済みでなければ(S201でNO)、S202以降の処理を行う。バックアップ済みデータであるか否かは、例えば、高信頼性領域に存在するファイルに、更新前ファイルに関するデータ(上記第二データ又は第三データ)のファイルメタデータと同じファイルメタデータが関連付けられているか否かを、記憶管理テーブル51を参照して調べることにより、判別することができる。
NASコントローラ5は、第一のデータを高信頼性領域に書込み(S202)、高信頼性領域に書かれた第一のデータのエントリ(ファイルメタデータの全部又は一部)を記憶管理テーブル51に追記する(S203)。また、NASコントローラ5は、その第一データの更新前ファイルのデータ(上記第二データ又は第三データ)を高信頼性領域に書込み(S204)、高信頼性領域に書かれた更新前ファイルのデータのエントリを記憶管理テーブル51に追記する(S205)。更に、NASコントローラ5は、S203及びS205で追記したエントリを高信頼性領域に書き込む(S212)。
図11のS69でNOの場合、NASコントローラ5は、バックアップ済みデータであれば(S201でYES)、第一のデータを高信頼性領域に書込み(S206)、記憶管理テーブル51のエントリ(第一のデータに対応するエントリ)を更新する(S207)。この後、上記S212が行われる。
図11のS69でYESの場合、NASコントローラ5は、第一のデータ(書き込み対象のファイル)と重複するファイルがバックアップ済みでなければ(S201でNO)、第一のデータを高信頼性領域に書込み(S209)、その第一のデータと重複する第二又は第三のデータ(原本ファイル、換言すれば、完全に重複する更新前ファイル)のエントリを記憶管理テーブル51に追加する(S210)。そして、NASコントローラ5は、第一のデータのエントリを記憶管理テーブル51に追加し(S211)、S212を行う。
図11のS69でYESの場合、NASコントローラ5は、第一のデータ(書き込み対象のファイル)と重複するファイルがバックアップ済みであれば(S201でYES)、S209及びS211を行うことなく、上記S211及びS212を行う。
この第四実施例では、更新前ファイルと完全に又は部分的に重複したファイルを、重要データとして、積極的に、信頼性順位の高いLUにバックアップすることができる。
以上、本発明の好適な幾つかの実施例を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこれらの実施例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。
例えば、図24に例示するように、NASコントローラ5の機能をディスクコントローラ23に組み込み、NASコントローラ5が設けられなくても良い。具体的には、例えば、NASコントローラ5のCPU11が行える処理を、ディスクコントローラ23のCPU125が行うことができる。
例えば、基本筐体21にも、一以上の物理記憶装置45及び/又は46が搭載されてもよい。また、各増設筐体23には、複数種類の物理記憶装置45,46が混在してもよい。
また、例えば、記憶管理テーブル51に登録されるファイルメタデータには、更に、重複ファイルである場合にはそのことを意味するフラグと、重複する相手のファイルのファイルメタデータの参照位置とが記録されても良い。この場合、記憶管理テーブル51を参照することにより、どのファイルとどのファイルとが重複するかを検索することができる。また、互いに重複する二つのファイルの一方を削除する場合には、その一方のファイルのファイルメタデータを削除し、他方のファイルのファイルメタデータを更新することができる。なお、例えば、三つ以上の重複ファイルを検索することを容易にするためには、重複ファイルリスト403を用いる方式と併用することが好ましいと考えられる。
また、例えば、重複ファイル例えば、重複ファイルも2つ程度までなら目的に合致した運用といえるが、3つ以上に重複している場合、その一部は不要である場合がある。前述の様に、重複部分は共用されるので、領域の圧迫(消費)は少ないが、検索効率の低下等の悪影響が想定される。このため、不要なファイルは削除されることが望ましい。そこで、例えば、NASコントローラ5のCPU11は、互いに重複するファイルの数(以下、重複数)が一定数に達したか否かを監視し、達したと判断された場合に、各々のファイルを書き込んだ情報処理装置1に、そのことを通知するようにしてもよい。NASコントローラ5のCPU11は、ファイルを書込んだ情報処理装置1が誰であるかを認識することができるので、重複数が一定数以上になるような書込みに対し、その情報処理装置1へメッセージ送信等により、他にある重複ファイルのパス名等のファイルメタデータを併せて通知して、情報処理装置1のユーザに対し、更新したファイル(例えば複製したファイル)の削除を促すこともできる。他にも、例えば、情報処理装置1のIDとそれのメールアドレスとを関連付けてNASコントローラ5のメモリ7に記憶させておくことで、重複数が一定数になった時点で、CPU11が、各ファイルの所有者(情報処理装置1及び/又はユーザ)に、重複数が一定数になったこと等を記載した電子メールを自動送信し、不要なファイルの削除を促すこともできる。
また、例えば、LU単位ではなく、別の単位(例えば、ボリューム単位或いはブロック単位)で、信頼性順位が割り当てられていても良い。
また、例えば、信頼性順位を参照する方法とは別の方法で、記憶領域の信頼性が判断されても良い。例えば、RAIDレベル及び/又は記憶装置種類(例えば、FC或いはSAS)に基づいて、信頼性の高低が判別されても良い。
また、例えば、重複ファイルの有無の判定は、例えば、所定のコンピュータプログラムを実行するCPUによって行われても良いし、ハードウェア回路(例えばデータコントローラ14)によって行われても良い。
また、例えば、CPU11は、第一の重複ファイルが記憶されている第一のLUと、第二の重複ファイルが記憶されている第二のLUとの信頼性順位が同じ場合、空き領域がすくない方のLUから、重複データが存在する領域を開放するようにしてもよい。
1…情報処理システム 2…記憶装置システム 3…LAN 5…NASコントローラ 7…メモリ 11…CPU 23…ディスクコントローラ 45…FC HDD 46…SAS HDD 48,50…LU 51…記憶管理テーブル 53…ファイル比較用テーブル 55…信頼性比較用テーブル
Claims (21)
- 複数の記憶領域のうちの少なくとも一つの記憶領域に記憶される互いに重複した重複ファイルを検索する重複検索手段と、
前記検索された重複ファイルのうちの少なくとも一方の重複部分のデータを、その重複部分のデータが記憶されている記憶領域以上の信頼性を有する記憶領域に記憶する記憶制御手段と
を備える記憶制御システム。 - 前記複数の記憶領域には多数のファイルが記憶されており、
前記重複検索手段は、前記記憶されているファイルの数よりも少ない数のファイルの中から前記重複ファイルを検索する、
請求項1記載の記憶制御システム。 - 少なくとも一つの記憶領域からファイルを読み出す手段と、
ファイルが読み出される都度に、読み出されたファイルをマークし、且つ、マークされたファイルの数を、前記記憶されているファイルの数よりも少ない数に制御するファイルマーク手段と
を備え、
前記重複検索手段は、マークされている複数のファイルの中から、或るファイルと重複するファイルを検索する、
請求項2記載の記憶制御システム。 - 前記重複検索手段は、前記マークされている複数のファイルのうち、マークされた時点が現在に近いファイルから順に、前記或るファイルと重複するか否かを判断する、
請求項3記載の記憶制御システム。 - 前記重複検索手段は、前記マークされている複数のファイルから前記重複したファイルが見つからない場合には、前記或るファイルのファイル名の全部又は一部及び/又はファイルサイズが一致する一以上のファイルの中から、前記或るファイルと重複したファイルを検索する、
請求項3記載の記憶制御システム。 - 複数の記憶領域の各々の信頼性に関する信頼性情報を記憶することができる信頼性記憶域を更に備え、
前記記憶制御手段は、二つのファイルが互いに完全に重複する場合には、前記信頼性情報に基づいて、どちらのファイルがより信頼性の高い記憶領域に存在するかを判断し、信頼性が低い記憶領域に存在する方のファイルの場所を開放し、信頼性の高い記憶領域に入っている方のファイルを残す、
請求項1記載の記憶制御システム。 - 複数の記憶領域の各々の信頼性に関する信頼性情報を記憶することができる信頼性記憶域を更に備え、
前記記憶制御手段は、更新前後のファイルが互いに部分的に重複する場合には、前記信頼性情報に基づいて、更新後のファイルを、更新前のファイルが記憶されている記憶領域以上の信頼性を有する記憶領域に記憶させ、更新前後のファイルの差分ファイルを生成し、前記生成された差分ファイルを、少なくとも一つの記憶領域に記憶させ、前記更新前ファイルのうちの少なくとも重複部分のデータが存在する場所を開放する、
請求項1記載の記憶制御システム。 - 前記検索された重複ファイルに関する情報を所定のログファイルに書き込むログファイル更新手段を更に備え、
前記重複検索手段は、前記ログファイルに記録されている情報に基づいて、前記重複ファイルを検索する、
請求項1記載の記憶制御システム。 - 前記記憶制御システムは、別の記憶制御システムと通信可能に接続されており、
前記記憶制御手段は、
前記複数の記憶領域のプライマリの記憶領域に存在する全てのファイルを、前記別の記憶制御システムに転送することにより、前記別の記憶制御システムがアクセス可能なセカンダリの記憶領域に、前記全てのファイルをコピーし、その後、前記プライマリの記憶領域の或るファイルが更新された場合、少なくとも更新後ファイルのファイルメタデータを前記別の記憶制御システムに転送する、
請求項1記載の記憶制御システム。 - 前記記憶制御システムは、少なくとも一つの記憶領域に記憶されているファイルを取得しバックアップ用記憶領域にバックアップするバックアップ装置と通信可能に接続されており、
前記バックアップ装置に対して、前記検索された重複ファイルを隠蔽する、
請求項1記載の記憶制御システム。 - 前記記憶制御手段は、前記複数の記憶領域に記憶されている多数のファイルにそれぞれ対応した多数のファイルメタデータが記録されたメタデータ集合ファイルを生成し、前記生成したメタデータ集合ファイルを少なくとも一つの記憶領域に記憶させ、前記記憶させたメタデータ集合ファイルを前記バックアップ装置に送信し、それにより、バックアップ装置において、前記メタデータ集合ファイルに記録されているファイルメタデータに基づく復元を可能にする、
請求項10記載の記憶制御システム。 - 前記記憶制御手段は、前記複数の記憶領域のうちの少なくとも一つの物理イメージの物理イメージファイルを作成し、前記作成した物理イメージファイルを前記バックアップ装置に送信する、
請求項10記載の記憶制御システム。 - 前記記憶制御手段は、前記検索された重複ファイルのうちの少なくとも一方の重複部分のデータを、その重複部分のデータが記憶されている記憶領域以上の信頼性を有する記憶領域にバックアップする、
請求項1記載の記憶制御システム。 - 前記記憶制御手段は、前記バックアップの後、バックアップ元のファイルが更新された場合には、バックアップ先にその更新結果を反映する、
請求項12記載の記憶制御システム。 - 重複したファイルの数の閾値を記憶する閾値記憶域と、
前記検索された重複ファイルの数が前記閾値以上になった場合には、不要な重複ファイルの削除をユーザに促す手段と
を備える、
請求項1記載の記憶制御システム。 - 複数の記憶領域に記憶されているファイルの数よりも少ない数のファイルの中から、互いに重複した重複ファイルを検索する重複検索手段と、
前記検索された重複ファイルに対する所定の処理を行う制御手段と
を備える記憶制御システム。 - 複数の記憶領域のうちの少なくとも一つの記憶領域に記憶される互いに重複した重複ファイルを検索し、
前記検索された重複ファイルのうちの少なくとも一方の重複部分のデータを、その重複部分のデータが記憶されている記憶領域以上の信頼性を有する記憶領域に記憶する、
記憶制御方法。 - 複数の記憶領域に記憶されているファイルの数よりも少ない数のファイルの中から、互いに重複した重複ファイルを検索し、
前記検索された重複ファイルに対する所定の処理を行う、
記憶制御方法。 - 複数の記憶領域のうちの少なくとも一つの記憶領域に記憶される互いに重複した重複ファイルを検索し、
前記検索された重複ファイルのうちの少なくとも一方の重複部分のデータを、その重複部分のデータが記憶されている記憶領域以上の信頼性を有する記憶領域に記憶する、
ことをコンピュータに実行させるためのコンピュータプログラム。 - 複数の記憶領域に記憶されているファイルの数よりも少ない数のファイルの中から、互いに重複した重複ファイルを検索し、
前記検索された重複ファイルに対する所定の処理を行う、
ことをコンピュータに実行させるためのコンピュータプログラム。 - 少なくとも一つの記憶域と、
少なくとも一つプロセッサと
を備え、
前記少なくとも一つのプロセッサが、
多数のファイルが記憶されている複数の記憶デバイスのうちの少なくとも一つの記憶デバイスからファイルを読み出し、
ファイルが読み出される都度に、読み出されたファイルを前記記憶域上にマークし、且つ、マークされたファイルの数を、前記複数の記憶デバイスに記憶されているファイルの数よりも少ない数に制御し、
マークされている複数のファイルの中から、或るファイルと重複するファイルを検索し、
前記検索された重複ファイルのうちの少なくとも一方の重複部分のデータを、その重複部分のデータが記憶されている記憶デバイス以上の信頼性を有する記憶デバイスに記憶させる、
記憶制御システム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005163801A JP2006338461A (ja) | 2005-06-03 | 2005-06-03 | 電子的なファイルの記憶を制御するシステム及び方法 |
US11/198,181 US20060277226A1 (en) | 2005-06-03 | 2005-08-08 | System and method for controlling storage of electronic files |
US12/423,483 US8478729B2 (en) | 2005-06-03 | 2009-04-14 | System and method for controlling the storage of redundant electronic files to increase storage reliability and space efficiency |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005163801A JP2006338461A (ja) | 2005-06-03 | 2005-06-03 | 電子的なファイルの記憶を制御するシステム及び方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006338461A true JP2006338461A (ja) | 2006-12-14 |
Family
ID=37495382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005163801A Pending JP2006338461A (ja) | 2005-06-03 | 2005-06-03 | 電子的なファイルの記憶を制御するシステム及び方法 |
Country Status (2)
Country | Link |
---|---|
US (2) | US20060277226A1 (ja) |
JP (1) | JP2006338461A (ja) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009245264A (ja) * | 2008-03-31 | 2009-10-22 | Nec Corp | バックアップ管理システム、方法、及び、プログラム |
JP2011076294A (ja) * | 2009-09-30 | 2011-04-14 | Hitachi Ltd | 階層ストレージ管理システムにおける重複ファイルの転送方法及びシステム |
JP2012063902A (ja) * | 2010-09-15 | 2012-03-29 | Nec Corp | ファイル管理装置、プログラム並びに方法 |
US8805156B2 (en) | 2008-08-21 | 2014-08-12 | Canon Kabushiki Kaisha | Recording control apparatus and recording control method |
JP2015043226A (ja) * | 2014-10-15 | 2015-03-05 | 株式会社日立製作所 | ストレージシステム及びストレージシステムのデータ転送方法 |
JP2016505935A (ja) * | 2013-02-27 | 2016-02-25 | ヒタチ データ システムズ コーポレーションHitachi Datasystems Corporation | 分散オブジェクトストレージエコシステムにおけるコンテンツとメタデータの分離 |
US9304710B2 (en) | 2010-09-10 | 2016-04-05 | Hitachi, Ltd. | Storage system and data transfer method of storage system |
JPWO2014112062A1 (ja) * | 2013-01-17 | 2017-01-19 | 株式会社日立製作所 | ストレージ装置及びデータ移行方法 |
US9838043B2 (en) | 2015-03-27 | 2017-12-05 | Fujitsu Limited | Storage system, information processor, and computer-readable recording medium having stored therein program for generating parity |
JP2019513269A (ja) * | 2016-03-31 | 2019-05-23 | ベリタス テクノロジーズ エルエルシー | 異種ストレージシステム間の複製 |
JP2023011448A (ja) * | 2021-07-12 | 2023-01-24 | 株式会社日立製作所 | バックアップシステム及び方法 |
JP7310110B2 (ja) | 2018-09-28 | 2023-07-19 | 日本電気株式会社 | ストレージ及び情報処理システム。 |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101070748B1 (ko) * | 2005-05-19 | 2011-10-10 | 엘지전자 주식회사 | 휴대형 재생장치의 파일정보 제공방법 |
JP4706342B2 (ja) * | 2005-06-09 | 2011-06-22 | 株式会社日立製作所 | データ管理方法および装置 |
US8458295B1 (en) * | 2005-11-14 | 2013-06-04 | Sprint Communications Company L.P. | Web content distribution devices to stage network device software |
KR20070061612A (ko) * | 2005-12-10 | 2007-06-14 | 삼성전자주식회사 | 전자장치 및 그 제어방법 |
US20070233868A1 (en) * | 2006-03-31 | 2007-10-04 | Tyrrell John C | System and method for intelligent provisioning of storage across a plurality of storage systems |
JP4169058B2 (ja) * | 2006-07-25 | 2008-10-22 | コニカミノルタビジネステクノロジーズ株式会社 | 画像形成装置、画像形成方法及びプログラム |
JP4767127B2 (ja) * | 2006-08-10 | 2011-09-07 | 株式会社日立製作所 | ファイルサーバ、計算機システム及びファイルの先読み方法。 |
JP4288525B2 (ja) * | 2007-02-16 | 2009-07-01 | 日本電気株式会社 | ファイル共有システムおよびファイル共有方法 |
JP2009016971A (ja) * | 2007-06-30 | 2009-01-22 | Brother Ind Ltd | 情報処理装置および情報処理プログラム |
JP4921335B2 (ja) * | 2007-12-10 | 2012-04-25 | キヤノン株式会社 | ドキュメント処理装置及び検索方法 |
JP2009187136A (ja) * | 2008-02-04 | 2009-08-20 | Fujitsu Ltd | 電子ファイル管理装置および電子ファイル管理方法 |
JP4959630B2 (ja) * | 2008-05-23 | 2012-06-27 | 株式会社東芝 | データ記憶装置 |
US8326804B2 (en) * | 2008-06-06 | 2012-12-04 | Symantec Corporation | Controlling resource allocation for backup operations |
US8788466B2 (en) * | 2008-08-05 | 2014-07-22 | International Business Machines Corporation | Efficient transfer of deduplicated data |
US20100049919A1 (en) * | 2008-08-21 | 2010-02-25 | Xsignnet Ltd. | Serial attached scsi (sas) grid storage system and method of operating thereof |
US8452922B2 (en) * | 2008-08-21 | 2013-05-28 | Infinidat Ltd. | Grid storage system and method of operating thereof |
US8443137B2 (en) * | 2008-08-21 | 2013-05-14 | Infinidat Ltd. | Grid storage system and method of operating thereof |
US8495291B2 (en) * | 2008-08-21 | 2013-07-23 | Infinidat Ltd. | Grid storage system and method of operating thereof |
US8290915B2 (en) * | 2008-09-15 | 2012-10-16 | International Business Machines Corporation | Retrieval and recovery of data chunks from alternate data stores in a deduplicating system |
US8495032B2 (en) * | 2008-10-01 | 2013-07-23 | International Business Machines Corporation | Policy based sharing of redundant data across storage pools in a deduplicating system |
US8161255B2 (en) * | 2009-01-06 | 2012-04-17 | International Business Machines Corporation | Optimized simultaneous storing of data into deduplicated and non-deduplicated storage pools |
JP4670968B2 (ja) * | 2009-01-22 | 2011-04-13 | 富士ゼロックス株式会社 | 情報管理プログラム及び情報管理システム |
US8983938B1 (en) * | 2009-02-06 | 2015-03-17 | Hewlett-Packard Development Company, L.P. | Selecting a command file |
US8560879B1 (en) * | 2009-04-22 | 2013-10-15 | Netapp Inc. | Data recovery for failed memory device of memory device array |
US8904226B2 (en) * | 2010-08-26 | 2014-12-02 | Cleversafe, Inc. | Migrating stored copies of a file to stored encoded data slices |
US20160070495A1 (en) * | 2011-05-02 | 2016-03-10 | Netapp, Inc. | Logical replication mapping for asymmetric compression |
US9053107B1 (en) * | 2011-12-06 | 2015-06-09 | Google Inc. | Determining updates for files based on an organization of the files on different blocks of a storage device |
US9501426B1 (en) * | 2013-02-08 | 2016-11-22 | Workday, Inc. | Dynamic two-tier data storage utilization |
US9396131B1 (en) | 2013-02-08 | 2016-07-19 | Workday, Inc. | Dynamic three-tier data storage utilization |
US9804781B2 (en) | 2014-03-26 | 2017-10-31 | Seagate Technology Llc | Storage media performance management |
US9858325B1 (en) * | 2014-09-29 | 2018-01-02 | Amazon Technologies, Inc. | Consolidating data in storage host groupings |
US10685114B2 (en) * | 2015-09-23 | 2020-06-16 | University Of Florida Research Foundation, Incorporated | Malware detection via data transformation monitoring |
RU2617631C2 (ru) * | 2015-09-30 | 2017-04-25 | Акционерное общество "Лаборатория Касперского" | Способ обнаружения работы вредоносной программы, запущенной с клиента, на сервере |
US10482071B1 (en) * | 2016-01-26 | 2019-11-19 | Pure Storage, Inc. | Systems and methods for providing metrics for a plurality of storage entities of a multi-array data storage system |
US10069597B2 (en) * | 2016-09-07 | 2018-09-04 | Western Digital Technologies, Inc. | Aggregated metadata transfer at a data storage device |
US10831719B2 (en) * | 2017-08-29 | 2020-11-10 | Western Digital Technologies, Inc. | File consistency in shared storage using partial-edit files |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4987533A (en) * | 1988-05-05 | 1991-01-22 | International Business Machines Corporation | Method of managing data in a data storage hierarchy and a data storage hierarchy therefor with removal of the least recently mounted medium |
US5617566A (en) * | 1993-12-10 | 1997-04-01 | Cheyenne Advanced Technology Ltd. | File portion logging and arching by means of an auxilary database |
JPH07319897A (ja) | 1994-05-20 | 1995-12-08 | Canon Inc | 情報処理方法及び装置 |
US5634052A (en) * | 1994-10-24 | 1997-05-27 | International Business Machines Corporation | System for reducing storage requirements and transmission loads in a backup subsystem in client-server environment by transmitting only delta files from client to server |
US5778395A (en) * | 1995-10-23 | 1998-07-07 | Stac, Inc. | System for backing up files from disk volumes on multiple nodes of a computer network |
EP0836320B1 (en) * | 1996-10-08 | 2006-03-22 | Matsushita Electric Industrial Co., Ltd. | Information receiving method and information receiving apparatus using the same method |
JPH10124366A (ja) * | 1996-10-18 | 1998-05-15 | Nec Corp | ファイルデータ格納機構の並列管理方式 |
US5870109A (en) * | 1997-06-06 | 1999-02-09 | Digital Equipment Corporation | Graphic system with read/write overlap detector |
DE69802294T2 (de) * | 1997-08-29 | 2002-05-16 | Hewlett Packard Co | Systemen zur datensicherung und -rückgewinnung |
US6141728A (en) * | 1997-09-29 | 2000-10-31 | Quantum Corporation | Embedded cache manager |
US6327671B1 (en) * | 1998-11-18 | 2001-12-04 | International Business Machines Corporation | Delta compressed asynchronous remote copy |
US6687805B1 (en) * | 2000-10-30 | 2004-02-03 | Hewlett-Packard Development Company, L.P. | Method and system for logical-object-to-physical-location translation and physical separation of logical objects |
KR100388498B1 (ko) * | 2000-12-30 | 2003-06-25 | 한국전자통신연구원 | 복수 개의 레이드를 구비한 계층적 레이드 시스템 |
EP1244221A1 (en) * | 2001-03-23 | 2002-09-25 | Sun Microsystems, Inc. | Method and system for eliminating data redundancies |
US7092977B2 (en) * | 2001-08-31 | 2006-08-15 | Arkivio, Inc. | Techniques for storing data based upon storage policies |
US7117323B1 (en) * | 2001-10-23 | 2006-10-03 | Lsi Logic Corporation | Cyclic redundancy checking for managing the coherency of mirrored storage volumes |
US7185031B2 (en) * | 2002-03-25 | 2007-02-27 | Quantum Corporation | Creating a backup volume using a data profile of a host volume |
US7814128B2 (en) * | 2003-05-30 | 2010-10-12 | Symantec Operating Corporation | Multi-volume file support |
US7296008B2 (en) * | 2004-08-24 | 2007-11-13 | Symantec Operating Corporation | Generation and use of a time map for accessing a prior image of a storage device |
JP4728031B2 (ja) * | 2005-04-15 | 2011-07-20 | 株式会社日立製作所 | リモートコピーペアの移行を行うシステム |
-
2005
- 2005-06-03 JP JP2005163801A patent/JP2006338461A/ja active Pending
- 2005-08-08 US US11/198,181 patent/US20060277226A1/en not_active Abandoned
-
2009
- 2009-04-14 US US12/423,483 patent/US8478729B2/en not_active Expired - Fee Related
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009245264A (ja) * | 2008-03-31 | 2009-10-22 | Nec Corp | バックアップ管理システム、方法、及び、プログラム |
US8805156B2 (en) | 2008-08-21 | 2014-08-12 | Canon Kabushiki Kaisha | Recording control apparatus and recording control method |
JP2011076294A (ja) * | 2009-09-30 | 2011-04-14 | Hitachi Ltd | 階層ストレージ管理システムにおける重複ファイルの転送方法及びシステム |
US9304710B2 (en) | 2010-09-10 | 2016-04-05 | Hitachi, Ltd. | Storage system and data transfer method of storage system |
JP2012063902A (ja) * | 2010-09-15 | 2012-03-29 | Nec Corp | ファイル管理装置、プログラム並びに方法 |
JPWO2014112062A1 (ja) * | 2013-01-17 | 2017-01-19 | 株式会社日立製作所 | ストレージ装置及びデータ移行方法 |
US9977813B2 (en) | 2013-01-17 | 2018-05-22 | Hitachi, Ltd. | Storage device and data migration method |
JP2016505935A (ja) * | 2013-02-27 | 2016-02-25 | ヒタチ データ システムズ コーポレーションHitachi Datasystems Corporation | 分散オブジェクトストレージエコシステムにおけるコンテンツとメタデータの分離 |
JP2015043226A (ja) * | 2014-10-15 | 2015-03-05 | 株式会社日立製作所 | ストレージシステム及びストレージシステムのデータ転送方法 |
US9838043B2 (en) | 2015-03-27 | 2017-12-05 | Fujitsu Limited | Storage system, information processor, and computer-readable recording medium having stored therein program for generating parity |
JP2019513269A (ja) * | 2016-03-31 | 2019-05-23 | ベリタス テクノロジーズ エルエルシー | 異種ストレージシステム間の複製 |
JP7310110B2 (ja) | 2018-09-28 | 2023-07-19 | 日本電気株式会社 | ストレージ及び情報処理システム。 |
JP2023011448A (ja) * | 2021-07-12 | 2023-01-24 | 株式会社日立製作所 | バックアップシステム及び方法 |
US11762574B2 (en) | 2021-07-12 | 2023-09-19 | Hitachi, Ltd. | Backup system and method |
JP7387679B2 (ja) | 2021-07-12 | 2023-11-28 | 株式会社日立製作所 | バックアップシステム及び方法 |
Also Published As
Publication number | Publication date |
---|---|
US8478729B2 (en) | 2013-07-02 |
US20090204652A1 (en) | 2009-08-13 |
US20060277226A1 (en) | 2006-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006338461A (ja) | 電子的なファイルの記憶を制御するシステム及び方法 | |
US20210349856A1 (en) | Systems and methods for using metadata to enhance data identification operations | |
US8244997B2 (en) | Storage controller, storage system, and storage controller control method | |
US9606740B2 (en) | System, method and computer program product for synchronizing data written to tape including writing an index into a data partition | |
JP5706966B2 (ja) | 情報処理システム、及び、それを用いたファイル復元方法 | |
JP4741371B2 (ja) | システム、サーバ装置及びスナップショットの形式変換方法 | |
US7716183B2 (en) | Snapshot preserved data cloning | |
US7900000B2 (en) | Computer system preventing storage of duplicate files | |
WO2018040591A1 (zh) | 一种远程数据复制方法及系统 | |
US8538924B2 (en) | Computer system and data access control method for recalling the stubbed file on snapshot | |
US8200631B2 (en) | Snapshot reset method and apparatus | |
JP5320557B2 (ja) | ストレージシステム | |
US9075754B1 (en) | Managing cache backup and restore | |
US20070106712A1 (en) | Replication arbitration apparatus, method and program | |
US20120254107A1 (en) | Hierarchical management storage system and storage system operating method | |
JP2007226347A (ja) | 計算機システム、計算機システムの管理装置、及びデータのリカバリー管理方法 | |
KR20050030883A (ko) | 이송 및 소거 후보들에 대한 효율적인 탐색 | |
CN102870098A (zh) | 经由通信网络向远程文件服务器传送文件的本地文件服务器及具有该文件服务器的存储系统 | |
KR101369813B1 (ko) | 광 디스크 저장 시스템에 저장된 미디어에의 액세스, 압축 및 추적 | |
JP4175789B2 (ja) | 記憶装置のファイルレベルリモートコピー方法 | |
US8145602B2 (en) | Storage apparatus, data restoration method and computer system | |
US11249666B2 (en) | Storage control apparatus | |
WO2014109053A1 (ja) | ファイルサーバ、ストレージ装置及びデータ管理方法 | |
JP2000227868A (ja) | バックアップ取得方法および計算機システム |