Windowsでは、ファイル/フォルダが作成されると、FRN(MFTインデックスに似た一意の番号)に関連付けられます。すべてのファイルメタデータはMFTに保存され、ディスクサイズの12.5%に保たれます。
メタデータはUnixファイルシステム(ext2、ext3など)にどのように保存されますか? inodeはUnixのすべてのファイル/フォルダに固有の値ですが、この情報はどこに保存されますか?言い換えれば:
inodeが占めるサイズはいくらですか?
Unixに保存されているファイル/フォルダのメタデータはどこにありますか? UnixにMFTのようなものはありますか?
答え1
Windows(またはより正確にはNTFS)がMFTと呼ばれるのは、一般的なUnixファイルシステムが呼び出すことです。インデックスノードテーブルでWindowsがFRNと呼ばれるのはinode番号です。これにはファイルのメタデータ(権限、タイムスタンプなど)が含まれていますが、ファイル名(ディレクトリエントリの一部)は含まれていません。また、ファイルの最初の数ブロックのアドレスまたはファイルブロックのアドレスを含むブロックも含まれる。
走るtune2fs -l /dev/sdz99
(sdz99
関心のあるブロックデバイスの正しいパスに置き換えます)「Inode number」(inode number)および「Inode size」(バイト)を含む ext2/ext3/ext4 ファイルシステムに関する情報を取得します。これらのファイルシステムでは、ファイルシステムの作成時にinodeの数が選択され、ファイルの数に応じて動的に増加しません。実行して、df -i
マウントされたファイルシステムで使用されているinodeの数を確認できます。
一部のファイルシステムはデータ構造が異なります。 inodeの概念はUnixでは普遍的ですが、ファイルシステムAPIが各ファイルに固有のinode番号を関連付けるため、実装は異なる場合があります。たとえば、Btrfsはinode用のスペースを予約せず、必要に応じて割り当てます。