歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> ReiserFS與EXT3的比較

ReiserFS與EXT3的比較

日期:2017/2/28 15:46:15   编辑:Linux教程

最近,我剛從ReiserFS文件系統轉到了ext3日志文件系統。我是一個ReiserFS的忠實追隨者,並且直到現在我也沒有改變我對該文件系統的看法。我之所以轉而使用ext3,初衷是想花一些時間看看ext3中有什麼我喜歡的東西。 ext3是由自由社團開發的日志式文件系統,它被設計成ext2的升級版本,盡可能地方便用戶從ext2向ext3遷移。ext3在ext2的基礎上加入了記錄元數據的日志功能,努力保持向前和向後的兼容性,所以把這個文件系統稱為ext2的新版本更恰當一些。 ReiserFS是Hans Reiser領導下的開發小組開發和發展的,SUSE Linux也對它的發展起了很大的作用。現在,它已經發展成一個高效、可靠的文件系統。

ReiserFS與ext3主要不同

  就技術而言,兩個文件系統有很多的不同,但是對於多數人來說,只需關心其中的幾點即可。第一是你可以很方便地從ext2格式進行升級,因為到目前為止,很多Linux發行套件仍然在使用這種文件系統。第二就是ext3不僅可以記錄數據日志(這在ext2中就已經具備),而且在此基礎上還可以記錄元數據 (Metadata)日志。現在的ReiserFS則只有日志元數據。第三就是文件系統的可擴展性。在介紹第三點以前,讓我們先來看一看前兩個不同點,因為第三點值得我們特別關注。就ext3來說,它可以方便地從ext2文件系統進行升級轉換是其一大優勢。當然,對於一直使用ReiserFS的人來說,這沒有什麼意義。但是,大多數用戶並不願意嘗試使用ext3以外的任何一種日志文件系統。原因很簡單,把ext2轉換到ext3要比轉換成其它任何一種文件系統更簡單、快捷。

  和ext2相比,ext3提供了更佳的安全性,這就是數據日志和元數據日志之間的不同。在兩台不同的電腦上,其中一台使用數據日志,另外一台使用數據和元數據日志。啟動一些應用程序,並對一些數據文件進行適當的改動,然後撥掉電源。當啟動第一台機器時,它可以很快地把文件系統恢復到穩定的狀態。但是可以肯定,剛才你對數據文件所做的改動,已經由於掉電而丟失。第二台機器也可以很快地將文件系統恢復到穩定的狀態,並且可以保留掉電前你對數據所做的所有改動。

  很顯然,對於大多數計算機用戶來說,一般都願意使用後者。不過,除非真的有此需求,否則應該慎重考慮。在數據日志上增加了元數據日志後,會使系統速度受到嚴重的影響。在大多數情況下,ReiserFS已經比沒有日志功能的ext2快了很多。並且,在一般情況下,ReiserFS要比具有元數據日志功能的ext3快得多。如果你同時選擇了數據和元數據日志功能,那麼ReiserFS要比ext3快得多。

速度不是選擇文件系統的關鍵

  上面說到ReiserFS的速度要快得多,不過在現實中,人們關心的往往並不是速度(我指的是感覺不是特別明顯的速度上的差異)。作為一個用戶,很難想象他會在意打開一個Word文件,或者Excel表單需要2.5秒還是4秒的時間。事實上,大部分人選擇使用微軟的Office,並不是基於速度方面的考慮,而是因為大家都在使用該辦公套件。

  這種現象並不僅僅發生在Windows領域。KWord或者AbiWord的加載速度要比StarOffice快得多,但是,很多Linux用戶一邊等著 StarOffice緩慢地啟動,一邊還在對其大加贊賞。一般情況下,他們並不會因為StarOffice的速度上有欠缺而放棄它,因為,他們已經習慣了。

  可見,雖然速度較慢,但是只要其還在人們可以容忍的限度之內,一般人是不會介意的。我們一般喜歡把速度慢的原因歸咎於硬件,而不是軟件。比如說,眾多骨灰級的游戲玩家一般會購買最新的芯片和顯卡,來運行自己鐘愛的游戲,而不會根據自己現有的硬件配置來購買可以運行的游戲。

  在此,我必須澄清,我並不認為因為可以使用更快的處理器,以及更大的內存,所以Linux就可以采用那些很慢的、臃腫的程序代碼(當然Linus Torvalds也不會答應這麼做)。我只是覺得在做某些事情時,完全可以采取或者選擇一種合適的方式來完成。如果有人要享受ext3提供的數據日志的安全功能,並且又不想因此而在速度上有所損失的話,完全可以買一個更快的處理器來彌補該文件系統性能上的不足。

  當然,ReiserFS文件系統也有類似的問題。所以,如果你要想使用ReiserFS,而又擔心自己的數據丟失,那麼你可以關閉驅動器的寫緩沖功能。根據所使用的系統不同,關閉該功能的命令可能也會有所不同,但可能都和以下所示的命令類似:

