快照原理(二) ROW技術

2022-10-09 13:42:08 字數 2525 閱讀 8323

row: redirect on write 。 寫時重定向。

如下圖所示,左邊是我們的檔案。上邊是inode,下邊是block,裡邊都是123且是指向關係。然後我們對它拍乙個快照snap01,snap01中也有索引123,且指向block中對應的資料。這些步驟和cow是一模一樣的。不同的是,cow會生成乙個cow區域用來存放和原block不同的資料,但是row不會。row會在底層生成乙個.img形式的磁碟檔案,我們稱這個檔案為row差分卷。差分就是區別的意思,這裡的差分就是指和左邊block的區別。原磁碟底層(左邊block)也是乙個.img形式的磁碟檔案(雖然是.img形式結尾,但是這個檔案是磁碟檔案),當我們拍了一次快照之後,原來的磁碟檔案(左邊底層block)就直接變成了唯讀。那這個時候如果我們改變資料會發生什麼情況呢?

刪除:假設我們刪除inode中的3,差分捲會怎麼做呢?和cow一樣,因為snap01中的索引和block中的資料依然是一一指向關係,所以這個時候差分卷什麼都不會做。維持原樣。

修改:假設我們的資料發生變化,差分捲會怎麼做呢?比如我們把inode中的3改成5。因為之前的block在拍快照之後變成了唯讀檔案,所以沒辦法寫入資料。當inode中的3改成5之後,它會直接把本該寫入block中的5寫入row差分卷中,然後修改inode中5的指向直接指到差分卷中。

新增:假設新增資料,會怎麼辦呢?假設我們新增了資料678,因為原block是唯讀的,所以678也是直接寫到了差分卷中。然後修改inode中678的指向直接指到差分卷中。

如果我們接著拍了第二個快照,會發生什麼呢?如下圖所示,假如我們拍了snap02,那麼它就會產生第二個row差分卷,重要的是第乙個差分卷就變成了唯讀,所以只要有新的差分卷生成,之前的差分卷就會變成已讀。當有資料寫入時,會直接寫入到新的差分卷中。snap02中的索引也會一一指向block和第乙個差分卷中的資料。所以如果我們連續的拍快照,最後就會形成乙個快照鏈,因為每乙個row差分卷都是有用的,快照鏈如下圖所示。

這就是寫時重定向row,所謂重定向就是在寫入資料的時候直接把他寫入到了差分卷中。

最後我們總結一下row和cow的區別:

cow拍快照後,如果對資料進行修改和新增,不僅會影響原磁碟中的block,也會影響cow區域。

row拍快照後,如果對資料進行修改和新增,只會影響最後一次快照對應的row差分卷。

實驗:我們做個實驗來看一下row的底層到底是什麼樣的。

如下圖所示,我們檢視我們虛擬機器的磁碟資訊,發現它就是乙個.img檔案,這就對應了我們上邊說的磁碟block也是乙個.img檔案。我們可以看到它的大小是40g,這就是我們建立虛擬機器時劃分給它的磁碟大小。但是它的實際使用量只用了11g。然後我們給這個虛擬機器拍乙個快照,我們可以看到這時候多了乙個.img檔案出來,這就是快照生成的row差分卷,我們可以看到這時候它的大小只有9m,因為這時候還沒有資料寫入。

這個時候我們在虛擬機器中寫入一些資料,我們可以看到差分卷的大小變成了136m,這就是我們前邊說的row快照模式下,原先的磁碟會變成唯讀,有資料寫入時只會寫入row差分卷中。

這個時候我們在拍一次快照,我們可以看到又多了乙個新的img檔案出來,這就是我們說的每拍乙個快照,就會生成乙個新的row差分卷。

然後我們在往磁碟中寫入資料,我們會發現原先的差分卷大小沒有發生變化,而新的差分卷變成了103m。這就是我們說的新的差分卷生成之後,之前的差分卷也都會變成唯讀。新的資料只會寫入到最新的差分卷。

那麼這個時候如果我們刪除第二個快照會發生什麼呢?我們可以看到第二個快照對應的差分卷已經沒有了。第乙個差分卷的大小從221m變成了274m,這就意味著他把第二個差分卷中的資料合併到了第乙個差分卷中。這就是row快照合併。這時候再有資料寫入的話,它會直接寫入到第乙個差分卷中。以此類推,假如我們再把第乙個快照刪了,那麼第乙個差分卷中的資料也會合併到原磁碟中。

快照技術原理

五 快照與映象 複製的區別 映象 快照和複製是三種不同的功能 映象是通過從乙個i o建立兩個i o來複製資料。磁碟映象通過os或捲管理軟體在主系統上建立。磁碟映象是依靠平台和本地連線特性的本地選件。映象可用於das和san並且大多數nas支援它。儲存 式映象磁碟子系統 例如,emc srdf,ibm...

資料快照技術

和copy on write比較 共同點 不管是哪個一種快照方式,只要上層向乙個在快照之後從來沒有被更新過的扇區寫 io,這個 io塊就要占用新卷上的 乙個塊 因為要保留原塊的內容,不能被覆蓋 如果上層將原卷上的所有扇區都更新了,那麼新卷的容量就需要和原卷的 資料量同樣大才可以。但是通常應用不會寫覆...

快照技術學習筆記

通常資料塊快照有6中型別的快照技術 1 copy on write 複製寫 2 redirect on write 重定向寫 3 clone or split mirror 轉殖或映象 4 copy on write 這裡寫 片with background copy後台拷貝的複製寫 5 incre...