ext3 fsck時間とパーティションサイズ

ext3 fsck時間とパーティションサイズ

私は大規模なストレージ ファームのセットアップを行っていますが、1 か月に及ぶ fsck の必要性を回避するために、ストレージを多数の小さなファイル システムに分割する予定です (これは問題ありません。適切にバケット化されたファイル ツリーがあるため、、、、などに個別のファイル システムを簡単にマウントでき1/ます2/) 。3/4/

私にとって難しいのは、ファイルシステムの「妥当な」サイズがどの程度なのか、また、fsck 時間を同様に「妥当」に保つための列挙を見つけることです。特定のサイズに対する絶対時間はハードウェアに大きく依存することは重々承知していますが、ファイルシステムのサイズが変化するときの ext3 fsck 時間の曲線の形状やその他の変数 (単一のディレクトリにファイルでいっぱいのファイルシステムは、ツリー内の数千のディレクトリにそれぞれ 10 個のファイルがあるファイルシステムよりも時間がかかるのか、大きなファイルと小さなファイルの違い、いっぱいのファイルシステムと空のファイルシステムの違いなど) についての説明が見つからないようです。

これについて、よく研究された数字の参考資料を持っている人はいますか? それがなければ、これらの問題に関する逸話は、必要に応じて、少なくとも私自身の実験を導くのに役立つはずです。

編集: 明確にするために: ファイルシステムに関係なく、メタデータに問題がある場合は、チェックする必要があります。時間ベースまたはマウントベースの再 fsck が有効または必要かどうかは問題ではありません。ext3 に関して特に数値を尋ねているのは、それが選択される可能性が最も高いファイルシステムだからです。特に高速な fsck プロセスを持つファイルシステムをご存じの場合は、提案をお待ちしていますが、堅牢なオプションである必要があります (「ファイルシステム X は fsck を必要としない!」という主張は、長い間笑われ、嘲笑されるでしょう)。バックアップの必要性も認識しており、fsck の欲求はバックアップの代替にはなりませんが、ファイルシステムに不具合が生じたときに fsck するのではなく、ファイルシステムを破棄してバックアップから復元するだけでは、本当に、本当に愚かなトレードオフ。

答え1

あるMathur らによる論文(p. 29)、e2fsck の時間は、ある時点以降、ファイルシステム上の inode の数に応じて直線的に増加します。グラフから判断すると、1,000 万 inode までのファイルシステムの方が効率的です。

ext4 に切り替えると役立つでしょう - ファイルシステムがいっぱいにロードされていない状態では、パフォーマンスの向上 (未使用としてマークされた inode をチェックしないことによる) は目立った効果がありません。

答え2

自分でベンチマークを行う必要があると思います。Google で簡単に検索しても、ext4 の fsck が ext3 よりはるかに高速であること以外、何も明らかにされませんでした。

そこで、使用するディスク サイズに合わせて、100 GB、200 GB などの ext3 パーティションをいくつか作成します。次に、それらのパーティションにデータを入力します。実稼働データに似たデータ (ディレクトリあたりのファイル数、ファイル サイズ分布など) を使用できる場合は、それが最適です。別のパーティションまたはバックアップ デバイスからファイルをコピーするだけで、ディスク上に完全にレイアウトされ、デフラグされた状態で配置されるため、テストでは、多数の書き込み/変更/削除によって発生するディスク ヘッドのシーク時間が大幅に削減されることに注意してください。

並列 fsck についても考慮する必要があります。/etc/fstab の最後の 2 つのフィールドを参照してください。同じ物理ディスク上のパーティションは順番に実行する必要があります。同じコントローラ上の複数のディスクは並列に実行できますが、コントローラに過負荷がかかって速度が低下しないように注意してください。

答え3

http://lmgtfy.com/?q=fsck+ベンチマーク

ext4 ファイルシステム上の fsck は ext3 上よりも大幅に高速であるように見えます。ext4 fsck は ext3 よりも 10 倍以上高速であるという報告もあります。

その検索から得られた非常に興味深い記事が 2 つあります。

http://thunk.org/tytso/blog/2008/08/08/fast-ext4-fsck-times/そしてhttp://thunk.org/tytso/blog/2009/02/26/fast-ext4-fsck-times-revisited/

答え4

再起動時に時間またはマウント回数に基づく fsck を強制しないファイルシステムを使用できない理由はありますか?

(時間ベースの fsck は本当に困ります。長時間稼働するサーバーの場合、カーネルをアップグレードするたびに完全な fsck を実行する必要があることがほぼ保証されます)。

とにかく、XFS は fsck を強制しないジャーナリング ファイルシステムの 1 つです。一見の価値があります。

関連情報