這篇文章主要介紹了Linux分區(qū)類型EXT3與EXT4的主要區(qū)別是什么的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡(jiǎn)單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇Linux分區(qū)類型EXT3與EXT4的主要區(qū)別是什么文章都會(huì)有所收獲,下面我們一起來看看吧。
10年積累的網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先制作網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有南靖免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
Linux之前缺省情況下使用的文件系統(tǒng)為Ext2,ext2文件系統(tǒng)的確高效穩(wěn)定。但是,隨著Linux系統(tǒng)在關(guān)鍵業(yè)務(wù)中的應(yīng)用,Linux文件系統(tǒng)的弱點(diǎn)也漸漸顯露出來了:其中系統(tǒng)缺省使用的ext2文件系統(tǒng)是非日志文件系統(tǒng)。這在關(guān)鍵行業(yè)的應(yīng)用是一個(gè)致命的弱點(diǎn).Ext3文件系統(tǒng)是直接從Ext2文件系統(tǒng)發(fā)展而來,目前ext3文件系統(tǒng)已經(jīng)非常穩(wěn)定可靠。它完全兼容ext2文件系統(tǒng)。用戶可以平滑地過渡到一個(gè)日志功能健全的文件系統(tǒng)中來。這實(shí)際上了也是ext3日志文件系統(tǒng)初始設(shè)計(jì)的初衷。
1、高可用性
系統(tǒng)使用了ext3文件系統(tǒng)后,即使在非正常關(guān)機(jī)后,系統(tǒng)也不需要檢查文件系統(tǒng)。宕機(jī)發(fā)生后,恢復(fù)ext3文件系統(tǒng)的時(shí)間只要數(shù)十秒鐘。
2、數(shù)據(jù)的完整性
ext3文件系統(tǒng)能夠極大地提高文件系統(tǒng)的完整性,避免了意外宕機(jī)對(duì)文件系統(tǒng)的破壞。在保證數(shù)據(jù)完整性方面,ext3文件系統(tǒng)有2種模式可供選擇。其中之一就是“同時(shí)保持文件系統(tǒng)及數(shù)據(jù)的一致性”模式。采用這種方式,你永遠(yuǎn)不再會(huì)看到由于非正常關(guān)機(jī)而存儲(chǔ)在磁盤上的垃圾文件。
3、文件系統(tǒng)的速度
盡管使用ext3文件系統(tǒng)時(shí),有時(shí)在存儲(chǔ)數(shù)據(jù)時(shí)可能要多次寫數(shù)據(jù),但是,從總體上看來,ext3比ext2的性能還要好一些。這是因?yàn)閑xt3的日志功能對(duì)磁盤的驅(qū)動(dòng)器讀寫頭進(jìn)行了優(yōu)化。所以,文件系統(tǒng)的讀寫性能較之Ext2文件系統(tǒng)并來說,性能并沒有降低。
4、數(shù)據(jù)轉(zhuǎn)換
由ext2文件系統(tǒng)轉(zhuǎn)換成ext3文件系統(tǒng)非常容易,只要簡(jiǎn)單地鍵入兩條命令即可完成整個(gè)轉(zhuǎn)換過程,用戶不用花時(shí)間備份、恢復(fù)、格式化分區(qū)等。用一個(gè)ext3文件系統(tǒng)提供的小工具tune2fs,它可以將ext2文件系統(tǒng)輕松轉(zhuǎn)換為ext3日志文件系統(tǒng)。另外,ext3文件系統(tǒng)可以不經(jīng)任何更改,而直接加載成為ext2文件系統(tǒng)。
5、多種日志模式
Ext3有多種日志模式,一種工作模式是對(duì)所有的文件數(shù)據(jù)及metadata(定義文件系統(tǒng)中數(shù)據(jù)的數(shù)據(jù),即數(shù)據(jù)的數(shù)據(jù))進(jìn)行日志記錄(data=journal模式);另一種工作模式則是只對(duì)metadata記錄日志,而不對(duì)數(shù)據(jù)進(jìn)行日志記錄,也即所謂data=ordered或data=writeback模式。系統(tǒng)管理人員可以根據(jù)系統(tǒng)的實(shí)際工作要求,在系統(tǒng)的工作速度與文件數(shù)據(jù)的一致性之間作出選擇。
為什么你需要從ext2遷移到ext3呢?以下有四個(gè)主要原因:可用性、數(shù)據(jù)完整性、速度、易于遷移。
1、可用性
在非正常當(dāng)機(jī)后(停電、系統(tǒng)崩潰),只有在通過e2fsck進(jìn)行一致性校驗(yàn)后,ext2文件系統(tǒng)才能被裝載使用。運(yùn)行e2fsck的時(shí)間主要取決于 ext2文件系統(tǒng)的大小。校驗(yàn)稍大一些的文件系統(tǒng)(幾十GB)需要很長(zhǎng)時(shí)間。如果文件系統(tǒng)上的文件數(shù)量多,校驗(yàn)的時(shí)間則更長(zhǎng)。校驗(yàn)幾百個(gè)GB的文件系統(tǒng)可能需要一個(gè)小時(shí)或更長(zhǎng)。這極大地限制了可用性。相比之下,除非發(fā)生硬件故障,即使非正常關(guān)機(jī),ext3也不需要文件系統(tǒng)校驗(yàn)。這是因?yàn)閿?shù)據(jù)是以文件系統(tǒng)始終保持一致方式寫入磁盤的。在非正常關(guān)機(jī)后,恢復(fù)ext3文件系統(tǒng)的時(shí)間不依賴于文件系統(tǒng)的大小或文件數(shù)量,而依賴于維護(hù)一致性所需“日志”的大小。使用缺省日志設(shè)置,恢復(fù)時(shí)間僅需一秒(依賴于硬件速度)。
2、數(shù)據(jù)完整性
使用ext3文件系統(tǒng),在非正常關(guān)機(jī)時(shí),數(shù)據(jù)完整性能得到可靠的保障。你可以選擇數(shù)據(jù)保護(hù)的類型和級(jí)別。你可以選擇保證文件系統(tǒng)一致,但是允許文件系統(tǒng)上的數(shù)據(jù)在非正常關(guān)機(jī)時(shí)受損;這是可以在某些狀況下提高一些速度(但非所有狀況)。你也可以選擇保持?jǐn)?shù)據(jù)的可靠性與文件系統(tǒng)一致;這意味著在當(dāng)機(jī)后,你不會(huì)在新近寫入的文件中看到任何數(shù)據(jù)垃圾。這個(gè)保持?jǐn)?shù)據(jù)的可靠性與文件系統(tǒng)一致的安全的選擇是缺省設(shè)置。
3、速度
盡管ext3寫入數(shù)據(jù)的次數(shù)多于ext2,但是ext3常??煊趀xt2(高數(shù)據(jù)流)。這是因?yàn)閑xt3的日志功能優(yōu)化硬盤磁頭的轉(zhuǎn)動(dòng)。你可以從3種日志模式中選擇1種來優(yōu)化速度,有選擇地犧牲一些數(shù)據(jù)完整性。
4、易于遷移
你可以不重新格式化硬盤,并且很方便的從ext2遷移至ext3而享受可靠的日志文件系統(tǒng)的好處。對(duì),不需要做長(zhǎng)時(shí)間的、枯燥的、有可能失誤的“備份-重新格式化-恢復(fù)”操作,就可以體驗(yàn)ext3的優(yōu)點(diǎn)。有兩種遷移的方法:如果你升級(jí)你的系統(tǒng),Red Hat Linux安裝程序會(huì)協(xié)助遷移。需要你做的工作 就是為每一個(gè)文件系統(tǒng)按一下選擇按鈕。使用tune2fs程序可以為現(xiàn)存的ext2文件系統(tǒng)增加日志功能。如果文件系統(tǒng)在轉(zhuǎn)換的過程已經(jīng)被裝載了(mount),那么在root目錄下會(huì)出現(xiàn)文件”.journal”;如果文件系統(tǒng)沒有被裝載,那么文件系統(tǒng)中不會(huì)出現(xiàn)該文件。轉(zhuǎn)換文件系統(tǒng),只需要運(yùn)行tune2fs –j /dev/hda1(或者你要轉(zhuǎn)換的文件系統(tǒng)所在的任何設(shè)備名稱),同時(shí)把文件/etc/fstab中的ext2修改為ext3。如果你要轉(zhuǎn)換自己的根文件系統(tǒng),你必須使用initrd引導(dǎo)啟動(dòng)。參照mkinitrd的手冊(cè)描述運(yùn)行程序,同時(shí)確認(rèn)自己的LILO或GRUB配置中裝載了initrd(如果沒有成功,系統(tǒng)仍然能啟動(dòng),但是根文件系統(tǒng)會(huì)以ext2形式裝載,而不是ext3,你可以使用命令cat /proc/mounts 來確認(rèn)這一點(diǎn)。)詳情可參看tune2fs命令的man page在線手冊(cè)(執(zhí)行man tune2fs)。
總而言之
ext3日志文件系統(tǒng)是目前l(fā)inux系統(tǒng)由ext2文件系統(tǒng)過度到日志文件系統(tǒng)最為簡(jiǎn)單的一種選擇,實(shí)現(xiàn)方式也最為簡(jiǎn)潔。由于是直接從ext2文件系統(tǒng)發(fā)展而來,系統(tǒng)由ext2文件系統(tǒng)過渡到ext3日志文件系統(tǒng)升級(jí)過程平滑,可以最大限度地保證系統(tǒng)數(shù)據(jù)的安全性。目前l(fā)inux系統(tǒng)要使用日志文件系統(tǒng),最保險(xiǎn)的方式就是選擇ext3文件系統(tǒng)。
Linux kernel自2.6.28開始正式支持新的文件系統(tǒng) Ext4。 Ext4是Ext3的改進(jìn)版,修改了Ext3中部分重要的數(shù)據(jù)結(jié)構(gòu),而不僅僅像Ext3對(duì)Ext2那樣,只是增加了一個(gè)日志功能而已。Ext4 可以提供更佳的性能和可靠性,還有更為豐富的功能:
1.與Ext3兼容
執(zhí)行若干條命令,就能從Ext3在線遷移到Ext4,而無須重新格式化磁盤或重新安裝系統(tǒng)。原有Ext3數(shù)據(jù)結(jié)構(gòu)照樣保留,Ext4作用于新數(shù)據(jù),當(dāng)然,整個(gè)文件系統(tǒng)因此也就獲得了Ext4所支持的更大容量。
2.更大的文件系統(tǒng)和更大的文件
較之Ext3目前所支持的最大16TB文件系統(tǒng)和最大2TB文件,Ext4分別支持1EB(1,048,576TB,1EB=1024PB,1PB=1024TB)的文件系統(tǒng),以及16TB 的文件。
3.無限數(shù)量的子目錄
Ext3目前只支持32,000個(gè)子目錄,而Ext4支持無限數(shù)量的子目錄。
4.Extents
Ext3采用間接塊映射,當(dāng)操作大文件時(shí),效率極其低下。比如一個(gè) 100MB 大小的文件,在Ext3中要建立25,600個(gè)數(shù)據(jù)塊(每個(gè)數(shù)據(jù)塊大小為 4KB)的映射表。而Ext4引入了現(xiàn)代文件系統(tǒng)中流行的extents概念,每個(gè) extent 為一組連續(xù)的數(shù)據(jù)塊,上述文件則表示為“該文件數(shù)據(jù)保存在接下來的25,600個(gè)數(shù)據(jù)塊中”,提高了不少效率。
5.多塊分配
當(dāng)寫入數(shù)據(jù)到 Ext3 文件系統(tǒng)中時(shí),Ext3 的數(shù)據(jù)塊分配器每次只能分配一個(gè) 4KB 的塊,寫一個(gè) 100MB 文件就要調(diào)用 25,600 次數(shù)據(jù)塊分配器,而 Ext4 的多塊分配器“multiblock allocator”(mballoc) 支持一次調(diào)用分配多個(gè)數(shù)據(jù)塊。
6.延遲分配
Ext3的數(shù)據(jù)塊分配策略是盡快分配,而 Ext4 和其它現(xiàn)代文件操作系統(tǒng)的策略是盡可能地延遲分配,直到文件在 cache 中寫完才開始分配數(shù)據(jù)塊并寫入磁盤,這樣就能優(yōu)化整個(gè)文件的數(shù)據(jù)塊分配,與前兩種特性搭配起來可以顯著提升性能。
7.快速 fsck
以前執(zhí)行 fsck 第一步就會(huì)很慢,因?yàn)樗獧z查所有的 inode,現(xiàn)在 Ext4 給每個(gè)組的 inode 表中都添加了一份未使用 inode 的列表,今后 fsck Ext4 文件系統(tǒng)就可以跳過它們而只去檢查那些在用的 inode 了。
8.日志校驗(yàn)
日志是最常用的部分,也極易導(dǎo)致磁盤硬件故障,而從損壞的日志中恢復(fù)數(shù)據(jù)會(huì)導(dǎo)致更多的數(shù)據(jù)損壞。Ext4的日志校驗(yàn)功能可以很方便地判斷日志數(shù)據(jù)是否損壞,而且它將Ext3 的兩階段日志機(jī)制合并成一個(gè)階段,在增加安全性的同時(shí)提高了性能。
9.“無日志”(No Journaling)模式
日志總歸有一些開銷,Ext4允許關(guān)閉日志,以便某些有特殊需求的用戶可以借此提升性能。
10.在線碎片整理
盡管延遲分配、多塊分配和extents能有效減少文件系統(tǒng)碎片,但碎片還是不可避免會(huì)產(chǎn)生。Ext4支持在線碎片整理,并將提供e4defrag工具進(jìn)行個(gè)別文件或整個(gè)文件系統(tǒng)的碎片整理。
11.inode 相關(guān)特性
Ext4支持更大的inode,較之Ext3默認(rèn)的inode大小128字節(jié),Ext4為了在 inode 中容納更多的擴(kuò)展屬性(如納秒時(shí)間戳或inode版本),默認(rèn)inode大小為256字節(jié)。Ext4 還支持快速擴(kuò)展屬性(fast extended attributes)和inode保留(inodes reservation)。
12.持久預(yù)分配(Persistent preallocation)
P2P軟件為了保證下載文件有足夠的空間存放,常常會(huì)預(yù)先創(chuàng)建一個(gè)與所下載文件大小相同的空文件,以免未來的數(shù)小時(shí)或數(shù)天之內(nèi)磁盤空間不足導(dǎo)致下載失敗。 Ext4在文件系統(tǒng)層面實(shí)現(xiàn)了持久預(yù)分配并提供相應(yīng)的API(libc 中的 posix_fallocate()),比應(yīng)用軟件自己實(shí)現(xiàn)更有效率。
13.默認(rèn)啟用 barrier
磁盤上配有內(nèi)部緩存,以便重新調(diào)整批量數(shù)據(jù)的寫操作順序,優(yōu)化寫入性能,因此文件系統(tǒng)必須在日志數(shù)據(jù)寫入磁盤之后才能寫commit記錄,若commit 記錄寫入在先,而日志有可能損壞,那么就會(huì)影響數(shù)據(jù)完整性。Ext4默認(rèn)啟用barrier,只有當(dāng)barrier之前的數(shù)據(jù)全部寫入磁盤,才能寫barrier之后的數(shù)據(jù)。(可通過“mount -o barrier=0″命令禁用該特性。)
編輯/etc/fstab。把每一個(gè)你想轉(zhuǎn)換成ext3的分區(qū)的條目改成類似的內(nèi)容:
/dev/hdXX /mnt_point ext3 defaults 1 0
在上面的一行中,將 /dev/hdXX 替換成分區(qū),例如 /dev/hda2,把 /mnt_point 替換成你想掛載的位置,例如:/home。最后的 0 保證在啟動(dòng)的時(shí)候這個(gè)分區(qū)不會(huì)被chechfs腳本進(jìn)行一致性檢查。若想這個(gè)分區(qū)肯定可以被掛載然后又不太肯定內(nèi)核支持ext3的話,可以把ext3換成auto。啟動(dòng)每一個(gè)你在 /etc/fstab中改為ext3的分區(qū)的日志,運(yùn)行:tune2fs -j /dev/hdXX 重新掛載分區(qū)或者重起系統(tǒng)(如果你重新編譯了內(nèi)核)。
關(guān)于“Linux分區(qū)類型EXT3與EXT4的主要區(qū)別是什么”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“Linux分區(qū)類型EXT3與EXT4的主要區(qū)別是什么”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。