自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

在存儲系統(tǒng)內(nèi)保護數(shù)據(jù)的安全---克隆技術(shù)

存儲 存儲架構(gòu)
存儲行業(yè)其實并沒有對克隆的實現(xiàn)做嚴格的限制,各個存儲廠商的實現(xiàn)也有差異。其中如華為的HyperClone實現(xiàn)的克隆是對原始卷的全拷貝,而Dell PowerStore的ThinClone則并非全拷貝,而只是支持寫數(shù)據(jù)的功能。

快照實現(xiàn)了數(shù)據(jù)的邏輯保護,如果底層硬件層面的故障導致的數(shù)據(jù)丟失則無法通過快照恢復。另外,由于快照和原始卷共享數(shù)據(jù),可能會由于存儲軟件內(nèi)部的Bug引起數(shù)據(jù)的丟失(鏈接關(guān)系的損壞)。

有別于快照與原始卷共享數(shù)據(jù),克?。–lone)是對原始卷的完整拷貝。克隆的實現(xiàn)原理與快照類似,通常也是采用RoW和CoW兩種技術(shù)。采用上述兩種技術(shù)可以保證即刻創(chuàng)建一個克隆。但是克隆技術(shù)與快照不同的是,其后臺有任務實現(xiàn)數(shù)據(jù)的剝離,最終保證克隆卷的數(shù)據(jù)與原始卷的數(shù)據(jù)完全隔離。如下圖所示,最終克隆的數(shù)據(jù)甚至可以在另外一個存儲池中,實現(xiàn)與原始卷數(shù)據(jù)的完全隔離。這樣,即使原始卷所在的存儲池出現(xiàn)故障,我們依然可以通過克隆恢復原始數(shù)據(jù)。

圖片圖片

存儲行業(yè)其實并沒有對克隆的實現(xiàn)做嚴格的限制,各個存儲廠商的實現(xiàn)也有差異。其中如華為的HyperClone實現(xiàn)的克隆是對原始卷的全拷貝,而Dell PowerStore的ThinClone則并非全拷貝,而只是支持寫數(shù)據(jù)的功能。

以華為的HyperClone為例,其是一個全拷貝的克隆,但是在創(chuàng)建之初并不能馬上保證克隆卷是原始卷數(shù)據(jù)的完全拷貝,而只能保證從訪問角度完全一致。在創(chuàng)建之初,會創(chuàng)建一個同步位圖,同步位圖記錄了哪些數(shù)據(jù)已經(jīng)從原始卷同步到了克隆卷。如下圖是華為HyperClone創(chuàng)建后的狀態(tài)視圖,可以看到同步的進度。

圖片圖片

克隆創(chuàng)建后,克隆卷本身也是一個邏輯卷,此時會建立原始卷和克隆卷的配對關(guān)系,并創(chuàng)建同步位圖。位圖用于標記克隆卷與原始卷之間數(shù)據(jù)的同步進展,另外,對于克隆卷的訪問也是依賴位圖的。這里位圖的功能與前面介紹的RAID1的位圖的功能有些類似的地方,大家可以類比理解一下。 

圖片圖片

通常在存儲引擎中會有一個后臺線程進行原始卷到克隆卷數(shù)據(jù)的同步。當完成一個數(shù)據(jù)塊的同步后,克隆卷的指針和位圖都會做相應的更新。如上圖上半部分是克隆卷剛創(chuàng)建成功后的數(shù)據(jù)引用關(guān)系和位圖的狀態(tài),下半部分則是完成第1個數(shù)據(jù)塊的同步后的數(shù)據(jù)引用關(guān)系和位圖的狀態(tài)。

由于克隆卷是創(chuàng)建后即可使用的,因此在數(shù)據(jù)的同步過程中原始卷和克隆卷都有可能有新的IO。對于讀IO來說就無所謂了,克隆卷根據(jù)引用關(guān)系讀取數(shù)據(jù)就行了;但對于寫IO則不同,無論是原始卷的寫IO還是克隆卷的寫IO都需要進行特殊的處理。如上圖所示,如果寫IO位于第1個數(shù)據(jù)塊,由于此數(shù)據(jù)已經(jīng)分離,所以可以直接寫。如果寫IO位于2個數(shù)據(jù)塊(不算空洞),則需要做處理,對于來自克隆卷的IO不能按照原來的引用關(guān)系寫入數(shù)據(jù),而是寫入新的位置,并更新指針和位圖信息,如下圖上半部分所示;對于來自原始卷的IO則需要先將數(shù)據(jù)搬移到克隆卷所在的存儲池,更新克隆卷的指針,最后才能寫入數(shù)據(jù)并更新位圖信息,如下圖下半部分所示。

