Linux ext4文件系統(tǒng):性能和兼容性
大多數(shù)主流Linux版本都配置了對完整 ext4 文件系統(tǒng)的支持功能。所以有必要探討一下 ext4文件系統(tǒng)在升級和企業(yè)決策實(shí)施方面帶來的影響。
2008年以來,主要的Linux版本都支持ext4文件系統(tǒng)。ext4支持很大的文件(可以達(dá)到16TB),也可以支持容量極大的文件卷(支持大小為1,048,576 TB的文件系統(tǒng))。 而且,ext4還支持就地升級,只需運(yùn)行一些命令(tune2fs 和e2fsck)就可以將現(xiàn)有的 ext2 或ext3升級為ext4。就地升級功能不需要將大容量文件卷進(jìn)行備份就可以完成升級,不過,將文件備份始終是穩(wěn)妥的做法。
使用ext4可兼容引導(dǎo)程序
每次啟動電腦時,都要有一個啟動過程,首先是 BIOS(基本輸入輸出系統(tǒng)),還有硬盤上的啟動磁區(qū)。對于Linux來說,下一步操作是LILO(LInux載入程序)或GRUB。當(dāng)前的大多數(shù)Linux版本都使用了GRUB程序。GRUB2具有支持ext4啟動分區(qū)的功能。這項(xiàng)功能有一定的好處,可以避免在一個啟動分區(qū)上同時運(yùn)行兩個不同的文件系統(tǒng)。經(jīng)過標(biāo)準(zhǔn)化處理后,只運(yùn)行一個文件系統(tǒng),可以使工作簡化,也不用將硬盤分為多個啟動分區(qū)。另外,多個啟動分區(qū)共用一個磁盤轉(zhuǎn)軸會降低系統(tǒng)的性能。
Fedora的最新版本利用升級后的GRUB,可以直接支持ext4上的啟動分區(qū)功能。 Ubuntu 9.10也支持ext4的啟動分區(qū)功能,不過需要用戶在就地升級后運(yùn)行g(shù)rub-install命令(詳見Ubuntu 9.10發(fā)行公告)。用戶如果沒有運(yùn)行g(shù)rub-install命令,會發(fā)現(xiàn)系統(tǒng)處于不穩(wěn)定狀態(tài)。
ext4的性能
安裝使用了ext4的系統(tǒng),在某些情形下,使用標(biāo)準(zhǔn)檢查程序進(jìn)行檢測時,會出現(xiàn)性能降低的情況(例如PostgreSQL和Linux 2.6.31之后的內(nèi)核版本)。這是由以下原因產(chǎn)生:為了進(jìn)一步提高整個文件系統(tǒng)的可靠性,核心層上進(jìn)行了額外的工作。理解特定的標(biāo)準(zhǔn)檢測程序使用什么樣的測試來評估性能,以及關(guān)注那些與自己的特殊要求相關(guān)的結(jié)果,都是很重要的。文件的數(shù)量、文件的大小和應(yīng)用(比如,大型的數(shù)據(jù)庫和為網(wǎng)頁服務(wù)相適應(yīng))在密閉環(huán)境下進(jìn)行的測驗(yàn)與實(shí)際環(huán)境中相比相差甚大。
了解ext4的一些新性能有利于做出合理的升級決定。核對總和日記是ext4的一項(xiàng)新功能,在執(zhí)行寫入過程時,該功能可以確保磁盤區(qū)域的完整性。這也讓檢驗(yàn)日志塊是否犯錯誤成為可能(這些錯誤會破壞文件提交進(jìn)程)。此外,該過程是一個單向事件,可以將文件系統(tǒng)性能提高20%。如果用戶對增強(qiáng)的可靠性和性能都不感興趣的話,可以將寫入功能關(guān)閉。Barriers是另一項(xiàng)關(guān)閉后可以提高性能的可靠性功能,但是如果磁盤不能處理該部分?jǐn)?shù)據(jù)的話,用戶會有潛在的資料損壞風(fēng)險(xiǎn)。
與較早版本的文件系統(tǒng)相比,ext4在運(yùn)行fsck(文件系統(tǒng)檢查)時顯得格外優(yōu)越。在ext3和更早版本的文件系統(tǒng)中,fsck 需要穿越許多索引節(jié)點(diǎn)來確定文件系統(tǒng)是不是完好的。利用 ext4,可以越過已知為空的索引節(jié)點(diǎn)??梢杂^察到,在一些為Linux系統(tǒng)設(shè)計(jì)的ext4標(biāo)準(zhǔn)檢查程序中,系統(tǒng)性能提高了100% 以上。
文件系統(tǒng)決策
是否要將現(xiàn)有的Linux版本升級為ext4,要視具體情況而定。如果要支持大的文件 (> 2TB),文件系統(tǒng)(> 16 TB)或一定數(shù)目的子目錄(ext3限制為32000),那么用戶肯定要升級了。而且,新的安裝程序或許在使用ext4的情況下才有意義。現(xiàn)有的生產(chǎn)系統(tǒng)不存在容量超限情況的,可以選擇延緩升級。
想要了解關(guān)于ext4的更多信息,可以閱讀 IBM開發(fā)工作上的一篇關(guān)于擴(kuò)展 (ext)文件系統(tǒng)的綜述文章。那篇文章還對Linux文件系統(tǒng)的歷史做了簡要介紹。對ext4提供的強(qiáng)大功能,用戶要確信自己已經(jīng)做到全部了解。
【編輯推薦】