歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> 關於Unix >> Linux環境下的ReiserFS文件系統

Linux環境下的ReiserFS文件系統

日期:2017/3/6 14:31:55   编辑:關於Unix
ReiserFS是一個非常優秀的文件系統。也是最早用於 Linux 的日志文件系統之一。 ReiserFS的 開發 者非常有魄力,整個文件系統完全是從頭設計的。目前,ReiserFS可輕松管理上百G的文件系統,這在企業級應用中非常重要。 一、ReiserFS的特點 1.先進的日志機制

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,具體數據請參見筆者的測試篇。

  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來安裝程序。如果你的核心中沒有包括這些工具,你需要另外下載。從這裡下載:

  解壓文件:

  # tar zxvf reiserfsprogs-3.x.0j.tar.gz
  # cd reiserfsprogs-3.x.0j
  # ./configure
  # make
  # make install

  完成Reiserfs工具的編譯與安裝。

  之後用新的核心啟動系統。如果不出什麼問題,這時新的核心已經支持Reiserfs文件系統了。

  三、使用新的文件系統

  1.創建Reiserfs文件系統

  要使用新的文件系統,首先以下創建一個Reiserfs文件系統:

  [root@test /sbin]# ./mkreiserfs -f /dev/sda3

  以下為格式化分區時所顯示的信息:

  <-------------mkreiserfs, 2001------------->
  reiserfsprogs 3.x.0j
  =========================================================================
  LEAF NODE (8211) contains level=1, nr_items=2, free_space=3932 rdkey
  ------------------------------------------------------------------------
  |###|type|ilen|f/sp| loc|fmt|fsck| key |
  | | | |e/cn| | |need| |
  ------------------------------------------------------------------------
  | 0|1 2 0x0 SD, len 44, entry count 0, fsck need 0, format new|
  (NEW SD), mode drwxr-xr-x, size 48, nlink 2, mtime 09/14/2001 15:26:51 blocks 8
  ------------------------------------------------------------------------
  | 1|1 2 0x1 DIR, len 48, entry count 2, fsck need 0, format old|
  ###: Name length Object key Hash Gen number
  0: ". "( 1) 1 2 0 1, loc 40, state 4 ??
  1: ".. "( 2) 0 1 0 2, loc 32, state 4 ??
  =======================================================================


Creating reiserfs of 3.6 format
  Block size 4096 bytes
  Block count 128520
  ... ...
  ATTENTION: YOU SHOULD REBOOT AFTER FDISK!
  (y/n) ALL DATA WILL BE LOST ON '/dev/sda3'!


  鍵入“y”後回車,開始創建新的文件系統:

  格式化的過程比較慢,視分區的大小而定,但是,對其它的文件系統的格式化比較,其明顯要慢很多。格式化完成後,顯示如下信息:

  (y/n) ALL DATA WILL BE LOST ON '/dev/sda3'! y
  Initializing journal- 0%....20%....40%....60%....80%....100% left 0, 182 /sec
  Syncing...
  ReiserFS core development sponsored by SuSE Labs (suse.com)
  Journaling sponsored by MP3.com.
  To learn about the programmers and ReiserFS, please go to
  Have fun.

  至此創建完成Reiserfs分區的創建。

  2.使用reiserfs文件系統

  為了使用新的分區,需要將其mount上來:
  # mounut –t reiserfs /dev/sda3 /mnt/fs

  這樣新的文件系統就被mount到/mnt/fs目錄下了。現在就可以開始使用新的文件系統存放文件了。

  最後,為了讓系統每次啟動時都自動加載Reiserfs文件系統,應該手工更改/etc/fstab內容,將相應的分區加入其中。本文在此不再贅述。

Copyright © Linux教程網 All Rights Reserved