EXT3與EXT4的主要區別

來源:互聯網
上載者:User

EXT3與EXT4的主要區別

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

1.與Ext3相容。執行若干條命令,就能從Ext3線上遷移到Ext4,而無須重新格式化磁碟或重新安裝系統。原有Ext3資料結構照樣保留,Ext4作用於新資料,當然,整個檔案系統因此也就獲得了Ext4所支援的更大容量。

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允許關閉日誌,以便某些有特殊需求的使用者可以藉此提升效能。

10.線上磁碟重組。儘管延遲分配、多塊分配和extents能有效減少檔案系統片段,但片段還是不可避免會產生。Ext4支援線上磁碟重組,並將提供e4defrag工具進行個別檔案或整個檔案系統的磁碟重組。

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

12.持久預分配(Persistent preallocation)。 P2P 軟體為了保證下載檔案有足夠的空間存放,常常會預先建立一個與所下載檔案大小相同的空檔案,以免未來的數小時或數天之內磁碟空間不足導致下載失敗。 Ext4在檔案系統層面實現了持久預分配並提供相應的API(libc 中的 posix_fallocate()),比應用軟體自己實現更有效率。

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

Linux 之 ext2/EXT3檔案系統初識

無損升級EXT3至ext4檔案系統

本文永久更新連結地址:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.