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

對象存儲的多中心多活架構設計

開發(fā) 架構
本文探討了對象存儲的多中心多活架構設計,旨在確保數(shù)據(jù)安全性和業(yè)務連續(xù)性。首先介紹了增量異步復制和同步復制兩種數(shù)據(jù)同步方式,并分析了同城多活和異地多活兩種容災模式。

前言

隨著云計算、大數(shù)據(jù)和移動互聯(lián)網(wǎng)技術的迅猛發(fā)展,數(shù)據(jù)已成為企業(yè)核心資產(chǎn)。確保數(shù)據(jù)的安全性和可靠性成為企業(yè)關注的重點問題。對象存儲技術以其高可用性、良好的擴展性和成本效益,逐漸成為企業(yè)數(shù)據(jù)存儲的首選。然而,面對硬件故障、自然災害等潛在風險,對象存儲的數(shù)據(jù)安全面臨挑戰(zhàn)。為此,對象存儲多中心多活容災技術得以發(fā)展,特別是異地多活容災解決方案。它通過在不同地理位置搭建多個獨立的數(shù)據(jù)中心,確保每個中心都能就近實時處理業(yè)務流量,一旦某個數(shù)據(jù)中心出現(xiàn)故障,其他中心能夠立即接管,從而保障業(yè)務的無縫連續(xù)和數(shù)據(jù)完整。

對象存儲的桶復制技術

1.增量異步復制

增量異步復制是多中心對象存儲桶同步的一種方式,它按照預設的時間間隔執(zhí)行數(shù)據(jù)同步操作。在此模式下,目標系統(tǒng)會根據(jù)自上一同步周期以來的所有數(shù)據(jù)變更進行更新。具體到數(shù)據(jù)傳輸,異步復制涉及從數(shù)據(jù)中心A的存儲系統(tǒng)定期向數(shù)據(jù)中心B的存儲系統(tǒng)發(fā)送數(shù)據(jù)。數(shù)據(jù)以對象或分片對象的形式,按照周期性掃描進行傳輸,這樣做有助于減輕網(wǎng)絡和存儲資源的壓力。然而,這種傳輸方式會在多數(shù)據(jù)中心間引入數(shù)據(jù)同步的時間差,即復制延遲,在遭遇故障的情況下,故障轉移是指從主系統(tǒng)切換到輔助系統(tǒng)的過程。由于異步復制固有的延遲,故障轉移可能會導致一定程度的數(shù)據(jù)無法同步,需要等故障恢復后,才能同步部分無法同步的數(shù)據(jù)。

增量異步復制方法如圖1所示,業(yè)務數(shù)據(jù)通過數(shù)據(jù)中心A的網(wǎng)關訪問存儲桶,所有數(shù)據(jù)變更都會記錄在緩存Change Log中,這成為增量數(shù)據(jù)同步的依據(jù)。后臺網(wǎng)關按順序處理Change Log,捕獲數(shù)據(jù)的變化。利用對象元數(shù)據(jù)的mtime信息來判斷對端數(shù)據(jù)是否需要更新,一旦滿足復制條件,便執(zhí)行跨站點數(shù)據(jù)復制。對于增量異步復制,其掃描周期可配置為5秒至60秒??缯军c網(wǎng)絡的延遲對復制過程有一定影響,尤其是網(wǎng)絡延遲較高時,可能會影響大量小對象的復制效率。

圖1 增量異步復制流程圖1 增量異步復制流程

2.同步復制

同步復制確保數(shù)據(jù)更改實時反映在主存儲系統(tǒng)上,并立即同步到輔助存儲系統(tǒng),以保持兩個系統(tǒng)數(shù)據(jù)副本的實時更新。這種機制涉及從主存儲系統(tǒng)到輔助存儲系統(tǒng)的實時數(shù)據(jù)傳輸,通常以小數(shù)據(jù)塊形式進行,以減少對網(wǎng)絡和存儲資源的影響。由于需要保證輔助系統(tǒng)數(shù)據(jù)的實時更新,復制延遲極低,通常僅為毫秒級別。

