簡單理論Linux ReiserFS系統(tǒng)分析特點(diǎn)與效果
本人很喜歡Linux ReiserFS,在工作中也很喜歡總結(jié)關(guān)于Linux的經(jīng)驗(yàn)教訓(xùn),下面就這個(gè)問題來詳細(xì)說說吧。Linux ReiserFS是公認(rèn)為效能與安全性都優(yōu)于Linux采用多年的ext2檔案系統(tǒng),Linux ReiserFS的***優(yōu)點(diǎn)是安全性大幅提升,系統(tǒng)當(dāng)機(jī)不易造成文件的損壞。
Kernel 2.4.1起已經(jīng)正式將其列入標(biāo)準(zhǔn)﹐但是為數(shù)眾多的 Linux 系統(tǒng)仍舊在使用ext2。本文將討論在Redhat環(huán)境下為什么要使用日志式的檔案系統(tǒng),如何取得 Linux ReiserFS ,Kernel 2.2 與 2.4 如何支持Linux ReiserFS,如何產(chǎn)生新的檔案統(tǒng)。RedHat 7.0 的使用者特別注意事項(xiàng)及相關(guān)網(wǎng)絡(luò)資源。
日志式文件系統(tǒng)簡介
盡管Linux可以支持種類繁多的文件系統(tǒng),但是幾乎所有的Linux發(fā)行版都用ext2作為默認(rèn)的文件系統(tǒng)。ext2的設(shè)計(jì)者主要考慮的是文件系統(tǒng)性能方面的問題。ext2在寫入文件內(nèi)容的同時(shí)并沒有同時(shí)寫入文件的meta-data(和文件有關(guān)的信息,例如:權(quán)限、所有者以及創(chuàng)建和訪問時(shí)間)。換句話說,Linux先寫入文件的內(nèi)容,然后等到有空的時(shí)候才寫入文件的meta-data。這樣若出現(xiàn)寫入文件內(nèi)容之后但在寫入文件的meta-data之前系統(tǒng)突然斷電,就可能造成在文件系統(tǒng)就會處于不一致的狀態(tài)。在一個(gè)有大量文件操作的系統(tǒng)中出現(xiàn)這種情況會導(dǎo)致很嚴(yán)重的后果。因此就導(dǎo)致了新的日志式文件系統(tǒng)的出現(xiàn)以解決這個(gè)問題。日志文件系統(tǒng)比傳統(tǒng)的文件系統(tǒng)安全,因?yàn)樗锚?dú)立的日志文件跟蹤磁盤內(nèi)容的變化。就像關(guān)系型數(shù)據(jù)庫(RDBMS),日志文件系統(tǒng)可以用事務(wù)處理的方式,提交或撤消文件系統(tǒng)的變化。Linux系統(tǒng)缺少日志式文件系統(tǒng)是限制推廣其在企業(yè)級應(yīng)用的一個(gè)重要制約因素。因此就出現(xiàn)了多種不同的日志式文件系統(tǒng),當(dāng)前l(fā)inux環(huán)境下有下面幾種日志文件可供選擇:
◆ SGI的xfs(http://oss.sgi.com/projects/xfs/)日志文件系統(tǒng),SGI的xfs是基于Irix(SGI的Unix)上已經(jīng)實(shí)現(xiàn)的xfs。SGI已經(jīng)宣布xfs為Open Source的軟件。
◆ Veritas(www.veritas.com)的文件系統(tǒng)和卷管理(volume manager)。
◆ Reiserfs:Reiserfs應(yīng)用了一些新的技術(shù),例如,統(tǒng)一名字空間(unified name space)有一些Linux的發(fā)行版已經(jīng)包括了Linux Reiserfs文件系統(tǒng),作為安裝時(shí)的可選項(xiàng)。SuSE 6.4 就很容易使用Linux Reiserfs文件系統(tǒng)。Linux Reiserfs的***版是ReiserFS 3.6.25,經(jīng)過測試Reiserfs的基準(zhǔn)測試的結(jié)果是非常令人滿意的。
◆ IBM的jfs。這兩文件系統(tǒng)都遵循開放源碼版權(quán)聲明,且的而且很多有天賦的人在開發(fā)這兩個(gè)文件系統(tǒng)。jfs(Journaled File System Technology for Linux)的開發(fā)者包括AIX(IBM的Unix)的jfs的主要開發(fā)者。在AIX上,jfs已經(jīng)經(jīng)受住了考驗(yàn)。它是可靠、快速和容易使用的。
◆ 日志文件系統(tǒng)的另一個(gè)選擇是ext2的后繼者ext3fs文件系統(tǒng)。ext3fs文件系統(tǒng)正在Linux內(nèi)核黑客Stephen Tweedie的領(lǐng)導(dǎo)下開發(fā)。ext3fs還處于beta測試階段,就像Linux ReiserFS和jfs,但是它工作得很好。Stephen預(yù)計(jì)2000年夏天可以正式發(fā)布ext3fs。ext3fs***的優(yōu)點(diǎn)是向下兼容ext2。而且ext3fs還支持異步的日志,這意味著它的性能可能還比ext2好。
在上面提到的日志式文件系統(tǒng)中,Linux ReiserFS 是目前Linux環(huán)境下最成熟的一種。而IBM的JFS和SGI的XFS則相對于來說要年輕一些,ext3文件系統(tǒng)則仍然需要開發(fā)。因此我們這里選擇Linux ReiserFS。
為什么叫日志式?
日志式文件系統(tǒng)在強(qiáng)調(diào)數(shù)據(jù)完整性的企業(yè)級服務(wù)器中有著重要的需求,是文件系統(tǒng)發(fā)展的方向。日志式文件系統(tǒng)的思想來自于如Oracle等大型數(shù)據(jù)庫。數(shù)據(jù)庫操作往往是由多個(gè)相關(guān)的、相互依賴的子操作組成,任何一個(gè)子操作的失敗都意味著整個(gè)操作的無效性,對數(shù)據(jù)庫數(shù)據(jù)的任何修改都要回復(fù)到操作以前的狀態(tài)。日志式文件系統(tǒng)采用了類似的技術(shù)。
在分區(qū)中保存有一個(gè)日志記錄文件,文件系統(tǒng)寫操作首先是對記錄文件進(jìn)行操作,若整個(gè)寫操作由于某種原因(如系統(tǒng)掉電)而中斷,則在下次系統(tǒng)啟動時(shí)就會讀日志記錄文件的內(nèi)容來恢復(fù)沒有完成的寫操作。而這個(gè)過程一般只需要幾秒鐘到幾分鐘,而不是ext2文件系統(tǒng)的fsck那樣在大型服務(wù)器情況下可能需要幾個(gè)小時(shí)來完成掃描。
【編輯推薦】