デフォルトでは、EXT4ファイルシステムには128MiB(デフォルト)サイズのデータブロックがあります。これは「グループ」または「ブロックグループ」と呼ばれ、デフォルトではディスクでは次のようになります。
ディスクが大きいほど、より多くのグループが順番に存在します。
このツールを使用すると、dumpe2fs
グループの数を簡単に知らせ、次の情報を返すことができます。
Group 690: (Blocks 22609920-22642687) csum 0x7443 [ITABLE_ZEROED]
Block bitmap at 22544386 (bg #688 + 2), csum 0xab2a9072
Inode bitmap at 22544402 (bg #688 + 18), csum 0x1ef9c14a
Inode table at 22545440-22545951 (bg #688 + 1056)
0 free blocks, 8182 free inodes, 10 directories, 8182 unused inodes
Free blocks:
Free inodes: 5652491-5660672
私の質問は:このツールを使用してブロックセット全体をゼロにするとどうなりますかdd
?
グループ全体に収まるほど小さいファイルがある場合、そのファイルは永久に失われます。しかし、システムがどのように反応するのかわからない他の状況もあります。
ファイルは複数のブロックグループに分割して記述できます。これは(この場合)ファイルの特定の部分だけがゼロとして扱われることを意味します。
fsck
ファイルを実行した後、ファイルはどうなりますか?ファイル全体がLost&foundディレクトリに保存されますか?それともファイルシステム構造に表示されますが、開くかアクセスできませんか?上記のグループが0に設定されている場合、ディレクトリ内のファイルはどうなりますか?情報のみあります
0 free blocks, 8182 free inodes, 10 directories, 8182 unused inodes
。これは、グループが10個のディレクトリと0個のファイルを記述し、すべてのブロックがデータによって使用されることを意味します。したがって、私たちは10のディレクトリといくつかの断片化された大容量ファイルを持っています。少なくとも私はそのメッセージをそのように理解しました。ただし、ディレクトリにファイルを含めることができます。グループを0に設定すると、ディレクトリ内のファイルはどうなりますか?後でアクセスできますかfsck
?
答え1
デフォルトでは、メタデータおよび/またはデータが影響を受けるかどうかが決定されます。
通常、メタデータが破損すると、影響を受けるファイル/ディレクトリにアクセスできなくなります(または部分的にアクセスできなくなります)。次のツールfsck
可能損傷は回復できますが、正確に何が破損しているかによって異なります。
ただし、データが破損した場合、ファイルシステムがデータチェックサムを実装しない限り(EXT4は実装しない)、ファイルシステムはデータに問題がないように動作します。可能であれば、修正を確認して実行することはアプリケーションによって異なります。