同步復制基于跨站點多中心存儲桶的構建,每個數(shù)據(jù)中心存儲兩個數(shù)據(jù)副本,總共維護四個副本。在擴展存儲池中,所有讀寫操作均通過主OSD進行。數(shù)據(jù)寫入主OSD后,由主OSD負責將數(shù)據(jù)復制到其他副本。只有當所有副本寫入完成后,寫操作才被視為完成,從而確保數(shù)據(jù)的強一致性。在同步復制方案中,主OSD配置在主數(shù)據(jù)中心,以優(yōu)化讀取性能。為了實現(xiàn)同步復制,數(shù)據(jù)中心間的網(wǎng)絡延遲(包括平臺網(wǎng)絡、訪問網(wǎng)絡和復制網(wǎng)絡)需小于5毫秒,同時,跨站點網(wǎng)絡的帶寬至少應為業(yè)務帶寬的四倍,當業(yè)務都是大文件時,由于不需要緩存池進行加速,跨站點帶寬會降低一倍。

圖2 同步復制圖2 同步復制

對象存儲容災技術

容災是指當發(fā)生災難導致數(shù)據(jù)損壞時,計算機信息系統(tǒng)可以提供一種恢復原始數(shù)據(jù)的解決方案,該方案能保證數(shù)據(jù)生成中心在遭遇不同災難后,系統(tǒng)仍然能夠盡最大限速保證業(yè)務連續(xù)性。按照距離分:本地容災、異地容災。

雙活(Active-Active)架構指的是在存儲集群中,所有節(jié)點均處于活躍狀態(tài),共同承擔讀寫請求的請求,數(shù)據(jù)在節(jié)點間實時同步,保持一致性。雙活架構的優(yōu)點在于提升了讀寫性能,實現(xiàn)了負載均衡,并且在節(jié)點故障時,其他節(jié)點仍能提供服務

1.同城多活模式

同城雙活數(shù)據(jù)中心要求物理距離≤100KM,時延≤5ms,同城多中心數(shù)據(jù)同步采用同步復制策略,采用四副本的容錯機制,并利用擴展池的多副本強一致寫入特性來保障數(shù)據(jù)一致性,為了解決數(shù)據(jù)一致性和沖突問題,引入了仲裁服務。因此,同城多活模式對網(wǎng)絡帶寬、網(wǎng)絡時延以及運維能力都提出了較高的要求。

圖片圖片

圖3 同城多活架構圖

2.異地多活模式

在分布式對象存儲系統(tǒng)中,通過采用多副本或糾刪碼模式,確保了數(shù)據(jù)的高可用性,有效抵御了磁盤故障或存儲節(jié)點異常帶來的影響。然而,面對地震、洪水等自然災害,同一城市內(nèi)的所有機房可能會遭受同時損害,導致服務中斷。鑒于災害的嚴重性,系統(tǒng)的恢復周期可能會大幅延長,這將對存儲服務的連續(xù)運行造成嚴重影響。因此,構建異地容災能力顯得尤為關鍵,它能夠在集群出現(xiàn)異常時迅速進行服務切換,從而保障業(yè)務的無縫連續(xù)和穩(wěn)定性。

3.架構設計

異地多活架構中,各個數(shù)據(jù)中心分布在不同的物理位置,對于任何一個數(shù)據(jù)中心的存儲桶,統(tǒng)一命名空間確保了在其他數(shù)據(jù)中心也有一份完整的數(shù)據(jù)副本。在正常運營狀態(tài)下,業(yè)務數(shù)據(jù)的讀取請求通過數(shù)據(jù)分發(fā)網(wǎng)絡,就近從各個地域的存儲網(wǎng)關獲取數(shù)據(jù)。存儲網(wǎng)關則從同地域的對象存儲系統(tǒng)中讀取數(shù)據(jù),經(jīng)過業(yè)務邏輯處理后再返回給內(nèi)容分發(fā)網(wǎng)絡,并最終展示給客戶端。在此過程中,統(tǒng)一命名空間下的多個數(shù)據(jù)中心均處于可服務狀態(tài)。一旦某個地域發(fā)生異常,數(shù)據(jù)分發(fā)網(wǎng)絡可以迅速切換,將流量調度至其他正常運作的數(shù)據(jù)中心,從而確保服務的高可用性。

