ReiserFS是一個非常優秀的檔案系統。也是最早用於Linux的記錄檔系統之一。ReiserFS的開發人員非常有魄力,整個檔案系統完全是從頭設計的。目前,ReiserFS可輕鬆管理上百G的檔案系統,這在企業級應用中非常重要。
一、ReiserFS的特點
1.先進的日誌機制
ReiserFS有先進的日誌(Journaling/logging)功能 機制。日誌機制保證了在每個實際資料修改之前,相應的日誌已經寫入硬碟。檔案與資料的安全性有了很大提高。
2.高效的磁碟空間利用
Reiserfs對一些小檔案不分配inode。而是將這些檔案打包,存放在同一個磁碟分塊中。而其它檔案系統則為每個小檔案分別放置到一個磁碟分塊中。這意味著:如果有10000個小檔案,就要佔用10000個分塊。想想看這多浪費磁碟空間。
3.獨特的搜尋方式
ReiserFS基於快速平衡樹(balanced tree)搜尋,平衡樹在效能上非常卓越,這是一種非常高效的演算法。ReiserFS搜尋大量檔案時,搜尋速度要比ext2快得多。Reiserfs檔案系統使用B*Tree隱藏檔,而其它檔案系統使用B+Tree樹。B*Tree查詢速度比B+Tree要快很多。Reiserfs在檔案定位上速度非常快。
在實際運用中,ReiserFS 在處理小於 1k 的檔案時,比ext2 快 8 到 15 倍!ReiserFS 幾乎在各個方面都優於 ext2,具體資料請參見筆者的測試篇。更詳細的測試可以見以下網址:
http://www.namesys.com/benchmarks/benchmark-results.html 這裡有更為詳細的測評資料。
4.支援海量磁碟
ReiserFS是一個非常優秀的檔案系統,可輕鬆管理上百G的檔案系統,ReiserFS檔案系統最大支援的檔案系統尺寸為16TB。這非常適合企業級應用中。
5.優異的效能
由於它的高效儲存和快速小檔案I/O特點,使用ReiserFs檔案系統的PC,在啟動X視窗系統時,所花的時間要比在同一台機器上使用ext2檔案系統少1/3。另外,ReiserFS檔案系統支援單個檔案尺寸為4G的檔案,這為大型資料庫系統在linux上的應用提供了更好的選擇。 二、使用ReiserFS檔案系統
1、編譯核心
本文以在2.4.x 核心下安裝Reiserfs檔案系統為例,簡述其安裝及使用過程。核心版本為2.4.x以後的版本預設都支援Reiserfs檔案系統。如果你的核心目前不支援Reiserfs,那麼從http://www.namesys.com/處下載reiserfs的補丁程式,要確保下載的補丁版本和你的kernel版本是一致的。
下載後用root身份登入進入系統,切換至/usr/src/linux目錄,執行命令:
#gunzip /path/to/linux-2.2.16-
reiserfs-3.5.22-patch.gz
#patch -p1 -i /path/to/linux-2.2.16-
reiserfs-3.5.22-patch
要讓新的核心支援Reiserfs檔案系統,編譯時間首先要開啟相應選項,目前核心預設不支援Reiserfs檔案系統。所以,在編譯核心時,要配置核心,以支援reiserfs檔案系統。
#make menuconfig
在菜單"Code maturity level options"中,選擇"Prompt for development and/or incomplete code/drivers."選項。然後,進入檔案系統菜單"File systems",開啟以下選項:
<*> Reiserfs support
Have reiserfs do extra internal checking,即將Reiserfs檔案系統的支援編譯時間核心。然後編譯核心,安裝核心。
#make bzImage
#make module
#make module_install
#make install;
完成核心編譯安裝工作。
2、編譯Reiserfs工具
下面我們將編譯ReiserFS工具,相應的代碼是存放在/usr/src/linux/fs/reiserfs/utils目錄中的,首先make編譯器,然後再make install來安裝程式。如果你的核心中沒有包括這些工具,你需要另外下載。從這裡下載:
ftp://ftp.namesys.com/pub/reiserfsprogs/reiserfsprogs-3.x.0j.tar.gz
解壓檔案:
# tar zxvf reiserfsprogs-3.x.0j.tar.gz
# cd reiserfsprogs-3.x.0j
# ./configure
# make
# make install
完成Reiserfs工具的編譯與安裝。之後用新的核心啟動系統。如果不出什麼問題,這時新的核心已經支援Reiserfs檔案系統了。