胡 亮(國網(wǎng)湖南省電力公司益陽供電分公司,湖南 益陽 413000)
?
企業(yè)應(yīng)用系統(tǒng)全冗余部署模式研究
胡亮(國網(wǎng)湖南省電力公司益陽供電分公司,湖南益陽413000)
冗余系統(tǒng)指的是應(yīng)用兩套及其以上相同、相對獨立的配置構(gòu)成互為冗余控制系統(tǒng)。若是處于工作狀態(tài)的部分出現(xiàn)故障,則作為冗余部分將會承擔(dān)其工作,實現(xiàn)整套系統(tǒng)的不間斷運行?;诖?,本文提出了企業(yè)應(yīng)用系統(tǒng)全冗余部署模式,以期實現(xiàn)系統(tǒng)整體運行可靠性大幅提高。
企業(yè);應(yīng)用系統(tǒng);全冗余部署模式
企業(yè)應(yīng)用系統(tǒng)部署后,單機隱患和故障往往是系統(tǒng)管理員頭疼的問題。一旦應(yīng)用服務(wù)器或數(shù)據(jù)庫服務(wù)器出現(xiàn)磁盤、內(nèi)存等故障,輕則引起系統(tǒng)停運,重則導(dǎo)致數(shù)據(jù)丟失。盡管可以通過磁盤劃分RAID、應(yīng)用備份、數(shù)據(jù)備份等方式來提高系統(tǒng)可用性,但始終不是治本之策。本文通過研究一種全方位冗余的部署方式,力求從根本上解決單機故障和隱患影響系統(tǒng)可用性的問題。
隨著計算機應(yīng)用的不斷深入,企業(yè)對計算機系統(tǒng)的依賴程度也日漸增加。尤其一些關(guān)鍵行業(yè)應(yīng)用上,后臺核心系統(tǒng)是否具備高可用性能力,直接影響到公司業(yè)務(wù)。高可用性包括保護業(yè)務(wù)關(guān)鍵數(shù)據(jù)完整、維持應(yīng)用程序運行連續(xù)等多個方面。在這些信息處理系統(tǒng)中保存了大量的關(guān)鍵業(yè)務(wù)數(shù)據(jù),若是出現(xiàn)信息丟失、破壞等現(xiàn)象,將帶來嚴重損失。在傳統(tǒng)觀念中,往往選擇價格昂貴的專有計算機系統(tǒng)來提高業(yè)務(wù)系統(tǒng)運行的穩(wěn)定性,系統(tǒng)實施及維護成本極高。而價格較低的單一的PC服務(wù)器系統(tǒng)目前還無法滿足用戶對于安全性及可用性的要求。在資源有限的情況下,如何保證業(yè)務(wù)系統(tǒng)的高可用性和數(shù)據(jù)的安全,已成為眾多用戶關(guān)注的焦點問題。
無論是C/S模式(客戶端/服務(wù)端)還是B/S(瀏覽器/服務(wù)端)模式,大部分企業(yè)應(yīng)用系統(tǒng)在部署時均采用傳統(tǒng)的三層架構(gòu),即應(yīng)用程序、中間件、數(shù)據(jù)庫。應(yīng)用程序和中間件一般部署在一臺應(yīng)用服務(wù)器上,數(shù)據(jù)庫部署在一臺數(shù)據(jù)庫服務(wù)器上,如圖1所示。應(yīng)用服務(wù)器上的應(yīng)用程序通過數(shù)據(jù)庫客戶端連接到數(shù)據(jù)庫服務(wù)器上的數(shù)據(jù)庫服務(wù)端進行數(shù)據(jù)操作。
圖1 三層架構(gòu)部署模式
此種部署模式雖然簡潔高效,但存在單機故障風(fēng)險。一旦應(yīng)用服務(wù)器、數(shù)據(jù)庫服務(wù)器的軟硬件出現(xiàn)故障,將導(dǎo)致系統(tǒng)停運。如果應(yīng)用服務(wù)器上的程序和數(shù)據(jù)無法恢復(fù)且備份不到位,系統(tǒng)則面臨重新搭建,延長停運時間的風(fēng)險。如果數(shù)據(jù)庫服務(wù)器上的程序和數(shù)據(jù)無法恢復(fù)且備份不到位,則數(shù)據(jù)庫不但需要重新搭建,還將面臨數(shù)據(jù)丟失的風(fēng)險。
4.1雙機工作概念的提出
從廣義上來看,就是對于重要的服務(wù),使用兩臺服務(wù)器,互相備份,共同執(zhí)行同一服務(wù)。當(dāng)一臺服務(wù)器產(chǎn)生故障,可由另外一臺服務(wù)器承擔(dān)相應(yīng)的服務(wù)任務(wù),無需人工干預(yù),實現(xiàn)系統(tǒng)的自動、持續(xù)服務(wù)。雙機熱備主要利用備用服務(wù)器解決了主服務(wù)器故障時服務(wù)中斷問題。但是,在實際應(yīng)用中,有時存在多臺服務(wù)器情況,即服務(wù)器集群。雙機熱備通常需要有共享的存儲設(shè)備,某些情況下也可使用兩臺獨立服務(wù)器。實現(xiàn)雙機熱備,需要使用專業(yè)集群軟件或是雙機軟件。
從狹義上來看,雙機熱備指的是基于active/standby的服務(wù)器熱備。服務(wù)器數(shù)據(jù)主要包括數(shù)據(jù)庫數(shù)據(jù)同時往兩/多臺服務(wù)器寫,或使用一個共享存儲設(shè)備。同一時間只有一臺服務(wù)器運行,當(dāng)處于運行狀態(tài)的服務(wù)器出現(xiàn)故障,無法正常啟動時,則另外一臺備份服務(wù)器科通過軟件診測(如:心跳診斷)激活standby機器,確保應(yīng)用短時間完全恢復(fù)使用。
雙機的三種模式:①雙機熱備,也就是常說的主備方式,服務(wù)器數(shù)據(jù)主要包括數(shù)據(jù)庫數(shù)據(jù)同時往兩/多臺服務(wù)器寫,或是使用一個共享存儲設(shè)備(例如:磁盤陣列柜)。若是主服務(wù)器產(chǎn)生故障,通過診測(例如:心跳/串口線診斷)激活備用機器,確保應(yīng)用短時間完全恢復(fù)使用。②雙機互備,雙機熱備基礎(chǔ)上,2個獨立的應(yīng)用在2臺機器上同時運行,彼此均為備機,若是一臺服務(wù)器產(chǎn)生故障,則另外一臺服務(wù)器可在短時間接管故障服務(wù)器的應(yīng)用,確保應(yīng)用持續(xù)。此種方式實際上是雙機熱備的一種應(yīng)用,它避免了兩個應(yīng)用使用四臺服務(wù)器分別實現(xiàn)雙機熱備。③雙機雙工,兩臺或是多臺服務(wù)器均為活動,同時運行相同的應(yīng)用,從而保證整體的性能,也實現(xiàn)了負載均衡與互為備份。此種模式下,需要利用磁盤柜存儲技術(shù)。對于數(shù)據(jù)庫服務(wù)而言,它同時需要數(shù)據(jù)庫軟件的支持,因此可以說是比較復(fù)雜的。
4.2全冗余部署模式的構(gòu)建
為了解決上一章節(jié)中的單點故障隱患等問題,本章節(jié)考慮提出一種全冗余部署模式。
如圖2所示,采用2臺應(yīng)用服務(wù)器、2臺數(shù)據(jù)庫服務(wù)器、2臺光存儲交換機、1臺磁盤陣列來實現(xiàn)系統(tǒng)部署。
圖2 全冗余部署模式
4.2.1服務(wù)器硬盤RAID配置
建議將每臺服務(wù)器的硬盤劃分為兩個部分:第一部分硬盤數(shù)量視存儲空間配置為雙數(shù)(比如2塊),配置RAID1,用于安裝操作系統(tǒng);第二部分硬盤配置RAID5,用于部署程序和存放數(shù)據(jù)。
4.2.2服務(wù)器通過光存儲交換機連接存儲
每臺服務(wù)器需要安裝2塊HBA卡,4臺服務(wù)器通過HBA卡分別連接到2臺冗余的光存儲交換機,再通過2臺光存儲交換機連接到磁盤陣列的2個冗余的控制器。連接時建議采用機柜的光配連通。
4.2.3服務(wù)器集群搭建
2臺應(yīng)用服務(wù)器、2臺數(shù)據(jù)庫服務(wù)器之間均采用心跳線相連。應(yīng)用服務(wù)器集群可以采用操作系統(tǒng)自身集群或者中間件集群等方式。數(shù)據(jù)庫服務(wù)器集群建議采用數(shù)據(jù)庫集群方式(如Oracle RAC)。公用數(shù)據(jù)均存放在磁盤陣列中。
4.2.4服務(wù)器雙網(wǎng)卡聚合
每臺服務(wù)器的兩塊網(wǎng)卡做聚合,虛擬為一個IP地址,視為同一塊網(wǎng)卡。
5.1系統(tǒng)各層次、各設(shè)備的冗余
通過以上部署模式,盡可能實現(xiàn)了系統(tǒng)各個層次、各個設(shè)備的冗余。具體如下:
5.1.1服務(wù)器硬盤冗余
每臺服務(wù)器中用做操作系統(tǒng)安裝的硬盤采用RAID1部署(完全鏡像),一旦損壞1塊磁盤,不影響操作系統(tǒng)運行。另外部分的硬盤采用RAID5部署(N-1模式),損壞磁盤數(shù)量不大于1塊,不影響程序運行。
5.1.2服務(wù)器網(wǎng)卡冗余
由于每臺服務(wù)器的兩塊網(wǎng)卡做了聚合,一旦損壞1塊網(wǎng)卡,不影響網(wǎng)絡(luò)連通。
5.1.3應(yīng)用服務(wù)器冗余
2臺應(yīng)用服務(wù)器通過搭建操作系統(tǒng)自身集群或者中間件集群,一旦1臺應(yīng)用服務(wù)器損壞,不影響系統(tǒng)運行,如圖3所示。
圖3 應(yīng)用服務(wù)器冗余
5.1.4數(shù)據(jù)庫服務(wù)器冗余
2臺數(shù)據(jù)庫服務(wù)器通過搭建數(shù)據(jù)庫集群,一旦1臺數(shù)據(jù)庫服務(wù)器損壞,不影響數(shù)據(jù)庫對外提供服務(wù),如圖4所示。
圖4 數(shù)據(jù)庫服務(wù)器冗余
5.1.5光存儲交換機冗余
通過配置2臺冗余的光存儲交換機,一旦1臺光存儲交換機損壞,不影響服務(wù)器與磁盤陣列的連通,如圖5所示。
圖5 光存儲交換機冗余
5.1.6磁盤陣列控制器冗余
通過選用帶有冗余的雙控制器磁盤陣列,一旦一個控制器發(fā)生損壞,不影響服務(wù)器通過光存儲交換機與磁盤陣列連通,如圖6所示。
圖6 磁盤陣列控制器冗余
同時應(yīng)用數(shù)據(jù)、數(shù)據(jù)庫數(shù)據(jù)文件等公有數(shù)據(jù)均保存在磁盤陣列中,大大提高了可靠性。
考慮一種比較極端的情況,假設(shè)1臺應(yīng)用服務(wù)器、1臺數(shù)據(jù)庫服務(wù)器、1臺光存儲交換機、磁盤陣列的1個控制器同時發(fā)生故障,系統(tǒng)照樣可以繼續(xù)運行,如圖7所示。
圖7 極端情況下磁盤陣列控制器冗余
5.2系統(tǒng)整體應(yīng)用優(yōu)勢
①對服務(wù)器硬件配置要求不高,可以根據(jù)應(yīng)用情況采用不同型號或配置;②可利用原有生產(chǎn)系統(tǒng)快速構(gòu)建雙機系統(tǒng),性價比高;③系統(tǒng)切換時間短,最大程度減少業(yè)務(wù)中斷的影響;④切換過程對應(yīng)用程序無影響,無需重新啟動或登錄,做到無人值守;⑤系統(tǒng)效率高,系統(tǒng)中數(shù)據(jù)讀寫、管理及容錯由磁盤陣列來完成。而系統(tǒng)服務(wù)故障監(jiān)控切換處理由軟件來完成。雙機監(jiān)控依靠串口線路或?qū)S肨CP/IP網(wǎng)路線路,既不占用主機CPU資源也不占用基礎(chǔ)業(yè)務(wù)網(wǎng)絡(luò)帶寬,在實際應(yīng)用中得到用戶的一致好評;⑥支持豐富的應(yīng)用配置,如:Oracle、MSSQL、Sybase、MySQL、文件服務(wù)、Web服務(wù)等,無需額外插件支持用戶自定義應(yīng)用;⑦硬件可采用機架式結(jié)構(gòu),便于維護管理。
通過上一章節(jié)中的高可用性分析,該部署模式實現(xiàn)了應(yīng)用服務(wù)器、數(shù)據(jù)庫服務(wù)器、光存儲交換機、磁盤陣列等各個層次和設(shè)備的冗余,大大提高了系統(tǒng)可用性。不過,由于該部署模式涉及設(shè)備較多、部署方式相對復(fù)雜、對管理員的技術(shù)要求較高,后續(xù)可以通過硬件功能整合改進等方式來進一步優(yōu)化。
[1]謝文超.全冗余系統(tǒng)的設(shè)計與應(yīng)用[J].江蘇鍋爐,2014(3):45~49.
[2]汪 嘯.采用冗余數(shù)據(jù)刪除技術(shù)進行備份系統(tǒng)優(yōu)化的應(yīng)用研究[J].信息通信,2015(3):26.
[3]侯麗娟.網(wǎng)絡(luò)冗余技術(shù)在公司局域網(wǎng)的應(yīng)用分析[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2014(11):132~133.
[4]丁 鑫.基于網(wǎng)絡(luò)冗余技術(shù)的應(yīng)用[J].工業(yè)控制計算機,2014,27(5):162.
胡 亮(1984-),男,工程師,本科,主要從事信息系統(tǒng)管理方面的工作。
TP311.5
A
2095-2066(2016)13-0042-03
2016-4-10