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構造
元の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ブログより転載】
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ブログより転載】