メタデータとは何ですか? "fsck"プロセスにどのように役立ちますか?

メタデータとは何ですか? "fsck"プロセスにどのように役立ちますか?

私が正しく理解した場合、「fsck」はUNIXシステムでクラッシュ後のディスク内の内部一貫性をチェックするために使用されます。したがって、ファイルシステムのすべての項目が一貫して維持されるように、「メタデータ」をどのように使用するかを知りたいと思います。たとえば、fsckプロセスが回復と回復のために実行する必要がある手順は何ですか?

->編集:誰かがこの画像で「同期直接書き込み」が何を意味するのかを明確にすることができれば役に立ちます。

答え1

メタデータデータに関する情報です。テキストファイルを考えると、そのテキストファイルの文字の順序は、ファイルに含まれる実際のデータです。ただし、ファイルには名前、所有者、作成日、記憶媒体の場所などがあります。これらすべての情報はメタデータです。メタデータはデータと同じように扱われます。たとえば、Unixはディレクトリ(または新しいコンピューティング時代のフォルダ:-)というデータファイルにファイルメタデータを保存します。

Unix ファイルシステムは、次のようなデフォルトのストレージデバイスを使用します。インデックスノード。単一のinodeには、実際のファイルデータ、ディレクトリ情報(メタデータ)が含まれている場合と使用されない場合があります(無料)。新しいファイルを作成するには、inodeの状態を使用可能から割り当て済みに変更し、新しいファイルにデータを書き込み、ディレクトリファイルにメタデータを書き込むことが含まれます。これらの操作中にコンピュータがクラッシュする可能性があり、その場合はファイルシステムが破損する可能性があります。ダメージ

ファイルシステムチェックは、すべてのinodeを読み込み、できるだけ多くの破損を解決しようとすることで構成されています。たとえば、inodeが利用可能なinodeのリストにないが、そのinodeがファイルシステムに既知のディレクトリにあるファイルの一部であることを示すディレクトリエントリがないとします。 i-node は、無料の i-node リストに再度含めることができます。

同期直接書き込み競合が発生したときにファイルシステムを回復できるようにディスク書き込みを実行する方法。たとえば、新しいファイルを作成するときに inode を割り当て、そのメタデータセットで inode を生成し、ディレクトリ情報を含むファイルを更新する必要があります。そして同期直接書き込み、これらのタスクは、一度に1つずつ順次別々のタスクとして実行されます。ディレクトリに書き込む前に競合が発生すると、inodeは使用可能リストに再配置され、ファイル生成は発生しません。

他の種類のファイルシステムチェックも可能です。

答え2

UnixまたはLinuxファイルシステムの文脈では、「メタデータ」は、ファイルを所有するユーザーID、権限、ファイルタイプ(特殊、一般、名前付きパイプなど)、使用されるディスクブロックなどのファイルに関する情報です。ファイルとして。これは通常「inode」と呼ばれるディスク構造に格納されます。 inodeの情報の1つは、ファイルへの「リンク」がいくつ存在するかです。通常のファイルには通常1つのリンクがありますが、ディレクトリ(主に特殊な「私はディレクトリです」ファイルタイプタグを持つファイル)には2つ以上のリンクがあります。ファイルシステムに表示されるすべてのエントリにはそのディレクトリへのリンクがありますが、すべてのディレクトリには「。」 2つのリンクがある名前と一般名です。

fsckファイルシステムの「inodeブロック」(inodeデータ構造を含むディスクブロック)から、リンク数が0より大きいinodeを取得できます。リンク数が0より大きいinodeとして表示されるファイルは、ディレクトリのどこかに表示する必要があります。 inodeがディレクトリにない場合、ファイルはfsckよく知られているディレクトリ(通常はファイルシステムの上部にある「lost + found」)に配置されます。 Unix / Linuxファイルシステムには、通常、inodeがそのinodeが属するディレクトリのメタデータはなく、そのディレクトリに含まれるファイルに関する情報のみがディレクトリファイルにあります。

fsckファイルのデータを含むディスクブロックなどの追加のメタデータを使用できます。fsckinode が表すディスクブロックがファイルに属しているかどうかが、ファイルシステムのディスクブロック「割り当てられていないリスト」に表示されることを確認できます。fsck複数の inode を調べて、同じディスクブロックが含まれていることを確認できます。これは、一種の多重割当損傷を示す。

ファイルへのディスクブロックの割り当ては、ディスク inode に表示されます。ファイルシステムのディレクトリメンバーツリー構造がディレクトリに表示されます。 inodeは表示されず、ディレクトリには割り当てられません。fsckこの分離を使用して修理を行います。これは、ファイル割り当てテーブルがツリー構造(ディレクトリメンバー)とディスクブロック割り当ての両方を保持するMS-DOSや初期Windowsなどのシステムとは非常に異なります。 「FAT」が破損している場合は、ディスクブロックをスキャンして、含まれているものとどのように適合するかを確認する必要があります。

答え3

メタデータは「データに関するデータ」です。

* nixファイルシステムの場合、fsck各データブロックのヘッダーはディレクトリエントリ、または次のデータブロックとディレクトリの対応するエントリを指すメタデータを使用します。fsckブロックをスキャンし、ディレクトリエントリが一致すること、次のブロックへの転送ポインタが正しいことを確認します。

これはファイルシステムによって大きく異なります。実際、どのメタデータが保存され、どこに保存されるかが、さまざまな* nixファイルシステム間の最大の違いです。より近代的なものは、ディレクトリ構造の変更のログファイルも保持します。

関連情報