日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

有關(guān)FreeBSD的幾點(diǎn)誤區(qū)

王波

雖然絕大多數(shù)人都知道FreeBSD的優(yōu)勢在于穩(wěn)定性高,網(wǎng)絡(luò)性能好,但對于FreeBSD其他
的一些技術(shù)特性,在認(rèn)識(shí)上仍然存在著一些偏差 。

1.FreeBSD不具備日志文件系統(tǒng),因此不適合用作高要求的應(yīng)用目的

首先需要指出的是,日志文件系統(tǒng)最早也是在BSD上開發(fā)的,稱為LFS 。在FreeBSD中本來
是支持它的,但后來由于版本升級的原因,它的代碼由于缺乏維護(hù)而被暫時(shí)拋棄,至今
還可以在FreeBSD的源代碼中可以找到LFS的一些遺跡 。目前,LFS還存在于NetBSD中繼續(xù)
開發(fā),如果有特別的需求,它完全可以再回到FreeBSD系統(tǒng)中 。
然而,F(xiàn)reeBSD開發(fā)者沒有急于將LFS移植回FreeBSD是有道理的,因?yàn)镕reeBSD系統(tǒng)中已
經(jīng)增加了一些新的特性,足以提供LFS能提供的最重要的特性 。為了解釋FreeBSD的這些
特性的本質(zhì),我們需要討論一下文件系統(tǒng) 。
由于文件系統(tǒng)的讀寫性能對于整個(gè)系統(tǒng)的性能來講,是一個(gè)非常重要的指標(biāo),因此系統(tǒng)
設(shè)計(jì)者就設(shè)法盡可能的提高文件系統(tǒng)的性能 。這樣,人們就設(shè)計(jì)了磁盤訪問緩沖來達(dá)到
這個(gè)目的,這樣,使用緩沖的讀寫方法就稱為異步(async)訪問方法,相應(yīng)的不采用緩
沖的磁盤讀寫方法就稱為同步(sync)訪問方法 。
顯然,異步方法具有更高的讀寫性能,但是一旦發(fā)生故障的時(shí)候,由于有很多數(shù)據(jù)還保
存在緩沖區(qū)中,就導(dǎo)致這一部分?jǐn)?shù)據(jù)丟失 。然而,如果是簡單的部分?jǐn)?shù)據(jù)丟失倒還罷了
,但是某些重要的數(shù)據(jù)丟失,就導(dǎo)致整個(gè)文件系統(tǒng)遭到破壞 。為什么會(huì)發(fā)生這樣的情況
呢?
因?yàn)?,在文件系統(tǒng)中,有兩種不同的數(shù)據(jù),一種為簡單的文件內(nèi)容數(shù)據(jù),這些數(shù)據(jù)丟失
僅僅導(dǎo)致某個(gè)文件出現(xiàn)錯(cuò)誤數(shù)據(jù),不會(huì)影響其他文件的內(nèi)容 。另一種數(shù)據(jù)則比較重要,
例如文件系統(tǒng)本身的I節(jié)點(diǎn)或者目錄數(shù)據(jù),假如I節(jié)點(diǎn)的數(shù)據(jù)塊出現(xiàn)錯(cuò)誤,就會(huì)導(dǎo)致大量
文件丟失,甚至導(dǎo)致文件系統(tǒng)整個(gè)受到破壞 。這些對文件系統(tǒng)完整性非常重要的數(shù)據(jù)被
稱為元數(shù)據(jù)(metadata) 。
對于普通的文件系統(tǒng)來講,并不能在緩沖區(qū)中區(qū)分出普通數(shù)據(jù)和元數(shù)據(jù),這樣就會(huì)發(fā)生
普通數(shù)據(jù)的更新比它對應(yīng)的元數(shù)據(jù)更新的時(shí)間要早,這樣一旦發(fā)生故障,文件系統(tǒng)的破
壞是不可避免的 。對于日志文件系統(tǒng)來講,由于日志是順序發(fā)生的,因而緩沖區(qū)向磁盤
寫的順序也是順序的,這樣,元數(shù)據(jù)的更新總是順序的在數(shù)據(jù)更新之前被保存,這樣就
使得即使發(fā)生故障,元數(shù)據(jù)也不會(huì)發(fā)生特別嚴(yán)重的錯(cuò)誤,某些元數(shù)據(jù)的錯(cuò)誤只能導(dǎo)致部
分文件丟失,而不會(huì)影響整個(gè)文件系統(tǒng) 。
由于日志文件系統(tǒng)的這個(gè)順序特性,使得系統(tǒng)不會(huì)因?yàn)楣收铣霈F(xiàn)嚴(yán)重的錯(cuò)誤,而且在出
現(xiàn)錯(cuò)誤時(shí),還具備更短的文件系統(tǒng)修復(fù)時(shí)間(fsck),系統(tǒng)修復(fù)時(shí)間對于存儲(chǔ)量非常大
的文件系統(tǒng)非常重要 。這樣一旦出現(xiàn)錯(cuò)誤,系統(tǒng)重新啟動(dòng)并恢復(fù)提供服務(wù)的時(shí)間也很短
暫 。
對于FreeBSD系統(tǒng)來講,則沿著另一個(gè)類似的方式來解決這個(gè)問題 。由于FreeBSD更關(guān)心
系統(tǒng)的穩(wěn)定性、可靠性,F(xiàn)reeBSD系統(tǒng)并不推薦使用異步的方法來訪問磁盤,但是這樣磁
盤性能就比較差 。為了解決這個(gè)問題,F(xiàn)reeBSD改善了文件系統(tǒng),將普通數(shù)據(jù)和元數(shù)據(jù)分
開,這樣就可以對普通數(shù)據(jù)進(jìn)行緩沖,而對元數(shù)據(jù)不進(jìn)行緩沖,這樣的方法就可以大大
改善文件系統(tǒng)性能,并且對文件系統(tǒng)的安全性也沒有太大的影響 。
然而即使如此,文件系統(tǒng)的性能比起全部異步的方法還有一些差距,如何達(dá)到全部異步
訪問的目的呢?FreeBSD研究者提出了softupdate的方法,softupdate的主要目的是將元
數(shù)據(jù)的改變按照它們之間的依賴關(guān)系,元數(shù)據(jù)對普通數(shù)據(jù)的依賴關(guān)系進(jìn)行重新排序,保

推薦閱讀