1. 程式人生 > >[轉載]分布式雙活數據中心

[轉載]分布式雙活數據中心

一致性 box 影響 網絡設備 存儲雙活 集群技術 分配 title 讀寫

[轉載]分布式雙活數據中心

轉自https://blog.csdn.net/techsupporter/article/details/52551324

分布式雙活數據中心在傳統“兩地三中心”模式的基礎上,針對不同雙活模型部署不同的技術。基於IP地址發布業務的數據中心在前端網絡的Ingress方向(客戶端到服務器)上需要設備支持RHI特性,在Egress方向(服務器到客戶端)上需要配置網關分離。在數據中心後端需要部署服務器負載均衡與HA,以及數據分布式雙活技術。基於域名發布業務的數據中心在前端網絡需要采用全局負載分擔設備(GSLB)進行選路。以下將對各類實現方式與技術進行介紹分析。

1 數據中心前端分布式雙活網絡技術

在分布式雙活數據中心網絡環境下,通過數據中心前端分布式雙活技術,用戶能快速訪問“距離最近”的可用數據中心相對應的業務,提高服務響應速度,提升用戶訪問體驗。數據中心的業務對外發布時,可以采用純IP地址也可以采用DNS域名方式。根據業務對外發布方式的不同,數據中心前端也相應采用不同的技術實現分布式網絡雙活。

1.1 純IP地址方式發布業務的前端網絡雙活技術

所示,當業務采用純IP方式對外發布時,正常情況下只有主中心DC A對外發布業務路由,從而將用戶訪問流量牽引到主中心,實現主中心業務訪問。而備中心DC B的流量管理設備(支持RHI特性)只探測業務地址,因沒有探測到而不對外發布業務路由,實現主中心的備份作用。

當主中心業務遷移到備中心後,備中心的流量管理設備探測到業務IP已經轉移到備中心,從而對外發布業務路由,引導用戶訪問備中心的業務IP,從而實現基於純IP發布業務的數據中心前端網絡雙活。

值得註意的是,該方案需要備中心流量管理設備支持RHI特性(如圖2所示),能夠對外發布路由。數據中心間需配置網關分離(如采用ACL方式對相關報文進行控制)。若數據中心互聯采用EVI方式,則天然支持網關分離,無需配置。

1.2 域名方式發布業務的前端網絡雙活技術

當業務系統基於DNS域名方式對外發布時,可以采用基於智能DNS解析的GSLB[1]。GSLB解決了第一步即引導數據中心前端廣域網用戶流量訪問適當的數據中心問題,所以GSLB的應用環境往往是基於域名的多數據中心之間的負載分擔和相互之間的容災備份。

GSLB 基於DNS的流量管理機制主要完成DNS解析請求的負載均衡、服務器狀態監控、用戶訪問路徑優化。用戶訪問應用時,域名解析請求將由GSLB負責處理,它通過一組預先定義好的策略,將最接近用戶的節點地址提供給用戶,使其可以得到快速的服務。同時,它還與分布在各DC的所有GSLB節點保持通訊,搜集各節點的健康狀態,以保證不將用戶的請求分配到任何一個已經不可用的節點上。GSLB 通過就近探測實現負載分擔.

數據中心A、B、C各部署一個GSLB,其中DC A的GSLB為主GSLB,響應流程如下:

1. Local DNS向主GSLB發起域名解析請求;

2. GSLB-A、GSLB-B、GSLB-C將訪問local DNS的延遲時間等相關信息返回給GSLB-A匯總,並判斷最優的地址返回給local DNS;

3. 以站點的響應時間作為引導用戶的依據,用戶的訪問請求被導向到性能好,響應時間快的站點。

DNS方式的GSLB主要功能和特性如下:

l 應用智能:感知應用,及時發現業務中斷;

l 可管理:自動切換,通知用戶改變數據訪問點;

l 高性能:支持流量在數據中心的動態負載均衡。

2 服務器負載均衡與HA技術

為了保證分布式雙活數據中心的持續業務提供能力,需要在後端采用服務器負載均衡與HA技術,和前端網絡雙活配合,實現服務資源的調配和高可用保證。

2.1 服務器負載均衡

為了滿足高性能和高可靠性的服務需求,將多臺服務器通過網絡設備相連組成一個服務器集群,每臺服務器都提供相同或相似的網絡服務。服務器集群前端部署一臺SLB[2] 設備,負責根據已配置的均衡策略將用戶請求在服務器集群中分發,為用戶提供服務,並對服務器可用性進行維護。

服務器負載均衡可以工作在L4或L7模式下,一般采用L4模式。負載均衡的工作方式有以下兩種。

l DR(Direct Routing)方式。(如圖5所示)負載均衡設備對數據流量優化時,采用旁掛方式部署,在此模式下只有客戶端的請求報文通過負載均衡設備,服務器的響應報文不經過負載均衡設備,從而減輕負載,有效的避免了其成為網絡瓶頸。客戶端請求報文的目的地址為虛服務地址(VSIP),此地址由負載均衡設備對外呈現。負載均衡設備分發服務請求時,不改變目的IP地址,而將報文的目的MAC替換為實服務的MAC後直接把報文轉發給實服務。

