下一代Linux文件系統(tǒng)前瞻:是BTRFS還是ext4
最近兩年,Linux文件系統(tǒng)得到了很大的發(fā)展。Sun有開源的ZFS以及收購的Lustre文件系統(tǒng)。Quantum、Panasas、IBM、惠普、NetApp和Red Hat也都增強了文件系統(tǒng)開發(fā)力度。NFS(網(wǎng)絡(luò)文件系統(tǒng))正在經(jīng)歷大的變動,主要代表就是pNFS(并行網(wǎng)絡(luò)文件系統(tǒng))。毫不奇怪的是,所有這些開發(fā)行動促使開源社區(qū)推出針對Linux的更高性能的文件系統(tǒng)。
現(xiàn)在我們看看Linux開發(fā)的兩個前沿:BTRFS文件系統(tǒng)--也被稱為Butter FS或B-tree FS--以及ext4。
Illuminata的分析師Gordon Haff表示:"Ext4是對廣泛使用的ext3的升級,它從諸多方面提高了功能,并改善了性能。在相對近期,ext4將可能成為下一個在Linux上廣泛部署的新的文件系統(tǒng)。"
雖然ext4的開發(fā)時間始于2006年,但是ext4直到最近一年才開始真正穩(wěn)定,而且現(xiàn)在才剛剛開始看到有批量部署。例如,最近發(fā)布的ext4版本有Fedora。這種Linux文件系統(tǒng)提高了存儲容量上限(容量增加至1EB),同時還有其他各種性能上的調(diào)整。
Ext4很大程度上是對流行的ext3文件系統(tǒng)的演進。Ext3限制于16TB的存儲,而ext4的設(shè)計可以處理更大的存儲。Ext4增加了數(shù)據(jù)完整性功能,支持針對內(nèi)部日常事務(wù)的校驗和,這使得它在面臨存儲錯誤的時候擁有更強的穩(wěn)定性。
但是至少從潛能上來看,ext4的發(fā)展不如BTRFS那么顯著。BTRFS可能最終會給ZFS和其他文件系統(tǒng)帶來更大的威脅,不過該文件系統(tǒng)目前還尚未完成。該文件系統(tǒng)擁有在線碎片整理功能,針對固態(tài)驅(qū)動器(SSD)的運行模式,寫時復制日志,以及各種壓縮、鏡像、條帶和快照功能。
Haff表示:"BTRFS是下一代文件系統(tǒng),這意味著它使用的管理模式和傳統(tǒng)的文件系統(tǒng)有所不同。"
他的意思是BTRFS的管理和可用性模式不同于現(xiàn)有文件系統(tǒng)所使用的模式。他舉了一個例子:BTRFS基本上將卷管理--過去是單獨的產(chǎn)品--整合進了該文件系統(tǒng)本身。該文件系統(tǒng)還擁有各種可靠性和可用性功能,比如快照。
從數(shù)據(jù)存儲的角度來看,BTRFS前進的步伐要比ext4大。BTRFS的一些功能過去通常是由邏輯卷管理器(LVM)和RAID(獨立磁盤冗余陣列)硬件所執(zhí)行的。該系統(tǒng)可以同時為其內(nèi)部元數(shù)據(jù)和用戶數(shù)據(jù)進行校驗和檢驗,而且該系統(tǒng)還內(nèi)置了對快照的支持(就像一個LVM)。Ext4也可擁有其中一些功能,但是需要文件系統(tǒng)和邏輯卷管理器之間的互動。
有趣的是,BTRFS最初是Oracle開發(fā)的--該公司正在收購Sun--但現(xiàn)在是以GPL(GUN通用公共許可證)的形式發(fā)放許可證,而且完全融入開源社區(qū),接受任何人的代碼貢獻。在BTRFS項目主頁上對自己是這么描述的:"一個新的針對Linux的寫時復制文件系統(tǒng),致力于實施高級的功能,同時關(guān)注容錯、修復和管理方便性。"
BTRFS是否做好企業(yè)級應(yīng)用準備?
那么BTRFS是否可以成為Linux領(lǐng)域夢寐以求的企業(yè)級文件系統(tǒng),并對ZFS形成競爭呢?一些人表示,比起Sun同等的文件系統(tǒng),BTRFS包含了更多功能,擁有更好的性能。不過,這很大程度上還是假設(shè)。ZFS在許多企業(yè)都得到了成功的部署和運行,而BTRFS還沒有做好企業(yè)級應(yīng)用的準備。
Haff表示:"BTRFS和ZFS是有一些類似的概念,但是BTRFS仍然還處于發(fā)展階段。有可能在幾年以后,BTRFS會做好企業(yè)級部署的準備。"
那么BTRFS現(xiàn)在的表現(xiàn)如何?早期標桿顯示該文件系統(tǒng)還需要提高性能,不過現(xiàn)在該系統(tǒng)已經(jīng)可以在讀取和寫入上提供和ext4同樣水準的性能。人們希望BTRFS可以在快照和校驗和功能上與ZFS一較長短。ZFS在每次數(shù)據(jù)發(fā)生變化時進行寫時復制快照,新的數(shù)據(jù)還要進行校驗和操作以檢驗有效性并防止數(shù)據(jù)損壞。BTRFS擁有所有這些功能,而且已經(jīng)整合進Linux內(nèi)核。
但是Sun不會因此而感到擔憂。BTRFS可能還要幾年以后才能從開發(fā)階段進入主流部署。
Haff表示:"鑒于文件系統(tǒng)推出的速度一般比較慢,即使到2011年或2012年BTRFS才得以生產(chǎn)部署,那也是樂觀的估計了。雖然ZFS名義上已經(jīng)做好了準備,Sun還是有兩年時間可以認真地推廣ZFS。"
Red Hat已完成整合
Red Hat已經(jīng)將這些新的文件系統(tǒng)整合進自己的產(chǎn)品。Fedora就是Red Hat支持的開源Linux系統(tǒng),該系統(tǒng)可以免費下載。Red Hat上個月發(fā)布了Fedora 11。Fedora 11是Red Hat Red Hat Enterprise Linux(RHEL)的技術(shù)基礎(chǔ)。BTRFS和ext4都包含在Fedora 11內(nèi)。
Red Hat文件系統(tǒng)內(nèi)核經(jīng)理Ric Wheeler表示:"ext4是Fedora 11缺省的文件系統(tǒng),所有新用戶都會自動成為ext4用戶,除非他們選擇非缺省的文件系統(tǒng)。雖然Fedora 11也內(nèi)置了BTRFS,但是由于BTRFS目前很大程度上還是實驗性質(zhì)的文件系統(tǒng),因此需要專門的啟動時間選項才能啟用,而且該系統(tǒng)不用于用戶的關(guān)鍵數(shù)據(jù)。"
Red Hat看起來樂意嘗試實驗性的文件系統(tǒng),但是不會將賭注都押在一個文件系統(tǒng)上。雖然Fedora 11以ext4為基礎(chǔ),但是Red Hat Enterprise Linux缺省使用的是ext3。此外,F(xiàn)edora還支持其他的文件系統(tǒng),比如XFS--Wheeler稱這個文件系統(tǒng)擁有豐富的功能而且經(jīng)歷了嚴格的測試。RHEL目前的技術(shù)預(yù)演是ext4,而現(xiàn)在則根本不支持BTRFS。
Wheeler表示:"RHEL采用了更為謹慎的步驟。Fedora的用戶或許希望獲得最新最前沿的功能,但是我們的RHEL客戶群則要求更為成熟的技術(shù)。"
他同時指出ext4和BTRFS這兩種新的Linux文件系統(tǒng)都不是Red Hat的Global File System(GFS:全局文件系統(tǒng))的直接競爭對手。GFS為高可用性集群提供了構(gòu)建基石,以便讓多個服務(wù)器可以并行地讀取和寫入同一個文件系統(tǒng)。這樣的并行操作通常是直接在共享的存儲光纖架構(gòu)上進行,比如光纖通道。BTRFS和ext4,甚至ZFS都不支持集群功能。因此RHEL將ext3用于非集群工作負荷,將GFS用于集群用戶的工作負荷。
Wheeler表示:"選擇哪種文件系統(tǒng)要根據(jù)不同情況而定。隨著ext4和BTRFS的成熟,我們將逐步掌握這兩種文件系統(tǒng)最適合哪種企業(yè)工作負荷。文件系統(tǒng)的用戶都可以測試文件系統(tǒng),并根據(jù)專門的工作負荷來調(diào)整文件系統(tǒng),他們還可以參與文件系統(tǒng)的開發(fā)流程。"
他對BTRFS尤其熱心,認為明年開始BTRFS就可以被一些專門用戶用于生產(chǎn)用途。
Wheeler表示:"BTRFS的亮點在于這些新功能使得文件系統(tǒng)可以動態(tài)地自我調(diào)整,以適應(yīng)各種類型的存儲設(shè)備,比如SSD設(shè)備或大型RAID陣列。"
【編輯推薦】