天天看點

【ESSD技術解讀-03】阿裡雲塊存儲企業級特性之異步複制

前言

【ESSD技術解讀-03】阿裡雲塊存儲企業級特性之異步複制

資料是企業的生命線

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

在美國“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),來衡量從災難發生到整個系統恢複正常所需要的最大時長。

國家出台了相關标準,把容災能力分為六個等級,如下圖所示

【ESSD技術解讀-03】阿裡雲塊存儲企業級特性之異步複制

對于企業來說從一級到六級,級别越高,資料丢失的風險越低,但是容災建設的成本越高。在傳統存儲行業中,通常資料備份歸檔類産品可以滿足一到二級容災需求,普通存儲陣列的備份功能可以滿足三到五級需求,高端存儲陣列的異步複制功能可以滿足四到五級需求,而高端存儲同步複制,雙活功能,以及基于應用的複制可以滿足五到六級需求。

那麼對于雲上,各大雲廠商也提供了豐富的雲産品來滿足不同的容災級别需求,雲上災備中心通常提供跨地域或者跨可用區的雲上災備服務,可以滿足一到四級的需求,而異步複制、同步複制産品可以滿足五到六級容災需求。主流的應用,例如資料庫業務通常也有自己的容災産品,最高可以做到 IO 級别的容災粒度。

從上面的級别可以看出異步複制可以滿足四到五級容災需求,也是銀行等金融客戶以及政府機關等廣泛需要的。

根據系統特點選擇合适的容災服務

從實作方式的角度來分類,現有雲廠商的容災方案大緻配置設定三類:基于應用、基于執行個體和基于塊存儲:

基于應用

這類通常是針對某種特定的應用服務進行的容災方案,例如雲資料庫,消息隊列,對象存儲等,使用相關雲服務的使用者可以根據自己的需要選擇對應産品的容災服務,這種容災服務的優勢是結合業務往往能夠做到應用級别的一緻性,缺點是普适性不強,隻有基于特定的應用的業務才可以使用。

基于雲主機

對于隻購買了 IaaS 服務,或者有自己的定制化業務,又或者是應用級容災服務不能滿足需求的,可以選擇基于雲主機的容災方案,這種方案會做整機的資料一緻性保護,或者跨執行個體的資料一緻性保護,容災端通常除了存儲資料的恢複,也進行主機網絡的恢複,使用起來比較便捷,這種容災服務優點是操作簡單,普适性強,缺點是在容災端也需要買好主機資源,成本相對較高。

基于塊存儲(雲盤)

容災的核心是資料容災,是以也有部分廠商針對雲盤本身推出跨地域複制産品,這種産品形式比較靈活,對應用一般沒有限制,複制期間不需要容災端購買主機,可以降低使用者成本,也可以無縫與其他雲服務搭配使用,形成應用級容災類似的效果。同樣基于雲盤可以做一緻性組,對一組雲盤的複制資料滿足崩潰一緻性語義。

ESSD雲盤異步複制,簡單幾步幫你搞定業務恢複

雲盤異步複制功能支援 ESSD 産品跨 Region(地域)進行雲盤資料的異步複制,RPO 為 15 分鐘。使用者僅需要簡單 3 步就可以完成一個容災對的建立:首選選擇需要複制的雲盤,第二選擇容災站點并建立從盤,第三建立容災對并激活容災對。容災對激活後雲盤資料就會周期性複制到容災站點對應的從盤上了,當使用者想暫時停止複制時,可以使用容災對的停止功能來暫時終止複制。

【ESSD技術解讀-03】阿裡雲塊存儲企業級特性之異步複制

當故障發生時,使用者可以使用故障切換功能,完成主備站點的切換,故障切換會斷開複制鍊路,并使得從端裝置恢複到上一個複制的一緻性點,提供給使用者可讀可寫權限。

【ESSD技術解讀-03】阿裡雲塊存儲企業級特性之異步複制

當災難恢複後,使用者想将業務恢複到原有生産站點,可以使用反向的恢複功能,将從站點産生的增量資料恢複回主站點。

【ESSD技術解讀-03】阿裡雲塊存儲企業級特性之異步複制

雲上異步複制背後的技術

本章就容災産品中廣泛使用的異步複制技術探讨一下其實作原理以及與傳統存儲的架構異同。容災的核心是資料的容災,塊存儲容災是最通用的容災方案,是以後文的探讨主要針對雲盤的異步複制技術。

傳統存儲的複制架構

傳統存儲異步複制實作方式大緻有三種:

基于存儲網關:存儲網關位于伺服器與儲存設備之間,是構架在 SAN 網絡上的存儲服務技術。存儲網關可以對進入的 IO 流提供靈活多樣的存儲服務,存儲網關與主機伺服器和陣列是分離的,不占用主機和存儲端的資源,可以友善的支援異構系統之間的複制,但由于 IO 多了網關鍊路,是以性能會有一定的損失,不太适合對性能要求高的業務。

基于主機:在 SAN 存儲中通常實作在 Initiator 端,在主機端根據 IO 複制要求進行資料分流,典型實作如 DRBD,這種架構對後端的存儲陣列沒有要求,主機端需要安裝相應的軟體。做災備服務的第三方廠商多采用這種架構。

基于存儲陣列:多數存儲陣列廠商會結合自己的陣列特點實作基于存儲陣列的複制架構,這種架構下廠商會根據自己陣列 IO 架構實作在 Target 端,對資料進行追蹤和雙寫。

雲上異步複制的兩種技術架構

雲廠商通常結合自己的産品特點,通常有兩種技術架構:

