Linux分割槽型別EXT2 EXT3 EXT4詳解

2022-07-22 01:42:12 字數 4031 閱讀 8556

一、ext2與ext3

linux之前預設情況下使用的檔案系統為ext2,ext2檔案系統的確高效穩定。但是,隨著linux系統在關鍵業務中的應用,linux檔案系統的弱點也漸漸顯露出來了:其中系統預設使用的ext2檔案系統是非日誌檔案系統。這在關鍵行業的應用是乙個致命的弱點.ext3檔案系統是直接從ext2檔案系統發展而來,目前ext3檔案系統已經非常穩定可靠。它完全相容ext2檔案系統。使用者可以平滑地過渡到乙個日誌功能健全的檔案系統中來。這實際上了也是ext3日誌檔案系統初始設計的初衷。

二、ext3日誌檔案系統的特點

1、高可用性

系統使用了ext3檔案系統後,即使在非正常關機後,系統也不需要檢查檔案系統。宕機發生後,恢復ext3檔案系統的時間只要數十秒鐘。

2、資料的完整性

ext3檔案系統能夠極大地提高檔案系統的完整性,避免了意外宕機對檔案系統的破壞。在保證資料完整性方面,ext3檔案系統有2種模式可供選擇。其中之一就是「同時保持檔案系統及資料的一致性」模式。採用這種方式,你永遠不再會看到由於非正常關機而儲存在磁碟上的垃圾檔案。

3、檔案系統的速度

儘管使用ext3檔案系統時,有時在儲存資料時可能要多次寫資料,但是,從總體上看來,ext3比ext2的效能還要好一些。這是因為ext3的日誌功能對磁碟的驅動器讀寫頭進行了優化。所以,檔案系統的讀寫效能較之ext2檔案系統並來說,效能並沒有降低。

4、資料轉換

由ext2檔案系統轉換成ext3檔案系統非常容易,只要簡單地鍵入兩條命令即可完成整個轉換過程,使用者不用花時間備份、恢復、格式化分割槽等。用乙個ext3檔案系統提供的小工具tune2fs,它可以將ext2檔案系統輕鬆轉換為ext3日誌檔案系統。另外,ext3檔案系統可以不經任何更改,而直接載入成為ext2檔案系統。

5、多種日誌模式

ext3有多種日誌模式,一種工作模式是對所有的檔案資料及metadata(定義檔案系統中資料的資料,即資料的資料)進行日誌記錄(data=journal模式);另一種工作模式則是只對metadata記錄日誌,而不對資料進行日誌記錄,也即所謂data=ordered或data=writeback模式。系統管理人員可以根據系統的實際工作要求,在系統的工作速度與檔案資料的一致性之間作出選擇。

三、ext3的優點

為什麼你需要從ext2遷移到ext3呢?以下有四個主要原因:可用性、資料完整性、速度、易於遷移。

1、可用性

在非正常當機後(停電、系統崩潰),只有在通過e2fsck進行一致性校驗後,ext2檔案系統才能被裝載使用。執行e2fsck的時間主要取決於 ext2檔案系統的大小。校驗稍大一些的檔案系統(幾十gb)需要很長時間。如果檔案系統上的檔案數量多,校驗的時間則更長。校驗幾百個gb的檔案系統可能需要乙個小時或更長。這極大地限制了可用性。相比之下,除非發生硬體故障,即使非正常關機,ext3也不需要檔案系統校驗。這是因為資料是以檔案系統始終保持一致方式寫入磁碟的。在非正常關機後,恢復ext3檔案系統的時間不依賴於檔案系統的大小或檔案數量,而依賴於維護一致性所需「日誌」的大小。使用預設日誌設定,恢復時間僅需一秒(依賴於硬體速度)。

2、資料完整性

使用ext3檔案系統,在非正常關機時,資料完整性能得到可靠的保障。你可以選擇資料保護的型別和級別。你可以選擇保證檔案系統一致,但是允許檔案系統上的資料在非正常關機時受損;這是可以在某些狀況下提高一些速度(但非所有狀況)。你也可以選擇保持資料的可靠性與檔案系統一致;這意味著在當機後,你不會在新近寫入的檔案中看到任何資料垃圾。這個保持資料的可靠性與檔案系統一致的安全的選擇是預設設定。

3、速度

儘管ext3寫入資料的次數多於ext2,但是ext3常常快於ext2(高資料流)。這是因為ext3的日誌功能優化硬碟磁頭的轉動。你可以從3種日誌模式中選擇1種來優化速度,有選擇地犧牲一些資料完整性。

4、易於遷移

總而言之

ext3日誌檔案系統是目前linux系統由ext2檔案系統過度到日誌檔案系統最為簡單的一種選擇,實現方式也最為簡潔。由於是直接從ext2檔案系統發展而來,系統由ext2檔案系統過渡到ext3日誌檔案系統公升級過程平滑,可以最大限度地保證系統資料的安全性。目前linux系統要使用日誌檔案系統,最保險的方式就是選擇ext3檔案系統。

