回答:
私の実際的な答えをリングに入れてみましょう:ext4で行ってください。極端なエッジケース(たとえば、数十万の小さなファイルの大量削除)を除いて、XFSに対する読み取り/書き込みの違いはありません。
ext4が広く使用されているという理由だけで、AskUbuntuのような場所でext4のコミュニティサポートも増えます。
XFSの顕著な欠点の1つは、XFSを縮小できない(パーティションサイズを小さくする)ことができないため、XFSパーティションサイズを小さくしたい場合は、バックアップ、再パーティション化/再フォーマット、復元が必要になることです。
ext4
これは、2012年の私の推奨事項であり、2017年に推奨されるFSです。このファイルシステムは、暗号化のサポート(2017年の時点で最新のカーネルが必要)で非常に成熟しており、外部ハードドライブ(および外部SSDでも)のほとんどのワークロードに十分対応できます。 )、データの安全性に関しても非常に安全な選択肢です。これは、特に外付けハードディスクがある場合に重要な要素です。内蔵ハードディスクほど保護されていません。
たとえばラップトップでは、電気が差し込まれていても、バッテリーが残っているので、内蔵ハドドライブはかなり安全です。ただし、外付けのハードディスクが接続されていると、接続が切断される傾向があります。たとえば、接続されているドライブのことを忘れてラップトップに立ち上がってしまいます。
XFS
多くの企業のワークロード、そしておそらく一部のデスクトップワークロードにも優れたパフォーマンスを提供します。おそらくこれらのエッジケースは外付けUSBハードドライブでは表示されず、USB3.1インターフェイスの外付けSSDでも表示される可能性があります。XFSを使用すると、一部のファイルが0に切り捨てられるよりも、切断または停電時よりも高いリスクがありましたが、何年もの間、これは問題にはなりません。XFSは、停電が発生した場合でも、堅牢で高速なファイルシステムになりました。
たとえばLUKSを使用する場合、XFSで暗号化を実装できます。しかし、暗号化のためのXFS内のネイティブサポートについては知りません。
BTRFS
2012年に、「1〜2年で、データとジャーナルのチェックサムをサポートするファイルシステムをお勧めします」と述べました。2017年には、RAID 5-6サポートを使用しない限り、このファイルシステムは非常に堅牢であると言えます(そのためには、最新のカーネルが必要なので、Ubuntu 18.04 LTSを待つことをお勧めします)。内部ハードディスクよりも公開されている外部ハードディスクでは、BTRFSは、データとメタデータのネイティブチェックサムを備えた非常に強力なソリューションになります。ただし、外付けハードドライブが1つしかない場合は、破損したデータのみを検出できますが、ドライブに各データまたはメタデータの2つのコピーを保存するように設定しない限り、修復できません。ディスクが失われた場合、もちろんすべてが失われるため、RAID1ではありません。ただし、セクターが破損している場合、BTRFSはコピーがある場合にセクターを回復できます。BTRFSはスナップショットをサポートし、
これは、ディスクの使用状況や空き領域の問題を適切に理解するなどのいくつかの特徴があるため(特に圧縮オプションを使用する場合)、推奨されるファイルシステムではありません。私がBTRFSを使用しているときにも、デバイスにスペースが残っていないために数回エラーが発生しました。これにはバランスなどが必要なので、初心者はまだ使用できません。
答えは、正確な要件によって異なります。
ext4は、Ubuntu、Fedora、openSUSEなどの人気のあるLinuxディストリビューションのデフォルトのファイルシステムになっています。ext4には、前バージョンに比べていくつかの改良点があります。その中には、最大16テビバイト(1テビバイトは1,024ギビバイト、1ギビバイトは1.074ギガバイト)のサポートと最大ボリュームサイズが最大1エクスビバイトです。ext3およびext2との下位互換性があり、ext3およびext2をext4としてマウントできます。新しいブロック割り当てアルゴリズムなど、ext4の特定の新機能をext3およびext2でも使用できるため、これによりパフォーマンスがわずかに向上します。
XFSは、もともとSilicon Graphics、Incで設計された、非常にスケーラブルで高性能なファイルシステムです。非常に大規模なファイルシステムをサポートするために作成されました。XFSは、8エクスビバイトから1を引いた最大ファイルシステムサイズをサポートします(ただし、これはホストオペレーティングシステムによって課されるブロック制限の影響を受けます)。32ビットLinuxシステムでは、ファイルとファイルシステムのサイズが両方とも16テビバイトに制限されています。
このテーマについてはたくさんの情報がありますが、ここから始めますからて、これについてさらに詳しく知りたい場合は、ぜひ探究してみてください。
これがお役に立てば幸いです。
出典:
- http://techie-buzz.com/foss/google-implements-ext4.html
- http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/6.0_Release_Notes/filesystems.html
深刻なワークロードがある場合は、ext4を使用しないことをお勧めします。
ソフトウェアの同時ビルドを実行する2つのビルドサーバーがあり、複数の同時ビルドを実行すると、ハングしたタスクが発生し、ビルドが強制的に終了します。一度に1つのビルドのみを実行すると、正常に完了します。ただし、これは理論的には8つの同時ビルド(または1 -j8ビルド)を実行できるマルチCPU、マルチコアマシンの目的に反します。
ext4の経験はあまり良くありません。現実の世界で使用するにはまだ若すぎます。
外部ドライブはCPUを集中的に使用し、USBバスに大きく依存するため、XFSはここでの最良の選択です。極端な低電力または高性能アプリケーションを使用する場合、これらのような選択は大きな違いを生みます。XFSは、私が自宅で構築したAtom N450ベースのアプライアンスでうまく機能しました。それはなんと9Wを使用し、データを細かく処理します。