有代理的實作架構:這種方式通常需要在使用者虛拟主機中安裝插件作為 IO 代理,插件通過截獲使用者 IO 請求并轉發進行複制,這種方案優勢在于可以提供應用級别的一緻性語義。這種架構對雲盤廠商沒有特殊要求,容易做到異構系統的容災,劣勢是使用者使用時需要部署插件才能使用,對使用者作業系統的版本可能有限制。雲産品第三方服務商通常采用這種架構。

無代理的實作架構:這種實作方式往往基于底層的存儲系統,依托存儲系統提供的一緻性點以及擷取資料差異位圖等技術進行全量或者增量資料複制,能為使用者提供資料崩潰一緻性語義。這種方式的優勢是可以結合存儲系統進行高效的差異資料複制,并且對使用者主機系統無入侵,業務使用方式更簡單,劣勢是無法做到應用級資料一緻性。主流雲廠商通常具有自主研發的塊存儲服務,通常會結合塊存儲的自身架構特點實作無代理方式的複制架構。

阿裡雲 ESSD 雲盤異步複制架構

阿裡雲塊存儲也推出了自己異步複制産品,本章介紹一下阿裡雲如何結合自身架構實作異步複制産品。

阿裡雲塊存儲異步複制功能采用的是無代理的實作方式。系統架構如圖所示,容災管理軟體分别在生産站點和容災站點部署,容災管控系統周期性的發起複制任務給異步複制 IO 元件,複制元件從雲盤存儲系統後端擷取資料差異并将差異資料複制到目标區域,目前跨區域複制的 RPO 設計目标為 15 分鐘。

【ESSD技術解讀-03】阿裡雲塊存儲企業級特性之異步複制

高可用架構

異步複制技術實作上采用高可用架構。考慮到故障場景下系統依然能做到可用,容災管理元件會在生産站點和容災站點同時部署,而不是采用容災元件部署在單邊或者在第三放區域部署的方式。容災管理的中繼資料資訊會在容災對的主從都同步一份。這就保證了主站點災難時,從站點的容災管理功能仍然可用。此外,容災管理軟體以及複制鍊路上都分别采用了高可用架構,所有管控節點均采用一主兩備方式部署,保證了容災服務自身的服務連續性。

高效複制

異步複制的複制流程采用增量方式進行複制,能夠最大程度的降低複制和傳輸的資料量,這也提高了複制效率。依托底層存儲系統高效的内部擷取一緻性點技術,能夠高效的擷取雲盤的資料崩潰一緻性資料視圖,通過存儲系統内部索引技術能夠高效的擷取資料的增量差異。下圖給出一個存儲系統如何擷取一緻性點的差異位圖。擷取到的差異位圖會被序列化為資料差異日志,即 DCL(Data Change Log)發送給複制元件,根據差異位圖讀取相應區域的一緻性點資料并寫入到從盤。

【ESSD技術解讀-03】阿裡雲塊存儲企業級特性之異步複制

複制鍊路也會根據雲盤的大小帶寬等特性将複制流程進行自動分片,并發複制,進而提升複制的效率,最大程度滿足 RPO。下圖展示了複制元件擷取差異位圖和複制任務的過程,雲盤會根據大小切分成多個資料分片存儲到不同的資料伺服器上,複制元件會從存儲伺服器擷取一緻性視圖的 DCL,根據雲盤大小和帶寬情況,決定将一個雲盤切分為多少個子任務進行複制,以更好的适配複制帶寬。下圖是複制 IO 元件的工作原理。

【ESSD技術解讀-03】阿裡雲塊存儲企業級特性之異步複制

主盤性能無損

依托存儲系統本身的高效索引系統和高性能一緻性點生成技術,異步複制對主站點雲盤本身的性能影響很小,可以忽略不計,主盤性能完全滿足官方售賣标準。

秒級 RTO

傳統的備份業務通常會把資料存儲在 OSS 等外部系統上,需要使用時再利用 OSS 快照建立出盤,創盤和加載資料,會使得 RTO 時間較長,通常達到分鐘級或者更長。雲盤異步複制對從端雲盤進行周期性的寫入,雲盤在複制階段不可讀寫,在故障切換後可以瞬間可用,RTO 可達秒級,這得益于從盤資料一直線上的設計和存儲系統可快速恢複到一緻性點的架構優勢。

總結與展望

本文介紹了雲上容災産品形态,企業可結合自身特點選擇合适的容災方案,針對異步複制産品解析了傳統容災與雲上容災的技術架構。阿裡雲塊存儲也結合自身架構特點實作了塊存儲的異步複制産品,相較于傳統的異地容災方案,塊存儲的容災方案有如下優勢:

低成本:無需綁定虛拟機使用,使用者在容災站點隻需要購買雲盤,而無需購買備用虛拟機,在容災恢複時可根據需要購買虛拟機,進而大大降低營運成本。

易用性:無需使用者虛拟機安裝代理插件,做到應用無感覺,對使用者主機作業系統無版本要求。按需購買,操作簡單,即買即用,支援一鍵切換和一鍵生成容災演練盤。

高可用:容災元件均采用高可用區設計,保證在災難場景下容災系統能夠進行容災切換操作。

業務快速恢複:提供較低的業務恢複時間,RTO 可達秒級。

極低的性能開銷:複制期間主盤性能幾乎不受影響。

塊存儲異步複制産品緻力于為使用者提供簡單高效易用低成本的異地容災解決方案,後續将持續豐富産品特性,陸續推出一緻性複制組,共享盤支援,資料鍊路壓縮與去重等特性,豐富産品的使用場景和降低使用者的使用成本,打造可靠易用低成本的 DRaaS 服務,敬請期待。

原創作品:阿裡雲存儲 李玮玮