Linux Ext4檔案系統的優點介紹
更大的檔案系統和更大的檔案
Ext3檔案系統最多隻能支援32TB的檔案系統和2TB的檔案,根據使用的具體架構和系統設定,實際容量上限可能比這個數字還要低,即只能容納2TB的檔案系統和16GB的檔案。而Ext4的檔案系統容量達到1EB,而檔案容量則達到16TB,這是一個非常大的數字了。對一般的桌上型電腦和伺服器而言,這可能並不重要,但對於大型磁碟陣列的使用者而言,這就非常重要了。
更多的子目錄數量
Ext3目前只支援32000個子目錄,而Ext4取消了這一限制,理論上支援無限數量的子目錄。
更多的塊和i-節點數量
Ext3檔案系統使用32位空間記錄塊數量和i-節點數量,而Ext4檔案系統將它們擴充到64位。
多塊分配
當資料寫入到Ext3檔案系統中時,Ext3的資料塊分配器每次只能分配一個4KB的塊,如果寫一個100MB的檔案就要呼叫25600次資料塊分配器,而Ext4的多塊分配器“Multiblock Allocator(MBAlloc)”支援一次呼叫分配多個資料塊。
永續性預分配
如果一個應用程式需要在實際使用磁碟空間之前對它進行分配,大部分檔案系統都是透過向未使用的磁碟空間寫入0來實現分配,比如P2P軟體。為了保證下載檔案有足夠的空間存放,常常會預先建立一個與所下載檔案大小相同的空檔案,以免未來的數小時或數天之內磁碟空間不足導致下載失敗。而Ext4在檔案系統層面實現了持久預分配並提供相應的API,比應用軟體自己實現更有效率。
延遲分配
Ext3的資料塊分配策略是儘快分配,而Ext4的策略是儘可能地延遲分配,直到檔案在緩衝中寫完才開始分配資料塊並寫入磁碟,這樣就能最佳化整個檔案的資料塊分配,顯著提升效能。
盤區結構
Ext3檔案系統採用間接對映地址,當操作大檔案時,效率極其低下。例如,一個100MB大小的檔案,在Ext3中要建立25600個資料塊(以每個資料塊大小為4KB為例)的對映表;而Ext4引入了盤區概念,每個盤區為一組連續的資料塊,上述檔案可以透過盤區的方式表示為“該檔案資料儲存在接下來的25600個資料塊中”,提高了訪問效率。
新的i-節點結構
Ext4支援更大的i-節點。之前的Ext3預設的i-節點大小128位元組,Ext4為了在i-節點中容納更多的擴充套件屬性,預設i-節點大小為256位元組。另外,Ext4還支援快速擴充套件屬性和i-節點保留。
日誌校驗功能
日誌是檔案系統最常用的結構,日誌也很容易損壞,而從損壞的日誌中恢復資料會導致更多的資料損壞。Ext4給日誌資料新增了校驗功能,日誌校驗功能可以很方便地判斷日誌資料是否損壞。而且Ext4將Ext3的兩階段日誌機制合併成一個階段,在增加安全性的同時提高了效能 。
支援“無日誌”模式
日誌總歸會佔用一些開銷。Ext4允許關閉日誌,以便某些有特殊需求的使用者可以藉此提升效能。
預設啟用Barrier
磁碟上配有內部快取,以便重新調整批次資料的寫操作順序,最佳化寫入效能,因此檔案系統必須在日誌資料寫入磁碟之後才能寫Commit記錄。若Commit記錄寫入在先,而日誌有可能損壞,那麼就會影響資料完整性。Ext4檔案系統預設啟用Barrier,只有當Barrier之前的資料全部寫入磁碟,才能寫Barrier之後的資料。
線上碎片整理
儘管延遲分配、多塊分配和盤區功能可以有效減少檔案的碎片,但碎片還是不可避免會產生。Ext4支援線上碎片整理,並將提供e4defrag工具進行個別檔案或整個檔案系統的碎片整理。
支援快速fsck
以前的檔案系統版本執行fsck時很慢,因為它要檢查所有的i-節點,而Ext4給每個塊組的i-節點表中都新增了一份未使用i-節點的列表,所以Ext4檔案系統做一致性檢查時就可以跳過它們而只去檢查哪些在使用的i-節點,從而提高了速度。
支援納秒級時間戳
Ext4之前的擴充套件檔案系統的時間戳都是以秒為單位的,這已經能夠應付大多數設定,但隨著處理器的速度和整合程度(多核處理器)不斷提升,以及Linux開始向其他應用領域發展,它將時間戳的單位提升到納秒。
Ext4給時間範圍增加了兩個位,從而讓時間壽命在延長500年,Ext4的時間戳支援的日期到2514年4月25日,而Ext3只達到2038年1月18日。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-1976341/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux EXT4檔案系統介紹Linux
- ext4檔案系統的優化優化
- Linux 檔案系統基本介紹Linux
- Linux 檔案系統-ext3 檔案系統介紹(轉)Linux
- 檔案系統(十一):Linux Squashfs只讀檔案系統介紹Linux
- 『學了就忘』Linux檔案系統管理 — 57、Linux檔案系統介紹Linux
- Linux系統調優介紹Linux
- 優點點贊系統開發的分析介紹
- 檔案系統(六):一文看懂linux ext4檔案系統工作原理Linux
- Linux快速入門(05)Linux檔案系統介紹Linux
- 深入理解 ext4 等 Linux 檔案系統Linux
- 幾個重要的Linux系統核心檔案介紹(zt)Linux
- 簡單介紹一下 Linux 檔案系統?Linux
- ros學習檔案系統介紹ROS
- 恢復ext4檔案系統被誤刪的檔案
- fsck-Linux檔案系統檢查工具介紹(轉)Linux
- Linux檔案系統簡介Linux
- 簡單瞭解EXT4檔案系統
- Ext4檔案系統有望內建加密加密
- Linux下如何選擇檔案系統:EXT4、Btrfs 和 XFSLinux
- 新版加強Linux檔案系統Ext4即將推出(轉)Linux
- Linux檔案系統損壞後的修復技巧詳細介紹Linux
- i.MX6ULL終結者Linux檔案系統的構建根檔案系統目錄介紹Linux
- Linux系統中檔案被刪除後的恢復方法(ext4)Linux
- FASTDFS開源分散式檔案系統介紹AST分散式
- 友點CMS系統介紹
- 主題:Linux檔案系統簡介Linux
- 檔案系統與資料庫的優缺點資料庫
- EXT4檔案系統學習(12)VFS之檔案系統物件file_system_type物件
- 『學了就忘』Linux檔案系統管理 — 63、磁碟配額介紹Linux
- oracle dbfs檔案系統介紹及使用測試Oracle
- 【iOS資料儲存】iOS檔案系統介紹iOS
- 檔案系統 FTP Ubuntu 安裝入門介紹FTPUbuntu
- 不點兒之Linux檔案系統Linux
- 簡單介紹Linux作業系統的九大特點!Linux作業系統
- ext4和xfs檔案系統的擴容和收縮
- NTFS、exFAT、FAT32、Ext4檔案系統的區別
- linux常用叢集檔案系統簡介Linux