提供ext4文件系統(tǒng)的支持,可以說(shuō)是Fedora 9的最大亮點(diǎn),但ext4只是可選安裝,直接進(jìn)入安裝程序的話,并沒(méi)有ext4的選項(xiàng),若要啟用ext4,需要在光盤(pán)啟動(dòng)后在安裝啟動(dòng)選項(xiàng)上按tab鍵,在命令行上加上內(nèi)核選項(xiàng)ext4,才能在安裝時(shí)使用ext4。需要注意的是ext4還在dev階段,Grub還沒(méi)有支持ext4做為啟動(dòng)分區(qū),所以/分區(qū)用ext4的話,需要把/boot分區(qū)獨(dú)立出來(lái),放在非ext4分區(qū)上邊,否則系統(tǒng)將無(wú)法啟動(dòng)。
光盤(pán)啟動(dòng)后、在安裝啟動(dòng)選項(xiàng)上按tab鍵,然后在命令行上加上內(nèi)核選項(xiàng)ext4、在分區(qū)時(shí)就會(huì)出現(xiàn)ext4dev的選項(xiàng)。
ABOUT ext4:
因?yàn)閑xt3的inode使用32的地址指針以及3次間接指針,這樣單個(gè)文件的大小最多為2^10*2^10*2^10*2^11,也就是2的41次方,即在32系統(tǒng)上并使用4k塊大小時(shí),單個(gè)文件最多是8TB。由于使用32位的地址長(zhǎng)度,ext3最多支持的磁盤(pán)大小為2^31*4K,即8TB(inode號(hào)是有符號(hào)int的變量,所以是2^31)。
由于當(dāng)今磁盤(pán)陣列的發(fā)展,已經(jīng)出現(xiàn)了超過(guò)8TB的磁盤(pán)陣列,于是最近內(nèi)核郵件列表里火了一把關(guān)于ext3擴(kuò)展的討論,這就是ext4。
看了一下,那幫ext3/ext2的開(kāi)發(fā)者們使用了如下了inode替換了原來(lái)的ext3_inode結(jié)構(gòu)
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 */
};
原來(lái)的inode使用15個(gè)指針指向文件存放的塊,其中最后三個(gè)是間接索引;現(xiàn)在ext4使用稱(chēng)為擴(kuò)展的inode替代了原來(lái)的ext3_inode,即ext3_extent。
extent的空間占3個(gè)字節(jié),這樣原來(lái)的15個(gè)指針空間可以存放5個(gè)extent,如果文件足夠連續(xù)的話,就可以存放5×2^16byte(320kbyte)大小的文件。原來(lái)的ext3在不使用間接索引的時(shí)候,只能存放48kbyte大小的文件,這樣extent就減少了小文件(不大不小文件?)的指針?biāo)饕螖?shù),加快了訪問(wèn)時(shí)間。
當(dāng)文件超過(guò)一定大小時(shí),extent也使用間接索引,不過(guò)與ext3不同的是,extent的間接索引次數(shù)沒(méi)有限制,不像ext3最多只能做3次間接索引。
注意ee_len字段,它是16位的,也就是說(shuō)它的一個(gè)塊組最大是64k,而不是4k。這樣大量減少了查找時(shí)間,ext4開(kāi)發(fā)者解釋說(shuō),“現(xiàn)在文件存放傾向于使用連續(xù)的塊,這樣做是不會(huì)讓費(fèi)空間的”。
另一個(gè)重要的字段是:ee_start和ee_start_hi,他們共同組成48位的磁盤(pán)塊索引,
這樣可以支持1024 PB大小的設(shè)備,在未來(lái)數(shù)十年,足夠了!
但是ext4有一個(gè)缺點(diǎn),那就是舊內(nèi)核不能識(shí)別使用ext4的磁盤(pán)。