Linux ext3とは何ですか

青灯夜游
リリース: 2022-06-17 17:52:11
オリジナル
3929 人が閲覧しました

Linux では、ext3 の正式名は「第 3 拡張ファイルシステム」、中国語で「第 3 世代の拡張ファイル システム」を意味します。ログ ファイル システムです。サポートされる最大容量は 32TB、最大サポート容量は 32TB です。 1 つのファイルの制限は 16 TB で、32,000 のサブディレクトリをサポートします。 ext3 ファイル システムは、ファイル システムの整合性を大幅に向上させ、予期しないダウンタイムによるファイル システムの損傷を回避します。

Linux ext3とは何ですか

#このチュートリアルの動作環境: linux7.3 システム、Dell G3 コンピューター。

linux ext3 ファイル

EXT3 は、第 3 世代拡張ファイル システム (英語: Third Extended Filesystem、略称 ext3) です。 log ファイル システム。Linux オペレーティング システムで一般的に使用されます。 1 つのファイルの最大制限は 16 TB で、ファイル システムは最大 32 TB の容量をサポートします。

これは、多くの Linux ディストリビューションのデフォルトのファイル システムです。 Stephen Tweedie は、1999 年 2 月にカーネル メーリング リストで拡張 ext2 の使用法を初めて示しました。ファイル システムは、2.4.15 カーネルからメインライン カーネルにマージされました。

EXT3 ログ ファイル システムの特徴

1. 高可用性

システムは ext3 を使用しますファイル システムがインストールされると、システムは異常シャットダウン後でもファイル システムをチェックする必要がありません。クラッシュが発生した後、ext3 ファイル システムを復元するのにかかる時間はわずか数十秒です。

2. データの整合性

ext3 ファイル システムは、ファイル システムの整合性を大幅に向上させ、予期しないダウンタイムによるファイル システムの損傷を回避します。データの整合性を確保するという観点から、ext3 ファイル システムには 2 つのモードから選択できます。その 1 つは、「ファイル システムとデータの一貫性を同時に維持する」モードです。こうすることで、異常なシャットダウンによってジャンク ファイルがディスクに保存されることはなくなります。

3. ファイル システムの速度

ext3 ファイル システムを使用する場合、データを保存するときにデータを複数回書き込む必要がある場合がありますが、全体として、ext3 はext2 よりも優れたパフォーマンス。これは、ext3 のロギング機能がディスク ドライブの読み取りおよび書き込みヘッドを最適化するためです。したがって、ファイル システムの読み取りおよび書き込みパフォーマンスは Ext2 ファイル システムと比較して低下していません。

4. データ変換

ext2 ファイル システムを ext3 ファイル システムに変換するのは非常に簡単で、2 つのコマンドを入力するだけで変換プロセス全体を完了できます。 . ユーザーは、パーティションのバックアップ、復元、フォーマットなどに時間をかける必要はありません。 ext3 ファイル システムによって提供される小さなツールであるtune2fs を使用すると、ext2 ファイル システムを ext3 ログ ファイル システムに簡単に変換できます。さらに、ext3 ファイル システムは、何も変更せずに ext2 ファイル システムに直接ロードできます。

5. 複数のログ モード

Ext3 には複数のログ モードがあり、その動作モードの 1 つは、すべてのファイル データとメタデータをログに記録することです (ファイル システム内のデータを定義します)。 ).data、つまりデータのデータ) ログ記録用 (data=journal モード)、もう 1 つの動作モードは、データをログに記録せずにメタデータのみをログに記録するもので、いわゆる data=ordered または data=writeback モードです。 。システム管理者は、システムの実際の動作要件に基づいて、システムの動作速度とファイル データの一貫性のどちらかを選択できます。

ext2 から ext3 に移行する必要がある理由 (EXT3 の利点)

主な理由は 4 つあります: 可用性、データ整合性の柔軟性、速度、移行の容易さ。

1. 可用性

異常なクラッシュ (停電、システム クラッシュ) の後、ext2 ファイル システムは、e2fsck による整合性検証後にのみ検証できます。 。 e2fsck の実行時間は主に ext2 ファイル システムのサイズによって異なります。わずかに大きいファイル システム (数十ギガバイト) の検証には時間がかかります。ファイル システム上に多数のファイルがある場合、検証に時間がかかります。数百ギガバイトのファイル システムの検証には 1 時間以上かかる場合があります。これにより、使いやすさが大幅に制限されます。一方、ext3 は、ハードウェア障害が発生しない限り、異常終了した場合でもファイル システムの検証を必要としません。これは、データがファイル システム全体で一貫した方法でディスクに書き込まれるためです。異常なシャットダウン後、ext3 ファイル システムを復元する時間は、ファイル システムのサイズやファイルの数ではなく、一貫性を維持するために必要な「ログ」のサイズによって決まります。デフォルトのログ設定では、回復時間はわずか 1 秒です (ハードウェアの速度によって異なります)。