/sbin/hdparm -wo /dev/had

  以上命令是要關閉系統中的第一個IDE驅動器的寫緩沖功能。需要引起注意的是,這樣做將會使系統性能受到很大影響。當然,既然你可以忍受ext3元數據日志功能帶來的系統速度下降,這樣做又有何不可呢?在我的機器上,由於害怕丟失一些重要數據,我就關閉了其中一個驅動器的寫緩沖功能,性能下降得很厲害,但我認為這種代價還是值得的。

  說了那麼多,我只是想說明一件事,也就是說對於大多數使用電腦的人而言,選擇ReiserFS還是ext3,速度並不是決定性的因素。只有少數的用戶和一些對速度要求非常苛刻的特殊環境,才會關心二者的速度差異。此外,ext3有一個獨特的功能,它可以在每一個載入點讓用戶控制數據日志功能。換句話說,你可以從一個驅動器上載入多個分區,並且每一個分區都可以決定是否使用數據日志功能。當然,如果把整個驅動器的寫緩沖功能都關閉了,那麼也就沒有這個選項了。

  在現實中,大多數人既不會考慮性能的因素,也不會考慮安全的因素,而總是希望采用一種最方便和最熟悉的途徑。在各種途徑的選擇中,一個取決定性的因素就是用戶目前正在使用什麼系統。不過,在以後我們選擇使用的Linux套件中,不管你是重新安裝,還是進行升級,各Linux發行公司都會把文件系統的選擇過程變得非常簡單。

文件系統的可擴展性

  現在讓我們來看一看關鍵的第三個因素:可擴展性。如果你訪問一下ReiserFS的站點(http://www.ReiserFS.org/) 就會發現,ReiserFS對空間利用率和速度非常在意,因此,它在磁盤利用率和性能方面都非常出色。當我把文件系統從ReiserFS轉換到ext3 時,發現我的可用空間變少了。不過這沒有關系,因為現在的磁盤空間和內存的價格都非常便宜。此外,ReiserFS還在平衡樹方面下了很大的功夫。 ReiserFS是基於平衡樹的文件系統結構,這使得其在處理大量文件的巨型文件系統,如服務器上的文件系統時性能要好得多。

  ReiserFS突出的地方還在於其設計上著眼於實現一些未來的插件程序,這些插件程序可以提供訪問控制列表、超級鏈接,以及一些其它非常不錯的功能。在這一點上,ReiserFS的開發者要比ext3做得好,因為他們已經事先考慮到了所要實現的功能。這樣在真正要增加這些功能時,其穩定性肯定要比 ext3好。據資料顯示,在設計ext2時,並沒有人計劃要為其設計日志功能。日志功能是後來匆忙補充上去的。當然,這並不能說是什麼壞事,但至少在你使用時,總會有一種不安全的感覺。所以,如果著眼於將來擴展性方面的考慮,選擇ReiserFS應該說是一明智之舉。

  總的看來,這兩個文件系統都比較優秀,並且誰也沒有絕對的優勢可以壓倒對方。如果你現在使用的是ext2文件系統,並且對數據安全性要求很高,那麼可以考慮使用ext3。如果你更在意文件系統的速度及可擴展性,或者想嘗試使用ext2以外的文件系統,那麼ReiserFS應該是首選。

Copyright © Linux教程網 All Rights Reserved