金天昕
摘要:高校應(yīng)用系統(tǒng)上線運(yùn)行后,如何保證系統(tǒng)的強(qiáng)壯性就是頭等大事,但由于種種條件的限制,每套系統(tǒng)都不可能按照高可用性的標(biāo)準(zhǔn)去部署,有的時(shí)候是單機(jī)運(yùn)行,條件好的可以集群部署,因而,要保證系統(tǒng)服務(wù)不間斷及發(fā)生故障后能盡快恢復(fù),就成了運(yùn)維工作的重中之重。
關(guān)鍵詞:系統(tǒng)強(qiáng)壯性;高可用性;快速恢復(fù)
中圖分類號(hào):TP311? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2019)24-0231-02
開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
、
Talking about the Robustness of the Application System in Colleges and Universities
JIN Tian-xin
(Wuxi City College of Vocational Technology, Wuxi 214153, China)
Abstract: How to ensure the robustness of the system is the most important thing after the application system in Colleges and universities is running online. However, due to the restrictions of various conditions, it is impossible to deploy each system according to the high availability standard. Sometimes it runs on a single computer and can be deployed in clusters under good conditions. Therefore, to ensure the uninterrupted service of the system and to recover as soon as possible after the failure occurs, it becomes operation and maintenance. The top priority of the work.
Key words: system robustness; high availability; fast recovery
1 引言
隨著高校信息化建設(shè)的不斷發(fā)展,部署上線的應(yīng)用系統(tǒng)日益增多,完成部署后,在廣大教職工用戶開始體驗(yàn)新功能,感受更高工作效率的時(shí)候,IT部門的技術(shù)人員卻要面對(duì)另一種壓力——如何保證系統(tǒng)的強(qiáng)壯性。強(qiáng)壯性不僅僅指系統(tǒng)服務(wù)的不間斷的運(yùn)行,還包括出現(xiàn)故障后如何用最短時(shí)間恢復(fù)服務(wù),其不僅包括恢復(fù)的速度,也包括恢復(fù)的程度,是一個(gè)更為寬泛的概念。行業(yè)內(nèi)一般比較關(guān)注高可用性(High Availability,通常來描述一個(gè)系統(tǒng)經(jīng)過專門的設(shè)計(jì),從而減少停工時(shí)間,保持其服務(wù)的高度可用性),這是強(qiáng)壯性要求里面一個(gè)非常重要,甚至是核心的內(nèi)容,但不是全部,故障恢復(fù)能力也是構(gòu)成強(qiáng)壯性不可或缺的內(nèi)容之一。運(yùn)維中,容易引發(fā)問題的方面,有硬件可靠性、軟件穩(wěn)定性、病毒的入侵、黑客的攻擊、電力的保證、環(huán)境的控制等。要實(shí)現(xiàn)系統(tǒng)的高質(zhì)量運(yùn)行目標(biāo),從部署模式到數(shù)據(jù)恢復(fù)都是必須下功夫認(rèn)真對(duì)待的環(huán)節(jié),系統(tǒng)強(qiáng)壯性就是這方面的一個(gè)概括,主要包含兩個(gè)內(nèi)容,一是用高可用的措施盡量保證系統(tǒng)不出現(xiàn)故障,二是在不得已出現(xiàn)故障后,如何快速恢復(fù)系統(tǒng)運(yùn)行。本文將就系統(tǒng)的高可用方案和如何快速恢復(fù)運(yùn)行兩個(gè)方面進(jìn)行討論。
2 目前系統(tǒng)部署模式方面存在的問題
目前高校部署應(yīng)用系統(tǒng),根據(jù)各自條件的不同,一般分為單機(jī)運(yùn)行模式、雙機(jī)運(yùn)行模式、集群運(yùn)行模式等。在高可用性方面,各有短長。
1)單機(jī)運(yùn)行是將服務(wù)所要運(yùn)行的幾個(gè)模塊都部署在一個(gè)操作系統(tǒng)里,既有web訪問頁面,也有數(shù)據(jù)庫,還有密鑰服務(wù)、office轉(zhuǎn)換服務(wù)、文件檢索服務(wù)等,其穩(wěn)定運(yùn)行依賴于pc的穩(wěn)定,對(duì)于訪問量小的應(yīng)用場(chǎng)景是合適的,但對(duì)軟件的穩(wěn)定要求很高,各個(gè)功能模塊都必須穩(wěn)定可靠,一旦其中的某個(gè)模塊出現(xiàn)故障,應(yīng)用系統(tǒng)就無法訪問了,整個(gè)服務(wù)都無法繼續(xù),服務(wù)恢復(fù)的快慢,完全取決于排除故障的速度,在強(qiáng)壯性方面是較差的一種模式,完全不具有高可用性。其優(yōu)點(diǎn)是投入少,性價(jià)比高。
2)雙機(jī)運(yùn)行模式,采用部署兩臺(tái)完全一樣的pc,內(nèi)部環(huán)境及部署模塊一模一樣,但數(shù)據(jù)庫存現(xiàn)同步的需要,需要額外進(jìn)行配置,此模式由于多了一個(gè)保障設(shè)備,通過不同機(jī)制實(shí)現(xiàn)強(qiáng)壯性的提高,而排除故障的復(fù)雜度也大于單機(jī)模式,因?yàn)楸仨毧紤]到其關(guān)聯(lián)性,否則只有一臺(tái)出故障,也會(huì)造成兩天都無法訪問,整個(gè)應(yīng)用停止的極端情況,其強(qiáng)壯性要優(yōu)于單機(jī)模式。投入同樣高于單機(jī)模式。
3)集群模式則采用多機(jī)協(xié)同的方式,將web訪問、數(shù)據(jù)存儲(chǔ)、負(fù)載均衡、文件搜索等功能進(jìn)行分散部署,將故障發(fā)生的概率分?jǐn)偟讲煌锢頇C(jī)或虛擬機(jī)上,甚至條件好的高??梢詫?shí)現(xiàn)每個(gè)節(jié)點(diǎn)的雙機(jī)互備,代價(jià)就是費(fèi)用高昂,對(duì)維護(hù)人員提出更高要求,以及發(fā)生故障的節(jié)點(diǎn)增多。但故障恢復(fù)相對(duì)快捷,因?yàn)橐粋€(gè)功能只牽涉到一臺(tái)設(shè)備(物理的或虛擬的)。創(chuàng)建群集系統(tǒng),通過實(shí)現(xiàn)高可用性的軟件將冗余的高可用性的硬件組件和軟件組件組合起來,消除單點(diǎn)故障:
l 消除供電的單點(diǎn)故障
l 消除磁盤的單點(diǎn)故障
l 消除SPU(System Process Unit)單點(diǎn)故障
l 消除網(wǎng)絡(luò)單點(diǎn)故障
l 消除軟件單點(diǎn)故障
3 高可用性的實(shí)現(xiàn)方法
1)單機(jī)模式,其服務(wù)不間斷的要求,完全取決于主機(jī)的軟硬件自身的強(qiáng)壯性,唯一可做的,就是經(jīng)常進(jìn)行硬件運(yùn)行狀態(tài)檢查,并采用手工方式,給操作系統(tǒng)打補(bǔ)丁,應(yīng)用系統(tǒng)升級(jí)、清理文件碎片,殺毒等維護(hù)操作,盡力使整個(gè)軟硬件運(yùn)行在正常狀態(tài),這是單機(jī)模式保證服務(wù)不間斷的唯一方式。
2)雙機(jī)模式,也稱為雙工方式(互備互援),其工作原理是:兩臺(tái)主機(jī)同時(shí)運(yùn)行各自的服務(wù)工作且相互監(jiān)測(cè)情況,兩臺(tái)服務(wù)器利用本地磁盤存儲(chǔ)業(yè)務(wù)數(shù)據(jù),ServHA鏡像雙機(jī)熱備軟件(ServHA Mirror)負(fù)責(zé)實(shí)時(shí)同步兩臺(tái)服務(wù)器數(shù)據(jù),保證兩臺(tái)服務(wù)器數(shù)據(jù)完全一致,由主服務(wù)器對(duì)外服務(wù),并將業(yè)務(wù)數(shù)據(jù)實(shí)時(shí)同步至備份服務(wù)器,一旦主服務(wù)器發(fā)生故障(例如:操作系統(tǒng)宕機(jī)、服務(wù)器意外掉電、網(wǎng)絡(luò)故障等),由ServHA雙機(jī)熱備軟件自動(dòng)將業(yè)務(wù)應(yīng)用切換至備用服務(wù)器繼續(xù)對(duì)外服務(wù),保護(hù)業(yè)務(wù)應(yīng)用不間斷運(yùn)行。即使發(fā)生服務(wù)器的切換,用戶也是感覺不到的。這個(gè)架構(gòu)基本具備了高可用性的能力。
3)集群模式(多服務(wù)器互備方式),是高可用性體現(xiàn)最好的架構(gòu),采用全冗余方式,其工作原理是:多臺(tái)主機(jī)一起工作,各自運(yùn)行一個(gè)或幾個(gè)服務(wù),各為服務(wù)定義一個(gè)或多個(gè)備用主機(jī),當(dāng)某個(gè)主機(jī)故障時(shí),運(yùn)行在其上的服務(wù)就可以被其它主機(jī)接管。集群方式含負(fù)載均衡、頁面服務(wù)器、文件存儲(chǔ)服務(wù)器,三個(gè)環(huán)節(jié)都需要進(jìn)行熱備,各自需要建立一個(gè)備份機(jī)。主服務(wù)器和備份機(jī)上都運(yùn)行High Availability監(jiān)控程序,通過傳送諸如“I am alive”這樣的信息來監(jiān)控對(duì)方的運(yùn)行狀況。當(dāng)備份機(jī)不能在一定的時(shí)間內(nèi)收到這樣的信息時(shí),它就接管主服務(wù)器的服務(wù)IP并繼續(xù)提供服務(wù);當(dāng)備份管理器又從主管理器收到“I am alive”這樣的信息時(shí),它就釋放服務(wù)IP地址,這樣的主管理器就開始再次進(jìn)行集群管理的工作了。為在主服務(wù)器失效的情況下系統(tǒng)能正常工作,我們?cè)谥?、備份機(jī)之間實(shí)現(xiàn)負(fù)載集群系統(tǒng)配置信息的同步與備份,保持二者系統(tǒng)的基本一致。
4 故障快速恢復(fù)的實(shí)現(xiàn)方法
故障快速恢復(fù),包括恢復(fù)的速度和恢復(fù)的程度。為了保證恢復(fù)工作的高效,應(yīng)該從兩個(gè)維度進(jìn)行準(zhǔn)備,硬件維度和軟件維度。
硬件維度,在設(shè)備的配件冗余、主機(jī)冗余方面進(jìn)行準(zhǔn)備,在服務(wù)停止時(shí)間容忍度評(píng)估的基礎(chǔ)上,進(jìn)行采購及備貨的安排,在保證硬件及配件到位的速度和資金壓力之間找到平衡。這方面不是本文的重點(diǎn),在此略過。
軟件維度,包括系統(tǒng)運(yùn)行環(huán)境、各類插件、中間件、數(shù)據(jù)庫、運(yùn)行數(shù)據(jù)及附件的備份等幾個(gè)方面。
對(duì)于單機(jī)版模式,只有一臺(tái)離線主機(jī)(物理或虛擬),可以想象,恢復(fù)時(shí)間是最長的,數(shù)據(jù)運(yùn)行需要的環(huán)境都要重新安裝一遍,其恢復(fù)時(shí)間是以天為單位計(jì)。這無疑是難以容忍的。要避免這種重頭再來的恢復(fù)方式,可行的辦法是部署一臺(tái)離線的備用機(jī),無論物理機(jī)或虛擬機(jī),確保運(yùn)行環(huán)境和主機(jī)一致,日常做好運(yùn)行數(shù)據(jù)及附件的備份及導(dǎo)入,備用機(jī)在工作能力角度,處于隨時(shí)做好上線工作的準(zhǔn)備狀態(tài),同時(shí)考慮好備用機(jī)工作期間運(yùn)行數(shù)據(jù)及附件的備份,待主機(jī)修復(fù)后能回到主機(jī),這樣,故障恢復(fù)的時(shí)間可以縮小到以小時(shí)為單位。
雙機(jī)模式,和單機(jī)模式看似相同,但有本質(zhì)區(qū)別,單機(jī)是離線冷備份,雙機(jī)是在線熱備份,兩臺(tái)機(jī)器的資料互為備份,按設(shè)置的心跳偵聽機(jī)制進(jìn)行實(shí)時(shí)的數(shù)據(jù)同步,甚至提供頁面服務(wù)都可以輪流進(jìn)行,做到了自動(dòng)實(shí)時(shí)同步,那么恢復(fù)故障所花的時(shí)間,可以縮短到分鐘基本,是系統(tǒng)強(qiáng)壯性較高的一種運(yùn)維模式。
集群系統(tǒng)則復(fù)雜很多,機(jī)器數(shù)量大大增加,不僅實(shí)現(xiàn)web訪問的雙機(jī)熱備,甚至連負(fù)載均衡、文件存儲(chǔ)也都實(shí)現(xiàn)了雙機(jī)熱備,從數(shù)據(jù)備份的角度看,和雙機(jī)系統(tǒng)運(yùn)行機(jī)制類似,但數(shù)據(jù)可靠性大幅度增加,出現(xiàn)故障后能自動(dòng)進(jìn)行熱備機(jī)切換,實(shí)現(xiàn)了故障恢復(fù)時(shí)間可以降低到秒級(jí),是非常強(qiáng)悍的一種保障機(jī)制。
上文提到的,恢復(fù)速度,主要取決于硬件、運(yùn)行環(huán)境、各類插件、中間件、數(shù)據(jù)庫的恢復(fù)速度,而恢復(fù)程度,則取決于運(yùn)行數(shù)據(jù)、附件及其還原程度。這里要求用于恢復(fù)的數(shù)據(jù)格式必須保持導(dǎo)出時(shí)的原樣,內(nèi)容也不能有任何缺失,否則會(huì)導(dǎo)致恢復(fù)的失敗。
5 總結(jié)
通過梳理,我們發(fā)現(xiàn),應(yīng)用系統(tǒng)的強(qiáng)壯性,需要高可用性和快速恢復(fù)能力共同來構(gòu)建,兩手抓兩手都要硬,從而來確保高校信息化服務(wù)的持續(xù)穩(wěn)定,為各項(xiàng)工作提供現(xiàn)代化助力,為高校的建設(shè)和發(fā)展,做出IT行業(yè)應(yīng)有的貢獻(xiàn)。
參考文獻(xiàn):
[1] 劉小兵.分布式應(yīng)用服務(wù)提供平臺(tái)的研究與實(shí)現(xiàn)[D].電子科技大學(xué),2011.
[2] 張弦.高可用性URL分類查詢系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京郵電大學(xué),2012.
[3] 鄧仲舉.高可靠性集群部署的設(shè)計(jì)與實(shí)現(xiàn)[D].華中科技大學(xué),2012.
[4] 黃洲.Apache-Tomcat服務(wù)器集群管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].華中科技大學(xué),2011.
[5] 梁銳.基于Web服務(wù)器集群的負(fù)載均衡系統(tǒng)研究與實(shí)現(xiàn)[D].大連海事大學(xué),2013.
[6] 趙文浩.分布式校園信息服務(wù)平臺(tái)的研究與實(shí)現(xiàn)[D].河北工業(yè)大學(xué),2014.
[7] 王祎.基于Web應(yīng)用的動(dòng)態(tài)集群策略研究與設(shè)計(jì)[D].蘇州大學(xué),2014.
[8] 王文義,辛小南,王若雨.高性能集群計(jì)算機(jī)的構(gòu)建與應(yīng)用[J].計(jì)算機(jī)工程與應(yīng)用,2001(17).
【通聯(lián)編輯:代影】