• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      雙機熱備與負載均衡的設計與實現(xiàn)

      2015-02-21 06:49:22王古城
      電子設計工程 2015年18期
      關鍵詞:熱備代理服務器雙機

      肖 佳,王古城,楊 旭,晁 勇

      (1.華夏經(jīng)緯信息科技有限公司 北京100022;2.廣東省海外聯(lián)絡辦公室 廣東 廣州510080;3.騰訊科技(北京)有限公司 北京100080)

      雙機熱備與負載均衡的設計與實現(xiàn)

      肖 佳1,王古城2,楊 旭3,晁 勇1

      (1.華夏經(jīng)緯信息科技有限公司 北京100022;2.廣東省海外聯(lián)絡辦公室 廣東 廣州510080;3.騰訊科技(北京)有限公司 北京100080)

      針對OpenFlow SDN系統(tǒng)中的策略管理模塊提出了一種新型的雙機熱備和負載均衡方案,采用了服務器集群的方式,通過Keepalived和Heartbeat實現(xiàn)了雙機熱備模塊,通過Nginx實現(xiàn)了代理服務器和負載均衡模塊。經(jīng)工程驗證有效降低了故障概率,系統(tǒng)可用性從97﹪提高至近100﹪。

      SDN;策略管理;雙機熱備;負載均衡

      隨著計算機技術的發(fā)展,一套完備系統(tǒng)對數(shù)據(jù)安全和服務保障有著極高的要求,數(shù)據(jù)和服務的重要性已遠遠超過硬件本身。為了提高業(yè)務和數(shù)據(jù)的可用性和可靠性,實際應用中通常采取冗余和容錯技術處理,而雙機熱備就是其中一種有效的解決方案[1]。雙機熱備系統(tǒng)一般包含主備兩個功能單元,正常狀態(tài)下主備兩個單元均上電工作,但只有主單元輸出有效。在主單元發(fā)生故障的情況下,備單元馬上能夠接替工作,保證系統(tǒng)能夠持續(xù)、安全和可靠的運行。

      1 可行性分析

      系統(tǒng)故障主要原因可分3類,一是硬件自身故障,二是軟件運行故障,三是機房環(huán)境和其他設備導致的故障。前兩種故障在主備切換前后不具有關聯(lián)性,可通過雙機熱備機制有效規(guī)避。而第三種故障則具有前后關聯(lián)性,必須通過定量分析證明雙機熱備機制的有效性。運用貝葉斯原理[2],假設合理的故障概率,計算的結果如表1所示。

      表1 基于貝葉斯原理計算雙機熱備故障概率Tab.1 The failure probability calculation of dual-server hotstandby based on baysian theory

      經(jīng)計算所得的結果約為9﹪,該值在備用服務器發(fā)生故障時會成為新的先驗概率,遠低于初始的先驗概率20﹪,有效降低了故障概率。綜上,無論是哪種故障原因,雙機熱備系統(tǒng)均能有效提高系統(tǒng)的可靠性和安全性,因而廣泛應用于工業(yè)各個領域。

      隨著業(yè)務量的提高,網(wǎng)絡訪問量和數(shù)據(jù)流量快速增長,各個核心組件的處理能力和計算強度也相應增大,單一的服務器設備根本無法承擔。如果放棄現(xiàn)有設備去做大量的硬件升級將造成資源浪費,而負載均衡技術可以很好的解決業(yè)務壓力問題,對硬件的要求和投入也大大降低。如圖1所示,一臺普通服務器的性能較低,數(shù)臺服務器組成集群的能力則等同于一臺超級服務器。負載均衡建立在現(xiàn)有網(wǎng)絡結構之上,提供了一種廉價透明的方法擴展網(wǎng)絡設備和服務器的帶寬,增加吞吐量,加強數(shù)據(jù)處理能力,提高網(wǎng)絡的靈活性和可用性[3]。

      圖1 服務器集群Fig.1 Server cluster

      SDN誕生于斯坦福大學Clean Slate課題[4],典型代表是OpenFlow項目[5],而策略管理是Open-Flow SDN中的重要組成部分。策略管理模塊具有網(wǎng)絡狀態(tài)收集分析、對策略進行管理和數(shù)據(jù)可視化等功能,在整個OpenFlow SDN架構中隸屬于集中控制點Controller,作用極為重要。為了提高策略管理模塊的可用性和安全性,確保其提供可靠的服務,本文提出了一種新型的雙機熱備和負載均衡的方案。系統(tǒng)通過web服務器方式提供對外訪問,代理服務器和負載均衡模塊采用Nginx實現(xiàn),雙機熱備模塊采用Keepalived[6]和Heartbeat[7]實現(xiàn)。

      2 系統(tǒng)設計

      本策略管理系統(tǒng)架構為B/S式,初始設計的架構示意圖如圖2所示。管理員在外部通過代理服務器實現(xiàn)對于服務器集群的訪問,兩臺代理服務器采用雙機熱備技術確保系統(tǒng)的可靠性。主從代理服務器通過心跳機制報告自身狀況,并監(jiān)聽另一代理服務器的心跳信號以檢測對方是否發(fā)生故障。正常狀態(tài)下主、從代理服務器均正常工作,但僅主服務器輸出有效。如果檢測到主代理服務器發(fā)生故障,則從服務器發(fā)出切換信號,切換輸出;如果檢測到從代理服務器發(fā)生故障,則將其隔離,避免誤切換。

      圖2 策略管理系統(tǒng)初始架構示意圖Fig.2 Initail schematic of the policy management system architecture

      負載均衡集群將訪問業(yè)務分攤,降低了業(yè)務壓力,硬件配置要求也大幅降低。而集群訪問的數(shù)據(jù)庫服務器也通過熱備份,即工作狀態(tài)下實時備份保證了業(yè)務數(shù)據(jù)的安全可靠。

      主從代理服務器的負載均衡可使用Nginx作為反向代理服務器來實現(xiàn),而對外提供虛擬IP的軟件可使用Keepalived或Heartbeat。對于Nginx[8]的服務可以使用一個監(jiān)控腳本,用來監(jiān)控提供虛擬IP服務器的Nginx是否處于正常工作狀態(tài)。業(yè)務服務器上的軟件取決于系統(tǒng)提供的業(yè)務,如果是Web服務器可以使用tomcat。數(shù)據(jù)庫服務器上可以使用Keepalived或Heartbeat提供數(shù)據(jù)庫公共訪問的接口,數(shù)據(jù)庫可根據(jù)業(yè)務服務器的要求決定,如Mysql、SQL server等。

      上述構思方案實現(xiàn)了雙機熱備和負載均衡,而且負載均衡集群具有可擴展性。但是,對于硬件設備,諸如服務器和交換機的數(shù)量要求較多。鑒于實驗室硬件資源有限,而系統(tǒng)業(yè)務壓力并不大,因此將圖2中的方案做以精簡,修改為如圖3中的方案。

      圖3 策略管理系統(tǒng)精簡架構示意圖Fig.3 Simplified schematic of the policy management system architecture

      修改后的方案如圖2所示,主代理服務器、負載均衡服務器A和數(shù)據(jù)庫服務器A合并為一個主服務器,從代理服務器、負載均衡服務器B和數(shù)據(jù)庫服務器B合并為一個從服務器。功能和工作流程上與原方案基本一致,減少了硬件的數(shù)量,提高了硬件的使用率。在當前業(yè)務壓力下,功能復合對于整個系統(tǒng)穩(wěn)定性的影響可以忽略。

      3 模塊實現(xiàn)

      實現(xiàn)過程按照自頂向下的思路,如圖4所示。首先需要實現(xiàn)的是可供外部訪問的虛擬IP功能。而雙機熱備可采用Keepalived和Heartbeat這兩款較為通用的軟件,提高可靠性避免單點故障。具體實現(xiàn)時可用Keepalived來提供Web訪問的虛擬IP1,而Heartbeat提供數(shù)據(jù)庫訪問的虛擬IP2,也是通過Web訪問。具體模塊關系與結構如下圖所示。

      如圖4所示,主從服務器對外提供一個公共的訪問端口,即Keepalived提供的虛擬IP1服務。外部訪問通過Nginx實現(xiàn)對Tomcat服務的訪問,并可實現(xiàn)負載均衡機制,在訪問量較大的情況下可有效提高系統(tǒng)性能。Heartbeat用于提供數(shù)據(jù)庫訪問的虛擬IP2,而Mysql數(shù)據(jù)庫自帶的Master/Slave模式可以實現(xiàn)數(shù)據(jù)在主從服務器上的實時同步,當主數(shù)據(jù)庫出問題時可以通過Heartbeat服務檢測,將主數(shù)據(jù)庫服務轉(zhuǎn)移至從數(shù)據(jù)庫,從而提高數(shù)據(jù)庫服務的可靠性。在實際環(huán)境搭建時, Keepalived的配置問題短期內(nèi)沒有解決,因而對方案做了一定的精簡,僅采用了Heartbeat提供外部訪問的虛擬IP,通過運行監(jiān)控腳本,實現(xiàn)最初規(guī)劃。

      圖4 系統(tǒng)模塊關系示意圖Fig.4 Schematic of the system module relationship

      4 異常情況處理

      本系統(tǒng)雙機熱備方案的工作流程分為如下4種不同的情況:1)正常工作狀態(tài);2)主服務器宕機,切換到備用服務器;3)主服務器恢復正常,切換回主服務器;4)正在運行的服務軟件異常。

      下面將針對不同情況分別描述。

      1)正常工作狀態(tài)流程。

      如圖5所示,主服務器通過Heartbeat向外提供虛擬IP服務,從服務器的Heartbeat不斷發(fā)送心跳信息;Nginx提供Web服務器的公共訪問端口,Nginx將外部訪問任務通過Tomcat的訪問地址,分配給主從服務器上的Tomcat;Tomcat根據(jù)本機上的Mysql數(shù)據(jù)庫內(nèi)容,對外提供Web服務;同時,兩臺機器上的Mysql數(shù)據(jù)庫實時互備,實現(xiàn)數(shù)據(jù)同步;監(jiān)控腳本不斷檢測各個軟件的工作狀態(tài),通過服務端口判斷是否正常。

      圖5 監(jiān)控腳本工作流程圖Fig.5 Work fow chart of monitor script

      2)主服務器宕機時工作流程

      從服務器一段時間內(nèi)沒有探測到主服務器,認為主服務宕機并接管虛擬IP,但同時繼續(xù)不斷發(fā)送心跳信號探測主服務器;從服務器上的Nginx提供外部訪問端口,并將任務分配給本機的 Tomcat(主服務器已經(jīng)宕機),Tomcat訪問本機Mysql數(shù)據(jù)庫并向外提供Web服務。從服務上的腳本不斷監(jiān)控著各個軟件的工作情況。

      3)主服務器恢復正常的工作流程

      主服務器開機后,各種軟件相繼啟動,從服務器探測到主服務器,將虛擬IP交還給主服務器,并繼續(xù)不斷發(fā)送心跳信息;Nginx提供Web服務器的公共訪問端口,Nginx將訪問任務通過Tomcat的訪問地址,分配給主從服務器上的Tomcat;Tomcat根據(jù)本機上的Mysql數(shù)據(jù)庫內(nèi)容,對外提供Web服務;同時,兩臺機器上的Mysql數(shù)據(jù)庫實時互備,實現(xiàn)數(shù)據(jù)同步;監(jiān)控腳本不斷檢測各個軟件的工作狀態(tài),監(jiān)控腳本的工作流程如圖5所示。

      4)正在運行的服務軟件異常時工作流程

      根據(jù)監(jiān)控腳本的工作流程可知,Heartbeat和Tomcat出現(xiàn)異常時,直接重啟服務。若Mysql或Nginx出現(xiàn)異常時,首先關閉依賴其才能提供服務的Heartbeat或Tomcat,然后重啟Mysql或Nginx。若恢復正常,則開啟Heartbeat和Tomcat;若依然存在故障,則不啟動,并將錯誤寫入日志。上述過程中若主服務器上的Heartbeat關閉或異常,則由從服務器接管虛擬IP;若兩臺服務器中出現(xiàn)Tomcat關閉,則正在服務Nginx不會分配給其任務,由另一臺Tomcat提供服務。

      5 系統(tǒng)可用性檢測

      以平均無故障工作時間(MTTF)和平均修復時間(MTTR)來度量單機系統(tǒng)和雙機熱備系統(tǒng)的可用性,計算公式為,實際測試結果如表2所示。

      表2 單機系統(tǒng)和雙機熱備系統(tǒng)的比較Tab.2 Comparison of single system and dual-server hotstandby system

      如表2所示,雙機熱備可以非常有效的降低系統(tǒng)故障率,提高系統(tǒng)可用性。

      6結論

      本策略管理系統(tǒng)通過Heartbeat軟件實現(xiàn)了雙機熱備機制,而Keepalived軟件也可實現(xiàn)此功能。Heartbeat還向外提供了虛擬IP,負載均衡需要通過這個虛擬IP將訪問任務下發(fā)到后面的服務器集群。Nginx的作用就是將訪問任務平均分派給后面的服務器,本系統(tǒng)采用2臺Tomcat服務器實現(xiàn)負載均衡。Mysql可以通過簡單的配置來實現(xiàn)雙機數(shù)據(jù)互備的目標。

      本系統(tǒng)的雙機熱備評價指標主要有以下3點:

      1)虛擬IP的切換速度:本技術應能在主服務器出現(xiàn)異常時,快速將業(yè)務切換到從服務器上,切換的時間應該是在穩(wěn)定的前提下越短越好。

      2)對于服務訪問的中斷時間:雖然說雙機熱備技術可以提供不間斷的服務,但是對于切換時的短時間服務中斷還是難以避免的,所以應將服務中斷時間控制的越短越好。

      經(jīng)實測,以上兩項時間和可控制在200 s以內(nèi)。

      3)系統(tǒng)可用性:雙機熱備技術應能有效提升系統(tǒng)的可靠性,檢測結果顯示,系統(tǒng)可用性由97.342﹪提升至99.996﹪。

      [1]覃慶努,魏學業(yè),于蓉蓉,等.基于雙機聯(lián)合故障檢測的雙機熱備系統(tǒng)可靠性和安全性研究 [J].系統(tǒng)工程與電子技術,2011(12):2776-2780.QIN Qing-nu,WEI Xue-ye,YU Rong-rong,et al.Reliability and security study of dual computer hot-standby system based on dual computer joint fault detection[J].Systems Engineering and Electronics,2011(12):2776-2780.

      [2]Nate Silver.The Signal and the Noise[M].New York:Penguin Press,2012.

      [3]百度百科.負載均衡 [EB/OL].[2014-10-20].http://baike.baidu.com/view/51184.htm.

      [4]百度百科.SDN[EB/OL].[2014-10-20].http://baike.baidu.com/view/1311159.htm?fr=aladdin.

      [5]Nick McKeown.OpenFlow:Enabling Innovation in Campus Networks[J].Sigcomm,2008:69-74.

      [6]百度百科.Keepalived[EB/OL].[2014-10-20].http://baike.baidu.com/view/4175422.htm?fr=aladdin.

      [7]百度百科.Heartbeat集群配置 [EB/OL].[2014-10-20].http://wenku.baidu.com/linkurl=3ikoxX7G42UjIPjWRjmEBz4H_bts faYvsmBlkoUJjtaVFFJMBXjqa7LA0iwnUlYcYcWSsSXBr3UP ikL3rVEf-SAM2vW-Fm6DEsrqJp6mlLvny.

      [8]Nginx官網(wǎng).Nginx[EB/OL].[2014-10-10].http://wiki.nginx.org/.

      Design and implementation of dual-server hot-standby and loading-balancing scheme

      XIAO Jia1,WANG Gu-cheng2,YANG Xu3,CHAO Yong1
      (1.China Information Technology Coporation,LTD.,Beijing 100022,China;2.Guangdong Province Overseas Liaison Office, Guangzhou 510080,China;3.Tencent Technology Coporation,LTD.,Beijing 100080,China)

      Aiming at policy management module belonging to Open-Flow SDN system,this paper presents a new scheme of dual-server hot-standby and loading-balancing.The approach of server cluster is adopted.The dual-server hot-standby module is realized byKeepalived and Heartbeat.The proxy server and load-balancing module is achieved by Nginx.Failure probability is reduced effectively proved by engineering implementation and the feasibility of this systemis improved from 97﹪to nearly 100﹪.

      SDN;policy management;dual-server hot-standby;loading-balancing

      TN91

      :A

      :1674-6236(2015)18-0176-04

      2014-11-29稿件編號:201411249

      肖 佳 (1983—),男,安徽蕪湖人,博士研究生,工程師。研究方向:數(shù)據(jù)挖據(jù)、復雜網(wǎng)絡和信息安全。

      猜你喜歡
      熱備代理服務器雙機
      熱備動車組配置方案優(yōu)化模型
      東海區(qū)實時海洋觀測數(shù)據(jù)庫雙機熱備系統(tǒng)解決方案
      雙機、雙槳軸系下水前的安裝工藝
      地鐵信號系統(tǒng)中代理服務器的設計與實現(xiàn)
      雙機牽引ZDJ9道岔不同步問題的處理
      IP地址隱藏器
      Loader軸在雙機桁架機械手上的應用
      青海廣播電視大學校園網(wǎng)升級改造探討
      熱備冗余技術在焦化設備上的應用
      河南科技(2014年22期)2014-02-27 14:18:13
      一種容侵系統(tǒng)的設計
      丰原市| 津南区| 长海县| 肇州县| 仙居县| 石屏县| 乐都县| 大理市| 泰和县| 高唐县| 栾川县| 台中县| 贵溪市| 通州区| 长海县| 布拖县| 宜昌市| 定襄县| 上思县| 安溪县| 天津市| 海淀区| 涟水县| 长岛县| 若羌县| 自贡市| 宁武县| 洛阳市| 南投县| 辛集市| 永善县| 广宗县| 卫辉市| 成安县| 滦南县| 任丘市| 新蔡县| 青田县| 若尔盖县| 惠东县| 遂川县|