認識Linux下Ext2與Ext3檔案系統的區別(轉)

gugu99發表於2007-08-10
認識Linux下Ext2與Ext3檔案系統的區別(轉)[@more@]

  Linux下的Ext2檔案系統,是 GNU/Linux 系統中標準的檔案系統,其特點為存取檔案的效能極好,對於中小型的檔案更顯示出優勢,這主要得利於其簇快取層的優良設計。

  其單一檔案大小與檔案系統本身的容量上限與檔案系統本身的簇大小有關,在一般常見的 x86 電腦系統中,簇最大為 4KB, 則單一檔案大小上限為 2048GB, 而檔案系統的容量上限為 16384GB.

  但由於目前核心 2.4 所能使用的單一分割區最大隻有 2048GB,實際上能使用的檔案系統容量最多也只有 2048GB.

  至於Ext3檔案系統,它屬於一種日誌檔案系統,是對ext2系統的擴充套件。它相容ext2,並且從ext2轉換成ext3並不複雜。

  用來支援ext3的包都被包含在LFS基本系統裡面了,所以你不用再安裝其他的程式。

  當編譯核心的時候,確認你編譯了ext3的支援。如果你想在根分割槽使用ext3系統,你就需要把 ext3支援編譯到核心的內嵌支援。如果不是在根分割槽使用,編譯成模組就可以了。

  編輯/etc/fstab.把每一個你想轉換成ext3的分割槽的條目改成類似的內容:

  /dev/hdXX /mnt_point ext3 defaults 1 0

  在上面的一行中,將 /dev/hdXX 替換成分割槽,例如 /dev/hda2,把 /mnt_point 替換成你想掛載的位置,例如:/home.最後的 0 保證在啟動的時候這個分割槽不會被chechfs指令碼進行一致性檢查。若想這個分割槽肯定可以被掛載然後又不太肯定核心支援ext3的話,可以把ext3換成auto.

  啟動每一個你在 /etc/fstab中改為ext3的分割槽的日誌,執行:

  tune2fs -j /dev/hdXX 重新掛載分割槽或者重起系統(如果你重新編譯了核心)。

  而且Ext3檔案系統也是在保有目前 ext2 的格式之下再加上日誌功能。目前它離實用階段還有一段距離,

  ext3是一種日誌式檔案系統。日誌式檔案系統的優越性在於:由於檔案系統都有快取層參與運作,如不使用時必須將檔案系統卸下,以便將快取層的資料寫回磁碟中。因此每當系統要關機時,必須將其所有的檔案系統全部shutdown後才能進行關機。

  如果在檔案系統尚未shutdown前就關機 (如停電) 時,下次重開機後會造成檔案系統的資料不一致,故這時必須做檔案系統的重整工作,將不一致與錯誤的地方修復。然而,此一重整的工作是相當耗時的,特別是容量大的檔案系統,而且也不能百分之百保證所有的資料都不會流失。

  為了克服此問題,使用所謂‘日誌式檔案系統 (Journal File System) ’。此類檔案系統最大的特色是,它會將整個磁碟的寫入動作完整記錄在磁碟的某個區域上,以便有需要時可以回朔追蹤。

  由於資料的寫入動作包含許多的細節,像是改變檔案標頭資料、搜尋磁碟可寫入空間、一個個寫入資料區段等等,每一個細節進行到一半若被中斷,就會造成檔案系統的不一致,因而需要重整。

  然而,在日誌式檔案系統中,由於詳細紀錄了每個細節,故當在某個過程中被中斷時,系統可以根據這些記錄直接回朔並重整被中斷的部分,而不必花時間去檢查其他的部分,故重整的工作速度相當快,幾乎不需要花時間。

  另外Linux中還有一種專門用於交換分割槽的swap檔案系統,Linux使用整個分割槽來作為交換空間,而不象Windows使用交換檔案。一般這個SWAP格式的交換分割槽是主記憶體的2倍。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-939796/,如需轉載,請註明出處,否則將追究法律責任。

相關文章