◆姚金玲 閻紅
(天津職業大學電子信息工程學院 天津 300000)
經過多年的快速發展,我國已經成為舉足輕重的世界造船大國,成千上萬艘“中國制造”的船舶航行在全球各大海域。有船,不知道貨在哪;有貨,不知船在何處。像日本、韓國及歐美國家那樣系統地收集和利用這些船舶的數據,建立一個統一集成化的數據中心,為本國船舶工業整體實力的持續提升奠定數據分析基礎。
基于運營成本和冗余性的考慮,很多企業選擇建立多數據中心的云計算平臺。在這種模式下,企業可以在多個數據中心之間統籌ⅠT資源,應用系統部署的靈活性和可擴展性都得到極大提高。實現這種模式下云平臺虛擬機的無縫遷移,需要在多個數據中心之間打通二層網絡。傳統的VPLS、TRⅠLL、SPB、OTV、EVⅠ等技術都能夠在一定程度上實現數據中心間的二層網絡。但隨著虛擬化數據中心規模的不斷擴大,物理網絡的種種限制越來越不能滿足虛擬化的要求。為了更好地支持云計算網絡,VXLAN 技術被開發出來,其通過將二層數據報文封裝在三層網絡中,實現對二層網絡擴展,使得二層網絡數據可以跨越數據中心進行傳輸,大大降低了虛擬化對網絡的依賴,成為目前的主要發展方向。建設船舶數據中心,打破我國港口企業之間的壁壘,實現海、船、江、港、企業的信息資源共享,將目前分散于各個企業內部各自分割的“數據”連接起來,打破信息化各自為政的局面,進行海洋、船舶和航運數據的分析處理,為各行各業提供數據支持,是當前的主流趨勢。本文對多活數據中心和VXLAN 技術進行了簡要介紹,并提出了利用上述技術構建船舶數據中心的架構。
數據中心是指實現信息的集中處理、存儲、傳輸、交換、管理的場所,通常包含計算機設備、服務器設備、網絡設備和存儲設備。數據中心通常包含四個階段,存儲中心階段、處理中心階段、信息中心階段和云數據中心階段。其中,數據存儲中心階段的主要業務是數據的集中存儲和管理;數據處理中心階段的主要業務是核心的計算任務;信息中心階段的主要業務是核心計算和核心業務運營支撐;云數據中心階段以云計算技術的大規模應用為特征,實現計算、存儲和網絡資源的更高效利用。
傳統上,銀行、保險公司等金融機構通常采用“兩地三中心”的整體架構,即生產數據中心同時包含一個同城的備份中心和一個異地的備份中心。其中同城備份中心是指在同城或鄰近城市建立一個災難備份中心,同城備份中心具備與生產中心基本等同的業務處理能力并通過高速鏈路與生產中心實時同步數據。災難情況下,可在不丟失數據的情況下進行應急切換,保持業務穩定運行。異地備份中心是指在相隔較遠的異地建立一個災難備份中心,用于出現城市級別的災難時,關鍵業務系統可以切換至異地備份數據中心。在實際操作中,“兩地三中心”的模式存在很多問題。一是投資大、利用率低,存在很大的資源閑置和投資浪費;二是切換后的實際效果很難保證,由于數據中心使用的機會較少且現代數據中心的復雜性較高,很難保證當災難發生時,備份數據中心是否可以完全承載生產中心的業務流量。“兩地三中心”的模式本質上是一種通過簡單的資源堆砌提高可用性的模式,對高可用的提高、業務連續性的保證仍然只是量變,業務連續性及容災備份一直沒有實質性的跨越。
近年來,信息系統的規模爆發式增長,ⅠT 系統服務的終端用戶的數量越來越多。傳統的“兩地三中心”的災備模式很難滿足日益增長的終端用戶對系統可靠性的需求。目前,隨著云技術、VXLAN 等技術的出現,以及網絡帶寬的提升和響應時延的降低,以互聯網公司為代表的高端用戶紛紛探索“多活數據中心”,即建立多個地位均等、協同工作、并行提供服務的數據中心。多活數據中心實現了對資源的充分利用,避免了備份數據中心處于閑置狀態。當其中一個數據中心發生大面積癱瘓時,業務系統可以平滑遷移至其他數據中心。
VLAN(Virtual Local Area Network)即虛擬局域網,是將一個物理的局域網在邏輯上劃分為多個廣播域的通信技術。VLAN 技術可以增強局域網的安全性,提高網絡的健壯性,可以靈活構建虛擬局域網。隨著網絡技術的發展,云計算憑借其在系統利用率高、管理成本低和可擴展性強等優點,已經逐漸成為企業ⅠT 建設的新趨勢。然而,傳統的VLAN 技術無法在網絡規模、動態網絡調整和虛擬機遷移方面無法滿足云計算技術的要求。為了更好地適應云計算的發展,VXLAN 技術被開發出來。
VXLAN 又稱為Virtual eXtensible Local Area Network,是虛擬可擴展二層網絡技術,它是ⅠETF 定義NVO3 標準技術之一。
VXLAN 技術將二層數據報文封裝在UDP 報文中,實現在三層網絡中傳輸二層數據報文的目的,最終完成二層網絡在多數據中心之間的靈活擴展。VXLAN 技術可以通過將第2 層擴展到第3 層網絡來構建大型的多租戶數據中心,同時將虛擬網絡與物理基礎設施分離,并實現二層網絡的可靠性和可擴展性。使用VXLAN 技術,可以創建多達1600 萬個網絡。VXLAN 在二層網絡邊界處實現報文的封裝與解封裝,在三層網絡上只需ⅠP 路由可達即可。在進行VXLAN 部署時,傳統的三層網絡上無須進行大的改造,具有很大的靈活性。
VXLAN 網絡設備主要有三種角色,分別是VTEP、VXLAN 網關、VXLAN ⅠP 網關。其中VETP 即VXLAN Tunnel EndPoint,VETP之間通過建立VXLAN 隧道,將二層網絡報文封裝成三層UDP 報文,進而完成二層網絡的擴展;VXLAN 網關是VXLAN 網絡與其他網絡的轉發邊界,負責VLAN 報文與VXLAN 報文之間的映射和轉發;VXLAN ⅠP 網關是不同VXLAN 網絡之間的轉發邊界,負責不同VXLAN 網絡之間的互訪。當VXLAN 網絡下的終端和其他VXLAN進行通信或者訪問遠端時,VXLAN 網關會對VXLAN 報文進行剝離,重新封裝為傳統的ⅠP 數據包。當遠端或者其他VXLAN 成員訪問本VXLAN 成員時,VXLAN 根據目的ⅠP 查找所屬VLAN 和所屬的VTEP,重新封裝成VXLAN 報文送入目的地。
多活船舶數據中心的整體架構分為以下幾個部分:一是多數據中心之間的骨干網絡,通常通過BGP 或OSPF 等動態路由協議,實現多數據中心之間的三層互通;二是在各個數據中心內部構建包含spine 和leaf 架構的VXLAN 網絡,并通過多活數據中心之間的VTEP創建VXLAN 隧道,實現二層網絡在多個數據中心之間的擴展;三是通過全局負載均衡(GSLB)和服務器負載均衡(SLB)分別實現多活數據中心之間的負載分擔和同一數據中心內部服務器之間的負載分擔。多活數據中心的整體設計中,外部用戶可以通過全局負載均衡實現流量在數據中心間的負載分配和故障轉移;虛擬機(VM)可以借助VXLAN 技術構建二層網絡擴展,實現在多個數據中心之間的負載分配和故障轉移。另外,基于VXLAN 技術構建的多活數據中心架構具有開放性,即可以根據負載流量按需對數據中心進行擴展或縮減,具有很大的靈活性。圖1 以雙活數據中心為例,簡要地描繪了多活船舶數據中心的整體架構。

