JP5620053B2 - スケーラブル・ファイル・システムの回復のためのリソース管理 - Google Patents

スケーラブル・ファイル・システムの回復のためのリソース管理 Download PDF

Info

Publication number
JP5620053B2
JP5620053B2 JP2008170146A JP2008170146A JP5620053B2 JP 5620053 B2 JP5620053 B2 JP 5620053B2 JP 2008170146 A JP2008170146 A JP 2008170146A JP 2008170146 A JP2008170146 A JP 2008170146A JP 5620053 B2 JP5620053 B2 JP 5620053B2
Authority
JP
Japan
Prior art keywords
container
file
file data
file system
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.)
Expired - Fee Related
Application number
JP2008170146A
Other languages
English (en)
Other versions
JP2009015849A (ja
Inventor
ボ・ホン
ジョン・コルグローブ
ラモン・パンティン
フェン・ワン
オレグ・キセレヴ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Gen Digital Inc
Original Assignee
Symantec 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 Symantec Corp filed Critical Symantec Corp
Publication of JP2009015849A publication Critical patent/JP2009015849A/ja
Application granted granted Critical
Publication of JP5620053B2 publication Critical patent/JP5620053B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system

Landscapes

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

Description

本発明は、コンピュータ・システムに関し、さらに詳細にはコンピュータ・システムの中のファイル・システムのリソース管理に関する。
コンピュータ・ファイル記憶システムは、次第に大きくなり、多数のリソースを消費し、多様なファイル・システム・オペレーションに関してスケーラビリティの問題が存在するようになっている。特に、従来のファイル・システムでは、損傷を受けたファイル・システムを修復するために必要な時間の量は、よくても、ファイル・システムのメタデータのサイズに比例して増大する。修復が行われている間、ファイル・システムは通常オフラインになっており、その結果、許容できないほどの長時間にわたって、保存されたファイルがアクセス不可能になる。
損傷を受けたファイル・システムを修復するのに多大な時間がかかる1つの理由は、リソースが全体的にかつ無制限に割り当てられていることである。したがって、1つのエラーがファイル・システムのいずれの部分にも影響を及ぼす可能性があり、徹底的な一貫性チェックが必要となる。言い換えると、故障領域はファイル・システム全体であることもあり得る。よく知られているFile System Consistency Checker(FSCK)などのユーティリティをサポートするためには、全体的メタデータ追跡表を保持しなければならない。FSCKのオペレーションの間、これらの追跡表はアクセス可能でなければならない。その結果、仮想メモリ・サブシステムにストレスがかかり、一貫性チェック・オペレーションを平行して行うことが困難になることもある。大きいファイル・システムが多数の小さいファイル・システムへと分割されれば、小さいシステムのうちの1つの修復はより速くなるであろう。しかしながら、許容できない管理オーバヘッドが存在することもあり、単一のファイル・システムの意味が失われる可能性もある。FSCKに類似したユーティリティを実行するのに必要とされる時間を削減するために様々な技法を採用することができる。しかしながら、それでもなおソフトウェアのバグ又は外部の媒体によって引き起こされるようないくつかのタイプのエラーによって、多大な時間を要する一貫性チェックが必要となる。上記の観点から、これらの課題の主因となるファイル・システムのリソースを動的に管理するためのさらに有効なシステムと方法が望まれる。
コンピュータ・システム及び方法の様々な実施態様が開示される。一実施態様では、コンピュータ・システムは、保存データとそれに付随する保存メタデータとを含むファイル・システムを含む。ファイル・システム・エラーが起こったことを検出したことに応答して、ファイル・システムは、エラーが発生したファイル・データとそれに付随するメタデータとを含む第1のコンテナを識別し、第1のコンテナに含まれるファイル・データとそれに付随するメタデータの一貫性チェックを実行するように構成される。一実施態様では、コンテナは、いくつかのデータ記憶の割り当て単位と、付随するメタデータ記憶の単位とを含むファイル・システムの動的に作成された可変サイズ部分である。さらなる実施態様では、データをブロックの中に保存し、付随するメタデータをiノードの中に保存することである。コンテナはiノードとブロックの所有権を分離するために使用される。例えば、あるコンテナ内のiノードはその同じコンテナ内のブロックを参照するだけである。第1のコンテナと第2のコンテナとの間に双方向のリンクが存在し、かつその双方向リンク内でエラーが見つかった場合に、ファイル・システムは、第2のコンテナ内に含まれるファイル・データとそれに付随するメタデータの一貫性チェックを実行し、かつ第2のコンテナと第3のコンテナとの間に第2の双方向リンクが存在するかどうか判定するようにさらに構成される。第2のコンテナと第3のコンテナとの間に双方向のリンクが存在し、かつその第2の双方向リンク内でエラーが見つかった場合に、ファイル・システムは、第3のコンテナ内に含まれるファイル・データとこれに付随するメタデータの一貫性チェックを実行するようにさらに構成される。
新たなファイル・データを保存したいという要求を受信したことに応答して、ファイル・システムは、前に保存されて論理ネームスペース内で新たなファイル・データにリンクされるデータを含むターゲット・コンテナを識別するようにさらに構成される。新たなファイル・データが新たなディレクトリを含まない場合に、又は新たなファイル・データが新たなディレクトリを含み、かつターゲット・コンテナが、新たなディレクトリを収容するための十分なリソースを有する場合に、ファイル・システムは、新たなファイル・データをターゲット・コンテナ内に保存するようにさらに構成される。ターゲット・コンテナが新たなディレクトリのための十分なリソースを有さない場合に、ファイル・システムは、リンクされたコンテナを作成し、ファイル・データをリンクされたコンテナ内に保存し、かつターゲット・コンテナとリンクされたコンテナとの間の双方向リンクを保存するようにさらに構成される。論理ネームスペース内でファイルを移動させることや、ファイルの名前を変えることなどのファイル・システムのオペレーションに応答して、ファイル・システムは、第3のコンテナに保存されたデータと第4のコンテナに保存されたデータとの間の、論理ネームスペース内の接続を作成するオペレーションを検出したことに応答して、第3のコンテナと第4のコンテナとの間の双方向リンクを保存するようにさらに構成することができる。
ファイル・システムは、コンテナ間の双方向リンクの表を保持するようにさらに構成される。この双方向リンクの表は少なくとも一対の項目を含み、各々の項目がソース・コンテナ、ソースiノード、宛先iノードを識別する。所定の項目のソースiノードは、その所定の項目のソース・コンテナ内に保存されたファイル・データに付随するメタデータを保存するために使用される。所定の対のうちの第1の項目の宛先iノードは、その所定の対のうちの第2の項目のソースiノードと同じである。
これら及び他の実施態様は以下の記述及び添付の図面を考慮すると明らかになるであろう。
本発明は様々な変更及び代替の形態の余地があるが、実例として特定の実施形態が図中に示されて本願明細書に詳しく述べられる。しかしながら、図面類とこれらに対する詳しい記述が開示される特定の形態に本発明を限定するように意図されておらず、逆に本発明が添付の特許請求項によって規定される本発明の趣旨と範囲内に入るすべての変更形態、同等形態、及び代替形態を網羅することは理解されるはずである。
図1はコンピュータ・システムの一実施形態100を例示している。図示されるように、システム100は物理ファイル・システム120と論理ネームスペース130を含む。物理ファイル・システム120は論理ネームスペース130に連結された大域リソース管理部110を含む。代替の実施形態では、大域リソース管理部110は独立型の構成要素である。物理ファイル・システム120はハードディスク又はCD−ROMなどの1つ又は複数のデータ記憶デバイスに連結されることもある。通例では、物理ファイル・システム120は1つ又は複数の処理用素子(図示せず)又は他の標準的なコンピュータ・システム構成要素にさらに連結されることもある。
大域リソース管理部110は、iノード、ブロック、又は他のメタデータやデータ記憶の物理ユニットなどの物理ファイル・システム120のリソースを割り当てることに関与する。また、大域リソース管理部110はリソース割り当てを追跡するデータ構造を保持することもある。付け加えると、大域リソース管理部110は、物理ファイル・システム120の状態を追跡し、途中停止したオペレーション、ソフトウェアのバグ、突然の停電その他に起因して生じるエラーを検出して修正することが可能である。大域リソース管理部110はハードウェア、ソフトウェア、又はこれらの組み合わせにおいて実装することができる。
図2は論理ネームスペースの一実施形態130を例示している。例示された実施形態では、ネームスペース130はルートノード210で始まり、ノード220、225、231〜235、241、242を含む。ノード220、225はルートノード210にリンクされてもよく、ノード231、232はノード220にリンクされてもよく、ノード233〜235はノード225にリンクされてもよく、ノード241、242はノード232にリンクされてもよい。ノードはレベルの階層でリンクされる。例えば、ノード220と225が階層の第2のレベル、ノード231〜235が第3のレベル、等々を形成してもよい。代替の実施形態では、ネームスペース130はルートノードにリンクされた2つのノードよりも少ない、又は多いノードも含めて図2に示されたものよりもさらに多くのノードとさらに多くのレベルを含むこともある。
オペレーションの間、ファイルがシステム100に保存されるときにユーザは論理ネームスペース130の中でターゲットの場所を選択する。論理ネームスペース130の中のターゲットの場所はファイル・システム120内の物理的場所にマップされている。大域リソース管理部110はファイル・システムの中のリソースの割り当てを管理し、かつファイル・システム120内のメタデータのエラーや他の不一致を下記でさらに述べる処理に従って検出し、修正するなどといった保守管理オペレーションを遂行することもある。
ここで図3a、3bを参照すると、大域リソース管理部110によって実行される一般化された処理が示されている。特に、図3aはファイル・システムの中にデータを保存するために使用される処理の一実施形態302を例示しており、図3bはファイル・システム上で一貫性チェックを実行するために使用される処理の一実施形態304を例示している。代替の実施形態において、処理302、304に例示された個々のブロックが異なる順序で実行され、及び/又はいくつかのブロックが他と並列で実行されることもあることに留意するべきである。本願明細書で使用されるとき、一貫性チェックはエラーを検出し及び/又は修正するように構成された1つ又は複数の処理を含むことがある。
処理302はファイル・システム内にデータを保存したいという要求の受信(ブロック310)で始まる。この要求が新たな最上位レベルのディレクトリの作成を要求していれば(判定ブロック320)、新たなコンテナが作成され(ブロック330)、データは付随するメタデータと共に新たなコンテナ内に保存され(ブロック335)、処理は完了する。本願明細書で使用され、下記でさらに詳しく述べられるコンテナは、ファイル・システムの、動的に作成された可変サイズの部分であり、これはいくつかのデータ記憶の割り当て単位とこれに付随するメタデータ記憶の単位を含む。一実施形態では、データはブロック内に保存され、付随するメタデータはiノード内に保存される。コンテナはiノードとブロックの所有権を分離するために使用される。例えば、コンテナ内のiノードは同じコンテナ内のブロックを参照するのみである。
ターゲットの場所が新たな最上位レベルのディレクトリでなければ(判定ブロック320)、保存されるべきデータの親ファイルを含むコンテナが識別される(ブロック340)。要求が、最上位レベルのディレクトリよりも下の新たなディレクトリが作成されることを求めていなければ(判定ブロック342)、データは付随するメタデータと共に識別済みのコンテナ内に保存されて(ブロック344)、処理は完了する。言い換えると、既にあるディレクトリ内に保存されるべき新たなファイル・データは常に親ディレクトリと同じコンテナ内に保存される。要求が、最上位レベルのディレクトリよりも下の新たなディレクトリが作成されることを求めており、かつスペースが新たなディレクトリに関して予期されるデータを保持するのに十分であると判定されれば(判定ブロック350)、データは付随するメタデータと共に識別済みのコンテナ内に保存されて(ブロック344)、処理は完了する。そうでない場合、新たなリンクされたコンテナが作成される(ブロック352)。次いで、データは付随するメタデータと共にリンクされたコンテナ内に保存される(ブロック354)。付け加えると、処理を完了するために双方向のリンクが識別済みのコンテナとリンクされたコンテナとの間に作成される(ブロック356)。
処理304はエラーに関してファイル・システムをチェックしたいという要求の受信(ブロック360)で始まる。整合しないメタデータと未了のトランザクションとを記録する状態追跡表内でエラーが追跡される。いったん要求が受信されると、エラーを特定するために、ファイル・システムのコンテナの各々に割り当てらたリソースの範囲がチェックされる(ブロック362)。次いで、第1のコンテナに対応する状態記録が選択される(ブロック364)。選択された状態記録の中でエラーが検出されれば(判定ブロック370)、対応するコンテナ内に保存されたファイルの各々に関してメタデータがチェックされ、いずれのエラーも修正される(ブロック380)。付け加えると、対応するコンテナと他のコンテナとの間のあらゆるリンクがチェックされる(ブロック385)。双方向リンクの一方又は両方の側が有効でなければ(判定ブロック390)、リンクが修復され、このリンクが接続するコンテナが選択される(ブロック395)。新たに選択されたコンテナとそのリンクは、双方向リンクのエラーが検出されなくなるまでブロック380、385、390、395の反復実行を介して同様の方式でチェックされる。残りのリンク・エラーが無くなると(判定ブロック390)、又は選択された状態記録内でコンテナ・エラーが検出されなかった場合(判定ブロック370)でかつ最後の状態記録がチェックされていない場合(判定ブロック374)、次の状態記録が選択されて(ブロック372)エラー検出が繰り返されてもよい(ブロック370)。いったん最後の状態記録がチェックされると(判定ブロック374)、処理は完了する。
図4は物理ファイル・システムの一実施形態120の一般化されたブロック図である。例示された実施形態では、物理ファイル・システム120はコンテナ410、420、430、440、450などといった1つ又は複数のコンテナを含む。各々のコンテナは記憶スペースとこれに付随するメタデータを含む。例えば、コンテナ410は数多くのデータ・ファイルを保存するためのスペースを含むこともある記憶部414を含む。コンテナ410は記憶部414内に保存されるファイルに付随するメタデータを含むメタデータ部412も含む。同様に、コンテナ420は記憶部424とメタデータ部422を含み、コンテナ430は記憶部434とメタデータ部432を含み、コンテナ440は記憶部444とメタデータ部442を含み、コンテナ450は記憶部454とメタデータ部452を含む。5つのコンテナのみが示されているが、物理ファイル・システム120内に含まれるコンテナはより多くても、少なくてもよい。各々のコンテナは双方向リンクを通じて1つ又は複数の他のコンテナにリンクされ、これはコンテナ相互参照として知られている。
例えば、例示された実施形態では、コンテナ410と420はリンク461と462を介して接続され、コンテナ410と430はリンク463と464を介して接続され、コンテナ440と450はリンク465、466、467、468を介して接続される。第1のコンテナが追加の保存データに関して十分なリソースを有さないなどといった特定の状況が検出されれば、1つのコンテナから第2のコンテナにリンクが確立されることもある。そのような状況はオーバーフローと称され、第2のコンテナはリンクされたコンテナと称される。例えば一実施形態では、第1のコンテナにさらに多くの記憶部を追加することによって、所定の最大数よりも多くの記憶ユニット、オブジェクト、ファイルなどを管理するために、リンクされたコンテナが必要となる場合には、そのリンクされたコンテナが追加されることもある。様々な実施形態において、リソースが十分であるかどうかを決める判定基準は記憶リソースの利用可能性に代わって、又はこれに加えていずれの望ましい判定基準を含んでもよく、方針によって、動的にユーザ入力によって、又はいずれかの他の望ましい手段によって決定されてもよい。
物理ファイル・システム120の一実施形態では、記憶部とメタデータ部は従来のブロックとiノードで構成される。さらに詳細には、記憶素子414、424、434などの各々がブロックのセットの1つ又は複数の割り当てで構成されてもよく、メタデータ素子412、422、432などの各々が該当するiノードのセットで構成されてもよい。ブロックとiノードのセットは下記でさらに述べられるであろう処理を介してコンテナに割り当てられてもよい。大域リソース管理部110はコンテナへのブロックとiノードのマップ、及びコンテナ間のリンクの追跡の記録を様々なデータ構造を使用して保持している。図5、6、7、及びそれらに付随する記述はそのようなデータ構造の一実施形態の詳細を提供し、メタデータの単位はiノードであり、データ記憶の単位はブロックである。代替の実施形態では、ブロックとiノードの代わりに様々な記憶割り当て単位及びメタデータ単位のうちのいずれが使用されてもよい。
図5はコンテナとこれらに付随するiノードを管理するために使用される表のセットの一実施形態を例示している。図5はコンテナの状態表510、iノードのセットの所有権表520、iノードのセットの集計表530を含む。表510はファイル・システム内に作成された各コンテナに関する項目を含んでいる。項目は、例示された実施形態で示すように、コンテナID512で区別される。したがって、5つの項目がコンテナID C1、C2、C3、C4、C5で区別されて示されている。ファイル・システムにコンテナが追加されるたびに項目が表に追加される。各々の項目は状態ビット514、516をも含む。状態ビット514、516は対応するコンテナに付随した考え得るエラー状態を記録する。
例えば一実施形態では、状態ビット514は、対応するコンテナ内に保存されるか又は保存されるであろうデータを含む未了のトランザクションが存在することを示している。状態ビット516は、一致しないメタデータ参照が存在することを示してもよい。未了のトランザクションは必ずしもエラーではないが、ファイル・システムが静穏であると予期される時間に未了のトランザクションの状態ビットが設定されればエラーが想定される。一致しないメタデータ参照もやはりファイル・システム内のエラーを示すと想定される。そのような状況は、トランザクション中に予期しない停電が起こるとき、ハードウェアの故障の後に常に、又はソフトウェアのエラーが理由で生じる。システムが再起動すると、たとえトランザクションがもはや保留ではないとしても、そのトランザクションが完了されなかったことを示す未了トランザクション・ビットが設定される。状態ビットによって追跡されることが可能な他のエラー状況は当業者に明らかであろう。
表520は、ファイル・システム内に割り当てられたiノードの各々のセットに関する項目を含んでいる。項目は、例示された実施形態に示されるように、iノード・セットID524で区別される。11の項目がiノード・セットID IS1〜IS11で区別されて示されている。ファイル・システムにiノード・セットが割り当てられるたびに項目が表に追加される。各々の項目は、コンテナにiノード・セットが割り当てられたことを示すコンテナID522をも含む。
表530は各コンテナのiノード利用を集計するデータを含む。一実施形態では、表530は項目531〜538などを含む。各々の項目はiノード・セットID541、割り当てられたiノード総数542、空いているiノードの総数543、ディレクトリのiノード総数544を含んでいる。iノードが割り当てられるたびに、例えばファイル・システムにファイル又はディレクトリが追加されるとき、常に項目が表の中で更新される。iノード・セットID541は、iノード・セットを識別し、かつ表520の中のiノード・セットID524の値と一致する値を保持している。表530はiノードID541でインデックスを付けられる。割り当てられたiノード総数542はセットの中で割り当てられるiノードの数を追跡する。空いているiノードの総数543は、セットの中で割り当てるのに利用可能なiノードの数を追跡する。ディレクトリのiノード総数544はファイルではなくディレクトリに付随するiノードの数を追跡する。
図6はコンテナとこれらに付随するブロックを管理するために使用される表のセットの一実施形態を例示している。図6はブロック・セット所有権表620とブロック・セット集計表630を含む。表620はファイル・システム内に割り当てられたブロックの各々のセットに関する項目を含んでいる。項目は例示された実施形態に示されるように、ブロック・セットID624で区別される。したがって、11の項目がブロック・セットID S1〜S11で区別されて示されている。コンテナにブロック・セットが割り当てられるたびに項目が表に追加される。各々の項目は、コンテナにブロック・セットが割り当てられたことを示すコンテナID622を含むこともある。表630は項目631〜638などを含んでいる。各々の項目はブロック・セットID641、コンテナID642、ブロック・セット集計643を含んでいる。ブロック・セットID641は、ブロック・セットを識別し、かつ表620の中のブロック・セットID624の値と一致する値を保持している。コンテナ・セットID642は、ブロックが割り当てられるコンテナを識別し、かつ表620の中のコンテナID622の値と一致する値を保持している。ブロック・セット集計643はブロック・セットID641に付随するブロックの利用を記述するデータを含んでいる。ブロックが使用されるたびに、例えばファイル・システムにファイル・データが追加されるときに常に、項目が表630内で更新される。
図7はコンテナとこれらに付随するリンクを管理するために使用されるコンテナ・リンケージ表の一実施形態710、750を例示している。各々のコンテナは独自のコンテナ・リンケージ表に関連している。表710は項目711〜718などを含み、かつ第1のコンテナに付随している。同様に、表750は項目751〜758などを含み、かつ第2のコンテナに付随している。各々の項目はタイプ領域と2つの追加領域を含んでいる。例えば、項目711はタイプ722、内部iノードID723、外部iノードID724を含んでいる。タイプ722は内部iノード723が別のコンテナ内のiノードを参照することを示す外部の値を有して外部iノードID724によって識別される。ファイル・システム内にエラー又はメタデータの不一致が無ければ、対応する第2の項目が、表750などの他のコンテナ・リンケージ表に存在する。それは、このケースでは一致項目758である。項目758はタイプ782を含み、これは内部iノード783が別のコンテナ内のiノードを参照することを示す外部の値を持ち、外部iノードID784によって識別される。このケースでは、内部iノードID783は項目711の外部iノードID724と同じ値を有し、外部iノードID784は項目711の内部iノードID723と同じ値を有する。同様に、タイプ742、内部iノードID743、内部ファイルID744を含む項目714が図示されている。タイプ722は内部iノード743が同じコンテナの中のファイルを参照することを示す内部の値を持ち、内部ファイルID744によって識別される。双方向の対を形成する項目711、758とは異なり、項目714は他のコンテナ・リンケージ表内に一致項目を有さない。それよりもむしろ、項目714は同じコンテナ内のファイルとディレクトリ間の余剰のハード・リンクを示す。すべてのファイルがディレクトリへの少なくとも1つのリンクを有してもよいが、他のディレクトリへの付加的なリンクを有してもよい。各々の付加的リンクは表710内の項目714などの項目を介して追跡される。修復オペレーション中に、ファイル・システムのメタデータの適切な状態を判定するために大域リソース管理部が項目の一致する対の中にある冗長性を利用する。
図8はファイル・システムの中にデータを保存するために使用されることが可能な処理の一実施形態800を例示している。処理800は新たなデータの記憶要求の受信(ブロック810)で始まる。記憶要求によってターゲットにされるコンテナが最初に決定される(ブロック820)。次いで、要求からのデータを保持するためにiノードと十分な数のブロックが利用可能であれば(判定ブロック830)、コンテナ状態表内のターゲット・コンテナの未了トランザクション状態ビットが設定される(ブロック860)。iノードの利用可能性を判定するために、iノード・セット所有権表とiノード・セット集計表が閲覧される。ブロックの利用可能性を判定するために、ブロック・セット所有権表とブロック・セット集計表が閲覧される。利用可能なiノードが識別され(ブロック862)、利用可能なブロックが識別され(ブロック864)、ブロックがiノードに関連付けられる(ブロック870)。いったんiノードとブロックが関連付けられ、使用されるように指定されると、iノード・セット集計表とブロック・セット集計表の両方の中の対応する項目が更新されてこれらが使用中であることを示す(ブロック875)。次いで、データが指定のブロックの中に保存される(ブロック880)。データが保存された後、コンテナ状態表内のターゲット・コンテナの未了トランザクション状態ビットが消去されて処理を完了する(ブロック885)。
判定ブロック830に戻って、要求からのデータを保持するためのiノードと十分な数のブロックがターゲット・コンテナ内で利用可能でなければ、新たなデータ要求のタイプが判定される。この要求が、ターゲット・コンテナが供給できるよりも多くのスペースを必要とする新たな最上位レベルのディレクトリ又は新たなディレクトリを追加することでない場合(判定ブロック840)、コンテナ状態表内のターゲット・コンテナの未了トランザクション状態ビットが設定される(ブロック850)。iノードのセットが獲得されてターゲット・コンテナに割り当てられる(ブロック852)。新たなiノードがターゲット・コンテナに割り当てられて使用中であることを示すために、iノード・セット所有権表とiノード・セット集計表内の新たな項目が作成される(ブロック854)。ブロックのセットが獲得されてターゲット・コンテナに割り当てられる(ブロック856)。新たなブロックがターゲット・コンテナに割り当てられて使用中であることを示すためにブロック・セット所有権表とブロック・セット集計表内の新たな項目が作成される(ブロック858)。1つ又は複数の新たなブロックが新たなiノードと関連付けられ(ブロック870)、残りの処理ブロック875、880、885が実行されて前に述べられたように処理を完了する。
判定ブロック840に戻って、この要求が、ターゲット・コンテナが供給できるよりも多くのスペースを必要とする新たな最上位レベルのディレクトリ又は新たなディレクトリを追加することである場合、新たなリンクされたコンテナがターゲット・コンテナにリンクしたファイル・システムに追加される(ブロック842)。次いで新たなコンテナ項目がコンテナ状態表内に作成されてもよく、新たな項目の未了トランザクション状態ビットが設定される(ブロック844)。次いで処理800はブロック852から完了へと続く。代替の実施形態において、処理800に例示された個々のブロックが異なる順序で実行されてもよいこと、及び/又はいくつかのブロックが他と平行して実行されてもよいことに留意するべきである。
図9はコンテナの境界を横切るファイル・システムのオペレーションを追跡するために使用される処理の一実施形態900を例示している。処理900は2つのコンテナ間の相互参照を作成するネームスペースの中でファイルの名前を変えること、ファイルを移動させること、ファイルをコピーすることなどの要求の受信(ブロック910)で始まる。ソース・コンテナが識別され(ブロック920)、宛先コンテナが識別される(ブロック930)。例えば、第1のコンテナ(ソース)にマップされるネームスペース内の1つのノードから第2のコンテナ(宛先)にマップされるネームスペース内の別のノードにファイルが移動させられ、又はコピーされる。あるいは、コンテナ間にコンテナ相互参照を作成することによって、1つのコンテナ内に保存されるファイルを別のコンテナに関連するディレクトリに移す工程が実施されてもよい。いったんソース・コンテナと宛先のコンテナが識別されると、コンテナ状態表内のソース・コンテナと宛先コンテナの未了トランザクション状態ビットが設定される(ブロック940)。次いで、オペレーションがコピー・オペレーションであれば、iノードが宛先コンテナ内で識別されるか又は獲得され(ブロック960)、ファイル・データを保持するために十分な数のブロックが宛先コンテナ内で識別されるか又は獲得される(ブロック962)。iノードの利用可能性を判定するために、iノード・セット所有権表とiノード・セット集計表が閲覧される。ブロックの利用可能性を判定するために、ブロック・セット所有権表とブロック・セット集計表が閲覧される。ブロックがiノードと関連付けられる(ブロック964)。
いったんiノードとブロックが関連付けられて使用されるように指定されると、iノード・セット集計表、iノード・セット所有権表、ブロック・セット所有権表、ブロック・セット集計表内の対応する項目が更新されてこれらが使用中であることを示す(ブロック966)。次いで、指定されたブロック内にデータが保存される(ブロック968)。データが保存された後、コンテナ状態表内のターゲット・コンテナの未了トランザクション状態ビットが消去されて(ブロック970)、処理を完了する。
オペレーションがコピー・オペレーションでない場合、例えば移動又は再命名オペレーションである場合、項目の双方向対がコンテナ・リンケージ表内に作成される(ブロック982)。次いでコンテナ状態表内のターゲット・コンテナの未了トランザクション状態ビットが消去され(ブロック984)、処理を完了する。代替の実施形態において、処理900に例示された個々のブロックが異なる順序で実行されてもよいこと、及び/又はいくつかのブロックが他と平行して実行されてもよいことに留意するべきである。
図10はエラーに関してファイル・システムを走査するために使用される処理の一実施形態1000を例示している。処理1000は、システムが再起動されるときに常に生じる、又はユーザ若しくはアプリケーションその他からの命令に応答した、選択されたコンテナに対応するコンテナ状態表内の第1の項目の状態ビットの走査(ブロック1010)で始まる。走査が起こるとき、ファイル・システムは静止状態に置かれていることが想定されている。したがって、設定されるいずれの未了トランザクション状態ビットもファイル・システムのエラーであると解釈される。選択されたコンテナ項目に関して状態ビットが設定されておらず(判定ブロック1020)、かつコンテナ状態表内のすべての項目が走査された場合(判定ブロック1030)、処理1000は完了する(ブロック1050)。状態ビットが設定されれば(判定ブロック1020)、対応するファイル・システムの部分がチェックされてエラーが修正される。
エラー修正処理はよく知られているFSCKオペレーションで使用されるものと同様の処理を使用してもよいが、しかしファイル・システムの部分のみがチェックされる。したがって、この処理は「部分的FSCK」と称することができる。さらに詳細には、一実施形態では選択されたコンテナに対応するiノード・セット所有権表とブロック・セット所有権表内の項目をチェックすることで、確認されるべきiノードとブロックの範囲を判定する(ブロック1060)。さらにiノードとブロックの所有権を有効にするために、対応するiノード・セット集計表内の項目とブロック・セット集計表内の項目がメモリ内に読み取られる。iノード及びブロックの所有権の不一致が解決される。iノード・セット集計表とブロック・セット集計表内の項目も、処理1000において後に変更を受ける。例えば主要ファイル・システムの破損が起こった場合のケースのように、見つけ出されるエラーの数がいくつかの所定の閾値を超える場合(判定ブロック1070)、全ファイル・システムのチェックが実行され(ブロック1090)、処理は完了する(ブロック1050)。
少数のコンテナのみがエラーを含むことが見出されれば(判定ブロック1070)、iノード対ブロックの参照が確認され、見つけ出されるすべてのエラーが修復される(ブロック1072)。各々のコンテナは独立して調べられる。さらに詳細には、iノードが、所有されていないブロック・セットからブロックを参照する場合、このブロック・セットは、選択されたコンテナに追加され、所有権の付与はロックによって保護される。このブロック・セットが別のコンテナによって所有される場合、この不一致については、後でその別のコンテナがチェックされて確認された後に解消するために指摘される。
次に、iノードの階層が確認されてエラーが修復される(ブロック1074)。さらに詳細には、この確認は適切な親子関係に関してすべてのディレクトリのブロックとディレクトリの項目をチェックする工程を含んでいる。付け加えると、コンテナ・リンケージ表がチェックされる。このチェックは選択されたコンテナの中のファイルへのすべてのハード・リンクを確認する工程や、見出されるすべてのエラーを修復する工程(ブロック1076)を含んでいる。また、選択されたコンテナのコンテナ・リンケージ表内の項目であって他のコンテナを参照する項目が確認される(ブロック1078)。選択されたコンテナのコンテナ・リンケージ表内の項目が外部のコンテナ内のiノードを参照する場合、外部のコンテナのコンテナ・リンケージ表内の対応する項目も存在するはずである。そうでない場合、エラーが存在し、外部のコンテナが確認されなければならない。項目又は一致する双方向項目が無いことはコンテナ間のエラーが存在しないことを示す。一致しない項目は様々な方策又はアルゴリズムのうちの1つによって解決される(ブロック1080)。例えば、選択されたコンテナに対応するコンテナ・リンケージ表内の項目の値が間違っており、対応する反対方向の項目と一致するように訂正されることが想定されてもよい。場合によっては、又は加えて、間違ったディレクトリ項目や、現在のコンテナとの未結合リンクが取り除かれる。孤立iノードは遺失物取扱ディレクトリにリンクされる。
いったん項目が修復されると、選択されたコンテナに対応するコンテナ状態表内の状態ビット・エラーが消去される(ブロック1085)。コンテナ状態表内のすべての項目が走査されていた場合(判定ブロック1030)、処理1000は完了する(ブロック1050)。コンテナ状態表内のすべての項目が走査されていなかった場合(判定ブロック1030)、次のコンテナ項目を走査する工程(ブロック1040)と状態ビットをチェックする工程(判定ブロック1020)などに進むことによって処理1000がコンテナ状態表内の各々の項目について繰り返される。代替の実施形態において、処理1000に例示された個々のブロックが異なる順序で実行されてもよいこと、及び/又はいくつかのブロックが他と平行して実行されてもよいことに留意すべきである。
上述の実施形態がソフトウェアを含むこともさらに留意するべきである。そのような実施形態では、本方法及び/又はメカニズムを実施するプログラム命令がコンピュータで読み取り可能な媒体に搬送又は保存される。プログラム命令を保存するように構成される多数のタイプの媒体が入手可能であり、ハードディスク、フロッピー(登録商標)ディスク、CD−ROM、DVD、フラッシュメモリ、プログラム可能なROM(PROM)、ランダムアクセスメモリ(RAM)、様々な他の形態の揮発性又は不揮発性の記憶装置をも含む。
上記の実施形態は相当に詳しく述べられてきたが、いったん上記の開示が十分に理解されると数多くの変形形態及び改造形態が当業者に明らかになるであろう。添付の特許請求項はすべてのそのような変形形態及び改造形態を包含するように解釈されることが意図される。
コンピュータ・システムの一実施形態を例示する図である。 論理ネームスペースの一実施形態を例示する図である。 ファイル・システムの中にデータを保存するために使用されることが可能な処理の一実施形態を例示する図である。 ファイル・システム上で一貫性チェックを実行するために使用されることが可能な処理の一実施形態を例示する図である。 物理ファイル・システムの一実施形態の一般化されたブロック図である。 コンテナとこれらに関連するiノードを管理するために使用されることが可能な表のセットの一実施形態を例示する図である。 コンテナとこれらに関連するブロックを管理するために使用されることが可能な表のセットの一実施形態を例示する図である。 コンテナとこれらに関連するリンクを管理するために使用されることが可能なコンテナ・リンケージ表の一実施形態を例示する図である。 ファイル・システムの中にデータを保存するために使用されることが可能な処理の一実施形態を例示する図である。 コンテナの境界を横切るファイル・システムのオペレーションを追跡するために使用されることが可能な処理の一実施形態を例示する図である。 エラーに関してファイル・システムを走査するために使用されることが可能な処理の一実施形態を例示する図である。
符号の説明
100 コンピュータ・システム
110 大域リソース管理部
120 物理ファイル・システム
130 論理ネームスペース
210 ルートノード
220〜242 ノード
302、304、800、900、1000 処理
410、420、430、440、450 コンテナ
412、422、432、442、452 メタデータ部
414、424、434、444、454 記憶部
461、462、463、465、466、467、468 リンク
510 コンテナ状態表
512、522、622、642 コンテナID
514、516 状態ビット
520、541 iノード・セット所有権表
524 iノード・セットID
530 iノード・セット集計表
531〜538、631〜638、711〜718、751〜758 項目
542 割り当てられたiノード総数
543 空いているiノードの総数
544 ディレクトリのiノード総数
620 ブロック・セット所有権表
630 ブロック・セット集計表
641 ブロック・セットID
643 ブロック・セット集計
710、750 コンテナ・リンケージ表
722、742、782 タイプ
723、743、783 内部iノードID
724、784 外部iノードID
744 内部ファイルID

Claims (15)

  1. 保存データ及び保存メタデータを含むファイル・システムを含むコンピュータ・システムであって、
    ファイル・システム・エラーが起こったことを検出したことに応答して前記ファイル・システムが、
    前記検出エラーに該当する前記ファイル・システムの第1のコンテナを識別し、
    前記第1のコンテナ内に含まれるファイル・データとメタデータの一貫性チェックを実行し、
    前記ファイル・システムの前記第1のコンテナと第2のコンテナとの間に第1の双方向リンクが存在するかどうか判定し、
    前記第1の双方向リンク内のエラーを検出したことに応答して前記第2のコンテナ内に含まれるファイル・データとメタデータの一貫性チェックを実行するように構成され、
    前記ファイル・システムが、複数のコンテナの間の双方向リンクの表を保持するようにさらに構成され、
    前記表が少なくとも一対の項目を含み、各々の項目がソース・コンテナ、ソースiノード、宛先iノードを識別し、
    所定の項目のソースiノードが前記所定の項目のソース・コンテナに該当し、
    項目の所定の対に関して、第1の項目の宛先iノードが第2の項目のソースiノードと同じである、コンピュータ・システム。
  2. 前記第1の双方向リンク内でエラーが見つかった場合に、前記ファイル・システムが、
    前記第2のコンテナ内に含まれるファイル・データとメタデータの一貫性チェックを実行し、
    前記第2のコンテナと第3のコンテナとの間に第2の双方向リンクが存在するかどうか判定し、
    前記第2の双方向リンク内のエラーを検出したことに応答して前記第3のコンテナ内に含まれるファイル・データとそれに関連するメタデータの一貫性チェックを実行するようにさらに構成される、請求項1に記載のシステム。
  3. 前記第1と第2のコンテナの各々が、データ記憶の割り当て単位と、関連するメタデータ記憶の単位とを含む前記ファイル・システムの動的に作成された可変サイズの部分を含み、所定のコンテナ内のメタデータが前記所定のコンテナ内のデータを排他的に参照する、請求項1に記載のシステム。
  4. 新たなファイル・データを保存したいという要求を受信したことに応答して、前記ファイル・システムが、
    論理ネームスペース内で前記新たなファイル・データにリンクされるデータを含む前記ファイル・システムのターゲット・コンテナを識別し、
    前記新たなファイル・データが新たなディレクトリを含まない場合に、又は前記新たなファイル・データが新たなディレクトリを含み、かつ前記ターゲット・コンテナが、新たなディレクトリを収容するための十分なリソースを有する場合に、前記新たなファイル・データを前記ターゲット・コンテナ内に保存し、
    前記ターゲット・コンテナが、新たなディレクトリを収容するための十分なリソースを有さない場合に、
    リンクされたコンテナを作成し、
    前記ファイル・データを前記リンクされたコンテナ内に保存し、
    前記ターゲット・コンテナと前記リンクされたコンテナとの間の双方向リンクを保存するようにさらに構成される、請求項3に記載のシステム。
  5. 前記ファイル・システムが、前記ファイル・システムの第3のコンテナと前記ファイル・システムの第4のコンテナとの間の双方向リンクを、前記第3のコンテナに保存されたファイル・データと前記第4のコンテナに保存されたファイル・データとの間の論理ネームスペース内の接続を作成するファイル・システムのオペレーションに応答して保存するようにさらに構成される、請求項4に記載のシステム。
  6. ファイル・システムエラーが起こったことを検出するステップと、
    前記検出エラーに該当する第1のコンテナを識別するステップと、
    前記第1のコンテナ内に含まれるファイル・データとメタデータの一貫性チェックを実行するステップと、
    前記第1のコンテナと第2のコンテナとの間に第1の双方向リンクが存在するかどうか判定するステップと、
    前記第1の双方向リンク内のエラーを検出したことに応答して前記第2のコンテナ内に含まれるファイル・データとメタデータの一貫性チェックを実行するステップとを含み、
    複数のコンテナの間の双方向リンクの表を保持するステップをさらに含み、
    前記表が少なくとも一対の項目を含み、各々の項目がソース・コンテナ、ソースiノード、及び宛先iノードを識別し、
    所定の項目のソースiノードが前記所定の項目のソース・コンテナに該当し、
    項目の所定の対に関して、第1の項目の宛先iノードが第2の項目のソースiノードと同じである、方法。
  7. 前記第1の双方向リンク内でエラーが見つかった場合に、
    前記第2のコンテナ内に含まれるファイル・データとメタデータの一貫性チェックを実行するステップと、
    前記第2のコンテナと第3のコンテナとの間に第2の双方向リンクが存在するかどうか判定するステップと、
    前記第2の双方向リンク内のエラーを検出したことに応答して前記第3のコンテナ内に含まれるファイル・データとそれに関連するメタデータの一貫性チェックを実行するステップとをさらに含む、請求項6に記載の方法。
  8. 前記第1と第2のコンテナの各々が、データ記憶の割り当て単位と、関連するメタデータ記憶の単位とを含む前記ファイル・システムの動的に作成された可変サイズの部分を含み、所定のコンテナ内のメタデータが前記所定のコンテナ内のデータを排他的に参照する、請求項6に記載の方法。
  9. 新たなファイル・データを前記ファイル・システム内に保存したいという要求を受信したことに応答して、
    論理ネームスペース内で前記新たなファイル・データにリンクされるデータを含むターゲット・コンテナを識別するステップと、
    前記新たなファイル・データが新たなディレクトリを含まない場合に、又は前記新たなファイル・データが新たなディレクトリを含み、かつ前記ターゲット・コンテナが、新たなディレクトリを収容するための十分なリソースを有する場合に、前記新たなファイル・データを前記ターゲット・コンテナ内に保存するステップと、
    前記ターゲット・コンテナが、新たなディレクトリを収容するための十分なリソースを有さない場合に
    リンクされたコンテナを作成するステップと、
    前記ファイル・データを前記リンクされたコンテナ内に保存するステップと、
    前記ターゲット・コンテナと前記リンクされたコンテナとの間の双方向リンクを保存するステップとをさらに含む、請求項8に記載の方法。
  10. 第3のコンテナと第4のコンテナとの間の双方向リンクを、前記第3のコンテナに保存されたファイル・データと前記第4のコンテナに保存されたファイル・データとの間の論理ネームスペース内の接続を作成するファイル・システムのオペレーションに応答して保存するステップをさらに含む、請求項9に記載の方法。
  11. プロセッサによって、
    ファイル・システムエラーが起こったことを検出すること、
    前記検出エラーに該当する第1のコンテナを識別すること、
    前記第1のコンテナ内に含まれるファイル・データとメタデータの一貫性チェックを実行すること、
    前記第1のコンテナと第2のコンテナとの間に第1の双方向リンクが存在するかどうか判定すること、
    前記第1の双方向リンク内のエラーを検出したことに応答して前記第2のコンテナ内に含まれるファイル・データとメタデータの一貫性チェックを実行すること
    を実行可能なコンピュータ命令を保存し、
    前記命令が、複数のコンテナの間の双方向リンクの表を保持するためにさらに実行可能であり、
    前記表が少なくとも一対の項目を含み、各々の項目がソース・コンテナ、ソースiノード、及び宛先iノードを識別し、
    所定の項目のソースiノードが前記所定の項目のソース・コンテナに該当し、
    項目の所定の対に関して、第1の項目の宛先iノードが第2の項目のソースiノードと同じである、コンピュータで読み取り可能な記憶媒体。
  12. 前記第1の双方向リンク内でエラーが見つかった場合に、前記命令が、
    前記第2のコンテナ内に含まれるファイル・データとメタデータの一貫性チェックを実行すること、
    前記第2のコンテナと第3のコンテナとの間に第2の双方向リンクが存在するかどうか判定すること、
    前記第2の双方向リンク内のエラーを検出したことに応答して前記第3のコンテナ内に含まれるファイル・データとそれに関連するメタデータの一貫性チェックを実行することをさらに実行可能である、請求項11に記載のコンピュータで読み取り可能な記憶媒体。
  13. 前記第1と第2のコンテナの各々が、データ記憶の割り当て単位と、関連するメタデータ記憶の単位とを含む前記ファイル・システムの動的に作成された可変サイズの部分を含み、所定のコンテナ内のメタデータが前記所定のコンテナ内のデータを排他的に参照する、請求項11に記載のコンピュータで読み取り可能な記憶媒体。
  14. 新たなファイル・データを前記ファイル・システム内に保存したいという要求を受信したことに応答して、前記命令が、
    論理ネームスペース内で前記新たなファイル・データにリンクされるデータを含むターゲット・コンテナを識別すること、
    前記新たなファイル・データが新たなディレクトリを含まない場合に、又は前記新たなファイル・データが新たなディレクトリを含み、かつ前記ターゲット・コンテナが、新たなディレクトリを収容するための十分なリソースを有する場合に、前記新たなファイル・データを前記ターゲット・コンテナ内に保存すること、
    前記ターゲット・コンテナが、新たなディレクトリを収容するための十分なリソースを有さない場合に、リンクされたコンテナを作成し、前記ファイル・データを前記リンクされたコンテナ内に保存し、かつ前記ターゲット・コンテナと前記リンクされたコンテナとの間の双方向リンクを保存することをさらに実行可能である、請求項13に記載のコンピュータで読み取り可能な記憶媒体。
  15. 前記命令が、第3のコンテナと第4のコンテナとの間の双方向リンクを、前記第3のコンテナに保存されたファイル・データと前記第4のコンテナに保存されたファイル・データとの間の論理ネームスペース内の接続を作成するファイル・システムのオペレーションに応答して保存することをさらに実行可能である、請求項14に記載のコンピュータで読み取り可能な記憶媒体。
JP2008170146A 2007-06-29 2008-06-30 スケーラブル・ファイル・システムの回復のためのリソース管理 Expired - Fee Related JP5620053B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/772,036 US7676704B2 (en) 2007-06-29 2007-06-29 Resource management for scalable file system recovery
US11/772,036 2007-06-29

Publications (2)

Publication Number Publication Date
JP2009015849A JP2009015849A (ja) 2009-01-22
JP5620053B2 true JP5620053B2 (ja) 2014-11-05

Family

ID=40161930

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008170146A Expired - Fee Related JP5620053B2 (ja) 2007-06-29 2008-06-30 スケーラブル・ファイル・システムの回復のためのリソース管理

Country Status (4)

Country Link
US (1) US7676704B2 (ja)
EP (1) EP2031513B1 (ja)
JP (1) JP5620053B2 (ja)
CN (1) CN101359335B (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7958167B2 (en) * 2008-03-05 2011-06-07 Microsoft Corporation Integration of unstructed data into a database
SE533007C2 (sv) 2008-10-24 2010-06-08 Ilt Productions Ab Distribuerad datalagring
US8843533B1 (en) * 2008-11-12 2014-09-23 Netapp, Inc. File system consistency check system
EP2387200B1 (en) 2010-04-23 2014-02-12 Compuverde AB Distributed data storage
US8577855B2 (en) 2010-10-19 2013-11-05 Symantec Corporation Online file system consistency check
US9223788B2 (en) * 2010-11-09 2015-12-29 Symantec Corporation File system consistency check on part of a file system
US8856792B2 (en) 2010-12-17 2014-10-07 Microsoft Corporation Cancelable and faultable dataflow nodes
US8813071B2 (en) 2011-01-31 2014-08-19 Symantec Corporation Storage reclamation systems and methods
US8806159B2 (en) 2011-04-08 2014-08-12 Symantec Corporation Data storage resource management systems and methods
US8954435B2 (en) 2011-04-22 2015-02-10 Symantec Corporation Method and system for reclaiming storage on a shared storage device or independent of the mount state of a file system
US8751768B2 (en) 2011-04-29 2014-06-10 Symantec Corporation Data storage reclamation systems and methods
US8650365B2 (en) 2011-09-02 2014-02-11 Compuverde Ab Method and device for maintaining data in a data storage system comprising a plurality of data storage nodes
US8997124B2 (en) 2011-09-02 2015-03-31 Compuverde Ab Method for updating data in a distributed data storage system
US9626378B2 (en) 2011-09-02 2017-04-18 Compuverde Ab Method for handling requests in a storage system and a storage node for a storage system
US8645978B2 (en) 2011-09-02 2014-02-04 Compuverde Ab Method for data maintenance
US9021053B2 (en) 2011-09-02 2015-04-28 Compuverde Ab Method and device for writing data to a data storage system comprising a plurality of data storage nodes
US8769138B2 (en) 2011-09-02 2014-07-01 Compuverde Ab Method for data retrieval from a distributed data storage system
US9213618B2 (en) * 2011-09-16 2015-12-15 Symantec Corporation Storage management systems and methods in hierarchical storage systems
US10127236B1 (en) * 2013-06-27 2018-11-13 EMC IP Holding Company Filesystem storing file data in larger units than used for metadata
CN105556462A (zh) * 2013-07-29 2016-05-04 惠普发展公司,有限责任合伙企业 写入文件和文件元数据
US10628411B2 (en) * 2013-11-20 2020-04-21 International Business Machines Corporation Repairing a link based on an issue
SG11201606070QA (en) * 2014-01-24 2016-08-30 Agency Science Tech & Res Method of file system design and failure recovery with non-volatile memory
JP6245700B2 (ja) 2014-04-11 2017-12-13 国立大学法人 東京大学 計算機システム、データの検査方法及び計算機
CN105554102A (zh) * 2015-12-14 2016-05-04 中电科华云信息技术有限公司 基于容器集群的弹性伸缩方法及其应用系统
US10372547B1 (en) 2015-12-29 2019-08-06 Veritas Technologies Llc Recovery-chain based retention for multi-tier data storage auto migration system
CN107133120A (zh) * 2016-02-29 2017-09-05 阿里巴巴集团控股有限公司 一种文件数据的校验方法、装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2745477B2 (ja) * 1988-06-03 1998-04-28 株式会社リコー データ処理装置
US5537652A (en) * 1990-08-20 1996-07-16 International Business Machines Corporation Data file directory system and method for writing data file directory information
JPH0833828B2 (ja) * 1990-08-29 1996-03-29 富士通株式会社 プログラム動作システム
ATE195825T1 (de) * 1993-06-03 2000-09-15 Network Appliance Inc Anordnung eines dateisystems zum beschreiben beliebiger bereiche
US5828876A (en) * 1996-07-31 1998-10-27 Ncr Corporation File system for a clustered processing system
US5875444A (en) * 1996-12-10 1999-02-23 International Business Machines Corporation Computer file system check and repair utility
KR100224868B1 (ko) * 1997-02-24 1999-10-15 윤종용 데이터 에러 정정 범위 판단방법
US6058400A (en) * 1998-04-28 2000-05-02 Sun Microsystems, Inc. Highly available cluster coherent filesystem
US6850959B1 (en) * 2000-10-26 2005-02-01 Microsoft Corporation Method and system for transparently extending non-volatile storage
US6775679B2 (en) * 2001-03-20 2004-08-10 Emc Corporation Building a meta file system from file system cells
US7533214B2 (en) * 2002-02-27 2009-05-12 Microsoft Corporation Open architecture flash driver
US7093086B1 (en) * 2002-03-28 2006-08-15 Veritas Operating Corporation Disaster recovery and backup using virtual machines
US7430570B1 (en) * 2003-04-28 2008-09-30 Ibrix, Inc. Shadow directory structure in a distributed segmented file system
US7631257B2 (en) * 2004-09-15 2009-12-08 Microsoft Corporation Creation and management of content-related objects
US7552146B1 (en) * 2005-04-28 2009-06-23 Network Appliance, Inc. Method and apparatus for offline and online consistency checking of aggregates and flexible volumes
US7617370B2 (en) * 2005-04-29 2009-11-10 Netapp, Inc. Data allocation within a storage system architecture
US7739318B2 (en) * 2005-06-20 2010-06-15 Netapp, Inc. System and method for maintaining mappings from data containers to their parent directories
US7707193B2 (en) * 2005-09-22 2010-04-27 Netapp, Inc. System and method for verifying and restoring the consistency of inode to pathname mappings in a filesystem
US8301673B2 (en) * 2006-12-29 2012-10-30 Netapp, Inc. System and method for performing distributed consistency verification of a clustered file system

Also Published As

Publication number Publication date
EP2031513A2 (en) 2009-03-04
CN101359335A (zh) 2009-02-04
EP2031513A3 (en) 2010-05-12
US20090006494A1 (en) 2009-01-01
EP2031513B1 (en) 2017-11-29
US7676704B2 (en) 2010-03-09
JP2009015849A (ja) 2009-01-22
CN101359335B (zh) 2013-10-16

Similar Documents

Publication Publication Date Title
JP5620053B2 (ja) スケーラブル・ファイル・システムの回復のためのリソース管理
US7941709B1 (en) Fast connectivity recovery for a partitioned namespace
US9152502B2 (en) Data error detection and correction using hash values
US9904605B2 (en) System and method for enhancing availability of a distributed object storage system during a partial database outage
US7277905B2 (en) System and method for a consistency check of a database backup
US7778984B2 (en) System and method for a distributed object store
US8037345B1 (en) Deterministic recovery of a file system built on a thinly provisioned logical volume having redundant metadata
US9727273B1 (en) Scalable clusterwide de-duplication
US7366740B2 (en) Systems and methods for automatic maintenance and repair of enitites in a data model
JP5254611B2 (ja) 固定内容分散データ記憶のためのメタデータ管理
US7444360B2 (en) Method, system, and program for storing and using metadata in multiple storage locations
JP3866038B2 (ja) 物理レベルにおける論理オブジェクトに対する変更に基づいて、論理オブジェクトに対する変更を識別する方法および装置
US7831569B2 (en) Preserving a query plan cache
US8495111B1 (en) System and method of hierarchical space management for storage systems
US9152353B1 (en) Verifying the consistency of slice allocation metadata
BR112014005623B1 (pt) Método de gravar escritas pendentes em um conjunto de armazenamento e meio de armazenamento legível por computador
TWI582581B (zh) 用來於一冗餘儲存系統中進行資料修復之方法與裝置
US10599360B2 (en) Concurrent and persistent reservation of data blocks during data migration
US11327999B2 (en) Reorganization of partition by growth space with LOB columns
US20180373596A1 (en) Automatic incremental repair of granular filesystem objects
US11113235B1 (en) Methods and apparatus for managing objects in a storage environment
US9342524B1 (en) Method and apparatus for single instance indexing of backups
US20100082551A1 (en) Data placement transparency for high availability and load balancing
CN112748865B (zh) 用于存储管理的方法、电子设备和计算机程序产品
US20070226235A1 (en) System and Method for Increasing Availability of an Index

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20101102

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20101109

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20101109

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110628

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130920

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131001

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140425

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140826

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140918

R150 Certificate of patent or registration of utility model

Ref document number: 5620053

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees