胡 亮(國網湖南省電力公司益陽供電分公司,湖南 益陽 413000)
?
企業應用系統全冗余部署模式研究
胡亮(國網湖南省電力公司益陽供電分公司,湖南益陽413000)
冗余系統指的是應用兩套及其以上相同、相對獨立的配置構成互為冗余控制系統。若是處于工作狀態的部分出現故障,則作為冗余部分將會承擔其工作,實現整套系統的不間斷運行。基于此,本文提出了企業應用系統全冗余部署模式,以期實現系統整體運行可靠性大幅提高。
企業;應用系統;全冗余部署模式
企業應用系統部署后,單機隱患和故障往往是系統管理員頭疼的問題。一旦應用服務器或數據庫服務器出現磁盤、內存等故障,輕則引起系統停運,重則導致數據丟失。盡管可以通過磁盤劃分RAID、應用備份、數據備份等方式來提高系統可用性,但始終不是治本之策。本文通過研究一種全方位冗余的部署方式,力求從根本上解決單機故障和隱患影響系統可用性的問題。
隨著計算機應用的不斷深入,企業對計算機系統的依賴程度也日漸增加。尤其一些關鍵行業應用上,后臺核心系統是否具備高可用性能力,直接影響到公司業務。高可用性包括保護業務關鍵數據完整、維持應用程序運行連續等多個方面。在這些信息處理系統中保存了大量的關鍵業務數據,若是出現信息丟失、破壞等現象,將帶來嚴重損失。在傳統觀念中,往往選擇價格昂貴的專有計算機系統來提高業務系統運行的穩定性,系統實施及維護成本極高。而價格較低的單一的PC服務器系統目前還無法滿足用戶對于安全性及可用性的要求。在資源有限的情況下,如何保證業務系統的高可用性和數據的安全,已成為眾多用戶關注的焦點問題。
無論是C/S模式(客戶端/服務端)還是B/S(瀏覽器/服務端)模式,大部分企業應用系統在部署時均采用傳統的三層架構,即應用程序、中間件、數據庫。應用程序和中間件一般部署在一臺應用服務器上,數據庫部署在一臺數據庫服務器上,如圖1所示。應用服務器上的應用程序通過數據庫客戶端連接到數據庫服務器上的數據庫服務端進行數據操作。

圖1 三層架構部署模式
此種部署模式雖然簡潔高效,但存在單機故障風險。一旦應用服務器、數據庫服務器的軟硬件出現故障,將導致系統停運。如果應用服務器上的程序和數據無法恢復且備份不到位,系統則面臨重新搭建,延長停運時間的風險。如果數據庫服務器上的程序和數據無法恢復且備份不到位,則數據庫不但需要重新搭建,還將面臨數據丟失的風險。
4.1雙機工作概念的提出
從廣義上來看,就是對于重要的服務,使用兩臺服務器,互相備份,共同執行同一服務。當一臺服務器產生故障,可由另外一臺服務器承擔相應的服務任務,無需人工干預,實現系統的自動、持續服務。雙機熱備主要利用備用服務器解決了主服務器故障時服務中斷問題。但是,在實際應用中,有時存在多臺服務器情況,即服務器集群。雙機熱備通常需要有共享的存儲設備,某些情況下也可使用兩臺獨立服務器。實現雙機熱備,需要使用專業集群軟件或是雙機軟件。
從狹義上來看,雙機熱備指的是基于active/standby的服務器熱備。服務器數據主要包括數據庫數據同時往兩/多臺服務器寫,或使用一個共享存儲設備。同一時間只有一臺服務器運行,當處于運行狀態的服務器出現故障,無法正常啟動時,則另外一臺備份服務器科通過軟件診測(如:心跳診斷)激活standby機器,確保應用短時間完全恢復使用。
雙機的三種模式:①雙機熱備,也就是常說的主備方式,服務器數據主要包括數據庫數據同時往兩/多臺服務器寫,或是使用一個共享存儲設備(例如:磁盤陣列柜)。若是主服務器產生故障,通過診測(例如:心跳/串口線診斷)激活備用機器,確保應用短時間完全恢復使用。②雙機互備,雙機熱備基礎上,2個獨立的應用在2臺機器上同時運行,彼此均為備機,若是一臺服務器產生故障,則另外一臺服務器可在短時間接管故障服務器的應用,確保應用持續。此種方式實際上是雙機熱備的一種應用,它避免了兩個應用使用四臺服務器分別實現雙機熱備。③雙機雙工,兩臺或是多臺服務器均為活動,同時運行相同的應用,從而保證整體的性能,也實現了負載均衡與互為備份。此種模式下,需要利用磁盤柜存儲技術。對于數據庫服務而言,它同時需要數據庫軟件的支持,因此可以說是比較復雜的。
4.2全冗余部署模式的構建
為了解決上一章節中的單點故障隱患等問題,本章節考慮提出一種全冗余部署模式。
如圖2所示,采用2臺應用服務器、2臺數據庫服務器、2臺光存儲交換機、1臺磁盤陣列來實現系統部署。

圖2 全冗余部署模式
4.2.1服務器硬盤RAID配置
建議將每臺服務器的硬盤劃分為兩個部分:第一部分硬盤數量視存儲空間配置為雙數(比如2塊),配置RAID1,用于安裝操作系統;第二部分硬盤配置RAID5,用于部署程序和存放數據。
4.2.2服務器通過光存儲交換機連接存儲
每臺服務器需要安裝2塊HBA卡,4臺服務器通過HBA卡分別連接到2臺冗余的光存儲交換機,再通過2臺光存儲交換機連接到磁盤陣列的2個冗余的控制器。連接時建議采用機柜的光配連通。
4.2.3服務器集群搭建
2臺應用服務器、2臺數據庫服務器之間均采用心跳線相連。應用服務器集群可以采用操作系統自身集群或者中間件集群等方式。數據庫服務器集群建議采用數據庫集群方式(如Oracle RAC)。公用數據均存放在磁盤陣列中。
4.2.4服務器雙網卡聚合
每臺服務器的兩塊網卡做聚合,虛擬為一個IP地址,視為同一塊網卡。
5.1系統各層次、各設備的冗余
通過以上部署模式,盡可能實現了系統各個層次、各個設備的冗余。具體如下:
5.1.1服務器硬盤冗余
每臺服務器中用做操作系統安裝的硬盤采用RAID1部署(完全鏡像),一旦損壞1塊磁盤,不影響操作系統運行。另外部分的硬盤采用RAID5部署(N-1模式),損壞磁盤數量不大于1塊,不影響程序運行。
5.1.2服務器網卡冗余
由于每臺服務器的兩塊網卡做了聚合,一旦損壞1塊網卡,不影響網絡連通。
5.1.3應用服務器冗余
2臺應用服務器通過搭建操作系統自身集群或者中間件集群,一旦1臺應用服務器損壞,不影響系統運行,如圖3所示。

圖3 應用服務器冗余
5.1.4數據庫服務器冗余
2臺數據庫服務器通過搭建數據庫集群,一旦1臺數據庫服務器損壞,不影響數據庫對外提供服務,如圖4所示。

圖4 數據庫服務器冗余
5.1.5光存儲交換機冗余
通過配置2臺冗余的光存儲交換機,一旦1臺光存儲交換機損壞,不影響服務器與磁盤陣列的連通,如圖5所示。

圖5 光存儲交換機冗余
5.1.6磁盤陣列控制器冗余
通過選用帶有冗余的雙控制器磁盤陣列,一旦一個控制器發生損壞,不影響服務器通過光存儲交換機與磁盤陣列連通,如圖6所示。

圖6 磁盤陣列控制器冗余
同時應用數據、數據庫數據文件等公有數據均保存在磁盤陣列中,大大提高了可靠性。
考慮一種比較極端的情況,假設1臺應用服務器、1臺數據庫服務器、1臺光存儲交換機、磁盤陣列的1個控制器同時發生故障,系統照樣可以繼續運行,如圖7所示。

圖7 極端情況下磁盤陣列控制器冗余
5.2系統整體應用優勢
①對服務器硬件配置要求不高,可以根據應用情況采用不同型號或配置;②可利用原有生產系統快速構建雙機系統,性價比高;③系統切換時間短,最大程度減少業務中斷的影響;④切換過程對應用程序無影響,無需重新啟動或登錄,做到無人值守;⑤系統效率高,系統中數據讀寫、管理及容錯由磁盤陣列來完成。而系統服務故障監控切換處理由軟件來完成。雙機監控依靠串口線路或專用TCP/IP網路線路,既不占用主機CPU資源也不占用基礎業務網絡帶寬,在實際應用中得到用戶的一致好評;⑥支持豐富的應用配置,如:Oracle、MSSQL、Sybase、MySQL、文件服務、Web服務等,無需額外插件支持用戶自定義應用;⑦硬件可采用機架式結構,便于維護管理。
通過上一章節中的高可用性分析,該部署模式實現了應用服務器、數據庫服務器、光存儲交換機、磁盤陣列等各個層次和設備的冗余,大大提高了系統可用性。不過,由于該部署模式涉及設備較多、部署方式相對復雜、對管理員的技術要求較高,后續可以通過硬件功能整合改進等方式來進一步優化。
[1]謝文超.全冗余系統的設計與應用[J].江蘇鍋爐,2014(3):45~49.
[2]汪 嘯.采用冗余數據刪除技術進行備份系統優化的應用研究[J].信息通信,2015(3):26.
[3]侯麗娟.網絡冗余技術在公司局域網的應用分析[J].網絡安全技術與應用,2014(11):132~133.
[4]丁 鑫.基于網絡冗余技術的應用[J].工業控制計算機,2014,27(5):162.
胡 亮(1984-),男,工程師,本科,主要從事信息系統管理方面的工作。
TP311.5
A
2095-2066(2016)13-0042-03
2016-4-10