www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]如今,日志文件系統(tǒng)(ext3)已經(jīng)成為 Linux 的缺省文件系統(tǒng)。本文向大家揭示了日志文件系統(tǒng)背后的一些思想,以及在電源故障或系統(tǒng)崩潰時(shí),如何提供更好的完整性。此外本文還介紹了現(xiàn)行的幾種日志文件 系統(tǒng)和下一代日志文件系統(tǒng)。

在近代歷史上,日志文件系統(tǒng)被認(rèn)為十分奇特,主要是處于研究階段。而如今,日志文件系統(tǒng)(ext3)已經(jīng)成為 Linux 的缺省文件系統(tǒng)。本文向大家揭示了日志文件系統(tǒng)背后的一些思想,以及在電源故障或系統(tǒng)崩潰時(shí),如何提供更好的完整性。此外本文還介紹了現(xiàn)行的幾種日志文件 系統(tǒng)和下一代日志文件系統(tǒng)。

定義日志文件系統(tǒng)的方法有很多種,但是讓我們抓住要點(diǎn)。日志文件系統(tǒng)就是專為那些厭倦了一直盯著啟動(dòng)時(shí) fsck(即文件系統(tǒng)一致性檢查)的人而設(shè)計(jì)的(日志文件系統(tǒng)同樣適用于希望文件系統(tǒng)具有故障恢復(fù)能力的群體)。如果系統(tǒng)采用傳統(tǒng)的未提供日志功能的文件系統(tǒng),那么操作系統(tǒng)在檢測到系統(tǒng)為非正常關(guān)機(jī)時(shí),會(huì)使用 fsck 應(yīng)用程序執(zhí)行一致性檢驗(yàn)。該應(yīng)用程序會(huì)掃描文件系統(tǒng)(這要花費(fèi)很長的時(shí)間),并修復(fù)任何可安全修復(fù)的問題。而在某些情況下,當(dāng)文件系統(tǒng)損壞嚴(yán)重時(shí),操作系統(tǒng)會(huì)啟動(dòng)到單用戶模式,由用戶進(jìn)行進(jìn)一步的修復(fù)。

那么現(xiàn)在您應(yīng)該清楚日志文件系統(tǒng)針對的是哪類人群了,但是他們是如何取締 fsck 的呢?籠統(tǒng)地說,日志文件系統(tǒng)就是通過維護(hù)一份日志來防止文件系統(tǒng)崩潰。所謂日志就是一種特殊的文件,它會(huì)在一個(gè)循環(huán)的緩沖區(qū)內(nèi)記錄文件系統(tǒng)的修改,然后 將其定期提交到文件系統(tǒng)。一旦系統(tǒng)發(fā)生崩潰,日志文件就會(huì)起到一個(gè)檢查點(diǎn)的作用,用于恢復(fù)未保存的信息,防止損壞文件系統(tǒng)元數(shù)據(jù)。

總之,日志文件系統(tǒng)就是一種具有故障恢復(fù)能力的文件系統(tǒng),它利用日志來記錄尚未提交到文件系統(tǒng)的修改,以防止元數(shù)據(jù)破壞(請參見圖 1)。但是如眾多其他 Linux 解決方案一樣,日志文件系統(tǒng)有多種方案供您選擇。下面就讓我們一起簡短回顧一下日志文件系統(tǒng)的歷史,然后再看一看現(xiàn)行的幾種文件系統(tǒng),看看它們之間有什么 區(qū)別。//本文轉(zhuǎn)自www.45it.com電腦軟硬件應(yīng)用網(wǎng)


圖 1. 典型的日志文件系統(tǒng)


Linux 日志文件系統(tǒng)的歷史