2. データの整合性

ext3 ファイル システムを使用すると、異常シャットダウン時のデータ整合性のパフォーマンスが確実に保証されます。データ保護の種類とレベルを選択できます。ファイル システムの一貫性を維持しながら、異常なシャットダウン中にファイル システム上のデータが破損することを許容することを選択できます。これにより、状況によっては速度がある程度向上します (すべての状況ではありません)。データの信頼性をファイル システムと一致させるように選択することもできます。これは、クラッシュ後に新しく書き込まれたファイルにデータのガベージが表示されないことを意味します。ファイル システムと一貫したデータの整合性を維持するこの安全なオプションは、デフォルト設定です。

3. 速度

ext3 は ext2 よりも多くの回数データを書き込みますが、多くの場合、ext3 は ext2 よりも高速です (高いデータ フロー)。これは、ext3 のロギング機能により、ハードディスクのヘッドの回転が最適化されるためです。 3 つのロギング モードから 1 つを選択して速度を最適化し、一部のデータ整合性を選択的に犠牲にすることができます。

4. 簡単な移行

ハードディスクを再フォーマットせずに ext2 から ext3 に簡単に移行でき、信頼性の高いログ ファイル システムのメリットを享受できます。はい、長くて退屈でエラーが発生しやすい「バックアップ、再フォーマット、復元」操作を行わなくても、ext3 の利点を体験できます。

移行には 2 つの方法があります。システムをアップグレードする場合、Red Hat Linux インストーラーが移行を支援します。各ファイル システムの [選択] ボタンをクリックするだけです。

tune2fs プログラムを使用して、既存の ext2 ファイル システムにログ機能を追加します。変換プロセス中にファイル システムがマウントされている場合、ファイル「.journal」はルート ディレクトリに表示されますが、ファイル システムがマウントされていない場合、ファイルはファイル システムに表示されません。

ファイル システムを変換するには、tune2fs –j /dev/hda1 (または変換するファイル システムが存在するデバイス名) を実行し、ファイル /etc/fstab の ext2 を ext3 に変更します。 。

独自のルート ファイル システムを変換する場合は、initrd を使用して起動する必要があります。 mkinitrd のマニュアルの説明に従ってプログラムを実行し、LILO または GRUB 構成に initrd がロードされていることを確認します (成功しない場合でもシステムは起動できますが、ルート ファイル システムは ext3 ではなく ext2 としてロードされます)。これを確認するには、コマンド cat / proc/mounts を使用できます。)

拡張知識: EXT3 と EXT4 の主な違い

Linuxカーネルは 2.6.28 から正式になり、新しいファイル システム Ext4 をサポートします。 Ext4 は Ext3 の改良版であり、Ext3 が Ext2 に対して行うのと同様に、Ext3 のいくつかの重要なデータ構造を変更するだけでなく、ログ関数を追加するだけです。 Ext4 は、より優れたパフォーマンスと信頼性、さらに豊富な機能を提供します:

1. Ext3

との互換性 いくつかのコマンドを実行して、再フォーマットせずに Ext3 から Ext4 へのオンライン移行を実行します。ディスクを削除するか、システムを再インストールします。元の Ext3 データ構造は引き続き保持され、Ext4 は新しいデータに基づいて動作するため、ファイル システム全体は Ext4 がサポートするより大きな容量を獲得します。

2. より大きなファイル システムとより大きなファイル

現在 Ext3 でサポートされている最大 16TB ファイル システムと最大 2TB ファイルと比較して、Ext4 はそれぞれ 1EB をサポートします (1,048,576TB)。 、1EB=1024PB、1PB=1024TB)ファイルシステム、および16TBのファイル。

3. 無制限のサブディレクトリ数

Ext3 は現在 32,000 のサブディレクトリのみをサポートしますが、Ext4 は無制限の数のサブディレクトリをサポートします。

4.Extents