在實際的產(chǎn)品中還要復雜一些,因為上述操作涉及多個數(shù)據(jù)塊數(shù)據(jù)的更新,任何兩步中間都有可能出現(xiàn)問題導致數(shù)據(jù)不一致。為了解決上述問題,通常將上述操作封裝為一個事務,以事務的方式提交所有數(shù)據(jù)的更改。

圖片圖片

上文我們只是介紹了一種可能的實現(xiàn)方案,但每個廠商的實現(xiàn)差異起始還是挺大的。比如NetApp的FlexClone,其聲稱為基于快照的克隆。當基于原始卷創(chuàng)建克隆時,存儲引擎在底層會創(chuàng)建一個快照,并建立克隆卷與快照的關(guān)聯(lián),大體如下圖所示。由于快照基于原始卷創(chuàng)建,因此快照具備了原始卷這個時間點的所有數(shù)據(jù)。而克隆建立了與該快照的關(guān)聯(lián),當訪問克隆卷的時候就可以根據(jù)快照找到真實的數(shù)據(jù)。

圖片圖片

快照的特性我們在前文已經(jīng)詳細介紹過,原始卷更改的時候快照數(shù)據(jù)不會變化。因此,快照的存在隔離克隆卷與原始卷寫數(shù)據(jù)時的相互影響。具體而言,如果原始卷寫入了一塊新數(shù)據(jù),由于快照的隔離作用,在克隆卷中并不會感知到這個變化。如果在克隆卷寫入新的數(shù)據(jù)也是如此,因為克隆卷跟原始卷是完全隔離的空間,自然不會影響原始卷的數(shù)據(jù)。

繼續(xù)深入克隆卷的細節(jié),我們知道邏輯卷通過指針的方式引用數(shù)據(jù),在創(chuàng)建之初,克隆卷的所有指針為空。此時如果讀數(shù)據(jù),直接從其配對的快照相同的偏移地址讀取數(shù)據(jù)即可,如果指針有有效值,直接根據(jù)指針的位置讀取數(shù)據(jù)即可。如果寫數(shù)據(jù),直接在克隆卷的物理空間寫數(shù)據(jù),完成寫數(shù)據(jù)后更新指針即可。

圖片圖片

本節(jié)我們介紹了克隆的原理,并結(jié)合主流存儲產(chǎn)品介紹了更多的細節(jié)。由于廠商開放的資源有限,很多細節(jié)也是作者猜測的,并不一定就是作者所描述的那樣。不過大體原理不會有大的出入,大家可以舉一反三。

責任編輯:武曉燕 來源: 數(shù)據(jù)存儲張
相關(guān)推薦

2012-07-25 09:37:22

虛擬化

2010-12-17 11:37:23

衛(wèi)士通安全存儲系統(tǒng)

2023-06-08 05:58:28

數(shù)據(jù)庫糾刪碼技術(shù)

2013-09-09 10:29:44

2018-01-31 08:44:20

數(shù)據(jù)存儲存儲設備存儲系統(tǒng)

2021-06-18 06:00:31

存儲系統(tǒng)

2018-09-29 14:08:04

存儲系統(tǒng)分布式

2017-11-07 08:54:06

云存儲技術(shù)系統(tǒng)

2024-01-15 16:51:03

Redis數(shù)據(jù)存儲

2022-03-03 09:51:11

RedisCouchbase數(shù)據(jù)存儲

2013-09-17 18:11:56

2020-03-04 17:37:09

存儲系統(tǒng)硬件層

2017-11-15 09:17:42

數(shù)據(jù)中心雙層存儲

2018-11-22 10:40:40

存儲備份數(shù)據(jù)

2018-10-29 12:42:23

Ceph分布式存儲

2022-07-15 14:43:21

數(shù)據(jù)安全Linux

2015-09-29 18:17:58

戴爾云計算

2018-03-07 10:35:45

云計算存儲系統(tǒng)

2023-05-19 13:49:17

神經(jīng)網(wǎng)絡AI

2013-04-07 09:55:54

數(shù)據(jù)存儲光纖銅纜
點贊
收藏

51CTO技術(shù)棧公眾號