Linux に最適なソリッド ステート ファイル システム (SSDFS) は何ですか?

Linux に最適なソリッド ステート ファイル システム (SSDFS) は何ですか?

EXT4はソリッドステートファイルシステムではありません。ハードウェアを最大限に活用できず、ドライブを消耗します。では、最適なものは何でしょうか?ソリッドステートファイルシステムLinux 用ですか? ButterFS (btrfs) に期待していますが、実稼働システムには適していません。また、特定の ssdfs を好む理由も知りたいです。

答え1

まず第一に、最新の SSD ドライブ、特に私が「エンタープライズ」ワークロードに使用するようなドライブには、十分なウェア レベリング機能が組み込まれているため、動作が不適切なファイル システムであっても、ドライブ自体の寿命が著しく低下することはありません。メタデータ操作やジャーナルに同じブロックを何度も使用するファイル システムでも、このようなことは起こりません。ドライブは、ドライブが古くなるにつれて、論理ホット ブロックを別の物理ブロックに移動できるほどスマートだからです。

SSD の寿命を最大限に延ばすのに適したファイル システムとは、ストレージ ブロックの書き込み時に書き込み I/O 操作のオーバーヘッドが最小限に抑えられるファイル システムです。オーバーヘッドは通常、メタデータとジャーナル操作によって発生します。ただし、これは SSD に固有のものではなく、このような書き込み増幅機能は回転メディアにも影響を及ぼします。

LogFS などの真のソリッド ステート ドライブ指向のファイル システムが真価を発揮するのは、ウェア レベリングが組み込まれていないストレージを管理するときです。コンパクト フラッシュまたは SD カードをベースにしたストレージを構築する場合、これらのファイル システムは、最新のソリッド ステート ドライブが内部で実行するウェア レベリングを実際に実行します。組み込みデバイスは、おそらくエンド ユーザーやサーバー管理者よりもこれらのファイル システムをはるかに頻繁に使用します。

実際の SSD をお持ちの場合は、従来の回転メディア指向のファイルシステムでブロック境界を論理ドライブのブロック境界に合わせると、依然として大きな効果が得られます。これにより、書き込みの不整合による書き込み増幅が防止され、デバイスのパフォーマンスと寿命が向上します。

SSD でも、ファイルシステムとしては XFS が気に入っています。しかし、他のワークロードには EXT4 が有望に思えます。LogFS のような実験的なファイルシステムが時の試練に耐えられるという確信よりも、XFS をいじってブロック アラインメント書き込みを行うことで寿命とパフォーマンスの両方が向上するという確信のほうがはるかに大きいです。

答え2

一般的に、ドライブの消耗はファイルシステムでは対処できません。ドライブにはウェアレベリング技術が組み込まれています。トリムコマンドこうすることで、ドライブが古くなってもパフォーマンスの問題を回避できます。OCZ やその他の 2 次ブランドは使用しないことを強くお勧めします。最新のファームウェアを搭載した安価な MLC Intel SSD はうまく機能しています。このファームウェアは手動でインストールする必要があります。Intel が MLC ドライブにこのファームウェアを搭載して出荷しているとは思えません。

可能であれば、このドライブにログ ファイルやスワップ ファイルを書き込まないことも検討します。

関連情報