文/饒東
服務(wù)器集群指的是將不同的服務(wù)器通過(guò)群集軟件和群集操作,以節(jié)點(diǎn)連接的方式集中起來(lái),提供同一種集群服務(wù)。因?yàn)閷⒉煌_(tái)計(jì)算機(jī)連接起來(lái),所以計(jì)算速度較快,且可以利用多臺(tái)計(jì)算機(jī)做備份存儲(chǔ),當(dāng)一臺(tái)機(jī)器出現(xiàn)故障后還能保證整個(gè)系統(tǒng)正常運(yùn)作。在集群系統(tǒng)中,每一個(gè)集群節(jié)點(diǎn)都有自己的資源,對(duì)自己的用戶端負(fù)責(zé),但同時(shí)又能實(shí)現(xiàn)資源的共享,擁有比單獨(dú)工作的服務(wù)器更高的可用性和可擴(kuò)充性。
服務(wù)器集群有以下特點(diǎn):
(1)所創(chuàng)建的集群系統(tǒng)能解決服務(wù)器硬件故障,也就是當(dāng)一臺(tái)服務(wù)器出現(xiàn)硬盤、內(nèi)存或電源等故障時(shí),其他服務(wù)器依然正常運(yùn)作,這樣就可以將這臺(tái)故障服務(wù)器上的應(yīng)用自動(dòng)切換到其他無(wú)故障的服務(wù)器上,保證整個(gè)服務(wù)器集群系統(tǒng)依然可以正常運(yùn)行。
(2)集群系統(tǒng)還能解決軟件系統(tǒng)方面的問(wèn)題。在計(jì)算機(jī)系統(tǒng)中,軟件包括應(yīng)用程序和數(shù)據(jù),當(dāng)應(yīng)用軟件系統(tǒng)和操作系統(tǒng)以及服務(wù)器三者之間任何一個(gè)出現(xiàn)故障問(wèn)題后,系統(tǒng)便會(huì)停止向客戶端提供服務(wù),這時(shí)就會(huì)出現(xiàn)死機(jī)現(xiàn)象。但是在集群系統(tǒng)中,當(dāng)一個(gè)服務(wù)器出現(xiàn)故障后其他服務(wù)器會(huì)將該服務(wù)器上的應(yīng)用系統(tǒng)轉(zhuǎn)接過(guò)去,這樣就能繼續(xù)向客戶端提供服務(wù)。
(3)集群系統(tǒng)可以解決人為操作失誤引起的問(wèn)題,當(dāng)管理員因?yàn)椴僮鞑划?dāng)而引起某臺(tái)服務(wù)器陷入停機(jī)問(wèn)題后,通過(guò)集群系統(tǒng)監(jiān)控可以及時(shí)用其他某臺(tái)服務(wù)器去接管該故障服務(wù)器上的應(yīng)用系統(tǒng),避免人為操作不當(dāng)而產(chǎn)生嚴(yán)重的故障問(wèn)題。
根據(jù)集群系統(tǒng)特征的不同可以分成三種集群系統(tǒng)。第一種是高可用性集群,這一類服務(wù)器集群的目標(biāo)是為客戶端提供高度可靠的服務(wù),也就是利用集群系統(tǒng)的容錯(cuò)性向客戶端提供不間斷連續(xù)且可靠的服務(wù),比如高可用文件服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)等應(yīng)用。第二類是負(fù)載均衡集群,也就是通過(guò)集群系統(tǒng)將任務(wù)平均分配給不同的計(jì)算機(jī)處理,充分發(fā)揮集群系統(tǒng)的處理能力,提高工作效率。在具體應(yīng)用時(shí)可以將高可用集群和負(fù)載均衡集群混合應(yīng)用,這樣向客戶端提供的服務(wù)將更加高效和穩(wěn)定。第三類是性能計(jì)算集群,這類集群系統(tǒng)運(yùn)行的是專門開發(fā)的并行應(yīng)用程序也就是將同一個(gè)任務(wù)或問(wèn)題相關(guān)數(shù)據(jù)分發(fā)到不同的計(jì)算機(jī)上,這些計(jì)算機(jī)之間進(jìn)行的是并行計(jì)算,同時(shí)可利用共享的資源實(shí)現(xiàn)計(jì)算。計(jì)算速度較快且計(jì)算精確度高,能解決單獨(dú)運(yùn)行時(shí)無(wú)法解決的問(wèn)題,被廣泛應(yīng)用在天氣預(yù)報(bào)、石油勘探和生物計(jì)算中。
本文以高可用性集群為例,簡(jiǎn)要談?wù)勗诰唧w應(yīng)用時(shí)常見的部署模式,分析技術(shù)應(yīng)用特點(diǎn)和應(yīng)用的原則。一般高可用性集群技術(shù)在設(shè)計(jì)部署時(shí)可以分成功能節(jié)點(diǎn)部署、服務(wù)接口部署、心跳系統(tǒng)和集群邏輯部署以及文件數(shù)據(jù)數(shù)據(jù)系統(tǒng)部署。
3.2.1 功能節(jié)點(diǎn)部署
高可用性集群技術(shù)應(yīng)用的核心是功能節(jié)點(diǎn)部署,通過(guò)功能節(jié)點(diǎn)部署使服務(wù)器集群向客戶端提供各種應(yīng)用和服務(wù)。在設(shè)計(jì)時(shí)主要包括主節(jié)點(diǎn)的設(shè)計(jì),和多個(gè)冗余輔節(jié)點(diǎn)的設(shè)計(jì)。其中冗余節(jié)點(diǎn)的設(shè)計(jì)可以提高服務(wù)器集群技術(shù)應(yīng)用的高可用性和可擴(kuò)充性,在實(shí)際應(yīng)用時(shí)通過(guò)服務(wù)器表達(dá)這些功能單元。
首先,在服務(wù)器主機(jī)部署方面,主機(jī)是由處理器、主內(nèi)存和相關(guān)外圍線路構(gòu)成,主機(jī)可以以計(jì)算模塊方式接入到集群中。另外,可以利用虛擬機(jī)技術(shù),以計(jì)算機(jī)硬件為基礎(chǔ)虛擬多個(gè)不同的主機(jī)單元,這樣就實(shí)現(xiàn)了軟件和硬件的分離。其次,在操作系統(tǒng)部署時(shí),UNIX操作系統(tǒng)具有技術(shù)成熟、高效安全和質(zhì)量指標(biāo)高的優(yōu)勢(shì),部署起來(lái)簡(jiǎn)便且人性化程度高,管理員可結(jié)合實(shí)際工作環(huán)境快速安裝和部署該操作系統(tǒng)。此外,在網(wǎng)絡(luò)接口部署時(shí)根據(jù)集群系統(tǒng)實(shí)際工作環(huán)境選擇,如果節(jié)點(diǎn)使用的是高速通信線路,則網(wǎng)絡(luò)接入在集群服務(wù)器接口處部署。如果集群節(jié)點(diǎn)部署較為分散,注意網(wǎng)絡(luò)節(jié)點(diǎn)作為集群系統(tǒng)的一部分,應(yīng)將節(jié)點(diǎn)包含在集群邏輯內(nèi)。通過(guò)網(wǎng)絡(luò)線路實(shí)現(xiàn)各個(gè)節(jié)點(diǎn)的連接??傊?,在功能節(jié)點(diǎn)部署時(shí)要保證節(jié)點(diǎn)的高可用性,同時(shí)要綜合考慮硬軟件設(shè)施,做好操作系統(tǒng)。應(yīng)用系統(tǒng)和網(wǎng)絡(luò)接口的選擇與部署工作,保證每一個(gè)單一節(jié)點(diǎn)的可用性,保證服務(wù)效率。
3.2.2 服務(wù)接口部署
在服務(wù)器集群的應(yīng)用中,用戶是通過(guò)集群服務(wù)器接口實(shí)現(xiàn)對(duì)集群應(yīng)用和服務(wù)的使用的,所以服務(wù)接口的設(shè)計(jì)和部署也非常重要。首先,在集群設(shè)計(jì)時(shí)要保證服務(wù)器接口的可用性,避免發(fā)生接口宕機(jī)問(wèn)題,將接口容錯(cuò)設(shè)計(jì)放在設(shè)計(jì)首位。此外,值得注意的是服務(wù)網(wǎng)關(guān)只作為服務(wù)傳輸通道,而集群服務(wù)代理模式下則是直接通過(guò)代理服務(wù)器處理用戶請(qǐng)求,并轉(zhuǎn)為集群內(nèi)部邏輯,實(shí)現(xiàn)統(tǒng)一調(diào)度。
3.2.3 心跳系統(tǒng)和集群邏輯部署
心跳系統(tǒng)是集群各個(gè)節(jié)點(diǎn)的通信通道,也是實(shí)現(xiàn)集群高可用性的根本保證。通過(guò)心跳系統(tǒng)實(shí)現(xiàn)集群各個(gè)功能節(jié)點(diǎn)的連接,并發(fā)送和共享節(jié)點(diǎn)資源,同時(shí)通過(guò)對(duì)心跳系統(tǒng)傳輸過(guò)來(lái)的信息的分析做出決策。在設(shè)計(jì)時(shí)要注意通過(guò)多條線路對(duì)傳遞信息加以驗(yàn)證,不能只使用單一的線路系統(tǒng),必須保證服務(wù)器集群中各個(gè)功能節(jié)點(diǎn)可以實(shí)現(xiàn)同步更新。在集群邏輯部署中,則應(yīng)盡可能選擇單獨(dú)部署模式,避免服務(wù)接口失效或功能節(jié)點(diǎn)故障問(wèn)題,從而保證整個(gè)系統(tǒng)可以正常運(yùn)行。
3.2.4 文件數(shù)據(jù)系統(tǒng)部署
關(guān)于文件數(shù)據(jù)存儲(chǔ)部署技術(shù),常見的有網(wǎng)絡(luò)附著存儲(chǔ)技術(shù)和存儲(chǔ)區(qū)域網(wǎng)絡(luò)技術(shù)兩種,其中網(wǎng)絡(luò)附著技術(shù)應(yīng)用簡(jiǎn)單,且維護(hù)難度較低,主要是幫助用戶解決存儲(chǔ)容量擴(kuò)容的問(wèn)題,而存儲(chǔ)區(qū)域網(wǎng)絡(luò)數(shù)據(jù)文件存儲(chǔ)技術(shù)在傳輸數(shù)據(jù)方面的可靠性較高,且性能良好。在服務(wù)器集群技術(shù)中,文件數(shù)據(jù)存儲(chǔ)是在集群節(jié)點(diǎn)外部署的,該部署方式的優(yōu)勢(shì)是可以保證各個(gè)節(jié)點(diǎn)在數(shù)據(jù)訪問(wèn)時(shí)保持一致,從而提高數(shù)據(jù)文件訪問(wèn)存儲(chǔ)的可靠性。
服務(wù)器集群技術(shù)可提高客戶端服務(wù)的可靠性,同時(shí)可降低運(yùn)行維護(hù)的成本。本文對(duì)高可用性集群系統(tǒng)的應(yīng)用原理、特征和原則等進(jìn)行了分析,在未來(lái)在數(shù)據(jù)業(yè)務(wù)中將經(jīng)常會(huì)用到集群技術(shù),可滿足系統(tǒng)對(duì)連續(xù)服務(wù)的需求,獲得良好的應(yīng)用效果。