1. 程式人生 > >24、【華為HCIE-Storage】--Hyper Snapshot(塊業務)

24、【華為HCIE-Storage】--Hyper Snapshot(塊業務)

HCIE Storage hostman

------------------------------------重要說明------------------------------------

以下部分內容來網絡,部分自華為存儲官方教材

具體教材內容請移步華為存儲官網進行教材下載

網絡引用內容無法找到原創,如有侵權請通知

------------------------------------重要說明------------------------------------

隨著計算機技術的發展,數據備份的重要性也逐漸凸顯。在最初的數據備份方式中,恢復時間目標( RTO)和恢復點目標( RPO)無法滿足業務的需求,而且數據備份過程會影響業務性能,甚至中斷業務。當企業數據量逐漸增加且數據增長速度不斷加快時,如何縮短備份窗口成為系統管理員重點關註的問題。因此,各種數據備份、數據保護技術應運而生。

l RTO(Recovery Time Objective):一種業務切換策略,是容災切換時間最短的策略。以恢復時間點為目標,確保容災機能夠快速接管業務

l RPO(Recovery Point Objective):一種業務切換策略,是數據丟失最少的容災切換策略。以數據恢復點為目標,確保容災切換所使用的數據為最新的備份數據。

l 備份窗口:對數據進行備份而不嚴重影響使用該數據的應用程序時,進行數據備份的時間間隔。

快照技術是眾多數據備份技術中的一種,其原理與日常生活中的拍照類似,通過拍照可以快速記錄下拍照時間點被拍照對象的狀態。由於可以瞬間生成快照,通過快照技術,系統管理員能夠實現零備份窗口的數據備份,從而滿足企業對業務連續性和數據可靠性的要求。

① 定義

華為技術有限公司開發的快照特性又叫HyperSnap特性。快照是指源數據在某個時間點的一致性數據副本,是對指定數據集合的一個完全可用的拷貝,該拷貝包含源數據在拷貝時間點的靜態映像。快照生成後可以被主機讀取,也可以作為某個時間點的數據備份。快照的主要特點包括:

l 瞬間生成: OceanStor 18500 V3/18800 V3存儲系統可以在幾秒鐘內生成一個快照,獲取源數據的一致性副本。

l 占用存儲空間少:生成的快照數據並非完整的物理數據拷貝,不會占用大量存儲空間。所以即使源數據量很大,也只會占用很少的存儲空間。

② 相關概念

快照是指源數據在某一時間點的一致性數據副本。快照生成後可以被主機讀取,也可以作為某一時間點的數據備份。

快照是源數據在某一時間點生成的數據副本,由源LUN、 COW數據空間和快照LUN三部分組成。

l 數據組織形式

OceanStor 18500 V3/18800 V3存儲系統采用虛擬化存儲技術。存儲池中創建的LUN包含了元數據卷( Meta Volume)和數據卷( Data Volume)兩部分組成。

– 元數據卷( Meta Volume):記錄LUN中數據組織形式及其屬性的卷,結構形式為樹形。

– 數據卷( Data Volume):存放LUN中的實際數據的卷,數據讀取和寫入都以Extent為單位。

l 源卷

需要進行快照操作的源數據所在的卷,對用戶而言表現形式為源LUN。源LUN包括Meta Volume和Data Volume:

– Meta Volume:記錄源數據在源LUN中的存在位置。

– Data Volume:記錄源LUN中存放的業務數據。

l 快照卷

對源LUN創建快照後,邏輯上生成的數據副本。對用戶而言表現形式為快照LUN。快照LUN包括Snapshot Meta Volume和Snapshot Data Volume:

– Snapshot Meta Volume:快照元數據卷。每生成一份快照,就會建立一個Snapshot Meta Volume。

– Snapshot Data Volume:與Snapshot Meta Volume對應的數據卷。記錄的是寫快照LUN時產生的數據。

l 寫前拷貝( COW, Copy-on-write)

快照實現的核心技術,用於保存源LUN中變化的數據。快照創建並激活後,如果應用服務器對源LUN有寫數據請求,存儲系統首先將被寫入位置的原數據(寫前拷貝數據)拷貝到COW數據空間中,然後修改寫前拷貝數據的映射關系,記錄寫前拷貝數據在COW數據空間中的新位置,最後再將新數據寫入到源LUN中。

l COW數據空間

快照生成並激活後,存儲系統在源LUN所在的存儲池中動態劃分一部分存儲空間,用於保存寫前拷貝數據。同一個源LUN對應的所有快照LUN共享同一個COW數據空間。 COW數據空間包括COW Meta區域和COW Data區域:

– COW Meta區域:同一個源LUN下所有快照共用的元數據區。用於存放寫源LUN時所有快照LUN所產生的寫前拷貝映射項,即寫前拷貝數據與其在COWData區域中存放位置的對應關系。

