公開:

ext3とは?意味をわかりやすく簡単に解説

text: XEXEQ編集部


ext3とは

ext3はLinuxで広く使用されているファイルシステムの一つです。ext2の後継にあたり、ジャーナリング機能を追加したことが特徴です。

ジャーナリングとはファイルシステムへの変更内容を記録しておく仕組みのことを指します。これにより、システムクラッシュ時などでもファイルシステムの整合性を保つことができます。

ext3はext2との高い互換性を保ちつつ、ジャーナリング機能によってデータの信頼性を向上させています。また、ファイルシステムのチェックが高速化されるなどのメリットもあります。

ext3ではデータ領域とiノード領域が独立しています。iノードにはファイルのメタデータが格納されます。これにより、ファイルの検索やアクセスが効率的に行えます。

ext3は2001年にリリースされて以降、長らくLinuxのデフォルトファイルシステムとして採用されてきました。現在では後継のext4にその座を譲っていますが、今なお多くのシステムで利用されている重要なファイルシステムです。

ext3のジャーナリングモード

ext3のジャーナリングには以下3つのモードがあります。

  • データジャーナルモード
  • 順序付きモード
  • ライトバックモード

データジャーナルモード

データジャーナルモードは全てのデータと メタデータの変更をジャーナルに記録するモードです。システムクラッシュ時でも、ジャーナルからデータを復元できるため、最も高い信頼性を提供します。

ただし、全ての変更をジャーナルに記録するため、パフォーマンスは他のモードと比べて低くなります。信頼性を最優先する場合に適したモードといえます。

データジャーナルモードはMount オプションで data=journal を指定することで有効になります。

順序付きモード

順序付きモードはメタデータのみをジャーナルに記録し、データはジャーナルには記録しないモードです。メタデータの整合性は保証されますが、データの整合性は保証されません。

データジャーナルモードと比べ、パフォーマンスは向上します。一般的なユースケースではこのモードで十分な信頼性が得られるでしょう。

順序付きモードはMount オプションで data=ordered を指定することで有効になります。これがext3のデフォルトモードです。

ライトバックモード

ライトバックモードはメタデータのみをジャーナルに記録し、データはジャーナルには記録しないモードです。メタデータとデータの書き込み順序は保証されません。

3つのモードの中で最もパフォーマンスが高くなりますが、信頼性は最も低くなります。システムクラッシュ時にはファイルシステムに不整合が発生する可能性があります。

ライトバックモードはMount オプションで data=writeback を指定することで有効になります。

ext3のファイルシステム制限

ext3にはファイルシステムに関するいくつかの制限があります。これらの制限を理解しておくことはext3を適切に使用する上で重要です。

  • 最大ファイルサイズ
  • 最大ファイルシステムサイズ
  • 最大ファイル数

最大ファイルサイズ

ext3の最大ファイルサイズはブロックサイズとiノードサイズによって決まります。デフォルトのブロックサイズ4KB、iノードサイズ256バイトの場合、最大ファイルサイズは2TBとなります。

ただし、カーネルの設定によってはこの制限よりも小さくなる場合があります。また、アプリケーションによっては独自の制限を設けている場合もあるので注意が必要です。

ファイルサイズの制限を緩和するにはブロックサイズを大きくする必要があります。ただし、ブロックサイズを大きくすると、小さなファイルに対してはオーバーヘッドが大きくなるというデメリットがあります。

最大ファイルシステムサイズ

ext3の最大ファイルシステムサイズはブロックサイズとブロック数によって決まります。ブロックサイズを4KB、ブロック数を2^32個とした場合、最大ファイルシステムサイズは16TBとなります。

ブロックサイズを大きくすれば、より大きなファイルシステムを作成できます。ただし、ブロックサイズを大きくしすぎると、小さなファイルに対してはオーバーヘッドが大きくなります。

また、ファイルシステムサイズを大きくするにはアドレス空間を拡張する必要があります。ext3では48ビットのブロック番号を使用することで、最大1EBのファイルシステムをサポートしています。

最大ファイル数

ext3の最大ファイル数はiノード数によって決まります。デフォルトではファイルシステムサイズの1%がiノード領域に割り当てられます。

例えば、16GBのファイルシステムではデフォルトで約1.3百万個のiノードが作成されます。これが、そのファイルシステムで作成できるファイルの最大数となります。

iノード数が足りなくなった場合はファイルシステムを拡張するか、iノード density を上げる必要があります。ただし、iノード数を増やすと、iノード領域のオーバーヘッドが大きくなるというデメリットがあります。

ext3からext4への移行

ext4はext3の後継として設計された、より高機能なファイルシステムです。ext4ではext3の制限の多くが緩和され、パフォーマンスも向上しています。

  • 移行の利点
  • 移行の手順
  • 移行時の注意点

移行の利点

ext3からext4への移行には多くの利点があります。ext4では最大ファイルシステムサイズが1EBに拡張され、最大ファイルサイズも16TBに拡張されています。

また、ext4ではextentと呼ばれる仕組みが導入され、断片化の抑制とパフォーマンスの向上が図られています。加えて、遅延アロケーションによって、パフォーマンスとスループットが改善されています。

その他にも、ジャーナルのチェックサムによるデータ破損の検出、高速なファイルシステムチェック、ブロック単位の割当による容量の効率的な利用など、多くの改良が加えられています。

移行の手順

ext3からext4への移行は比較的簡単に行うことができます。移行にはtune2fsコマンドを使用します。

# tune2fs -O extents,uninit_bg,dir_index /dev/sda1

このコマンドにより、ファイルシステムがext4の機能を使用できるようになります。ただし、この時点ではまだext3との互換モードで動作します。

完全にext4に移行するにはファイルシステムをマウント解除し、再度tune2fsコマンドを実行します。

# tune2fs -O ^has_journal /dev/sda1
# e2fsck -f /dev/sda1

移行時の注意点

ext3からext4への移行は比較的安全に行うことができますが、いくつかの注意点があります。移行前には必ずバックアップを取っておくことが重要です。

また、移行後はext3との互換性が失われるため、ext3でマウントすることはできなくなります。移行後に問題が発生した場合はバックアップからの復元が必要になります。

加えて、ext4の一部の機能はカーネルのバージョンによってはサポートされていない場合があります。移行前に、使用しているカーネルがext4の機能をサポートしていることを確認しておく必要があります。

「コンピュータ」に関するコラム一覧「コンピュータ」に関するニュース一覧
ブログに戻る

コメントを残す

コメントは公開前に承認される必要があることにご注意ください。