認識Linux下Ext2與Ext3文件系統的區別

轉載:

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倍。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章