Ext3 は間接ブロック マッピングを使用しますが、これは大きなファイルを操作する場合には非常に非効率的です。たとえば、100MB のファイルの場合、25,600 データ ブロック (各データ ブロックのサイズは 4KB) のマッピング テーブルを Ext3 で確立する必要があります。 Ext4 は、最新のファイル システムで一般的なエクステントの概念を導入しています。各エクステントは連続したデータ ブロックのセットです。上記のファイルは、「ファイル データは次の 25,600 データ ブロックに格納されている」と表現され、効率が大幅に向上します。

5. マルチブロック割り当て

Ext3 ファイル システムにデータを書き込む場合、Ext3 データ ブロック アロケーターは一度に 1 つの 4KB ブロックのみを割り当てることができます。 100MBのファイルではデータブロックアロケータを25,600回呼び出す必要があり、Ext4のマルチブロックアロケータ「マルチブロックアロケータ」(mballoc)は1回の呼び出しで複数のデータブロックを割り当てることをサポートしています。

6. 遅延割り当て

Ext3 のデータ ブロック割り当て戦略は、できるだけ早く割り当てることですが、Ext4 およびその他の最新のファイル オペレーティング システムの戦略は、ファイルがキャッシュに書き込まれた後でのみ、データ ブロックが割り当てられてディスクに書き込まれるまで、割り当てをできるだけ遅らせます。これにより、ファイル全体のデータ ブロック割り当てが最適化され、最初の 2 つと組み合わせると、パフォーマンスが大幅に向上します。特徴。

7. 高速な fsck

以前は、すべての i ノードをチェックする必要があるため、fsck を実行する最初のステップは非常に時間がかかりましたが、Ext4 は i ノード テーブルを提供します。各グループの未使用の i ノードのリストが fsck Ext4 ファイル システムに追加されました。将来的には、fsck Ext4 ファイル システムはそれらをスキップし、使用中の i ノードのみをチェックできるようになります。

8. ログの検証

ログは最も一般的に使用される部分であり、ディスク ハードウェアの障害に簡単につながる可能性があります。破損したログからデータを復元すると、さらに多くのデータが発生します。破損しています。 Ext4 のログ検証機能は、ログ データが破損しているかどうかを簡単に判断でき、Ext3 の 2 段階のログ記録メカニズムを 1 段階に統合することで、セキュリティを強化しながらパフォーマンスを向上させます。

9. "ジャーナリングなし" モード

ログには常にある程度のオーバーヘッドが伴います。Ext4 では、特別なニーズを持つ一部のユーザーがログを借用できるようにログをオフにすることができます。これによりパフォーマンスが向上します。 。

10. オンライン デフラグメンテーション

遅延割り当て、マルチブロック割り当て、およびエクステントはファイル システムの断片化を効果的に削減できますが、断片化は避けられません。 Ext4 はオンライン デフラグをサポートしており、個々のファイルまたはファイル システム全体をデフラグするための e4defrag ツールを提供します。

11.inode 関連機能

Ext4 は、より大きな i ノードをサポートします。Ext3 のデフォルトの i ノード サイズ 128 バイトと比較して、Ext4 はより多くの i ノードに対応できます。拡張属性 (ナノ秒など)タイムスタンプまたは i ノードのバージョン)、デフォルトの i ノード サイズは 256 バイトです。 Ext4 は、高速拡張属性と i ノード予約もサポートしています。

12. 永続的な事前割り当て

ダウンロードされたファイルに保存するのに十分なスペースを確保するために、P2P ソフトウェアは多くの場合、ファイルと同じサイズのファイルを事前に作成します。ダウンロードされたファイル。今後数時間または数日間のディスク容量不足によるダウンロードの失敗を避けるため、空のファイルを作成します。 Ext4 はファイル システム レベルで永続的な事前割り当てを実装し、アプリケーション ソフトウェア自体よりも効率的な対応する API (libc の posix_fallocate()) を提供します。

13. バリアはデフォルトで有効になっています

ディスクには、バッチ データ書き込み操作の順序を再調整し、書き込みパフォーマンスを最適化するための内部キャッシュが装備されているため、ファイル システムは次の場所にある必要があります。コミット レコードは、ログ データがディスクに書き込まれた後にのみ書き込めます。コミット レコードが先に書き込まれ、ログが破損する可能性がある場合、データの整合性が影響を受けます。 Ext4 はデフォルトでバリアを有効にしており、バリア前のすべてのデータがディスクに書き込まれた場合にのみ、バリアの後のデータを書き込むことができます。 (この機能は、「mount -o Barrier=0」コマンドで無効にできます。)

関連する推奨事項: 「Linux ビデオ チュートリアル

以上がLinux ext3とは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート