Linux中ext3和ext4有什麼區別?如何選擇?

老男孩IT教育機構發表於2022-12-12

  在Linux系統中,日誌檔案系統分為很多種型別,其中比較典型的是:ext3、ext4、xfs等,那麼Linux中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的檔案系統,以及16TB的檔案。

  3、無限數量的子目錄

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

  4、extents

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

  5、多塊分配

  當寫入資料到ext3檔案系統中時,ext3的資料塊分配器每次只能分配一個4KB的塊,寫一個100MB檔案就要呼叫25600次資料塊分配器,而ext4的多塊分配器multiblock allocator支援一次呼叫分配多個資料塊。

  6、延遲分配

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

  7、快速fsck

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

  8、日誌校驗

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

  9、無日誌模式

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


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

相關文章