哈爾濱海月數據恢復,技術亞洲領先 設為首頁加入收藏RSS訂閱
中國區:哈爾濱(總部)鄭州福建深圳沈陽合肥大連包頭淄博上海廣州
    南京杭州嘉興武漢濟南青島新疆太原
亞太區:印度韓國泰國新加坡馬來西亞澳大利亞
Linux
Linux文件系統ext3與ext4主要區別

  很長一段時間以來,ext3是很多linux發行版默認的文件系統,現在ext4已經發布,并且已經有發行版開始使用ext4作為默認的文件系統了(其實***初的時候ext4是作為ext3的擴展,但是為了保證ext3的穩定性等原因,很多人反對直接對ext3進行擴展,所以單獨作為了ext4項目)。

  ext3還是使用15個inode來查找數據塊,前12個為直接數據塊,直接指向存儲數據的數據塊,接下來分別為一級間接塊,二級間接塊,三級間接塊,如下圖:

  其中point本來也是數據塊,現在拿來做數據塊的索引用,其中ext3的頭文件定義為:__u32 i_block[EXT3_N_BLOCKS];/* Pointers to blocks */,所以可以計算ext3文件系統的極限:

  ******分區:

  因為定義的是無符號32位數,所以可能定位的block范圍為2^32,也就是4G,如果一個block大小為4KB,所以為4G * 4KB = 16TB

  ******文件:

  前面直接指向12個數據塊,一級間接塊***大為block size / 4,block size就是數據塊的大小,因為一個索引是4個字節,所以除以4,這樣計算下來,***大的文件可以使用的總塊數為:12 + (block size/4) + (block size/4)^2 + (block size/4)^3,如果block size大小為4K,則為(12 + 2^10 + 2^20 + 2^30) * 2^12 約等于4T。

  為了突破ext3這個大小限制,ext4使用了48位的數據塊索引空間,同時使用了如下結構代替inode索引的方式:

  struct ext3_extent {

  __u32 ee_block; /* first logical block extent covers */

  __u16 ee_len; /* number of blocks covered by extent */

  __u16 ee_start_hi; /* high 16 bits of physical block */

  __u32 ee_start; /* low 32 bigs of physical block */

  };

  這樣查找數據塊的時候就不是每個塊建立一個索引,而且使用連續的數據塊,也就是分別指示起始位置,以及連續的塊數,這樣在大文件的時候,磁盤io效率以及 查找數據塊效率上都有很大的提高,所以ext4的文件系統也比ext3出色。因為使用了48位的索引空間,所以在4KB塊大小的情況下,文件系統的極限是 2^48 * 4KB = 1EB,不過,目前由于工具的限制,只能使用16TB的分區。

  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″命令禁用該特性。)

 

 

 
客戶服務 +more
上門服務
服務承諾
異地恢復
收費標準
付款方式
疑難解答
服務特色 +more
·免費檢測
·免費提供3天備份
·專業工程師提供服務
·免費清潔送修的介質
·數據恢復前報價,客戶確認后工程師開始數據恢復
·數據恢復不成功不收費
·與客戶簽訂保密協議,對客戶的數
 據嚴格保密,整個恢復過程不會對
 客戶的原盤有任何的寫操作,以確
 保原盤的數據完全

·免費參觀恢復全過程

·工程師在線免費咨詢

·專業工程師提供服務
服務器數據恢復 點擊這里給我發消

息
數據庫修復
點擊這里給我發

消息
硬盤數據恢復
點擊這里給我發消

息
主站蜘蛛池模板: 中文字幕无线码一区二区| 精品国产一区二区三区免费看| 中文字幕亚洲一区二区三区| 伊人色综合一区二区三区| 中文字幕一区二区区免| 久久国产一区二区三区| 无码人妻一区二区三区一| 日韩精品一区二区三区视频 | 精品国产一区二区三区不卡| 无码人妻精品一区二区蜜桃 | 亚洲AV无码一区二区三区DV| 精品黑人一区二区三区| 无码人妻精品一区二| 日韩毛片基地一区二区三区| 亚洲一区二区三区在线播放| 无码日韩人妻av一区免费| 亚洲无线码在线一区观看| 精品无码人妻一区二区三区18| 日本免费一区二区三区| 亚洲一区二区视频在线观看| 怡红院一区二区三区| 学生妹亚洲一区二区| 日韩精品一区二区三区老鸭窝| 91精品国产一区| 精品国产亚洲一区二区在线观看| 无码人妻精品一区二区三区99不卡 | 色狠狠AV一区二区三区| 日韩精品无码一区二区视频| 国产福利电影一区二区三区,免费久久久久久久精| 精品国产一区二区三区免费| 国产在线精品一区二区高清不卡| 三级韩国一区久久二区综合| 国产一区在线播放| 国产美女口爆吞精一区二区| 亚洲中文字幕丝袜制服一区| 一区二区在线视频观看| 熟女大屁股白浆一区二区| 麻豆精品久久久一区二区| 国内精品视频一区二区八戒| 一区二区三区免费视频播放器| 国产麻豆剧果冻传媒一区|