最早的日志文件系統(tǒng)是 IBM-Journaled File System(JFS)。JFS 于 1990 年首次發(fā)行,而當(dāng)前 Linux 支持的版本是后期開發(fā)的 JFS2。1994 年,Silicon Graphics 為 IRIX 操作系統(tǒng)引進(jìn)了高性能的 XFS。XFS 于 2001 年被植入 Linux 系統(tǒng)中。1998 年開發(fā)的智能文件系統(tǒng)(SFS)起初是為 Amiga 開發(fā)的,但之后卻在 GNU Lesser General Public License(LGPL)下發(fā)行,并于 2005 年獲得了 Linux 的支持。最常用的日志文件系統(tǒng) ext3fs (third extended file system)是 ext2 的擴(kuò)展,它增加了記錄日志的功能。從 2001 年起,Linux 系統(tǒng)中就開始支持 ext3fs。最終,ReiserFS 日志文件系統(tǒng)在其被引入之后,力壓群雄,被廣泛使用。但由于其原開發(fā)者的一些法律糾紛,ReiserFS 日志文件系統(tǒng)未能得到進(jìn)一步的發(fā)展。


日志的幾種變體

日志文件系統(tǒng)是使用日志來緩沖文件系統(tǒng)的修改(同時(shí)也可以應(yīng)用于緊急故障恢復(fù))的,但可以根據(jù)記錄的時(shí)間與內(nèi)容采取不同的策略。其中,三種常見的策略為:回寫(writeback)、預(yù)定(ordered)和數(shù)據(jù)(data)。

在回寫模式 中,僅有元數(shù)據(jù)被記錄到日志,數(shù)據(jù)塊則被直接寫入到磁盤位置上。這樣可以保存文件系統(tǒng)結(jié)構(gòu),防止崩潰,但卻有可能發(fā)生數(shù)據(jù)崩潰(比如:在元數(shù)據(jù)記錄到日志后,數(shù)據(jù)塊寫入磁盤前,系統(tǒng)崩潰)。要想解決這個(gè)問題,您可以使用預(yù)定模式。預(yù)定模式 只將元數(shù)據(jù)記錄到日志,但是在此之前將數(shù)據(jù)寫入到磁盤。這樣就可以保證系統(tǒng)恢復(fù)后數(shù)據(jù)和文件系統(tǒng)的一致性。最后一種模式將數(shù)據(jù)也記錄到了日志中。在數(shù)據(jù)模式 中,元數(shù)據(jù)和數(shù)據(jù)都被記錄到日志中。這種模式可以最大限度地防止文件系統(tǒng)崩潰與數(shù)據(jù)丟失,但由于全部數(shù)據(jù)都寫入了兩次(先寫入日志,再寫入磁盤),系統(tǒng)性能可能會(huì)降低。

日志的提交也有很多種不同的策略。比如,是在日志將滿時(shí),還是在超時(shí)后?


日志文件系統(tǒng)的現(xiàn)狀

如今,有幾種日志文件系統(tǒng)應(yīng)用非常廣泛。每一種都有其自己的優(yōu)缺點(diǎn)。下面介紹現(xiàn)存最普遍的四種日志文件系統(tǒng)。

JFS2

JFS2(又稱 enhanced journaled file system)是最早期的日志文件系統(tǒng),在植入 Linux 之前已被應(yīng)用于 IBM AIX? 操作系統(tǒng)多年。它是 64 位的文件系統(tǒng),雖然它是在原來的 JFS 的基礎(chǔ)上開發(fā)的,但卻較之有所改進(jìn),即:JFS2 具有更優(yōu)的擴(kuò)展性能,而且支持多處理器架構(gòu)。

JFS2 支持預(yù)定的日志記錄方式,可以提高較高的性能,并實(shí)現(xiàn)亞秒級文件系統(tǒng)恢復(fù)。JFS2 同時(shí)為提高性能提供了基于分區(qū)的文件分配(Extent-based allocation)。基于分區(qū)的分配 是指對一組連續(xù)的塊而非單一的塊進(jìn)行分配。由于這些塊在磁盤上是連續(xù)的,其讀取和寫入的性能就會(huì)更好。這種分配的另外一個(gè)優(yōu)勢就是可以將元數(shù)據(jù)管理最小化。按塊分配磁盤空間就意味著要逐塊更新元數(shù)據(jù)。而使用分區(qū),元數(shù)據(jù)則僅需按照分區(qū)(可以代表多個(gè)塊)更新。

JFS2 還使用了 B+ 樹,以便更快地查找目錄和管理分區(qū)描述符。JFS2 沒有內(nèi)部日志提交策略,而是在 kupdate 守護(hù)進(jìn)程超時(shí)時(shí)提交。

XFS