– COW Data區域:與COW Meta區域對應的數據空間。用於存放寫源LUN時產生的寫前拷貝數據。

l 映射表

映射表用於記錄源LUN數據和快照LUN數據的在某個時間點的改變情況以及改變後的存儲位置。映射表分為共享映射表和獨享映射表:

共享映射表存放在COW Meta區域中,用於記錄寫源LUN時產生的寫前拷貝數據與其在COW Data區域中存放位置的映射關系。

獨享映射表存放在每個快照LUN的Snapshot Meta Volume中,用於記錄寫快照LUN所產生的數據與其在快照LUN中存放位置的映射關系。

l 快照副本

對快照進行復制,獲得多份激活時間點快照副本的技術。即使快照進行寫操作,快照中的數據發生了改變,快照副本中的數據仍然與快照激活時間點的快照數據一致。

③ 原理

a. 快照創建及激活流程

快照創建並激活後,會生成與源卷一致的數據副本。存儲系統在源卷中劃分出COW數據空間並自動生成快照卷。

技術分享圖片

初始狀態:

由於對源卷沒有寫操作, COW Meta區域和COW Data區域中均沒有記錄。

由於對快照卷沒有寫操作, Snapshot Meta Volume和Snapshot DataVolume中均沒有記錄。

b. 數據寫入流程

快照激活後,當應用服務器對源LUN有數據寫入請求時,存儲系統不會立即寫入新數據。存儲系統利用寫前拷貝機制先將寫前拷貝數據拷貝到COW數據空間中,並修改映射表中的映射關系,然後將新數據寫入源LUN。數據寫入源LUN後快照狀態如圖所示。


技術分享圖片

1. 應用服務器在Time1下發寫源LUN的請求:“ Data1”修改為“ DataX”。

2. 利用寫前拷貝機制將“ Data1”拷貝到COW數據空間中。

3. 更新映射表中的映射關系,“ Data1”的存放位置變更為COW數據空間中的“ g0”。

4. 將“ DataX”寫入源LUN,完成數據更新。


技術分享圖片

① 激活快照後,源LUN有數據寫入。

② 首先將查詢快照映射表,如果映射表中對應該地址的映射項不存在時,需要進行copy-on-write(寫前拷貝),寫前拷貝完成後在映射表中記錄備份的源LUN數據信息。如果映射項存在,則直接覆蓋寫入源LUN的對應位置。

③ 寫前拷貝,即讀取源LUN對應位置的數據寫入COW卷的空間。

④ COW卷空間與源LUN空間分布在同一個POOL中,寫入COW卷即寫入POOL的空間區域。

⑤ 寫前拷貝完成後,再將主機數據寫入源LUN所在的POOL空間。

c. 快照卷寫入流程

快照激活後,應用服務器可以對快照卷進行讀寫操作。應用服務器下發寫請求後,數據將直接寫入快照卷,並在獨享映射表中記錄數據在快照卷中的存放位置。

技術分享圖片

① 應用服務器在Time2下發寫快照卷的請求:寫入數據“ Data a”,並將該數據直接寫入快照卷中。

② 在映射表(獨享部分)中記錄“ Data a”在快照卷中的存放位置“ g'0”。

d. 讀快照卷(快照卷已寫入)

當應用服務器中在快照卷中寫入數據Data a。此時。


技術分享圖片

① 應用服務器下發讀快照請求。

② 通過映射表(獨享部分)確定快照數據的存放位置。

③ 應用服務器讀取到的快照數據為“ Data a”。

e. 讀快照卷(快照卷未寫入)

當應用服務器只在源卷中寫入數據,沒有在快照卷中寫入數據。


技術分享圖片

① 應用服務器下發讀快照請求。

② 通過映射表(共享部分)確定快照數據的存放位置。

③ 應用服務器讀取到的快照數據為“ Data 0”、“ Data 1”、“ Data 2”、“ Data3”。

f. 寫前回滾

快照回滾是將快照LUN的數據復制給源LUN,從而使源LUN的數據恢復成生成快照LUN時刻的數據。

快照回滾時需註意:

快照回滾命令執行前,要求停止對源卷的讀寫。因為主機對源卷的寫數據會被快照回滾覆蓋掉。

快照回滾命令執行成功後,主機可以對源卷進行讀寫,寫前回滾技術保證了達到瞬時完成回滾的效果。

快照回滾過程中,不能進行在線升級。

快照回滾是將快照中的數據復制到源卷上,包含了寫快照產生的數據。


技術分享圖片

技術分享圖片

④ 配置流程


技術分享圖片

技術分享圖片

24、【華為HCIE-Storage】--Hyper Snapshot(塊業務)