l NAT方式組網更加靈活,後端服務器可以位於不同的物理位置或不同的局域網內。客戶端將發往VSIP的請求發送至服務器群前端的負載均衡設備,負載均衡設備上的虛服務接收客戶端請求,根據持續性功能、調度算法依次選擇真實服務器,再通過網絡地址轉換,用真實服務器地址重寫請求報文的目標地址後,將請求發送給選定的真實服務器;真實服務器的響應報文通過負載均衡設備時,報文的源地址被還原為虛服務的VSIP,再返回給客戶,完成整個負載調度過程。

一般情況下,SLB更加適合在一個數據中心內部部署,而不是跨數據中心部署。因為當SLB跨數據中心部署時,會導致跨中心的廣域/城域鏈路承載流量多,而且跨中心轉發一般延遲高,流量路徑復雜低效,不利於實現高性能的負載均衡集群(如圖7所示)。而GSLB更加適合實現跨數據中心的負載均衡,所以GSLB和SLB配合能夠很好的實現從數據中心前端到數據中心內部全路徑的負載均衡,以及更好的實現服務器健康狀態檢測(如圖8所示),主要包括:

l GSLB可針對SLB、服務器做狀態監測,可消除單點故障,並引導流量避開性能較低的站點和服務器;

l 通過收集這些設備的性能測量數據,GSLB可了解網絡狀態,對包速率、每秒千字節、磁盤、內存、CPU 利用率以及連接數量等參數進行測量。

2.2 服務器HA技術

高可用性集群(High Availability Cluster,HA Cluster)是以減少服務器中斷時間為目的實現故障屏蔽的服務器集群技術,主要包括可靠性和容錯性兩方面。在這種高可用集群環境下,若某臺服務器出現故障導致服務中斷,預先設定的接管服務器會自動接管相關應用並繼續對用戶提供服務,具有更高的可用性、可管理性和更優異的可伸縮性。HA Clusters是可用於“熱備模式容災”的集群技術(如表1所示),其技術特點是:

l 需要共享存儲資源(磁盤卷或是復制卷),HA集群可在同城或較近距離內部署;

l 對客戶端來說,集群只有一個IP地址,由Active節點響應ARP;

l 需要一個獨立的網絡做節點之間的進程通信(心跳);

l 心跳網絡對傳輸延遲不敏感(如微軟MSCS要求的最小心跳間隔是1秒),因此兩節點間的傳輸延遲小於500ms即可;

l 因為對外只有一個虛IP地址,所有節點需在一個網段(二層互聯);

雙節點的高可用性集群典型的工作方式有以下兩種。

l 主/主( Active/Active) 。集群中兩節點同時運行各自的應用並且相互監控對方的情況, 當一臺主機宕機後,預先設定好的另一臺主機立即接管它的一切工作。這種工作方式允許最大程度的利用硬件資源,一般要求各節點具有相等或相似的處理能力,所有的服務在故障轉移後仍保持可用。

l 主/從( Active /Standby) 。主機工作,從機處於監控準備狀況。當主機宕機後,從機接管主機的一切工作,繼續為客戶機提供服務,待主機恢復正常後,用戶可以自行設定以自動或手動方式將服務從Standby 上切換到Active 上,也可不切換。

廠商名稱簡要說明

IBM? HACMP應用於小型機的高可用服務器集群技術

OracleRAC數據庫應用集群技術

Microsoft? MSCS應用於X86 Windows環境的服務器集群技術

VMware? SRM應用於虛擬化環境下的服務器集群技術

表1 常見的HA CLUSTER 產品

2.3 延時對服務器集群部署的影響

與傳統IP網絡應用能夠容忍較大的網絡傳輸延時不同,存儲網絡對傳輸延時非常敏感。由於服務器集群成員一般是共享存儲,所以必須考慮存儲延時對服務器集群部署的影響。

以通信線路SDH 155M鏈路(其中50M用於存儲業務)為例,經過測算:光纖距離為50KM(典型的同城距離)時的單向延時為1.51 ms,正常存儲系統能夠接受;光纖距離為1000KM(典型的異地距離)時的單向延時為7.26 ms,將導致共享存儲部署時服務器應用能力急劇下降到不可接受的程度。可見,距離因素對傳輸延時的影響巨大。

因此在“兩地三中心”數據中心災備方案中,遠距離的異地範圍要部署采用異步復制的暖備災備方案(如圖9所示),即采用廣域鏈路如SDH、ATM或IP相連,通過存儲異步復制方式實現災備功能;同城範圍內則可以部署基於共享存儲的服務器HA方案(如圖10所示),即兩個中心之間用裸光纖、波分或SDH項鏈,通過存儲同步復制方式部署HA Cluster,在這種部署環境下,主備中心之間需要二層互聯以滿足集群成員之間二層通信需求,同時還需要SAN互聯以實現數據同步復制。

3 數據分布式雙活技術

3.1 數據庫分布式雙活技術

目前主要的數據庫備份技術有兩種。

l 主-備方式

