【ESSD技術解讀】阿里雲塊儲存企業級特性之非同步複製

阿里雲開發者發表於2021-11-08
簡介:在大資料時代,資料就是企業的核心資產,是企業的生命線。在現實世界中,災難時有發生,當發生災難時,容災能力成為企業能否生存的關鍵。雲上容災服務,通常稱為 DRaaS(災難恢復即服務)不但能夠省去自建容災中心的開銷,還能節省後續運維成本,幫助客戶快速建立起跨地域的容災方案,即買即用,隨時釋放的特性也為使用者提供了極大的彈性。本文介紹了雲上容災產品形態,企業可結合自身特點選擇合適的容災方案,針對非同步複製產品解析了傳統容災與雲上容災的技術架構。阿里雲塊儲存也結合自身架構特點實現了塊儲存的非同步複製產品。

前言

 title=

資料是企業的生命線

資料異地容災是企業級客戶的一個普適需求,尤其是對於政府,金融等大客戶,更是核心需求。在大資料時代,資料就是企業的核心資產,是企業的生命線。在現實世界中,災難時有發生,當發生災難時,容災能力成為企業能否生存的關鍵。

在美國“911”事件中,美國的雙子大樓倒塌,數家銀行的資料中心因此毀於一旦。德意志銀行,因為在幾十公里外做了資料備份,很快恢復了業務,得到使用者的好評,而紐約銀行因為沒有災備方案,在數月後倒閉。

21 年 3 月份,法國最大資料中心運營商 OVHcloud 機房著火,超 350 萬網站受到影響。

在剛剛過去的鄭州 720 水災中,鄭州大學第一附屬醫院河醫院區受到連續暴雨影響,整個院區淹水導致停電,醫院啟動了異地容災機制,僅用 15 分鐘就將核心業務緊急切換至東區核心機房,保證了其他兩個院區的正常運轉。

雲上容災成為趨勢

一個個真實案例警鐘長鳴,這也使得企業對資料保護,容災的投入不斷擴大。傳統的容災方案,往往需要企業自建容災中心,購買專線,以及投入人力進行運維等,投入成本較大。在雲端計算快速發展的時代,越來越多的企業客戶考慮雲上容災。雲上容災服務,通常稱為 DRaaS(災難恢復即服務)不但能夠省去自建容災中心的開銷,還能節省後續運維成本,幫助客戶快速建立起跨地域的容災方案,即買即用,隨時釋放的特性也為使用者提供了極大的彈性。 下表中總結了 DRaaS 與傳統容災方案的對比,可以看出 DRaaS 與傳統容災相比具有零基建、少運維、高彈性的特點,因此,在雲端計算快速發展的時代,DRaaS 也成為容災的趨勢所在。