4.容災備份方案

存儲容災規(guī)劃的三大核心要素——冗余、距離和全量備份,共同構筑了一個堅不可摧的數(shù)據(jù)保護框架,保障了在各類災難情境下數(shù)據(jù)和服務的持續(xù)可用性。

在選擇異地容災備份地點時,應確保與現(xiàn)有存儲地點的距離超過300公里,并且最好不在同一江河流域、同一電網(wǎng)、同一地震帶內(nèi)。因此,同城雙活架構下的同步復制策略并不適用于異地多活模式。由于異地災備主備數(shù)據(jù)中心的物理距離較遠且網(wǎng)絡帶寬較低,采用統(tǒng)一命名空間成為保持多個數(shù)據(jù)中心資源一致性的有效手段。

統(tǒng)一命名空間采用增量異步復制策略,由多個分布式數(shù)據(jù)中心集群構成。每個數(shù)據(jù)中心作為一個獨立的命名空間,擁有獨立的數(shù)據(jù)和元數(shù)據(jù)集群。通過統(tǒng)一命名空間功能,可以將所有集群整合起來進行統(tǒng)一管理,并定義同步策略以確立多數(shù)據(jù)中心間的復制關系,存儲桶則根據(jù)不同的同步策略進行應用。

在統(tǒng)一命名空間中,任何集群內(nèi)創(chuàng)建或修改的對象、用戶和存儲桶資源都將同步到其他所有站點,以保持配置的一致性。這包括用戶名、用戶基本信息、啟用/禁用狀態(tài)、權限策略、密鑰信息、配額策略、QoS策略等用戶配置,以及存儲桶名、多版本配置、保護模式、權限策略、加密配置、壓縮配置、跨域訪問配置、配額策略、QoS策略、回收站策略等存儲桶配置。基于統(tǒng)一命名空間的異步復制策略允許用戶和桶資源在任意站點創(chuàng)建,并異步同步至統(tǒng)一命名空間下的其他數(shù)據(jù)中心。若同步失敗,將記錄日志,并在外部站點恢復后重新嘗試同步。

圖4 統(tǒng)一命名空間資源同步圖4 統(tǒng)一命名空間資源同步

5.讀寫方案

對象存儲異地多活并不像其他數(shù)據(jù)庫可以做到多寫多讀,其讀寫方案如下圖5所示,異地三中心組成一個統(tǒng)一命名空間,其中數(shù)據(jù)中1心承擔所有的寫請求,同時和其他兩個數(shù)據(jù)中心共同承擔就近讀請求,同時數(shù)據(jù)中心1開啟了增量復制到其他兩個集群的功能,寫入數(shù)據(jù)或者修改時候的時候只寫入數(shù)據(jù)中心1,利用桶復制技術將數(shù)據(jù)同步到統(tǒng)一命名空間的其他兩個集群中,這樣統(tǒng)一命名空間內(nèi)的各個集群都有全量的數(shù)據(jù)。讀取數(shù)據(jù)時候,可以根據(jù)業(yè)務所在地域就近獲取對象數(shù)據(jù),有效的降低讀取數(shù)據(jù)的時延開銷。

圖片圖片

圖5 讀寫架構

