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