ファイルのバックアップを作成する外部ハードドライブがあります。
XFSとext4の間のどのファイルシステムが、ハードドライブにデータを書き込むのに最も速くなりますか?
私の実用的な答えをリングに放り込みましょう:ext4に行きましょう。極端なEdgeの場合(たとえば、数十万の小さなファイルの大量削除など)を除き、XFSと読み取り/書き込みの違いはありません。
また、AskUbuntuのような場所でext4がより広く使用されているという理由だけで、ext4のコミュニティサポートが増えます。
XFSの顕著な欠点の1つは、縮小できない(パーティションサイズを小さくする)ため、XFSパーティションサイズを小さくしたい場合は、バックアップ、再パーティション化/再フォーマット、復元が必要になることです。
ext4
これは2012年の私の推奨事項であり、2017年の推奨FSです。このファイルシステムは暗号化のサポートにより非常に成熟しており(2017年時点で最新のカーネルが必要)、外部ハード上のほとんどのワークロードに十分高速ですドライブ(および外付けSSDも)、データの安全性に関して非常に安全な選択です。これは特に外付けハードディスクがある場合に重要な要素であり、内蔵ハードディスクほど保護されていません。
たとえば、ラップトップでは、電気が抜けてもバッテリーが残っているので、内蔵ドライブはかなり安全です。ただし、外付けハードディスクは接続されていない場合があります。たとえば、接続されているドライブを忘れてラップトップに近づきます。
XFS
多くの企業の作業負荷、およびおそらくいくつかのデスクトップの負荷に対しても良好なパフォーマンスを提供します。おそらくこれらのEdgeケースは、外部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を引いた最大ファイルシステムサイズ(つまり、263-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つ以上の同時ビルドを行うと、ハングしたタスクが発生し、ビルドが強制的に終了します。一度に1つのビルドしか実行しない場合、問題なく完了します。ただし、これは、理論的に8つの同時ビルド(または1 -j8ビルド)を実行できるマルチCPU、マルチコアマシンを持つという目的に反します。
Ext4の経験はあまり良くありません。実世界で使用するにはまだ若すぎます。
私はこれらのファイルシステムの多くのベンチマークを見てきましたEXT4の方が良いと思いますが、XFSとの違いは最小限だと思います...
読み取り/書き込みベンチマークでは、それほど多くの違いはなく、EXT4を使用していますが、それは素晴らしいことです。
外部ドライブはCPUを集中的に使用し、USBバスに大きく依存するため、ここではXFSが最適です。非常に低電力または高性能のアプリケーションを使用する場合、これらのような選択は大きな違いを生みます。 XFSは、私が自宅で構築したAtom N450ベースのアプライアンスで非常にうまく機能しました。それはなんと9Wを使用し、データをうまく提供します。