Ext 4ファイルシステムの概要

1516 ワード

単一ファイルは最大8 TBです.32ビットのアドレス長を使用するため、Ext 3が最大でサポートするディスクサイズは2^31*4 K、すなわち8 TB(inode番号は符号intのある変数であるため、2^31)である.        現在のディスクアレイの発展により、すでに8 TBを超えるディスクアレイが現れているため、最近カーネルメールリストにExt 3拡張に関する議論が火をつけた.これがExt 4である.        見てみると、Ext 3/Ext 2の開発者たちは以下のようにinodeを使って元のExt 3_を置き換えた.inode構造
struct ext3_extent {
        __le32        ee_block;        /* first logical block extent covers */
        __le16        ee_len;          /* number of blocks covered by extent */
        __le16        ee_start_hi;     /* high 16 bits of physical block */
        __le32        ee_start;        /* low 32 bits of physical block */
    }; 

        元のinodeは15個のポインタを使用してファイルに格納されたブロックを指し、そのうち最後の3つは間接インデックスである.現在Ext 4は、従来のExt 3_の代わりに拡張と呼ばれるinodeを使用している.inode、すなわちExt 3_Extent.
        Extentのスペースは3バイトで、元の15ポインタスペースは5つのExtentを保存することができ、ファイルが十分に連続していれば、5つを保存することができます.×2^16 byte(320 kbyte)サイズのファイル.従来のExt 3は間接インデックスを使用しない場合、48 kbyteサイズのファイルしか保存できないため、Extentは小さなファイル(大きくも小さくもないファイル?)のポインタインデックス回数を減らし、アクセス時間を速めた.        ファイルが一定の大きさを超えると、Extentも間接インデックスを使用しますが、Ext 3とは異なり、Extentの間接インデックスの回数は制限されず、Ext 3とは異なり最大3回の間接インデックスしか作成できません.        注意ee_lenフィールドは、16ビット、すなわち、4 kではなく最大64 kのブロック群である.これにより検索時間が大幅に短縮され、Ext 4開発者は「現在、ファイルの格納は連続したブロックを使用する傾向にあり、これによってスペースがかからない」と説明した.        もう一つの重要なフィールドは、ee_です.startとee_start_hi、彼らは共に48ビットのディスクブロックインデックスを構成して、このように1024 PBサイズの設備をサポートすることができて、今後数十年で、十分です!
        しかしExt 4には、古いカーネルがExt 4を使用するディスクを認識できないという欠点がある.
【ChinaUnixブログより転載】