DR as a Service傳統線下DR
彈性按需建立,按需釋放提前規劃
建設費用按量計費,僅需雲盤和所需頻寬費用, 0 基建一次性買斷陣列和網路,初期投資高
容災資料鏈路專用網路自行鋪設專線,租用頻寬
最佳實踐Cloud on Cloud 與雲上多種元件配合,達到最優模式自行摸索 + 供應商推薦模式
功能演進隨公有云升級與演進購買新裝置、軟體、升級
#### ESSD 雲盤非同步複製 阿里雲塊儲存 ESSD 產品是全球領先的旗艦級產品,已經逐漸走向成熟。為了更好的服務企業客戶,滿足企業客戶雲上容災需求,阿里雲塊儲存也推出自己的 DRaaS 產品,雲盤非同步複製,實現雲盤的跨地域非同步複製。本文介紹了使用者如何選擇合適的雲上容災產品,從技術角度解析了不同容災架構的異同點,然後介紹針對 ESSD 架構我們如何選擇容災架構以及雲盤非同步複製背後的技術原理。 ## 企業如何選擇雲上容災方案 #### 根據 RPO,RTO 選擇合適的容災型別 企業在選擇容災方案時,首先應該根據自己的業務特點確定自己的容災等級。在容災領域通常使用 RPO(Recovery Point Objective)來衡量一個容災系統最多可能丟失的資料的時長,RTO(Recovery Time Objective),來衡量從災難發生到整個系統恢復正常所需要的最大時長。 國家出臺了相關標準,把容災能力分為六個等級,如下圖所示  title= 對於企業來說從一級到六級,級別越高,資料丟失的風險越低,但是容災建設的成本越高。在傳統儲存行業中,通常資料備份歸檔類產品可以滿足一到二級容災需求,普通儲存陣列的備份功能可以滿足三到五級需求,高階儲存陣列的非同步複製功能可以滿足四到五級需求,而高階儲存同步複製,雙活功能,以及基於應用的複製可以滿足五到六級需求。 那麼對於雲上,各大雲廠商也提供了豐富的雲產品來滿足不同的容災級別需求,雲上災備中心通常提供跨地域或者跨可用區的雲上災備服務,可以滿足一到四級的需求,而非同步複製、同步複製產品可以滿足五到六級容災需求。主流的應用,例如資料庫業務通常也有自己的容災產品,最高可以做到 IO 級別的容災粒度。 從上面的級別可以看出非同步複製可以滿足四到五級容災需求,也是銀行等金融客戶以及政府單位等廣泛需要的。 #### 根據系統特點選擇合適的容災服務 從實現方式的角度來分類,現有云廠商的容災方案大致分配三類:基於應用、基於例項和基於塊儲存: 基於應用 這類通常是針對某種特定的應用服務進行的容災方案,例如雲資料庫,訊息佇列,物件儲存等,使用相關雲服務的使用者可以根據自己的需要選擇對應產品的容災服務,這種容災服務的優勢是結合業務往往能夠做到應用級別的一致性,缺點是普適性不強,只有基於特定的應用的業務才可以使用。 基於雲主機 對於只購買了 IaaS 服務,或者有自己的定製化業務,又或者是應用級容災服務不能滿足需求的,可以選擇基於雲主機的容災方案,這種方案會做整機的資料一致性保護,或者跨例項的資料一致性保護,容災端通常除了儲存資料的恢復,也進行主機網路的恢復,使用起來比較便捷,這種容災服務優點是操作簡單,普適性強,缺點是在容災端也需要買好主機資源,成本相對較高。 基於塊儲存(雲盤) 容災的核心是資料容災,因此也有部分廠商針對雲盤本身推出跨地域複製產品,這種產品形式比較靈活,對應用一般沒有限制,複製期間不需要容災端購買主機,可以降低使用者成本,也可以無縫與其他雲服務搭配使用,形成應用級容災類似的效果。同樣基於雲盤可以做一致性組,對一組雲盤的複製資料滿足崩潰一致性語義。 ## ESSD雲盤非同步複製,簡單幾步幫你搞定業務恢復 雲盤非同步複製功能支援 ESSD 產品跨 Region(地域)進行雲盤資料的非同步複製,RPO 為 15 分鐘。使用者僅需要簡單 3 步就可以完成一個容災對的建立:首選選擇需要複製的雲盤,第二選擇容災站點並建立從盤,第三建立容災對並啟用容災對。容災對啟用後雲盤資料就會週期性複製到容災站點對應的從盤上了,當使用者想暫時停止複製時,可以使用容災對的停止功能來暫時終止複製。  title= 當故障發生時,使用者可以使用故障切換功能,完成主備站點的切換,故障切換會斷開復制鏈路,並使得從端裝置恢復到上一個複製的一致性點,提供給使用者可讀可寫許可權。  title= 當災難恢復後,使用者想將業務恢復到原有生產站點,可以使用反向的恢復功能,將從站點產生的增量資料恢復回主站點。  title= ## 雲上非同步複製背後的技術 本章就容災產品中廣泛使用的非同步複製技術探討一下其實現原理以及與傳統儲存的架構異同。容災的核心是資料的容災,塊儲存容災是最通用的容災方案,因此後文的探討主要針對雲盤的非同步複製技術。 #### 傳統儲存的複製架構 傳統儲存非同步複製實現方式大致有三種: 基於儲存閘道器:儲存閘道器位於伺服器與儲存裝置之間,是構架在 SAN 網路上的儲存服務技術。儲存閘道器可以對進入的 IO 流提供靈活多樣的儲存服務,儲存閘道器與主機伺服器和陣列是分離的,不佔用主機和儲存端的資源,可以方便的支援異構系統之間的複製,但由於 IO 多了閘道器鏈路,所以效能會有一定的損失,不太適合對效能要求高的業務。 基於主機:在 SAN 儲存中通常實現在 Initiator 端,在主機端根據 IO 複製要求進行資料分流,典型實現如 DRBD,這種架構對後端的儲存陣列沒有要求,主機端需要安裝相應的軟體。做災備服務的第三方廠商多采用這種架構。 基於儲存陣列:多數儲存陣列廠商會結合自己的陣列特點實現基於儲存陣列的複製架構,這種架構下廠商會根據自己陣列 IO 架構實現在 Target 端,對資料進行追蹤和雙寫。 #### 雲上非同步複製的兩種技術架構 雲廠商通常結合自己的產品特點,通常有兩種技術架構: 有代理的實現架構:這種方式通常需要在使用者虛擬主機中安裝外掛作為 IO 代理,外掛通過截獲使用者 IO 請求並轉發進行復制,這種方案優勢在於可以提供應用級別的一致性語義。這種架構對雲盤廠商沒有特殊要求,容易做到異構系統的容災,劣勢是使用者使用時需要部署外掛才能使用,對使用者作業系統的版本可能有限制。雲產品第三方服務商通常採用這種架構。 無代理的實現架構:這種實現方式往往基於底層的儲存系統,依託儲存系統提供的一致性點以及獲取資料差異點陣圖等技術進行全量或者增量資料複製,能為使用者提供資料崩潰一致性語義。這種方式的優勢是可以結合儲存系統進行高效的差異資料複製,並且對使用者主機系統無入侵,業務使用方式更簡單,劣勢是無法做到應用級資料一致性。主流雲廠商通常具有自主研發的塊儲存服務,通常會結合塊儲存的自身架構特點實現無代理方式的複製架構。 ## 阿里雲 ESSD 雲盤非同步複製架構 阿里雲塊儲存也推出了自己非同步複製產品,本章介紹一下阿里雲如何結合自身架構實現非同步複製產品。 阿里雲塊儲存非同步複製功能採用的是無代理的實現方式。系統架構如圖所示,容災管理軟體分別在生產站點和容災站點部署,容災管控系統週期性的發起複製任務給非同步複製 IO 元件,複製元件從雲盤儲存系統後端獲取資料差異並將差異資料複製到目標區域,目前跨區域複製的 RPO 設計目標為 15 分鐘。  title= #### 高可用架構 非同步複製技術實現上採用高可用架構。考慮到故障場景下系統依然能做到可用,容災管理元件會在生產站點和容災站點同時部署,而不是採用容災元件部署在單邊或者在第三放區域部署的方式。容災管理的後設資料資訊會在容災對的主從都同步一份。這就保證了主站點災難時,從站點的容災管理功能仍然可用。此外,容災管理軟體以及複製鏈路上都分別採用了高可用架構,所有管控節點均採用一主兩備方式部署,保證了容災服務自身的服務連續性。 #### 高效複製 非同步複製的複製流程採用增量方式進行復制,能夠最大程度的降低複製和傳輸的資料量,這也提高了複製效率。依託底層儲存系統高效的內部獲取一致性點技術,能夠高效的獲取雲盤的資料崩潰一致性資料檢視,通過儲存系統內部索引技術能夠高效的獲取資料的增量差異。下圖給出一個儲存系統如何獲取一致性點的差異點陣圖。獲取到的差異點陣圖會被序列化為資料差異日誌,即 DCL(Data Change Log)傳送給複製元件,根據差異點陣圖讀取相應區域的一致性點資料並寫入到從盤。  title= 複製鏈路也會根據雲盤的大小頻寬等特性將複製流程進行自動分片,併發複製,從而提升複製的效率,最大程度滿足 RPO。下圖展示了複製元件獲取差異點陣圖和複製任務的過程,雲盤會根據大小切分成多個資料分片儲存到不同的資料伺服器上,複製元件會從儲存伺服器獲取一致性檢視的 DCL,根據雲盤大小和頻寬情況,決定將一個雲盤切分為多少個子任務進行復制,以更好的適配複製頻寬。下圖是複製 IO 元件的工作原理。  title= #### 主盤效能無損 依託儲存系統本身的高效索引系統和高效能一致性點生成技術,非同步複製對主站點雲盤本身的效能影響很小,可以忽略不計,主盤效能完全滿足官方售賣標準。 #### 秒級 RTO 傳統的備份業務通常會把資料儲存在 OSS 等外部系統上,需要使用時再利用 OSS 快照建立出盤,創盤和載入資料,會使得 RTO 時間較長,通常達到分鐘級或者更長。雲盤非同步複製對從端雲盤進行週期性的寫入,雲盤在複製階段不可讀寫,在故障切換後可以瞬間可用,RTO 可達秒級,這得益於從盤資料一直線上的設計和儲存系統可快速恢復到一致性點的架構優勢。 ## 總結與展望 本文介紹了雲上容災產品形態,企業可結合自身特點選擇合適的容災方案,針對非同步複製產品解析了傳統容災與雲上容災的技術架構。阿里雲塊儲存也結合自身架構特點實現了塊儲存的非同步複製產品,相較於傳統的異地容災方案,塊儲存的容災方案有如下優勢: 低成本:無需繫結虛擬機器使用,使用者在容災站點只需要購買雲盤,而無需購買備用虛擬機器,在容災恢復時可根據需要購買虛擬機器,從而大大降低運營成本。 易用性:無需使用者虛擬機器安裝代理外掛,做到應用無感知,對使用者主機作業系統無版本要求。按需購買,操作簡單,即買即用,支援一鍵切換和一鍵生成容災演練盤。 高可用:容災元件均採用高可用區設計,保證在災難場景下容災系統能夠進行容災切換操作。 業務快速恢復:提供較低的業務恢復時間,RTO 可達秒級。 極低的效能開銷:複製期間主盤效能幾乎不受影響。 塊儲存非同步複製產品致力於為使用者提供簡單高效易用低成本的異地容災解決方案,後續將持續豐富產品特性,陸續推出一致性複製組,共享盤支援,資料鏈路壓縮與去重等特性,豐富產品的使用場景和降低使用者的使用成本,打造可靠易用低成本的 DRaaS 服務,敬請期待。 原創作品:阿里雲端儲存 李瑋瑋 > 版權宣告:本文內容由阿里雲實名註冊使用者自發貢獻,版權歸原作者所有,阿里雲開發者社群不擁有其著作權,亦不承擔相應法律責任。具體規則請檢視《阿里雲開發者社群使用者服務協議》和《阿里雲開發者社群智慧財產權保護指引》。如果您發現本社群中有涉嫌抄襲的內容,填寫侵權投訴表單進行舉報,一經查實,本社群將立刻刪除涉嫌侵權內容。

相關文章