Linux ディストリビューションで現在デフォルトで使用されているファイル システムは「ext4」です。 EXT4 は、第 4 世代の拡張ファイル システムであり、Linux システムのログ ファイル システムであり、ext3 ファイル システムの後継バージョンです。 Ext4 ファイル システムの機能: より大きなファイル システムとより大きなファイル、より多くのサブディレクトリ、永続的な事前割り当てなど。
#このチュートリアルの動作環境: Red Hat Enterprise Linux 6.1 システム、Dell G3 コンピューター。
LINUX システムには、すべてがファイルであるという重要な概念があります。 Linux は UNIX を書き直したものであり、UNIX システムでは、ハードウェア デバイスを含むすべてのリソースがファイルとみなされます。
Linux のファイル システムは、Linux のバージョンが異なるため異なります。下位互換性があり、Linux ディストリビューションのファイル システムは 1 つだけではありません。
現在、Linux は多くのファイル システムをサポートしていますが、ほとんどの Linux ディストリビューションで使用されるデフォルトのファイル システムは通常 ext4 です。
EXT4 は、第 4 世代拡張ファイル システム (英語: Fourth Extended File System、略称: ext4) であり、Linux システムにおけるログ ファイル システムであり、ext3 ファイル システムの後継バージョンです。
Ext4 は、Ext3 のメンテナである Theodore Tso が率いる開発チームによって実装され、Linux 2.6.19 カーネルに導入されました。
Ext4 の理由は、開発者が新しい高度な機能を Ext3 に追加したためですが、実装プロセス中にいくつかの重要な問題が発生しました:
(1) 一部の新機能は下位互換性の安全性に違反します
(2) 新機能により Ext3 コードがより複雑になり、保守が困難になります
(3) 新たに追加された変更により、元々信頼性が高かった Ext3 の信頼性が低くなります。
これらの理由から、開発者は 2006 年 6 月以降、Ext4 を Ext3 から分離して独立した開発を行うことにしました。 Ext4 の開発はその時に始まりましたが、2006 年 11 月に 2.6.19 カーネルがリリースされるまで、ほとんどの Linux ユーザーと管理者は Ext4 にほとんど注目しませんでした。 Ext4 は最初にメインストリーム カーネルに登場しましたが、まだ実験段階にあったため、多くの人が無視していました。
2008 年 12 月 25 日、Linux カーネル 2.6.28 の正式バージョンがリリースされました。この新しいカーネルのリリースにより、Ext4 ファイル システムも実験期間を終了し、安定バージョンになりました。
機能:
大規模なファイル システムとより大きなファイル
Ext3 ファイル システムは、最大 32 TB および 2 TB のファイル システムのみをサポートします使用される特定のアーキテクチャとシステム設定によっては、実際の容量制限はこの数値よりもさらに低くなり、2TB のファイル システムと 16GB のファイルしか収容できなくなります。 Ext4のファイルシステム容量は1EB、ファイル容量は16TBに達し、非常に大きな数値となっています。これは、一般的なデスクトップやサーバーにとっては重要ではないかもしれませんが、大規模なディスク アレイのユーザーにとっては非常に重要です。
サブディレクトリの数の増加
Ext3 は現在 32,000 のサブディレクトリのみをサポートしていますが、Ext4 ではこの制限がなくなり、理論的には無制限の数のサブディレクトリがサポートされます。
より多くのブロックと i ノードの数
Ext3 ファイル システムはブロックと i ノードの数を記録するために 32 ビット領域を使用しますが、Ext4 ファイル システムは64 ビットに拡張します。
複数のブロック割り当て
データが Ext3 ファイル システムに書き込まれる場合、Ext3 データ ブロック アロケーターは一度に 1 つの 4KB ブロックのみを割り当てることができます。100MB のファイルには、100MB のファイルが必要です。データ ブロック アロケーターへの呼び出しは 25,600 回で、Ext4 のマルチブロック アロケーター「Multiblock Allocator (MBAlloc)」は 1 回の呼び出しで複数のデータ ブロックの割り当てをサポートします。
永続的な事前割り当て
アプリケーションが実際に使用される前にディスク領域を割り当てる必要がある場合、ほとんどのファイル システムは、ディスク領域を未使用のディスク領域に割り当てることによってこれを行います。 P2P ソフトウェアなどの割り当てを実現するスペースに割り当てます。ダウンロード ファイルを保存するのに十分な領域を確保するために、数時間または数日後のディスク領域不足によるダウンロードの失敗を避けるために、ダウンロード ファイルと同じサイズの空のファイルが事前に作成されることがよくあります。 Ext4 はファイル システム レベルで永続的な事前割り当てを実装し、アプリケーション ソフトウェア自体よりも効率的な対応する API を提供します。
遅延割り当て
Ext3 のデータ ブロック割り当て戦略は、できるだけ早く割り当てることですが、Ext4 の戦略は、割り当てが完了するまで可能な限り割り当てを遅らせることです。ファイルはバッファに書き込まれます。データ ブロックが割り当てられてディスクに書き込まれるため、ファイル全体のブロック割り当てが最適化され、パフォーマンスが大幅に向上します。
エクステント構造
Ext3 ファイル システムは間接マッピング アドレスを使用します。これは、大きなファイルを操作する場合には非常に非効率的です。たとえば、100MB のファイルの場合、Ext3 では 25,600 データ ブロックのマッピング テーブル (各データ ブロックのサイズを 4KB とする) を確立する必要がありますが、Ext4 ではエクステントの概念が導入され、各エクステントがセットになります。連続するデータブロックの中で、上記のファイルは「次の25,600データブロックにファイルデータが格納されている」というエクステントで表現できるため、アクセス効率が向上します。
新しい i ノード構造
Ext4 は、より大きな i ノードをサポートします。以前の Ext3 のデフォルトの i ノード サイズは 128 バイトでしたが、i ノードにより多くの拡張属性を収容するために、Ext4 のデフォルトの i ノード サイズは 256 バイトです。さらに、Ext4 は高速拡張属性と i ノード保持もサポートしています。
ログ検証機能
ログはファイル システムの最も一般的に使用される構造ですが、ログは破損しやすく、破損したログからデータを回復すると、さらに多くのデータが破損する可能性があります。 Ext4では、ログデータに検証機能を追加しており、ログデータが破損しているかどうかを簡単に判定することができます。さらに、Ext4 は Ext3 の 2 段階のロギング メカニズムを 1 段階に統合し、セキュリティを強化しながらパフォーマンスを向上させます。
「ログなし」モードのサポート
ログには常にある程度のオーバーヘッドがかかります。 Ext4 ではログ記録をオフにすることができるため、特別なニーズを持つ一部のユーザーはパフォーマンスを向上させることができます。
バリアはデフォルトで有効になっています
ディスクには、バッチ データの書き込み操作の順序を再調整し、書き込みパフォーマンスを最適化する内部キャッシュが装備されているため、ファイル システムはデータをログに記録する必要があります。 コミット レコードは、ディスクに書き込まれるまで書き込むことができません。コミット レコードが最初に書き込まれ、ログが破損する可能性がある場合、データの整合性が影響を受けます。 Ext4 ファイル システムでは、バリアはデフォルトで有効になっており、バリア前のすべてのデータがディスクに書き込まれた場合にのみ、バリアの後のデータを書き込むことができます。
オンライン デフラグメンテーション
遅延割り当て、マルチブロック割り当て、およびエクステント機能はファイルの断片化を効果的に削減できますが、それでも断片化は避けられません。 Ext4 はオンライン デフラグをサポートしており、個々のファイルまたはファイル システム全体をデフラグするための e4defrag ツールを提供します。
高速 fsck のサポート
以前のファイル システム バージョンでは、すべての i ノードをチェックする必要があったため、fsck の実行に時間がかかりましたが、Ext4 では各ブロック グループに未使用のリストが提供されていました。 i-node は i-node テーブルに追加されるため、Ext4 ファイル システムは整合性チェックを実行するときにそれらをスキップし、どの i-node が使用されているかのみをチェックすることができるため、速度が向上します。
ナノ秒のタイムスタンプをサポート
Ext4 より前の拡張ファイル システムのタイムスタンプは秒単位であり、ほとんどの設定にすでに対応できますが、プロセッサの速度と統合により(マルチコア プロセッサ) が増加し続け、Linux が他のアプリケーション分野に発展し始めると、タイムスタンプの単位はナノ秒に増加します。
Ext4 では、時間範囲に 2 桁が追加され、それによって寿命が 500 年延長されます。Ext4 のタイムスタンプは 2514 年 4 月 25 日までの日付をサポートしますが、Ext3 は 2038 年 1 月 18 日までしかサポートされません。
その他の関連記事を読むには、PHP 中国語 Web サイト にアクセスしてください。 !
以上がLinux ディストリビューションで現在使用されているデフォルトのファイル システムは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。