數據快照技術

write redirectcopy on write比較

共同點:不管是哪個一種快照方式,只要上層向一個在快照之後從來沒有被更新過的扇區寫IO,這個IO塊就要佔用新捲上的

一個塊(因爲要保留原塊的內容,不能被覆蓋),如果上層將原捲上的所有扇區都更新了,那麼新卷的容量就需要和原卷的

數據量同樣大才可以。但是通常應用不會寫覆蓋面百分之百。做快照的時候,新卷的容量一般設置成原卷的30%就可以。

不同點

copy on write方式下,快照完成之後,如果需要更新一個從來沒有被更新過的塊,則程序首先將這個塊讀出,再將其寫入到新卷,然後將更新的數據覆蓋寫入到原卷對應的塊。需要三步動作(一次讀,兩次寫)。

write redirect方式下,同樣的過程只需要一次寫入即可,即將更新數據直接寫入到新卷(同時更新映射圖中的指針,在內存中進行)。

所以write redirect相對copy on write方式在IO延遲上有優勢。

在文件系統快照情況下,copy on write方式和write redirect方式 同樣多要針對每個IO遍歷當前文件系統中的元數據。這部分開銷是一樣的。而write redirect耗費IO方面的開銷,就要比copy on write小得多了。

總之,卷級的快照,彷彿就是增加了一個“卷塊映射系統”,其作用與文件系統大同小異,只不過文件系統處理的是文件名和塊的映射關係,而“卷塊映射文件系統”處理的是塊與塊的映射關係。

快照的意義(有可能帶來數據不一致情況)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章