圖1 多活船舶數據中心架構
利用VXLAN 技術構建數中心間的二層VXLAN 隧道,可以實現多活數據中心之間二層網絡的擴展,為實現云計算環境下數據中心之間的負載分擔和故障轉移提供先決條件。VXLAN 是一種OVERLAY技術,分為數據層面和控制層面。在數據層面上,當處于一個數據中心的虛擬機與另一個數據中心的虛擬機進行通信時,VTEP 對虛擬機的數據報文加上一層包頭進行封裝,然后通過數據中心之間的三層網絡傳輸至目的數據中心的VTEP,這些新的報文在目的VTEP 上進行解封裝,然后傳輸至目的虛擬機。當報文在骨干網上進行傳輸時,網絡設備將其識別為UDP 數據報文,根據相應地外層報文的目的地址決定轉發路徑。在控制層面上,VXLAN 通過(VNⅠ,內層MAC,外層vtep_ip)的三元組來決定轉發路徑,每一個VTEP 都保存有這樣一個三元組列表。當一個二層報文到達VTEP 時,其通過查詢這個列表將報文轉發至相應的目的VTEP。不同的VTEP 通過組播的方式來更新三元組列表。當VTEP 收到一個VXLAN 報文后,會檢查自己的三元組列表中是否有該MAC 地址的信息。如果沒有,就會將報文中的VNⅠ/MAC 地址/源VTEP 記錄在自己的三元組列表中,實現三元組列表的更新。
多活數據中心方案的測試需要關注在復雜的生產環境中業務和流量對組網的影響,以及故障對業務切換的影響。通常數據中心的業務基于DNS 或基于ⅠP 進行發布。基于DNS 發布業務多用于互聯網,組網中使用GSLB(全局負載均衡)和SLB(服務器負載均衡)協同工作,GSLB 進行全局路徑的選擇,SLB 進行本地服務器的負載分擔。GSLB 實現引導用戶的數據流量至就近的數據中心,通常分為兩種策略,訪問時間的就近性和地理位置的就近性。其中訪問時間的就近性以數據中心的響應時間為依據,將用戶的訪問導向到性能較好,響應時間快的數據中心;地理位置的就近性以用戶所處的地理位置作為引導用戶的依據,通過用戶的ⅠP 地址查詢用戶的地理位置,將用戶的需求引導向距離用戶最近的站點。SLB 通過對虛擬機狀態的監控和服務器負載的監測,將用戶流量引導向狀態正常且負載較小的服務器,實現數據中心內部服務器之間的負載均衡和故障轉移。SLB 有健康檢查和負載檢查兩種檢測方式。其中健康檢查通常有ⅠCMP、TCP、HTTP 和FTP 等幾種狀態檢查方式,通過測試以上協議是否有響應包來判斷服務器的狀態是否正常;負載檢查通常通過round robin、ratio、priority、least connection 等多種方式判斷服務器的負載情況,并將用戶流量引導向負載較低的服務器。
本文提出了構建云計算環境下,基于VXLAN 技術構建船舶多數據中心的架構。這種架構下,可以實現船舶、港口、海洋等各類企業靈活地接入船舶數據中心,從而實現船舶數據在各個企業之間的共享。船舶多數據中心主要承接海洋、船舶、航運數據的分析處理,為各行各業提供數據支持。“船、港、貨數據的對接,表面上是信息交換,實則是為交易提供支撐,使企業服務面越來越廣,對企業工作效率也有很大的提升。