資料介紹
在近代歷史上,日志文件系統被認為十分奇特,主要是處于研究階段。而如今,日志文件系統(ext3)已經成為 Linux的缺省文件系統。本文向大家揭示了日志文件系統背后的一些思想,以及在電源故障或系統崩潰時,如何提供更好的完整性。此外本文還介紹了現行的幾種日志文件 系統和下一代日志文件系統。
定義日志文件系統的方法有很多種,但是讓我們抓住要點。日志文件系統就是專為那些厭倦了一直盯著啟動時 fsck(即文件系統一致性檢查)的人而設計的(日志文件系統同樣適用于希望文件系統具有故障恢復能力的群體)。如果系統采用傳統的未提供日志功能的文件系統,那么操作系統在檢測到系統為非正常關機時,會使用 fsck 應用程序執行一致性檢驗。該應用程序會掃描文件系統(這要花費很長的時間),并修復任何可安全修復的問題。而在某些情況下,當文件系統損壞嚴重時,操作系統會啟動到單用戶模式,由用戶進行進一步的修復。
那么現在您應該清楚日志文件系統針對的是哪類人群了,但是他們是如何取締 fsck 的呢?籠統地說,日志文件系統就是通過維護一份日志來防止文件系統崩潰。所謂日志就是一種特殊的文件,它會在一個循環的緩沖區內記錄文件系統的修改,然后 將其定期提交到文件系統。一旦系統發生崩潰,日志文件就會起到一個檢查點的作用,用于恢復未保存的信息,防止損壞文件系統元數據。
總之,日志文件系統就是一種具有故障恢復能力的文件系統,它利用日志來記錄尚未提交到文件系統的修改,以防止元數據破壞(請參見圖 1)。但是如眾多其他 Linux 解決方案一樣,日志文件系統有多種方案供您選擇。下面就讓我們一起簡短回顧一下日志文件系統的歷史,然后再看一看現行的幾種文件系統,看看它們之間有什么 區別。//本文轉自www.45it.com電腦軟硬件應用網
圖 1. 典型的日志文件系統
Linux 日志文件系統的歷史
最早的日志文件系統是 IBM-Journaled File System(JFS)。JFS 于 1990 年首次發行,而當前 Linux 支持的版本是后期開發的 JFS2。1994 年,Silicon Graphics 為 IRIX 操作系統引進了高性能的 XFS。XFS 于 2001 年被植入 Linux 系統中。1998 年開發的智能文件系統(SFS)起初是為 Amiga 開發的,但之后卻在 GNU Lesser General Public License(LGPL)下發行,并于 2005 年獲得了 Linux 的支持。最常用的日志文件系統 ext3fs(third extended file system)是 ext2 的擴展,它增加了記錄日志的功能。從 2001 年起,Linux 系統中就開始支持 ext3fs。最終,ReiserFS 日志文件系統在其被引入之后,力壓群雄,被廣泛使用。但由于其原開發者的一些法律糾紛,ReiserFS 日志文件系統未能得到進一步的發展。
日志的幾種變體
日志文件系統是使用日志來緩沖文件系統的修改(同時也可以應用于緊急故障恢復)的,但可以根據記錄的時間與內容采取不同的策略。其中,三種常見的策略為:回寫(writeback)、預定(ordered)和數據(data)。
在回寫模式 中,僅有元數據被記錄到日志,數據塊則被直接寫入到磁盤位置上。這樣可以保存文件系統結構,防止崩潰,但卻有可能發生數據崩潰(比如:在元數據記錄到日志后,數據塊寫入磁盤前,系統崩潰)。要想解決這個問題,您可以使用預定模式。預定模式 只將元數據記錄到日志,但是在此之前將數據寫入到磁盤。這樣就可以保證系統恢復后數據和文件系統的一致性。最后一種模式將數據也記錄到了日志中。在數據模式 中,元數據和數據都被記錄到日志中。這種模式可以最大限度地防止文件系統崩潰與數據丟失,但由于全部數據都寫入了兩次(先寫入日志,再寫入磁盤),系統性能可能會降低。
日志的提交也有很多種不同的策略。比如,是在日志將滿時,還是在超時后?
定義日志文件系統的方法有很多種,但是讓我們抓住要點。日志文件系統就是專為那些厭倦了一直盯著啟動時 fsck(即文件系統一致性檢查)的人而設計的(日志文件系統同樣適用于希望文件系統具有故障恢復能力的群體)。如果系統采用傳統的未提供日志功能的文件系統,那么操作系統在檢測到系統為非正常關機時,會使用 fsck 應用程序執行一致性檢驗。該應用程序會掃描文件系統(這要花費很長的時間),并修復任何可安全修復的問題。而在某些情況下,當文件系統損壞嚴重時,操作系統會啟動到單用戶模式,由用戶進行進一步的修復。
那么現在您應該清楚日志文件系統針對的是哪類人群了,但是他們是如何取締 fsck 的呢?籠統地說,日志文件系統就是通過維護一份日志來防止文件系統崩潰。所謂日志就是一種特殊的文件,它會在一個循環的緩沖區內記錄文件系統的修改,然后 將其定期提交到文件系統。一旦系統發生崩潰,日志文件就會起到一個檢查點的作用,用于恢復未保存的信息,防止損壞文件系統元數據。
總之,日志文件系統就是一種具有故障恢復能力的文件系統,它利用日志來記錄尚未提交到文件系統的修改,以防止元數據破壞(請參見圖 1)。但是如眾多其他 Linux 解決方案一樣,日志文件系統有多種方案供您選擇。下面就讓我們一起簡短回顧一下日志文件系統的歷史,然后再看一看現行的幾種文件系統,看看它們之間有什么 區別。//本文轉自www.45it.com電腦軟硬件應用網
圖 1. 典型的日志文件系統
Linux 日志文件系統的歷史
最早的日志文件系統是 IBM-Journaled File System(JFS)。JFS 于 1990 年首次發行,而當前 Linux 支持的版本是后期開發的 JFS2。1994 年,Silicon Graphics 為 IRIX 操作系統引進了高性能的 XFS。XFS 于 2001 年被植入 Linux 系統中。1998 年開發的智能文件系統(SFS)起初是為 Amiga 開發的,但之后卻在 GNU Lesser General Public License(LGPL)下發行,并于 2005 年獲得了 Linux 的支持。最常用的日志文件系統 ext3fs(third extended file system)是 ext2 的擴展,它增加了記錄日志的功能。從 2001 年起,Linux 系統中就開始支持 ext3fs。最終,ReiserFS 日志文件系統在其被引入之后,力壓群雄,被廣泛使用。但由于其原開發者的一些法律糾紛,ReiserFS 日志文件系統未能得到進一步的發展。
日志的幾種變體
日志文件系統是使用日志來緩沖文件系統的修改(同時也可以應用于緊急故障恢復)的,但可以根據記錄的時間與內容采取不同的策略。其中,三種常見的策略為:回寫(writeback)、預定(ordered)和數據(data)。
在回寫模式 中,僅有元數據被記錄到日志,數據塊則被直接寫入到磁盤位置上。這樣可以保存文件系統結構,防止崩潰,但卻有可能發生數據崩潰(比如:在元數據記錄到日志后,數據塊寫入磁盤前,系統崩潰)。要想解決這個問題,您可以使用預定模式。預定模式 只將元數據記錄到日志,但是在此之前將數據寫入到磁盤。這樣就可以保證系統恢復后數據和文件系統的一致性。最后一種模式將數據也記錄到了日志中。在數據模式 中,元數據和數據都被記錄到日志中。這種模式可以最大限度地防止文件系統崩潰與數據丟失,但由于全部數據都寫入了兩次(先寫入日志,再寫入磁盤),系統性能可能會降低。
日志的提交也有很多種不同的策略。比如,是在日志將滿時,還是在超時后?
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 嵌入式Linux系統移植-(Linux文件系統)
- 嵌入式Linux開發之文件系統目錄結構介紹
- linux文件系統基礎 0次下載
- Linux.文件系統的精通指南 7次下載
- 《Linux設備驅動開發詳解》第5章、Linux文件系統與設備文件系統 0次下載
- 分析YAFFS文件系統在Linux系統中的構建 0次下載
- 細數那些流行的 Linux 文件系統 0次下載
- 嵌入式開發板無界面linux文件系統的制作 12次下載
- Linux虛擬文件系統實現技術探討 32次下載
- 嵌入式Linux文件系統的研究與應用
- 構造嵌入式Linux的文件系統
- 用Busybox制作嵌入式Linux根文件系統
- 適合嵌入式Linux應用的文件系統—— JFFS
- 適合嵌入式Linux應用的文件系統—— JFFS
- Linux文件系統課程 0次下載
- 如何更改Linux文件系統終端顯示顏色 642次閱讀
- 事務性日志結構文件系統的設計及實現 770次閱讀
- Linux 文件系統層的主要結構 1034次閱讀
- 解析Linux系統日志 1658次閱讀
- 深入剖析Linux文件系統的架構 1068次閱讀
- Linux文件系統的類型及工作原理 650次閱讀
- 深入剖析Linux內核虛擬文件系統 3108次閱讀
- 基于Buildroot的Linux系統構建之根文件系統 2620次閱讀
- 如何區別Linux文件系統呢? 3720次閱讀
- 了解Linux默認文件系統的發展歷史 6507次閱讀
- 快速了解Linux文件系統 3702次閱讀
- 文件系統是什么?淺談EXT文件系統歷史 5723次閱讀
- 玩轉Linux,先把文件系統搞懂 2083次閱讀
- 制作ZedBoard上linux根文件系統(ramdisk) 1603次閱讀
- 基于zynq的Linux根文件系統生成 5841次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關電源基礎知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統的設計與實現
- 0.61 MB | 2次下載 | 免費
- 6基于FPGA的C8051F單片機開發板設計
- 0.70 MB | 2次下載 | 免費
- 751單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 8基于51單片機的RGB調色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21548次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 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十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多