在linux中,ext3全名為“Third extended filesystem”,中文意思為“第三代擴充檔案系統”,是一個日誌檔案系統;它最大支援的容量為32TB,單一檔案最大限制為16TB ,支援32000個子目錄。 ext3檔案系統能夠大幅提升檔案系統的完整性,避免了意外宕機對檔案系統的破壞。
本教學操作環境:linux7.3系統、Dell G3電腦。
linux ext3檔案
EXT3是第三代擴充檔案系統(英文:Third extended filesystem,縮寫為ext3),是一個日誌檔案系統,常用於Linux作業系統。單一檔案最大限制16TB,該檔案系統最大支援32TB的容量。
它是很多Linux發行版的預設檔案系統。 Stephen Tweedie在1999年2月的核心郵件列表中,最早顯示了他使用擴展的ext2,該檔案系統從2.4.15版本的核心開始,合併到核心主線中。
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模式。系統管理人員可以根據系統的實際工作要求,在系統的工作速度與文件資料的一致性之間做出選擇。為什麼你需要從ext2遷移到ext3(EXT3的優點)
1、可用性
在非正常當機後(停電、系統崩潰),只有在透過e2fsck進行一致性校驗後,ext2檔案系統才能被裝載使用。運行e2fsck的時間主要取決於 ext2檔案系統的大小。校驗稍大一些的檔案系統(幾十GB)需要很長時間。如果檔案系統上的檔案數量多,校驗的時間則更長。校驗幾百個GB的檔案系統可能需要一個小時或更長。這極大地限制了可用性。相較之下,除非發生硬體故障,即使非正常關機,ext3也不需要檔案系統校驗。這是因為資料是以檔案系統始終保持一致方式寫入磁碟的。在非正常關機後,復原ext3檔案系統的時間不依賴檔案系統的大小或檔案數量,而依賴維護一致性所需「日誌」的大小。使用預設日誌設置,恢復時間僅需一秒(依賴硬體速度)。2、資料完整性
使用ext3檔案系統,在非正常關機時,資料完整性能可靠的保障。你可以選擇資料保護的類型和等級。你可以選擇保證檔案系統一致,但是允許檔案系統上的資料在非正常關機時受損;這是可以在某些狀況下提高一些速度(但非所有狀況)。你也可以選擇保持資料的可靠性與檔案系統一致;這意味著在當機後,你不會在新近寫入的檔案中看到任何資料垃圾。這個保持資料的可靠性與檔案系統一致的安全的選擇是缺省設定。3、速度
儘管ext3寫入資料的次數多於ext2,但ext3常常快於ext2(高資料流)。這是因為ext3的日誌功能優化硬碟磁頭的轉動。你可以從3種日誌模式中選擇1種來優化速度,選擇性地犧牲一些資料完整性。
4、易於遷移
你可以不重新格式化硬碟,並且很方便的從ext2遷移到ext3而享受可靠的日誌檔案系統的好處。對,不需要做長時間的、枯燥的、有可能失誤的「備份-重新格式化-復原」操作,就可以體驗ext3的優點。
有兩種遷移的方法:如果你升級你的系統,Red Hat Linux安裝程式會協助遷移。需要你做的工作 就是為每個檔案系統按一下選擇按鈕。
使用tune2fs程式可以為現存的ext2檔案系統增加日誌功能。如果檔案系統在轉換的過程已經被裝載了(mount),那麼在root目錄下會出現檔案」.journal」;如果檔案系統沒有被裝載,那麼檔案系統中不會出現該檔案。
轉換檔案系統,只需要執行tune2fs –j /dev/hda1(或你要轉換的檔案系統所在的任何裝置名稱),同時把檔案/etc/fstab中的ext2修改為ext3。
如果你要轉換自己的根檔案系統,你必須使用initrd引導啟動。參考mkinitrd的手冊描述運行程序,同時確認自己的LILO或GRUB配置中裝載了initrd(如果沒有成功,系統仍然能啟動,但是根文件系統會以ext2形式裝載,而不是ext3,你可以使用命令cat / proc/mounts 來確認這一點。)
擴展知識: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影片教學》
以上是linux ext3是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!