私は電子メールシステムを構築しており、オンラインサイズ変更をサポートし、停電時に安全で、ディレクトリあたりのファイル数を制限しない(または少なくともディレクトリあたり数百万のファイルを保持できる)ファイルシステムを検討しています。
この状況に最適なファイルシステムを知りたいのですが。助けてくれませんか?前もって感謝します!
PS:私は自分のメールストレージを次のように階層化しています:
レイヤー3:drbd(/ dev/drbd0)の上にあるFilesystem(XFS、JFS、Btrfs、Reiser4、...)
レイヤー2:LVM2の論理ボリューム上のDRBD(デュアルプライマリモード)
レイヤー1:物理ボリューム上のLVM2(/ dev/sdc、/ dev/sdd、...)
レイヤー0:物理ボリューム(sdc、sdd、...)はハードウェアRAID10です(「書き込みキャッシュモード」が有効になっています)(各「物理ボリューム」は実際には4 HDDです)
編集:3.2カーネルでUbuntu 12.04 LTSを使用しています。
DRBDの「デュアルプライマリモード」を使用しているため、ファイルシステムオントップにはGFS2(RedHatから)とOCFS2(Oracleから)の2つの選択肢しかないことがわかりました。 Ubuntu 12.04LTSでどのオプションがより安定しているか知りたいのですが...
OCFS2についていくつか問題がありました。 OCFS2 v1.6の方が優れているかどうかわかりませんか?
編集:XFSの上にGlusterFSミラーを使用することにしました。みなさん、ありがとうございました!
XFSは、長年にわたって私にとって信頼できる主力製品でした。私が話しているメールシステムは、5万以上のアカウント(ピーク時には10万近くのアカウント)と約30万のメールボックスを備えたCyrusIMAPサーバーを問題なく実行しています。何千万ものメールファイルがあります。すべてがスムーズに機能し、サーバーの負荷はほとんどアイドル状態です。
しかし...ディレクトリごとに数百万のファイル?どんなメールシステムについて話しているのですか? XFSはそれを何らかの方法で処理する可能性がありますが、そのような動作のために設計されたファイルシステムはありません。
そのリストの私の推奨はXFSでしょう。 Linuxディストリビューション情報を提供していませんが、CentOSまたはRed Hatを想定すると、XFSはある程度統合されています。これは成熟したファイルシステムであり、オンラインでの最適化を提供し、その場で拡張(縮小ではない)できます。 JFSについてはほとんど耳にしません... Reiserはギャンブルであり、途方もないマインドシェアを失っています... Btrfsは十分に成熟していません これを信頼します。 ext4に何か問題がありますか?
これらの投稿も参照してください:
下位層がすべて冗長で適切に管理されている場合、ファイルシステムを選択する際の唯一の考慮事項は、抽象ファイルシステムの速度と信頼性です(下位層でこのような冗長性によって物理的に破損するものはないと想定できるため)。
これらの要件については、古き良きext3が引き続き勝ちます(メタデータジャーナリングのみ)-XFSはOSの障害に適していないことが示されているように、ext4もこれらのタスクに対して十分に成熟していません-ext4ボリュームにクリティカルFS過去のエラーで、論理的な理由はありません。
とはいえ、「ディレクトリあたり数百万のファイル」の要件はどこから来るのでしょうか。
電子メールは、mboxまたはmaildir(または最近ではdbox)として保存されます。ディレクトリごとに何百万ものファイルを必要とするものはありません-実際、maildirはディレクトリごとに1つの論理メールボックスフォルダを保持しており、フォルダごとに数千を超えるファイルを持っている人は誰も知りません。
mboxは、メールボックス、期間ごとに1つの巨大なファイルであり、今日の電子メールストレージには適していません。
ブロックの新しい子供であるdboxは、ほとんどの場合、mboxとmaildirの両方を上回るパフォーマンスを発揮するはずですが、ここでも、「数百万のファイル」を1つのディレクトリに保存しません。
LVMのセットアップについては、 LVMの危険性と警告 を参照してください。これは、LVMが正常に機能するために必要なさまざまなポイントをカバーしています。
あなたがリストするセットアップのいくつかは、私が取り組んでいる多くの電子メールシステムと一致します。大きな例外は、DRDBが引き起こす問題のために、可能な限りDRDBをゆっくりと引き出していることです。 99.99%の時間、それは完璧で、フォールオーバーはうまく機能しますが、それが単に痛みの山全体を引き起こすだけではないとき。
他の人がコメントしているように、ディレクトリあたりのメール数willは、物事を大幅に遅くします。自動アーカイブソリューションを提供することで、これを回避しました。非常に基本的なレベルでは、imapを介して接続し、imapを使用して、古いメールを日付で分割されたアーカイブサブフォルダーに移動するスクリプトです。ほとんどのメールボックスでは、これにより、物事を比較的クリーンに保ちながら、整理された状態に保つことができます。
ファイルシステムの選択では、選択したメールボックス形式に応じて、調整パラメーターによってかなり大きな違いが生じます。 maildirを使用すると、noatimeが一部のクライアントに違いをもたらす可能性がありますが、キャッシュが組み込まれたDovecotのようなものは、最近この利益を打ち消しています。