XFS 是 Silicon Graphicsis 于 1995 年為 IRIX 操作系統(tǒng)開發(fā)的其他早期日志文件系統(tǒng)之一。它于 2001 年就已經(jīng)被植入 Linux,因此,它已經(jīng)成熟而且可靠。

XFS 支持 64 位全地址尋址,并以 B+ 樹為目錄和文件分配提供高性能。XFS 同樣使用了基于分區(qū)的分配,支持可變的塊大小(從 512 字節(jié)到 64KB )。除分區(qū)外,XFS 還采用延時(shí)分配,即等到塊將被寫入磁盤時(shí),再為其分配磁盤空間。這樣所需磁盤空間總數(shù)就一目了然,因此這個(gè)功能提高了分配連續(xù)磁盤塊的可能性。

XFS 還有一些其他的有趣特性,它可以保證 rate 輸入輸出(I/O — 通過為文件系統(tǒng)用戶保留帶寬)和直接 I/O。其中,數(shù)據(jù)是直接在磁盤和用戶空間緩沖區(qū)間拷貝的(而不是從多個(gè)緩沖區(qū)進(jìn)入)。XFS 采用回寫日志策略。

第三擴(kuò)展文件系統(tǒng)(ext3fs)

第三擴(kuò)展文件系統(tǒng)(third extended file system,ext3fs)是最流行的日志文件系統(tǒng),是由 ext2 文件系統(tǒng)演化而來。實(shí)際上,Ext3fs 可以與 ext2fs 兼容,這是因?yàn)?ext3fs 使用的結(jié)構(gòu)與 ext2fs 相同,僅僅多了一個(gè)日志而已。我們甚至可以把 ext3fs 的一部分當(dāng)作 ext2 文件系統(tǒng)掛載,或者將 ext2 文件系統(tǒng)轉(zhuǎn)換成 ext3 文件系統(tǒng)(使用 tune2fs 實(shí)用程序)。

Ext3fs 允許用三種方式記錄日志(回寫,預(yù)定和數(shù)據(jù)),但預(yù)定模式為默認(rèn)模式。日志提交策略也是可配置的,但是默認(rèn)在日志填滿 1/4 時(shí)或其中一個(gè)提交計(jì)時(shí)器超時(shí)時(shí),提交日志。

ext3fs 主要的弊端之一就是它最初不是作為日志文件系統(tǒng)而設(shè)計(jì)的。它是在 ext2fs 的基礎(chǔ)上開發(fā)的,因此缺少一些其他日志文件系統(tǒng)所具備的高級特性(例如分區(qū))。它在性能方面較之 ReiserFS、JFS 以及 XFS 也尤為遜色,但它所需要的 CPU 和內(nèi)存要比同類解決方案少。

ReiserFS

ReiserFS 是從一開始就按照記錄日志的意圖而開發(fā)的日志文件系統(tǒng)。ReiserFS 于 2001 年被引進(jìn)到主流 2.4 內(nèi)核(Linux 采用的第一個(gè)日志文件系統(tǒng))。其默認(rèn)的日志記錄方法為預(yù)定,且支持以在線調(diào)整大小的方式擴(kuò)展文件系統(tǒng)。ReiserFS 同時(shí)還具有 tail packing 功能,顯著減少了磁盤碎片。在處理較小文件方面,ReiserFS 的速度要比 ext3f 快(當(dāng) tail packing 可用時(shí))。

ReiserFS(又稱 ReiserFS v3)具有很多先進(jìn)的功能,如 B+ 樹。該文件系統(tǒng)的基礎(chǔ)格式建立在單一的 B+ 樹的基礎(chǔ)之上,這使得搜索的效率和可伸縮性增強(qiáng)。提交策略則取決于日志的大小,但是要以待提交的塊的數(shù)量為基礎(chǔ)。

ReiserFS 也遇到了幾個(gè)問題 — 大多是最近出現(xiàn)的,這與其開發(fā)者遇到了一些法律糾紛有直接原因。


日志文件系統(tǒng)的未來

現(xiàn)在您已經(jīng)了解了現(xiàn)行的(和過去的)日志文件系統(tǒng),下面就讓我們看一看它的發(fā)展趨勢。

Reiser4

