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