NTFSおよびEXT4ファイルシステム。それらの主な違いは何ですか?それらの類似点は何ですか?
NTファイルシステム、NTFSは、読み取り、書き込み、検索などの標準的なファイル操作、さらには非常に大きなハードディスク上のファイルシステムの回復などの高度な操作をすばやく実行するように設計されています。
NTFSファイルシステムでボリュームをフォーマットすると、$ MFT、マスターファイルテーブル、$ Bitmap、$ LogFileなどのいくつかのシステムファイルが作成されます。
NTFSボリュームの最初の情報はパーティションブートセクター($ Bootメタデータファイル)です。これはセクター0から始まり、最大16セクターの長さにすることができます。
暗号化:暗号化ファイルシステム(EFS)は、NTFSボリュームに暗号化されたファイルを保存するために使用されるコアファイル暗号化技術を提供します。
ディスククォータ:Windows 2000は、NTFSボリュームのディスククォータをサポートしています。
再解析ポイント:再解析ポイントは、NTFSファイルまたはフォルダーに適用できるNTFSの新しいファイルシステムオブジェクトです。
ボリュームマウントポイント:再解析ポイントに基づくボリュームマウントポイント、ボリュームマウントポイントにより、管理者は1つのローカルボリュームのルートへのアクセスを別のローカルボリュームのフォルダー構造に移植できます。
スパースファイル:スパースファイルにより、プログラムは非常に大きなファイルを作成できますが、必要な場合にのみディスクスペースを消費します。
分散リンクトラッキング:NTFSは、ファイルへのショートカットと複合ドキュメント内のOLEリンクの整合性を維持するリンクトラッキングサービスを提供します。
Ext4は、最も使用されているLinuxファイルシステムであるExt3の進化版です。その結果、設計が改善され、パフォーマンス、信頼性、機能が向上したファイルシステムが実現します。
より大きなファイルシステム/ファイルサイズ:Ext4は48ビットブロックアドレス指定を追加するため、最大ファイルシステムサイズは1 EB、最大ファイルサイズは16 TBになります。 1 EB = 1,048,576 TB。 64ビットではなく48ビットなのはなぜですか? Ext4で完全に64ビット対応にする前に修正する必要があるいくつかの制限がありますが、Ext4では対処されていません。 Ext4データ構造はこれを念頭に置いて設計されているため、将来のExt4の更新では、いずれかの時点で完全な64ビットサポートが実装される予定です。
サブディレクトリのスケーラビリティ:Ext4はその制限を打ち破り、サブディレクトリの数に制限はありません。
エクステント:エクステントは、基本的には連続した物理ブロックの集まりです。基本的に「データは次のnブロックにあります」と表示されます。たとえば、25600ブロックの間接マッピング(ブロックごとに4 KB)を作成する代わりに、100 MBファイルをそのサイズの単一エクステントに割り当てることができます。巨大なファイルはいくつかのエクステントに分割されます。エクステントはディスク上の連続したレイアウトを促進するため、エクステントはパフォーマンスを改善し、断片化の削減にも役立ちます。
マルチブロック割り当てExt4は、「マルチブロックアロケーター」(mballoc)を使用して、呼び出しごとに1つのブロックではなく、1回の呼び出しで多くのブロックを割り当て、多くのオーバーヘッドを回避します。これによりパフォーマンスが向上し、遅延割り当てとエクステントで特に役立ちます。
遅延割り当て:遅延割り当てはパフォーマンス機能であり、従来のファイルシステムが行うこととは反対に、ブロックの割り当てを可能な限り遅延させることにあります。ブロックをできるだけ早く割り当てます。たとえば、プロセスがwrite()する場合、ファイルシステムのコードは、データが配置されるブロックをすぐに割り当てます-データが現在ディスクに書き込まれておらず、一部のキャッシュに保持される場合でも時間。
高速fsck Fsckは、特に最初のステップであるファイルシステム内のすべてのiノードをチェックするという非常に遅い操作です。 Ext4では、各グループのiノードテーブルの最後に未使用のiノードのリスト(安全のためにチェックサム付き)が保存されるため、fsckはそれらのiノードをチェックしません。その結果、使用されるiノードの数に応じて、合計fsck時間は2から20倍に改善されます。
ジャーナルのチェックサムジャーナルはディスクの最も使用される部分であり、ジャーナルの一部を形成するブロックはハードウェア障害が発生しやすくなります。また、破損したジャーナルから回復すると、大規模な破損が発生する可能性があります。 ext4は、ジャーナルデータをチェックサムして、ジャーナルブロックが失敗または破損しているかどうかを確認します。
オンラインでの最適化遅延割り当て、エクステントおよびマルチブロック割り当ては断片化の削減に役立ちますが、ファイルシステムの使用は断片化する可能性があります。 Ext4はオンラインフラグメンテーションをサポートし、個々のファイルまたはファイルシステム全体をデフラグできるe4defragツールがあります。
Iノード関連機能:より大きなiノード、ナノ秒のタイムスタンプ、高速拡張属性、iノードの予約。 Ext4はデフォルトで256バイトになります。これはいくつかの追加フィールドに対応するために必要であり、iノードの残りのスペースは、そのスペースに収まるほど小さい拡張属性を格納するために使用されます。 iノードの予約は、ディレクトリの作成時にいくつかのiノードを予約し、将来使用されることを想定しています。ナノ秒のタイムスタンプは、「変更時刻」などのiノードフィールドがナノ秒の解像度を使用できることを意味します。
永続的な事前割り当てこの機能は、最新のカーネルバージョンのExt3で利用可能であり、それをサポートしていないファイルシステムでglibcによってエミュレートされ、アプリケーションがディスクスペースを事前に割り当てることができます:ブロックとデータ構造ですが、アプリケーションが将来データを書き込む必要があるまで、データはありません。
デフォルトのバリア:これは、パフォーマンスを犠牲にしてファイルシステムの整合性を向上させるオプションです(「mount -o barrier = 0」で無効にできます。ベンチマークを行う場合は試してみることをお勧めします)。