Maildir形式を使用するメールサーバーがあり、約100GBのデータがあり、いくつかのディレクトリにはそれぞれ20000を超えるファイルがあります。私は現在ext3を使用していますが、時々少し遅いことに気づきました。したがって、より高速なファイルシステムを試してみたいのですが、安定性と信頼性が必要です。
どちらをお勧めしますか?
私はメールサーバーのセットアップにXFSを使用し(以前はext3でした)、すべての小さなファイルで改善が見られたことは間違いありませんが、しばらく前のことであり、IIRCにはXFSと停電(またはそのことについては、ディスクアクセスの突然の中断)開いているすべてのファイルを「0」などで埋めたままにします。
しかし、他の人が言及しているように、テストは正常です。同じFSは、ハードウェアによって動作がまったく異なる可能性があります。最初に述べたように、サーバーをセットアップしてからしばらく経ちました... 。(私は約4年だと思います)そして利用可能なFSそしてまたそれらのパフォーマンスはかなり変わったかもしれません。
全体として、これは私の2¢です
ext3は、大きなディレクトリをより適切に処理するように調整できます
これを実行します:tune2fs -O dir_index /dev/hdXY
次にこれ:e2fsck -D -f /dev/hdXY
最初のものは、将来のすべてのディレクトリでそれを有効にします。 2つ目は、既存のすべてのディレクトリをクロールして、ハッシュツリーを構築します。これにはかなり時間がかかる場合があるため、ダウンタイムを計画してください。
上記の推奨事項に同意します。テストは非常に重要です。
ReiserFSも検討してください。その設計目標の1つは、多数の小さな(<4KiB)ファイルを効率的に処理することでした。これは、一般的なmaildir実装が処理する必要があるものです。ウィキペディアには、その長所と短所の両方を強調した、それに関する有益な記事があります。
私はXFSを使います。読みたいかもしれません このスレッド (最初はcomp.mail.imapとcomp.os.linux.miscに表示されましたが、Googleグループでは見つかりません)
あなたの状況では、XFSはext4よりもはるかに高速であるため、検討してください。
メールサーバー(postfixなど...)はfsync()でファイルをフラッシュし、ファイルが実際に書き込まれたことを確認します。メールあたりの書き込みとfsyncの数は少なくとも2つ(スパムチェッカーとアンチウイルスなし)であるため、このシナリオで最高のパフォーマンスを発揮するファイルシステムが必要です。
前回テストをチェックして自分自身をテストしたとき、XFSは他の競合するファイルシステムのがらくたを打ち負かしました。
ext4 はどうですか?
EXT3と比較して、EXT4の「ビッグディレクトリ」のパフォーマンスははるかに優れています。 「1つのディレクトリに数千のファイルがある」場合を処理するために、いくつかの改善が行われました。最大の改善は100K +/dirの範囲で行われるため、負荷による切り替えに大きな改善が見られない場合があります(テストを行うことをお勧めします)。