四、ext3與ext4的主要區別 

linux kernel自2.6.28開始正式支援新的檔案系統 ext4。 ext4是ext3的改進版,修改了ext3中部分重要的資料結構,而不僅僅像ext3對ext2那樣,只是增加了乙個日誌功能而已。ext4 可以提供更佳的效能和可靠性,還有更為豐富的功能: 

1.與ext3相容

2.更大的檔案系統和更大的檔案

較之ext3目前所支援的最大16tb檔案系統和最大2tb檔案,ext4分別支援1eb(1,048,576tb,1eb=1024pb,1pb=1024tb)的檔案系統,以及16tb 的檔案。

3.無限數量的子目錄

ext3目前只支援32,000個子目錄,而ext4支援無限數量的子目錄。 

4.extents

ext3採用間接塊對映,當操作大檔案時,效率極其低下。比如乙個 100mb 大小的檔案,在ext3中要建立25,600個資料塊(每個資料塊大小為 4kb)的對映表。而ext4引入了現代檔案系統中流行的extents概念,每個 extent 為一組連續的資料塊,上述檔案則表示為「該檔案資料儲存在接下來的25,600個資料塊中」,提高了不少效率。 

5.多塊分配

當寫入資料到 ext3 檔案系統中時,ext3 的資料塊分配器每次只能分配乙個 4kb 的塊,寫乙個 100mb 檔案就要呼叫 25,600 次資料塊分配器,而 ext4 的多塊分配器「multiblock allocator」(mballoc) 支援一次呼叫分配多個資料塊。 

6.延遲分配

ext3的資料塊分配策略是盡快分配,而 ext4 和其它現代檔案作業系統的策略是盡可能地延遲分配,直到檔案在 cache 中寫完才開始分配資料塊並寫入磁碟,這樣就能優化整個檔案的資料塊分配,與前兩種特性搭配起來可以顯著提公升效能。 

7.快速 fsck

以前執行 fsck 第一步就會很慢,因為它要檢查所有的 inode,現在 ext4 給每個組的 inode 表中都新增了乙份未使用 inode 的列表,今後 fsck ext4 檔案系統就可以跳過它們而只去檢查那些在用的 inode 了。 

8.日誌校驗

日誌是最常用的部分,也極易導致磁碟硬體故障,而從損壞的日誌中恢復資料會導致更多的資料損壞。ext4的日誌校驗功能可以很方便地判斷日誌資料是否損壞,而且它將ext3 的兩階段日誌機制合併成乙個階段,在增加安全性的同時提高了效能。 

9.「無日誌」(no journaling)模式

日誌總歸有一些開銷,ext4允許關閉日誌,以便某些有特殊需求的使用者可以藉此提公升效能。 

11.inode 相關特性

ext4支援更大的inode,較之ext3預設的inode大小128位元組,ext4為了在 inode 中容納更多的擴充套件屬性(如納秒時間戳或inode版本),預設inode大小為256位元組。ext4 還支援快速擴充套件屬性(fast extended attributes)和inode保留(inodes reservation)。 

12.持久預分配(persistent preallocation)

13.預設啟用 barrier

磁碟上配有內部快取,以便重新調整批量資料的寫操作順序,優化寫入效能,因此檔案系統必須在日誌資料寫入磁碟之後才能寫commit記錄,若commit 記錄寫入在先,而日誌有可能損壞,那麼就會影響資料完整性。ext4預設啟用barrier,只有當barrier之前的資料全部寫入磁碟,才能寫barrier之後的資料。(可通過「mount -o barrier=0″命令禁用該特性。) 

五、ext2轉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 重新掛載分割槽或者重起系統(如果你重新編譯了核心)。

本文出自 「不安分與好奇心」 部落格,請務必保留此出處

深入EXT檔案系統型別(linux系統)

一 檔案系統型別和檔案型別的區別 root lbc ls al total 104052dr xr x 32 root root 4096 aug4 13 53.dr xr xr x.28 root root 4096 aug4 01 23.rw r r 1root root 0jul 2318 1...

深入理解Linux核心 Ext2和Ext3檔案系統

ext2的一般特徵 1 建立ext2檔案系統時,系統管理員可以根據預期的檔案平均長度來選擇最佳塊大小 從1024b 4096b 來減少檔案碎片 2 建立ext2檔案系統時,系統管理員可以根據在給定大小的分割槽上預計存放的檔案樹來選擇給該區分配多少個索引節點。更加有效的利用磁碟空間 3 檔案系統將磁碟...

深入理解Linux核心 Ext2和Ext3檔案系統

ext2的一般特徵 1 建立ext2檔案系統時,系統管理員可以根據預期的檔案平均長度來選擇最佳塊大小 從1024b 4096b 來減少檔案碎片 2 建立ext2檔案系統時,系統管理員可以根據在給定大小的分割槽上預計存放的檔案樹來選擇給該區分配多少個索引節點。更加有效的利用磁碟空間 3 檔案系統將磁碟...