在成功地將 ReiserFS 合并到 Linux 內(nèi)核,并被很多的 Linux 發(fā)行版采用之后,Namesys(開發(fā) ReiserFS 的公司)便開始致力于新的日志文件系統(tǒng)的開發(fā)。Reiser4 被設(shè)計(jì)成為全新的日志文件系統(tǒng),它擁有很多先進(jìn)的功能。

Resier4 擬定通過 wandering 日志和延遲分配塊直至日志提交(像在 XFS 中一樣)的方式來實(shí)現(xiàn)更優(yōu)秀的日志記錄。Reiser4 還設(shè)計(jì)有靈活的插件架構(gòu)(以支持諸如壓縮和加密之類的功能),但是被 Linux 社區(qū)拒絕了,因?yàn)檫@些在虛擬文件系統(tǒng)(virtual file system,VFS)被當(dāng)作是最好的功能。

由于 Namesys 的所有者的堅(jiān)持,所有關(guān)于 Reiser4 的商業(yè)活動(dòng)都停止了。

第四擴(kuò)展文件系統(tǒng)

第四擴(kuò)展日志文件系統(tǒng)(fourth extended journaling file system,ext4fs)是由 ext3fs 演化而來。Ext4 文件系統(tǒng)被設(shè)計(jì)為具有向前和向后兼容性,但它具有許多新的高級特性(其中的一些特性破壞了兼容性)。這就意味著您可以將 ext4fs 的一部分作為 ext3fs 掛載,反之亦然。

首先,ext4fs 是 64 位文件系統(tǒng),并被設(shè)計(jì)為可以支持很大的容量(1 exabyte)。它還可以使用分區(qū),但是這樣做將失去與 ext3fs 的兼容性。像 XFS 和 Reiser4 一樣,ext4fs 還支持在必要時(shí)采取延時(shí)分配方式分配塊(這樣可以減少磁盤碎片)。日志的內(nèi)容也已經(jīng)執(zhí)行過檢查和(checksum),使日志更加可靠。ext4fs 并沒有采用標(biāo)準(zhǔn)的 B+ 或者 B* 樹,取而代之的是 B 樹的一種變體,叫做 H 樹,它支持更大的子目錄(ext3 的上限為 32KB )。

雖然延時(shí)分配的方法可以減少磁盤碎片,但時(shí)間久了,一個(gè)大的文件系統(tǒng)可能會(huì)成為碎片。為解決這個(gè)問題,開發(fā)了在線磁盤碎片整理工具(e4defrag)。您可以使用這個(gè)工具來整理單個(gè)的文件或者整個(gè)文件系統(tǒng)。

ext3fs 與 ext4fs 間的另一個(gè)有趣的區(qū)別就在于文件的日期分辨率。在 ext3 中,時(shí)間戳的最小分辨率為 1 秒。而 Ext4fs 是面向未來的:那時(shí)處理器和接口的速度會(huì)持續(xù)加快,需要更高的分辨率。因此,ext4 中時(shí)間戳的最小分辨率為 1 納秒。

Ext4fs 已被合并到自 2.6.19 以后的 Linux 內(nèi)核中,但它還是不夠穩(wěn)定。下一代系統(tǒng)的開發(fā)將繼續(xù)致力于此;輔之以上一代的優(yōu)勢, 它就會(huì)是下一代的 Linux 日志文件系統(tǒng)。


結(jié)束語

日志文件系統(tǒng)在系統(tǒng)崩潰或斷電時(shí)提供了可靠性,并防止系統(tǒng)崩潰。另外,與較傳統(tǒng)的文件系統(tǒng)方法(比如那些依賴于 fsck 的系統(tǒng))相比,日志文件系統(tǒng)大大地縮短了系統(tǒng)崩潰的恢復(fù)時(shí)間。新的日志記錄功能的開發(fā)要指望將來的新算法與結(jié)構(gòu),也要仰仗以前的算法與結(jié)構(gòu),將 JFS 和 XFS 的功能結(jié)合起來。將來日志文件系統(tǒng)到底會(huì)如何發(fā)展還不得而知,但可以確定的是它們會(huì)更具實(shí)用性,并會(huì)成為新的日志文件系統(tǒng)標(biāo)準(zhǔn)

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