cow和row快照機(jī)制的區(qū)別

一直對(duì)快照的兩種模式cow和row區(qū)分不開(kāi),今天看到一篇文章講的很清晰。轉(zhuǎn)載過(guò)來(lái),希望能給有同樣困惑的同學(xué)以幫助。

所謂快照,是指某數(shù)據(jù)集在某一時(shí)刻一個(gè)完全可用的拷貝。也叫即時(shí)拷貝。注意是一個(gè)完全可用的。如果是在window環(huán)境下,則要結(jié)合VSS 機(jī)制,把應(yīng)用程序的buffer,文件系統(tǒng)的buffer,操作系統(tǒng)的buffer全部刷向磁盤(pán)后,再做快照。

當(dāng)前快照有兩種實(shí)現(xiàn),分別是COW(Copy on first write) 和ROW(Redirect on first write).

假如有一個(gè)卷8個(gè)物理塊,分別為1~8, 在某一個(gè)時(shí)刻做了快照,這時(shí)候生成了一個(gè)快照卷,快照卷也有8個(gè)塊,和原始卷一樣指向相同的物理塊。這時(shí)候有一個(gè)新的io,修改原始卷的第8個(gè)物理塊,對(duì)COW 而言,會(huì)依次做如下幾步

1、分配一個(gè)新的物理塊。我們稱(chēng)為第9個(gè)物理塊

2、讀取第8個(gè)物理塊

3、新讀取的第8個(gè)物理塊數(shù)據(jù)寫(xiě)入到第9個(gè)物理塊。

4、更新快照卷map,指向第9個(gè)物理塊

5、更新第8個(gè)物理塊

圖片發(fā)自簡(jiǎn)書(shū)App


從上面可以看出,本來(lái)寫(xiě)一個(gè)物理塊,變成了1讀3寫(xiě)。

COW 優(yōu)點(diǎn):

1、原始卷物理塊連續(xù)。沒(méi)有碎片。

COW 缺點(diǎn):

1、寫(xiě)放大,本來(lái)一個(gè)寫(xiě),變成1讀3寫(xiě)。

對(duì)ROW 而言,會(huì)依次做如下幾步

1、分配一個(gè)新的物理塊。我們稱(chēng)為第9個(gè)物理塊

2、數(shù)據(jù)寫(xiě)入到第9個(gè)物理塊。

3、更新原始卷map,指向第9個(gè)物理塊

圖片發(fā)自簡(jiǎn)書(shū)App


從上面可以看出,本來(lái)寫(xiě)一個(gè)物理塊,變成了2寫(xiě)。

ROW 優(yōu)點(diǎn):

1、性能比COW 好。

ROW 缺點(diǎn):

1、寫(xiě)放大,本來(lái)一個(gè)寫(xiě),變成2寫(xiě)。

2、原始卷物理塊不連續(xù)。沒(méi)、有碎片。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容