通過虛擬機動態遷移技術(如VMware的vMotion)可實現數據中心間的計算資源動態調配,通過服務器高可用集群技術可實現數據中心間應用級容災,這兩種應用場景統稱為“分布式數據中心(Distributed Data Center)部署方式”,其特點是一個應用系統在IP地址不變的情況下可以在不同數據中心對外提供服務,但同一時段此應用只出現在一個數據中心,數據中心的訪問用戶不感知這種變化。本文針對這一特點,闡述分布式數據中心的三種互聯方案——數據中心間存儲網絡互聯方案、數據中心服務器接入層二層網絡互聯方案、數據中心間三層網絡互聯方案各自的技術實現要求。
一、 虛擬機跨中心動態遷移
最常見的分布式數據中心應用場景是基于“動態虛擬機遷移技術”的跨中心計算資源調配,如Vmware ESXi產品的vMotion技術可以在不中斷虛機運行狀態的情況下,將虛機從一個物理服務器遷移到另一個物理服務器。vMotion的核心技術是虛擬機內存及CPU運行狀態在不同物理機之間的拷貝,而遷移前后的兩臺物理機需要通過“共享存儲(Shared Storage)方式”或“雙活存儲(Active-Active)方式”共享相同的虛機映像文件。對于采用NAS技術實現的共享存儲,兩臺物理機必須能訪問到相同盤陣上的目標文件;對于采用SAN擴展技術實現的共享存儲,兩臺物理機需要訪問具有相同LUN ID的存儲設備。共享存儲方式的數據中心存儲網絡互聯方案如圖1左側拓撲,存儲設備只部署在A中心,NAS或SAN跨A、B中心部署,當虛機從A中心遷至B中心時,B中心的物理服務器仍然可以訪問位于A中心的存儲設備。
1. 挑戰1:解決存儲對延時敏感
跨中心做虛機遷移的第一個技術挑戰是存儲對延時敏感,B中心對存儲的訪問延時較大,隨著兩中心間的距離增大,遷至B中心的虛機I/O性能隨之下降。采用雙活(Active/Active)方式的存儲技術(如EMC VELEX Metro)可以較好的解決共享存儲方案的訪問延遲問題。如圖1右側拓撲,在A、B中心都同時部署物理存儲設備,并且通過SAN互聯,由位于A、B中心的存儲控制器在A、B中心間虛擬出一個邏輯存儲設備,兩中心的物理服務器訪問具有相同LUN ID的邏輯存儲設備,存儲控制器實現讀I/O請求的就近訪問以及寫I/O的雙側同步。因此,當A中心的虛機遷至B中心時,B中心的服務器通過本地的存儲控制器訪問本地的存儲設備,因此該方案的I/O延遲比共享存儲方式小。FC SAN互聯通常借助傳輸技術(DWDM、SDH等)實現,也有基于IP技術的FCIP互聯方案,但FCIP在實際部署中不多見。iSCSI SAN互聯及NAS網絡互聯都基于TCP/IP技術實現。
圖1. 分布式數據中心的存儲互聯網絡
2. 挑戰2:保持遷移前的運行狀態
跨中心做虛機遷移面對的第二個挑戰是虛擬機完成vMotion之后,不僅IP地址不變,而且還保持遷移前的運行狀態(如TCP會話狀態),所以必須將涉及虛機遷移的物理服務器接入同一個二層網絡,以便在虛機遷移之后仍然可以訪問位于同一網段內的其他虛機(或服務器),因此這種應用場景要求構建跨中心的二層互聯網絡。二層互聯的技術主要有如下三類(具體技術介紹詳見《IP領航》第二十五期“大二層技術”,本文不再贅述)。
l MAC over IP(如H3C EVI技術)。通過在IP網絡上動態構建隧道,實現以太網VLAN的跨數據中心部署。這種技術不依賴物理層技術和數據鏈路層技術,只要網絡層IP可達,則VLAN就可順勢擴展。另外, EVI技術針對分布式中心應用場景進行了一些優化了設計,例如EVI實現了“網關分離部署特性”、“基于控制協議學習MAC地址”、“ARP代理特性”等,所以推薦使用該技術實現數據中心二層互聯。
- VPLS。一種傳統的二層VPN技術,運營商通常用該技術為客戶提供多站點二層互通。VPLS主要是基于MPLS技術實現,且在各站點間通過廣播來學習MAC地址,其配置管理較復雜,所以通常情況不建議采用該技術實現數據中心間二層擴展。
- DWDM/Dark Fiber。在物理介質層實現數據中心間互聯,可以為跨中心二層擴展提供靈活的部署形式,例如,用戶既可以直接將兩中心的交換機互聯實現VAN擴展,也可以先在數據中心間建立三層互聯通道,再基于MAC Over IP(如H3C EVI技術)技術實現VLAN擴展,后者的好處在于可以利用MAC Over IP提供了技術特性簡化分布式數據中心間MAC地址學習、三層路徑優化等問題。
3. 挑戰3:解決三層次優路徑
跨中心做虛擬機遷移的第三個技術挑戰是虛機完成動態遷移之后的三層訪問路徑問題,如圖2左側拓撲,虛擬機位于A中心,其IP地址是10.1.1.100。按照傳統的部署思路,為保證客戶機可以訪問位于A中心的虛擬機,必須在網絡三層轉發的Ingress方向和Egress方向上做如下部署:
- Ingress方向(客戶機到虛機):B中心的核心路由器向客戶機方向通告虛機所在子網的路由(如10.1.10/24),而A數據中心的核心路由器將虛機所在的子網地址拆分成兩條掩碼更長的路由(10.1.1.0/25和10.1.1.128/25)向客戶機方向通告,由此客戶機到虛擬機的訪問路徑優選走A中心方向。
- Egress方向(虛機到客戶機):A、B中心的匯聚層設備已實現二層互通,并且四臺匯聚設備加入到同一個VRRP組,通過調節VRRP的設備優先級保證VRRP的VIP優選位于A中心的匯聚層設備。虛機的網關指向VRRP的VIP,由此虛機的Egress流量優選從A中心到客戶機的路徑。
傳統部署思路存在一個問題,如圖2右側拓撲,當虛機從A中心遷至B中心時,A、B中心向骨干網通告的包含虛機地址的路由沒有變化(Ingress流量方向不變),VRRP的主備關系也沒有變化(Egress流量方向不變),因此位于B中心的虛擬機發出的流量必須通過跨中心的二層鏈路到達A中心的網關后,才能沿A中心的核心路由器被發往客戶機,而B中心一側的匯聚設備和廣域網出口設備并沒有被利用,這就出現了“次優路徑”現象。對于分布距離較近的A、B中心(例如,位于同一個園區的兩座建筑),這種部署不會帶來更多的管理復雜性,容易被客戶接受,但對于分區較遠的A、B中心(數十公里),客戶通常會希望根據虛機所在位置動態調整Ingress和Egress流量路徑,確保客戶機與虛機之間選擇最優路徑,以避免遠距離排錯和網絡管理上的復雜性。
目前解決三層網絡次優路徑的關鍵技術如下:
l Ingress方向(客戶機到虛機)的技術
動態DNS解析技術。同一個虛機在不同數據中心通過NAT(由SLB設備實現)呈現不同的服務IP地址。GSLB作為DNS服務器,并根據虛機所在的物理位置向客戶機解析成不同的服務IP地址。這里的關鍵技術時如何向GSLB通告虛機的物理位置并修改DNS記錄。
- RHI(Route Health Injection,路由健康注入)技術。該特性通常由SLB設備實現,SLB周期性的檢測服務器/虛擬機的存活狀態,當檢查結果正常時,SLB向骨干網中發布一條該虛機地址的主機路由;當檢查結果異常時,撤銷該主機路由。由此就可以動態的調整從客戶機到A或B中心的Ingress流量路徑。
l Egress方向(虛機器到客戶機)的技術
- 網關分離技術。為避免Egress方向的次優路徑,必須在分布式數據中心兩側的匯聚交換機上同時部署相同的VRRP配置(A、B中心的匯聚設備上具有相同的VRRP VIP配置),并且還要保證VRRP所在VLAN的跨中心二層互通。如果匯聚設備已經采用了基于H3C EVI技術的VLAN擴展,則缺省支持VRRP的本地化部署,如果未部署類似EVI的技術特性,用戶也可以通過配置相應的命令行實現該VRRP的本地化部署。
綜上所述,為實現跨中心虛機遷移,分布式數據中心之間的三種網絡互聯的關鍵技術要求如下(如圖3所示)。
圖3. 分布式數據中心的三類互聯網絡
- 存儲網絡互聯。跨中心的存儲網絡互通是保證虛機動態遷移的必備條件,可采用“共享存儲方式”或“雙活存儲方式”。
- 二層網絡互聯。虛機動態遷移之后IP地址不變,所以在虛機網絡接入層應構建跨中心二層網絡。可采用EVI、VPLS、DWDM/Dark Fiber等技術來實現。
- 三層網絡互聯。企業園區或分支機構的客戶機通三層網絡訪問各數據中心,對于能支持虛機跨中心遷移的分布式數據中心來說,傳統三層網絡部署方案通過跨中心統一部署VRRP實現單側網關出口,但該方案存在三層次優路徑問題;一種新解決方案是采用“網關分離技術”并配合“RH技術或動態DNS技術”以優化三層轉發路徑。
二、 服務器高可用集群跨中心部署
分布式數據中心的另一個應用場景是跨中心的服務器高可用集群部署。服務器高可用集群(HA Cluster),是借助集群軟件將網絡上的多臺服務器關聯在一起,提供一致的服務,對外表現為一臺邏輯服務器,在集群內同一時間只有一臺物理服務器接管服務IP并對外提供訪問,當該服務器發生故障時,備份物理服務器將接管服務IP以繼續對外提供訪問。高可用集群在發生服務器切換時,不會保留切換前的計算狀態(如網絡協議棧、內存、CPU等)。如圖4所示。
圖4. 服務器集群高可用集群
各廠商(HP、IBM、微軟、Veritas等)的集群軟件需要各服務器采用共享存儲、雙活存儲或支持同步復制的Active/Standby存儲;由于集群切換之后的服務IP沒有變化,所以跨中心部署高可用集群時不僅需要實現跨中心VLAN擴展,高可用集群間部署的網絡心跳鏈路(Heartbeat)也必須在同一個VLAN內。
與虛機遷移應用情況相似,高可用集群在跨中心部署時也要考慮三層路徑優化問題,其部署方式同虛機場景相同。
三、 結束語
本文討論了分布式數據中心的兩種應用場景:虛機跨中心遷移及服務器HA集群,其中涉及到三種網絡互聯及相關技術實現。事實上,無論哪種技術方案,只有真正切合客戶的實際業務需求和物理環境才是一個好的方案。因此,方案設計時根據需求選擇合適的技術實現方式尤為重要。