資料介紹
在近代歷史上,日志文件系統(tǒng)被認(rèn)為十分奇特,主要是處于研究階段。而如今,日志文件系統(tǒng)(ext3)已經(jīng)成為 Linux的缺省文件系統(tǒng)。本文向大家揭示了日志文件系統(tǒng)背后的一些思想,以及在電源故障或系統(tǒng)崩潰時,如何提供更好的完整性。此外本文還介紹了現(xiàn)行的幾種日志文件 系統(tǒng)和下一代日志文件系統(tǒng)。
定義日志文件系統(tǒng)的方法有很多種,但是讓我們抓住要點。日志文件系統(tǒng)就是專為那些厭倦了一直盯著啟動時 fsck(即文件系統(tǒng)一致性檢查)的人而設(shè)計的(日志文件系統(tǒng)同樣適用于希望文件系統(tǒng)具有故障恢復(fù)能力的群體)。如果系統(tǒng)采用傳統(tǒng)的未提供日志功能的文件系統(tǒng),那么操作系統(tǒng)在檢測到系統(tǒng)為非正常關(guān)機(jī)時,會使用 fsck 應(yīng)用程序執(zhí)行一致性檢驗。該應(yīng)用程序會掃描文件系統(tǒng)(這要花費很長的時間),并修復(fù)任何可安全修復(fù)的問題。而在某些情況下,當(dāng)文件系統(tǒng)損壞嚴(yán)重時,操作系統(tǒng)會啟動到單用戶模式,由用戶進(jìn)行進(jìn)一步的修復(fù)。
那么現(xiàn)在您應(yīng)該清楚日志文件系統(tǒng)針對的是哪類人群了,但是他們是如何取締 fsck 的呢?籠統(tǒng)地說,日志文件系統(tǒng)就是通過維護(hù)一份日志來防止文件系統(tǒng)崩潰。所謂日志就是一種特殊的文件,它會在一個循環(huán)的緩沖區(qū)內(nèi)記錄文件系統(tǒng)的修改,然后 將其定期提交到文件系統(tǒng)。一旦系統(tǒng)發(fā)生崩潰,日志文件就會起到一個檢查點的作用,用于恢復(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)的修改(同時也可以應(yīng)用于緊急故障恢復(fù))的,但可以根據(jù)記錄的時間與內(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)崩潰)。要想解決這個問題,您可以使用預(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)性能可能會降低。
日志的提交也有很多種不同的策略。比如,是在日志將滿時,還是在超時后?
定義日志文件系統(tǒng)的方法有很多種,但是讓我們抓住要點。日志文件系統(tǒng)就是專為那些厭倦了一直盯著啟動時 fsck(即文件系統(tǒng)一致性檢查)的人而設(shè)計的(日志文件系統(tǒng)同樣適用于希望文件系統(tǒng)具有故障恢復(fù)能力的群體)。如果系統(tǒng)采用傳統(tǒng)的未提供日志功能的文件系統(tǒng),那么操作系統(tǒng)在檢測到系統(tǒng)為非正常關(guān)機(jī)時,會使用 fsck 應(yīng)用程序執(zhí)行一致性檢驗。該應(yīng)用程序會掃描文件系統(tǒng)(這要花費很長的時間),并修復(fù)任何可安全修復(fù)的問題。而在某些情況下,當(dāng)文件系統(tǒng)損壞嚴(yán)重時,操作系統(tǒng)會啟動到單用戶模式,由用戶進(jìn)行進(jìn)一步的修復(fù)。
那么現(xiàn)在您應(yīng)該清楚日志文件系統(tǒng)針對的是哪類人群了,但是他們是如何取締 fsck 的呢?籠統(tǒng)地說,日志文件系統(tǒng)就是通過維護(hù)一份日志來防止文件系統(tǒng)崩潰。所謂日志就是一種特殊的文件,它會在一個循環(huán)的緩沖區(qū)內(nèi)記錄文件系統(tǒng)的修改,然后 將其定期提交到文件系統(tǒng)。一旦系統(tǒng)發(fā)生崩潰,日志文件就會起到一個檢查點的作用,用于恢復(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)的修改(同時也可以應(yīng)用于緊急故障恢復(fù))的,但可以根據(jù)記錄的時間與內(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)崩潰)。要想解決這個問題,您可以使用預(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)性能可能會降低。
日志的提交也有很多種不同的策略。比如,是在日志將滿時,還是在超時后?
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 嵌入式Linux系統(tǒng)移植-(Linux文件系統(tǒng))
- 嵌入式Linux開發(fā)之文件系統(tǒng)目錄結(jié)構(gòu)介紹
- linux文件系統(tǒng)基礎(chǔ) 0次下載
- Linux.文件系統(tǒng)的精通指南 7次下載
- 《Linux設(shè)備驅(qū)動開發(fā)詳解》第5章、Linux文件系統(tǒng)與設(shè)備文件系統(tǒng) 0次下載
- 分析YAFFS文件系統(tǒng)在Linux系統(tǒng)中的構(gòu)建 0次下載
- 細(xì)數(shù)那些流行的 Linux 文件系統(tǒng) 0次下載
- 嵌入式開發(fā)板無界面linux文件系統(tǒng)的制作 12次下載
- Linux虛擬文件系統(tǒng)實現(xiàn)技術(shù)探討 32次下載
- 嵌入式Linux文件系統(tǒng)的研究與應(yīng)用
- 構(gòu)造嵌入式Linux的文件系統(tǒng)
- 用Busybox制作嵌入式Linux根文件系統(tǒng)
- 適合嵌入式Linux應(yīng)用的文件系統(tǒng)—— JFFS
- 適合嵌入式Linux應(yīng)用的文件系統(tǒng)—— JFFS
- Linux文件系統(tǒng)課程 0次下載
- 如何更改Linux文件系統(tǒng)終端顯示顏色 183次閱讀
- 事務(wù)性日志結(jié)構(gòu)文件系統(tǒng)的設(shè)計及實現(xiàn) 541次閱讀
- Linux 文件系統(tǒng)層的主要結(jié)構(gòu) 872次閱讀
- 解析Linux系統(tǒng)日志 1387次閱讀
- 深入剖析Linux文件系統(tǒng)的架構(gòu) 973次閱讀
- Linux文件系統(tǒng)的類型及工作原理 564次閱讀
- 深入剖析Linux內(nèi)核虛擬文件系統(tǒng) 2952次閱讀
- 基于Buildroot的Linux系統(tǒng)構(gòu)建之根文件系統(tǒng) 2478次閱讀
- 如何區(qū)別Linux文件系統(tǒng)呢? 3582次閱讀
- 了解Linux默認(rèn)文件系統(tǒng)的發(fā)展歷史 6313次閱讀
- 快速了解Linux文件系統(tǒng) 3546次閱讀
- 文件系統(tǒng)是什么?淺談EXT文件系統(tǒng)歷史 5548次閱讀
- 玩轉(zhuǎn)Linux,先把文件系統(tǒng)搞懂 2009次閱讀
- 制作ZedBoard上linux根文件系統(tǒng)(ramdisk) 1513次閱讀
- 基于zynq的Linux根文件系統(tǒng)生成 5578次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關(guān)電源基礎(chǔ)知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計與實現(xiàn)
- 0.61 MB | 2次下載 | 免費
- 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計
- 0.70 MB | 2次下載 | 免費
- 751單片機(jī)窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關(guān)電源設(shè)計實例指南
- 未知 | 21548次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅(qū)動電路設(shè)計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多