(如圖11所示)主數據庫服務器(PRIMARY)承擔生產業務,備用數據庫服務器(STANDBY)只完成數據復制功能。當主數據庫中發生事務操作時,會同時將日誌文件通過TCP/IP協議傳送到備用數據庫服務器,然後備用數據庫對接受到的日誌文件進行重放(Replay),從而保持與主數據庫的一致性。當主數據庫發生故障時,備用數據庫服務器才會接管主數據庫服務器的事務處理。此時,備用數據庫服務器作為新的主數據庫服務器進行數據庫的讀寫操作,而客戶端應用程序的數據庫連接可以通過自動客戶端重新路由機制轉移到新的主服務器。當原來的主數據庫服務器被修復後,又可以作為新的備用數據庫服務器加入系統。主流的數據庫(如IBM DB2、Oracle、SQL Server等)都支持通用主-備方式數據備份技術,金融行業業務以該備份方式為主。

l 雙活數據庫備份技術

隨著技術的發展,出現了更加先進的雙活數據庫備份技術(如圖12所示),采用雙活數據庫備份技術的主、備數據庫能夠同時承擔生產業務並且實現備份功能,即主-主方式的數據庫雙活技術。極大提高數據庫的利用效率。

雙活數據庫備份技術在源數據庫端實時讀取交易日誌數據,捕獲數據的變化部分並暫存到隊列中,然後將變化的數據經過壓縮和加密後通過網絡傳送到目的地。在目的數據庫端,變化的數據被還原為標準的SQL語句提交到目的庫實現修改數據的備份功能。這個備份過程是雙向復制的,即可以從目的端向源端數據庫做類似的復制。雙活數據庫備份技術能夠支持靈活的拓撲復制結構(包括單向、雙向、點對多點、集中和分級等方式),如圖13所示。

雙活數據庫備份技術可以應用於高可用的容災備份環境中,最大化利用災備中心的IT設施,實現加倍的計算能力,提升系統整體性能,實現雙中心負載均衡,改善地域分布,提高系統及網絡響應實現分布式雙活的數據庫,雙向復制,同時兩端數據庫都是活動的,可以對兩端的數據庫同時進行操作,並保證兩端數據庫的同步。

雙活數據庫備份技術提供異構環境下交易數據的實時捕捉、變換、投遞,支持多種類型的異構數據庫(如Oracle、DB2 UDB、Microsoft SQL Server、Sybase ASE、Teradata、Ingres、 Enscribe、SQL/MP、SQL/MX)和操作系統平臺(如Windows 2000/2003/ XP、Linux、Sun Solaris、HP NonStop、HP-UX、HP TRU64、IBM AIX、IBM z/OS)。

3.2 存儲分布式雙活技術

在容災備份的存儲應用環境中,有兩種典型的存儲備份工作方式。

l 主-備方式

這是主流存儲廠商如EMC、IBM、HDS等都支持的存儲備份方式,即建立物理上獨立的兩個存儲系統之間的完全的、實時的數據鏡像,數據中心現場發生災難時,確保另有一套完整的生產數據安全可用,達到容災級別的數據高可用性。由於傳統的存儲備份技術是采用主備方式,從而決定了主中心和災備中心也工作在主動-被動方式,即在同城災備中心建立主中心的同步鏡像備份,當主中心出現故障不能工作時災備中心利用備份的存儲數據接管主中心工作.

該備份技術廣泛應用於各個行業,特別是在追求安全穩定高可靠地金融行業。

l 分布式雙活存儲技術

存儲分布式雙活解決方案基於存儲虛擬化技術實現,用於數據中心內、跨數據中心和在數據中心之間進行信息虛擬化、訪問、共享和遷移。本地聯合提供站點內信息基礎架構的透明協作;分布式聯合提供跨遠距離兩個位置的讀寫訪問能力。隨著技術的不斷發展,存儲分布式雙活技術逐步成熟,為實現分布式雙活數據中心打下了良好的基礎。

存儲分布式雙活方案承載於一個硬件與軟件虛擬化平臺,作為基於存儲虛擬化的解決方案,可實現本地和分布式數據中心存儲。通過部署存儲分布式雙活技術,跨數據中心實現了統一的邏輯存儲映像,進而支撐分布式雙活數據中心業務實現,如圖15所示。

存儲分布式雙活技術對數據中心產生重要的價值。

? 提高數據中心可用性:分布式中心都承擔生產工作負載並且同時互相提供恢復能力;

? 提高資產利用率:被動的備份中心價格昂貴並且通常閑置資源,存儲分布式雙活使得原來的被動備份中心也成為了承擔生產任務的主中心;

? 提高性能(局部訪問數據):數據不需要從“生產”站點讀取,在兩個站點上可以讀寫訪問同樣的數據

4 結束語

隨著數據中心的建設和技術發展,分布式雙活數據中心已經成為當前的技術熱點。而實現分布式雙活的數據中心是一個具有挑戰性的系統工程,涉及到數據中心的網絡系統、服務器系統、數據庫系統和存儲系統等多個系統的分工合作。隨著數據庫與存儲雙活技術的發展,未來分布式雙活數據中心將消除數據層面對雙活的限制,從而具有更好的靈活性。

[轉載]分布式雙活數據中心