其中統(tǒng)一命名空間模式是增量異步復制,因此極大可能存在數(shù)據(jù)剛寫到數(shù)據(jù)中心1中,業(yè)務就通過就近訪問模式從數(shù)據(jù)中心2中讀取數(shù)據(jù),由于地域距離較遠,增量異步復制策略導致數(shù)據(jù)還沒來得及復制到數(shù)據(jù)中心2中,導致讀取失敗。這個時候就需要開啟代理讀模式。在配置代理讀后,當數(shù)據(jù)中心2沒有數(shù)據(jù)時,會觸發(fā)代理讀流程,網(wǎng)關服務會根據(jù)代理讀配置跨站點獲取數(shù)據(jù),并返回業(yè)務請求。代理讀流程會增加讀取的時延,但整個過程對業(yè)務透明,業(yè)務無需進行適配。

6.容災切換

如果數(shù)據(jù)集群1發(fā)生故障,導致無法寫操作以及就近的讀操作,DNS經(jīng)過探活后發(fā)現(xiàn)集群1故障,主備模式切換到集群3,將集群3設置為統(tǒng)一寫請求入口。同時把讀請求分散到集群2與集群3上。為了保持統(tǒng)一寫請求切換的時候,盡可能的快捷與方便,已經(jīng)預先開啟了三個集群的相互增量復制與代理讀功能。異地三中心多活模式就降級成異地雙中心多活模式。

如果數(shù)據(jù)集群1恢復,則首先同步因故障還沒來得及同步的數(shù)據(jù),其次恢復就近讀請求,數(shù)據(jù)集群1降級成讀請求集群,集群3升級成統(tǒng)一寫請求與就近讀取集群。

圖6 數(shù)據(jù)中心1故障切換圖6 數(shù)據(jù)中心1故障切換

如果是集群3發(fā)生故障,如圖7所示,只影響就近的讀操作,通過DNS探活后把流量切換到數(shù)據(jù)集群1和數(shù)據(jù)集群2,由于對象存儲讀寫都有重試機制,DNS秒級別的探活與切換不會影響業(yè)務。如果集群恢復后,業(yè)務流量回切,流量在三中心之間均衡。

圖7 數(shù)據(jù)中心3故障切換圖7 數(shù)據(jù)中心3故障切換

總結

本文探討了對象存儲的多中心多活架構設計,旨在確保數(shù)據(jù)安全性和業(yè)務連續(xù)性。首先介紹了增量異步復制和同步復制兩種數(shù)據(jù)同步方式,并分析了同城多活和異地多活兩種容災模式。其中,同城多活是基于同步復制,對網(wǎng)絡質量和運維能力都有較高的要求。異地多活模式采用增量異步復制策略,通過不同地域的三個數(shù)據(jù)中心協(xié)同工作,實現(xiàn)數(shù)據(jù)的高可用性和異地容災切換。以上是我們對對象存儲多中心多活的方案設計,為構建可靠的對象存儲系統(tǒng)提供了參考。

責任編輯:武曉燕 來源: 匠心獨運維妙維效
相關推薦

2022-04-08 07:52:00

架構多機房多活

2020-02-12 11:34:56

架構平滑上云機房遷移

2023-11-27 07:57:46

2021-02-04 10:00:09

異地多中心容災

2021-02-24 10:05:07

架構運維技術

2020-11-20 09:23:01

高可用異地淘寶

2023-11-28 07:45:48

Rust自動化測試

2020-11-19 11:08:12

高可用架構互聯(lián)網(wǎng)

2018-04-02 09:33:03

多活技術架構運維

2024-04-26 00:28:14

異地多活架構

2021-04-23 09:55:27

技術開發(fā)實踐

2024-07-15 08:02:20

2022-01-10 08:17:40

異地設計實踐

2012-09-19 13:46:37

存儲存儲設計快速表態(tài)

2022-03-25 10:48:40

NBF架構設計

2022-08-18 09:12:17

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

2022-03-11 21:35:57

Java程序線程

2018-11-30 12:48:36

SDS故障硬件

2017-11-24 08:32:04

架構設計存儲

2021-04-26 15:40:23

技術資訊
點贊
收藏

51CTO技術棧公眾號