【摘 要】當今高可用性集群技術(shù)已經(jīng)發(fā)展的非常成熟,并在網(wǎng)絡(luò)系統(tǒng)中部署、應(yīng)用日益廣泛。本文介紹了高可用性集群技術(shù)的原理,應(yīng)用和部署知識。并對其特點和部署方法進行了剖析和解釋,總結(jié)提出了高可用性集群設(shè)計和應(yīng)用的一些基本原則,希望能對讀者的工作有一些啟發(fā)和幫助。
【關(guān)鍵詞】網(wǎng)絡(luò);高可用性;集群技術(shù)
一、引言
隨著網(wǎng)絡(luò)技術(shù)飛速的發(fā)展,網(wǎng)絡(luò)服務(wù)的日益普及。用戶在生活和工作上對網(wǎng)絡(luò)越來越依賴。對網(wǎng)絡(luò)的可靠性要求越來越高??捎眯宰鳛橄到y(tǒng)可靠性的一個重要指標。已經(jīng)越來越受到服務(wù)提供商和開發(fā)者的重視。高可用性集群是為了保證系統(tǒng)高可用性而設(shè)計的一種服務(wù)集群技術(shù)。它在應(yīng)用中的良好表現(xiàn),使得人們對它的未來充滿希望。
二、高可用性集群(High Availability Cluster)技術(shù)
1.可用性(Availability)定義
可用性是指在要求的外部資源得到保證的前提下,產(chǎn)品(軟硬件設(shè)備)在規(guī)定的條件下,在給定的瞬時或在給定的時間間隔內(nèi),處于執(zhí)行所需功能狀態(tài)的能力。常使用系統(tǒng)保持正常運行時間的百分比來表達(MTTF/(MTTF+MTTR)*100% MTTF為平均無故障時間)。
可用性是系統(tǒng)可靠性的一個重要指標,是可靠性評估中的一個重要評價對象。
2.高可用性集群
高可用性要求系統(tǒng)在標準的響應(yīng)時間內(nèi)有較強的執(zhí)行、完成任務(wù)的能力。減少系統(tǒng)應(yīng)用的失效時間,降低系統(tǒng)應(yīng)用的失效幾率。在網(wǎng)絡(luò)系統(tǒng)里我們?yōu)榱诉_到網(wǎng)絡(luò)系統(tǒng)的高可用性常常使用特定的集群技術(shù)來實現(xiàn)。這類具有服務(wù)高可用性的計算處理集群我們稱之為高可用性集群。
3.原理和應(yīng)用
高可用性集群中,同時運行著多個計算、服務(wù)節(jié)點。這些節(jié)點可能是某個計算設(shè)備也可能是某個軟件服務(wù)。在集群中的每個功能主節(jié)點都會被定義多份備用的輔節(jié)點。當集群系統(tǒng)中的提供應(yīng)用服務(wù)的主節(jié)點發(fā)生故障或失效時,輔助節(jié)點馬上接替主節(jié)點工作,為用戶進行服務(wù)。這種集群節(jié)點的冗余保障了集群的高可用性的實現(xiàn)。在集群技術(shù)中,用戶提交請求的對象是集群,并不需要感知集群內(nèi)部的控制策略。這種服務(wù)的透明性簡化了用戶的應(yīng)用操作。集群內(nèi)部的冗余和控制邏輯,保障了集群服務(wù)的高可用性。
使用高可用性集群技術(shù),同樣要依賴傳統(tǒng)容錯技術(shù)作為支撐基礎(chǔ)。軟硬件系統(tǒng)的設(shè)備冗余,數(shù)據(jù)冗余,錯誤回溯等等傳統(tǒng)容錯手段,從根本上保障著每個功能節(jié)點高可用性。在這個基礎(chǔ)上,集群中的多節(jié)點熱備才能達到設(shè)計的目標。
現(xiàn)在網(wǎng)絡(luò)技術(shù)的發(fā)展,無論硬件系統(tǒng)和軟件系統(tǒng)都得到了長足的進步。軟硬件系統(tǒng)的模塊化,構(gòu)件化設(shè)計,使得集群技術(shù)應(yīng)用越來越不能回避。當然集群技術(shù)本身的進步也是其得到廣泛應(yīng)用重要條件。網(wǎng)絡(luò)系統(tǒng)的不斷擴張,服務(wù)的不斷復(fù)雜化。對集群的可用性要求越來越高。特別是關(guān)鍵服務(wù)和普通服務(wù)的關(guān)鍵節(jié)點,對可用性的要求非??量?。這些都促進了高可用性集群的廣泛應(yīng)用和部署。在大、中型網(wǎng)絡(luò)中這種技術(shù)應(yīng)用已成為必要內(nèi)容。
三、高可用性集群的優(yōu)點
1.統(tǒng)一接口,使用便捷
采用集群化技術(shù)部署應(yīng)用。集群對象提供了統(tǒng)一的應(yīng)用服務(wù)接口。用戶通過這個統(tǒng)一的接口獲得集群對象所擁有應(yīng)用服務(wù)。方法簡單,結(jié)構(gòu)清晰,使用安全。集群系統(tǒng)提供的服務(wù)對用戶充分透明,不需要用戶考慮其內(nèi)部的結(jié)構(gòu)。
2.高可用性
高可用性集群技術(shù)帶來的高可用性表現(xiàn)對現(xiàn)代網(wǎng)絡(luò)系統(tǒng)十分重要。它最大程度的保證了用戶使用的連續(xù),保護用戶數(shù)據(jù)的安全。高可用性集群在關(guān)鍵業(yè)務(wù)上的應(yīng)用,越來越成熟。現(xiàn)在已經(jīng)完全可以保障長時間的可靠工作,確保網(wǎng)絡(luò)系統(tǒng),服務(wù),數(shù)據(jù),文件,進程以及數(shù)據(jù)庫穩(wěn)定、高效的工作。
3.部署靈活
網(wǎng)絡(luò)系統(tǒng)模塊化趨勢越來越明顯。網(wǎng)絡(luò)系統(tǒng)模塊化非常便于系統(tǒng)的更換和升級。模塊的更換的過程使得系統(tǒng)會發(fā)生一定的變化。而高可用性集群技術(shù)的部署方式可以很容易的化解系統(tǒng)硬件變更帶來系統(tǒng)變化。甚至可以實現(xiàn)在服務(wù)進行的同時完成系統(tǒng)的更新和維護。保障了系統(tǒng)服務(wù)可靠性,降低了系統(tǒng)更新的成本。滿足了系統(tǒng)用戶的需求。
四、高可用性集群部署
在網(wǎng)絡(luò)系統(tǒng)中部署高可用性集群應(yīng)用,有著多種解決方案可供選擇參考。本文通過一些比較常見應(yīng)用部署模式,探討其特點和原則。
高可用性集群技術(shù)部署常可分解為:功能節(jié)點部署,服務(wù)接口部署,心跳系統(tǒng)及集群邏輯部署和文件數(shù)據(jù)數(shù)據(jù)系統(tǒng)部署等幾個部分。
1.功能節(jié)點的部署
功能節(jié)點是高可用性集群中提供服務(wù)的基本單位。通過它來實現(xiàn)集群對外提供的各種應(yīng)用及服務(wù),達到集群設(shè)計的的功能性目標。對于每項功能服務(wù)都會包含一個主節(jié)點和一個或若干個冗余的輔節(jié)點。通過功能節(jié)點的冗余保證服務(wù)提供的高可用性。實際應(yīng)用中這些功能單元由提供應(yīng)用服務(wù)的功能單元(例如服務(wù)器)來表達。雖然有時提供路由,連接等網(wǎng)絡(luò)功能的設(shè)備集合也呈現(xiàn)出高可用集群的特征,但一般不歸入其研究范圍。
我們就一般通用服務(wù)器作為功能節(jié)點的模式進行討論,服務(wù)器的部署常常分為服務(wù)器主機,操作系統(tǒng),應(yīng)用系統(tǒng),網(wǎng)絡(luò)接口等幾個部分組成。
服務(wù)器主機是指集群節(jié)點服務(wù)器的硬件設(shè)施。一般由處理器,主存和相關(guān)外圍線路組成。目前服務(wù)器主機模塊化趨勢明顯,主機常常以計算模塊的形式接入集群。另一個服務(wù)主機發(fā)展的重要趨勢是虛擬機技術(shù)的應(yīng)用。在虛擬機技術(shù)中,依托硬件的計算能力可以虛擬出多個不同的主機單元。虛擬機技術(shù)的本質(zhì)是軟件部署和硬件部署充分分離。這是服務(wù)器部署技術(shù)的一個重要進步。
操作系統(tǒng)是應(yīng)用服務(wù)軟件基礎(chǔ)支撐。常見的操作系統(tǒng)主要有UNIX體系和Microsoft體系。UNIX體系(除了UNIX純正版本,還包括一些類UNIX和UNIX衍生版本)操作系統(tǒng)的特點,部署歷史長,技術(shù)成熟。高效安全,各項質(zhì)量指標極高,解決方案成功案例眾多。是大型網(wǎng)絡(luò)系統(tǒng)的首選解決方案。Microsoft家族中以windows server產(chǎn)品最為著名,其特點在于部署簡單,人性化強。便于管理員的快速部署??筛鶕?jù)實際工作環(huán)境選擇適當?shù)牟僮飨到y(tǒng)進行安裝、部署。有時也會根據(jù)要求混合部署。
應(yīng)用服務(wù)軟件是集群提供服務(wù)的應(yīng)用功能模塊。應(yīng)用系統(tǒng)應(yīng)提高本身的可用性。保證應(yīng)用本身的可靠,有效。
網(wǎng)絡(luò)接口的部署應(yīng)根據(jù)集群部署的實際環(huán)境選擇。當集群節(jié)點使用專有高速通信線路時,網(wǎng)絡(luò)的接入一般只在集群服務(wù)接口位置部署。而集群節(jié)點部署的耦合度較松,分布較為分散時,也常常通過網(wǎng)絡(luò)線路連接各個節(jié)點。這時候應(yīng)注意集群技術(shù)中,網(wǎng)絡(luò)節(jié)點是集群的一部分這個特點。避免其直接暴露在集群邏輯外部。
保證功能節(jié)點的高可用性,要通盤考慮硬件設(shè)施,操作系統(tǒng),應(yīng)用系統(tǒng)以及接口連接的選擇和部署。單個節(jié)點的可用性下降會導(dǎo)致集群系統(tǒng)不停的狀態(tài)切換,服務(wù)效率大幅降低。
2.服務(wù)接口部署
服務(wù)接口是集群對外的聯(lián)系通路。用戶通過集群的服務(wù)接口,對集群提供的應(yīng)用和服務(wù)進行調(diào)用。而不必考慮其實現(xiàn)的內(nèi)部邏輯。
服務(wù)接口常常會被設(shè)計為集群服務(wù)網(wǎng)關(guān)模式或者是集群服務(wù)代理的模式。服務(wù)網(wǎng)關(guān)模式中,當服務(wù)網(wǎng)關(guān)接受用戶的服務(wù)請求時,會通過網(wǎng)關(guān)內(nèi)部的邏輯,將用戶的請求轉(zhuǎn)交給相應(yīng)的服務(wù)提供節(jié)點。服務(wù)網(wǎng)關(guān)一般只作為服務(wù)傳遞的通道使用。服務(wù)代理模式中,代理服務(wù)器會將接到的用戶服務(wù)請求,處理,轉(zhuǎn)化為集群內(nèi)置的規(guī)則邏輯,進行統(tǒng)一的服務(wù)調(diào)度。
服務(wù)接口的可用性應(yīng)在集群設(shè)計時,提起充分的重視。如果服務(wù)接口宕機,整個集群的服務(wù)都將中斷。接口容錯設(shè)計在整個集群的節(jié)點的可用性設(shè)計中應(yīng)放在首位考慮。
3.心跳系統(tǒng)及集群邏輯部署
心跳系統(tǒng)及集群邏輯是實現(xiàn)計算集群高可用性的根本控制手段。其算法的選擇對保證集群的高可用性的非常重要。其設(shè)計的優(yōu)劣決定整個集群系統(tǒng)設(shè)計的成敗。
心跳系統(tǒng)是集群中各個節(jié)點的通信通道,是完成其同步控制的基礎(chǔ)。集群中各個功能節(jié)點依靠心跳系統(tǒng)連接,發(fā)送和共享相關(guān)節(jié)點的狀態(tài)和報告。并根據(jù)心跳系統(tǒng)傳遞的信息來更新自己的狀態(tài)并做出相應(yīng)的決策。心跳系統(tǒng)不應(yīng)使用單一線路系統(tǒng)。為了保障通信,同步的可靠性,應(yīng)通過多條線路和手段對傳遞信息驗證。確保集群中各個功能節(jié)點能夠正確的同步更新。
集群邏輯的設(shè)計是集群高可用性的關(guān)鍵。集群邏輯幫助集群判斷功能節(jié)點的有效性,當發(fā)現(xiàn)有節(jié)點發(fā)生失效時,快速做出決策,選擇備用節(jié)點為用戶服務(wù)。保障整個集群應(yīng)用的不中斷。
集群邏輯的部署應(yīng)竟可能選擇單獨部署模式,這樣確保不會因為服務(wù)接口失效,或者功能節(jié)點的故障而引起整個判斷邏輯的混亂。
4.文件數(shù)據(jù)系統(tǒng)部署
在網(wǎng)絡(luò)系統(tǒng)中存儲部署常見技術(shù)NAS(Network Attached Storage)和SAN(Storage Area Network).NAS(網(wǎng)絡(luò)附著存儲)使用維護簡便,它的重點在于幫助解決迅速增加存儲容量的需求。SAN(存儲區(qū)域網(wǎng)絡(luò))數(shù)據(jù)傳輸可靠,性能優(yōu)秀。是非常具有潛力的技術(shù)解決方案。
在集群技術(shù)中,文件數(shù)據(jù)存儲的是獨立于集群節(jié)點外進行部署的。這樣架構(gòu)的優(yōu)點是保證各個節(jié)點對數(shù)據(jù)訪問的一致性。文件數(shù)據(jù)的訪問存儲可靠性,通常是使用磁盤陣列等存儲安全技術(shù)來解決的,并不在本文討論范圍內(nèi)。
五、結(jié)論
本文介紹了高可用性集群技術(shù)的原理和特點。通過筆者對日常實際案例的總結(jié)和研究。探討了高可用性集群技術(shù)在應(yīng)用中部署的原則以及其固有的特點。希望這些結(jié)論能對讀者的開發(fā)和部署起到幫助,設(shè)計和搭設(shè)出高可用的計算集群。
參考文獻:
[1]文平.AIX UNIX系統(tǒng)管理、維護與高可用集群建設(shè)[M].機械工業(yè)出版社,2012-01.
[2]劉威.數(shù)據(jù)網(wǎng)絡(luò)組建與維護[M].科學出版社,2011,4.
[3]肖學華.網(wǎng)絡(luò)設(shè)備管理與維護[M].科學出版社,2011(06).
作者簡介:孟文娜,女,河北人,畢業(yè)于河北師范大學,現(xiàn)供職于保定師范??茖W校涿州分校,研究方向:計算機技術(shù)教育。