韓川疆
摘 要:隨著高校信息化建設(shè)的不斷深入,對(duì)作為高校核心業(yè)務(wù)之一的教務(wù)系統(tǒng)的要求越來(lái)越高。本文描述了西南石油大學(xué)對(duì)教務(wù)系統(tǒng)服務(wù)器架構(gòu)兩次調(diào)整過(guò)程的思路、方法和結(jié)果。通過(guò)調(diào)整很好地滿足了學(xué)校各個(gè)層面人員對(duì)高校教務(wù)系統(tǒng)的需求。在此思路的基礎(chǔ)上,提出了高校信息化系統(tǒng)統(tǒng)一架構(gòu)的設(shè)想,并說(shuō)明了在設(shè)計(jì)實(shí)施此架構(gòu)時(shí)需要考慮的一些問(wèn)題。
關(guān)鍵詞:信息化;大數(shù)據(jù);教務(wù)系統(tǒng)
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1673-8454(2015)17-0008-05
隨著信息化建設(shè)的不斷推進(jìn),各個(gè)高校都有比較多的信息化相關(guān)子系統(tǒng),且基本都建立了統(tǒng)一身份認(rèn)證平臺(tái),完成了對(duì)各個(gè)業(yè)務(wù)系統(tǒng)的數(shù)據(jù)抽取和整合。筆者走訪的北京、上海和成都等高校,發(fā)現(xiàn)這些信息化子系統(tǒng)都各自獨(dú)立,獨(dú)占一臺(tái)或多臺(tái)物理(或邏輯)服務(wù)器,這體現(xiàn)了高校在信息化統(tǒng)一架構(gòu)和資源集中管理方面意識(shí)相對(duì)比較薄弱。本文以西南石油大學(xué)教務(wù)系統(tǒng)服務(wù)器架構(gòu)調(diào)整為例,試圖利用現(xiàn)今互聯(lián)網(wǎng)企業(yè)在服務(wù)器運(yùn)維方面的成熟技術(shù),提出整個(gè)高校信息化整體架構(gòu)藍(lán)圖,在信息化統(tǒng)一架構(gòu)和資源集中管理方面進(jìn)行了一些探索。
一、教務(wù)系統(tǒng)服務(wù)器架構(gòu)調(diào)整及經(jīng)驗(yàn)
1.教務(wù)系統(tǒng)服務(wù)器架構(gòu)的第1次調(diào)整分析
西南石油大學(xué)教務(wù)系統(tǒng)從2002年上線至今已到第十三個(gè)年頭,到目前為止經(jīng)歷了兩次服務(wù)器架構(gòu)的調(diào)整,在教務(wù)系統(tǒng)軟件開(kāi)發(fā)商的配合下,取得了很好的效果。
學(xué)校教務(wù)系統(tǒng)上線初期采用兩臺(tái)Sun v880服務(wù)器,構(gòu)建了兩套完整的應(yīng)用系統(tǒng),數(shù)據(jù)庫(kù)則建立在其中一臺(tái)服務(wù)器上。該系統(tǒng)提供給用戶兩個(gè)登錄點(diǎn)由用戶自行選擇登錄。
系統(tǒng)運(yùn)行四年后,一方面由于高校的進(jìn)一步擴(kuò)招,在校生人數(shù)成倍遞增,導(dǎo)致學(xué)生選課時(shí)服務(wù)器資源耗盡;另一方面,由于服務(wù)器常年不間斷運(yùn)行,電子元件老化也影響了系統(tǒng)運(yùn)行效率。為此,學(xué)校采用如圖1所示架構(gòu),對(duì)服務(wù)器架構(gòu)進(jìn)行了第一次調(diào)整。調(diào)整內(nèi)容有:
(1)前端采用Apache配合Resin集群的方式做了負(fù)載均衡,后端數(shù)據(jù)庫(kù)采用雙機(jī)熱備的方式,后端存儲(chǔ)和數(shù)據(jù)庫(kù)服務(wù)器采用DAS(背板直連)方式連接,數(shù)據(jù)則存放在后端存儲(chǔ)上,存儲(chǔ)使用的是FC(光纖)硬盤。
(2)增加了監(jiān)控服務(wù)器,用于收集服務(wù)器運(yùn)行狀態(tài)數(shù)據(jù)。還可以通過(guò)設(shè)定相關(guān)服務(wù)器參數(shù)(CPU、內(nèi)存、流量等)閾值,在無(wú)人職守的情況下,將預(yù)警數(shù)據(jù)實(shí)時(shí)發(fā)送到管理員郵箱,使管理員可以第一時(shí)間趕赴現(xiàn)場(chǎng)處理相關(guān)問(wèn)題。
2.教務(wù)系統(tǒng)服務(wù)器架構(gòu)的第2次調(diào)整分析
在架構(gòu)調(diào)整之后幾年,運(yùn)行狀況一直比較穩(wěn)定,但是隨著時(shí)間的推移,從監(jiān)控服務(wù)器所收集的數(shù)據(jù)發(fā)現(xiàn),當(dāng)多個(gè)教學(xué)活動(dòng)集中在相同的時(shí)間段上進(jìn)行時(shí),服務(wù)器響應(yīng)開(kāi)始變慢。通過(guò)監(jiān)控服務(wù)器收集的數(shù)據(jù),結(jié)合對(duì)故障時(shí)間點(diǎn)的數(shù)據(jù)庫(kù)相關(guān)分析之后,發(fā)現(xiàn)問(wèn)題可能是多方面的。一是數(shù)據(jù)量,從教務(wù)系統(tǒng)上線之后,數(shù)據(jù)一直在成幾何數(shù)的遞增,其中幾張主要業(yè)務(wù)邏輯表已經(jīng)接近3000萬(wàn);二是隨著互聯(lián)網(wǎng)發(fā)展,各種移動(dòng)應(yīng)用采用非正規(guī)途徑獲取教務(wù)各種數(shù)據(jù),教務(wù)系統(tǒng)軟件層面并沒(méi)有相關(guān)的保護(hù)措施。三是教務(wù)系統(tǒng)軟件本身程序上還有值得優(yōu)化的地方。四是硬件老化。
因此學(xué)校決定按照?qǐng)D2所示,對(duì)原有架構(gòu)進(jìn)行第二次調(diào)整。
(1)前端采用高效、開(kāi)源的HAProxy配合keepalived構(gòu)建高可用負(fù)載均衡集群。中間是應(yīng)用服務(wù)器集群。所有前端的請(qǐng)求通過(guò)負(fù)載均衡集群自動(dòng)分發(fā)到后端相對(duì)空閑的應(yīng)用服務(wù)器上。
(2)同樣采用開(kāi)源的magent配合Memcached構(gòu)建高可用的,且能自動(dòng)負(fù)載均衡的數(shù)據(jù)庫(kù)緩存集群。
(3)數(shù)據(jù)庫(kù)集群。這里采用了Oracle RAC OneNode技術(shù)配置了兩個(gè)Oracle RAC服務(wù)器(每個(gè)RAC都有兩個(gè)節(jié)點(diǎn)),RAC-Server-1做為備庫(kù)只負(fù)責(zé)讀取操作,RAC-Server-2做為主庫(kù)負(fù)責(zé)寫入和更新操作。兩個(gè)RAC之間使用OracleDG做同步對(duì)稱復(fù)制保證數(shù)據(jù)的一致性,且同一時(shí)間兩個(gè)RAC都只有一個(gè)節(jié)點(diǎn)在工作。
(4)后端存儲(chǔ)和數(shù)據(jù)庫(kù)服務(wù)器依然采用DAS方式連接,數(shù)據(jù)則存放在后端存儲(chǔ)上,存儲(chǔ)使用的是SAS硬盤。
(5)同時(shí),教務(wù)系統(tǒng)軟件增加數(shù)據(jù)歸檔功能,處理歷史數(shù)據(jù)。
3.調(diào)整經(jīng)驗(yàn)總結(jié)
經(jīng)歷上面兩次的服務(wù)器整體架構(gòu)的調(diào)整,總結(jié)出以下幾點(diǎn)經(jīng)驗(yàn):
(1)教務(wù)系統(tǒng)軟件層面問(wèn)題?,F(xiàn)在很多面向教育的信息系統(tǒng)開(kāi)發(fā)商,在開(kāi)發(fā)過(guò)程中比較功利化,基本沒(méi)有考慮到程序在高負(fù)荷高并發(fā)時(shí)的優(yōu)化。只有最終用戶遇到此類瓶頸才著手解決問(wèn)題。再加上硬件先期投入也沒(méi)有考慮到架構(gòu)上的優(yōu)化,使得最終用戶遇到此類問(wèn)題時(shí)措手不及。
(2)現(xiàn)在很多優(yōu)秀的國(guó)內(nèi)外互聯(lián)網(wǎng)公司,服務(wù)器運(yùn)維能力和技術(shù)上已經(jīng)相當(dāng)成熟。因此,高校也應(yīng)該與時(shí)俱進(jìn),參考互聯(lián)網(wǎng)公司優(yōu)秀的運(yùn)維案例,利用各類開(kāi)源軟件,充分挖掘服務(wù)器的潛力,同時(shí)不斷完善服務(wù)器架構(gòu),提高運(yùn)維能力和水平。
(3)信息系統(tǒng)數(shù)據(jù)的增長(zhǎng)。從西南石油大學(xué)教務(wù)系統(tǒng)來(lái)看,上線13年后當(dāng)主要業(yè)務(wù)邏輯表數(shù)據(jù)成幾何數(shù)遞增時(shí),僅僅從信息系統(tǒng)程序或服務(wù)器架構(gòu)調(diào)整等方面的優(yōu)化已經(jīng)不能滿足需求。還需要根據(jù)教務(wù)系統(tǒng)數(shù)據(jù)自身的特點(diǎn),進(jìn)行數(shù)據(jù)歸檔操作,將已經(jīng)畢業(yè)學(xué)生的所有相關(guān)數(shù)據(jù)轉(zhuǎn)移到另外的數(shù)據(jù)庫(kù)中,信息系統(tǒng)則增加相應(yīng)的對(duì)歸檔數(shù)據(jù)查詢的功能。
(4)必須要建立比較完整的服務(wù)器狀態(tài)監(jiān)控平臺(tái),以及服務(wù)器日志分析平臺(tái)。服務(wù)器狀態(tài)監(jiān)控,不僅僅可以及早發(fā)現(xiàn)服務(wù)器異常問(wèn)題及早解決,同時(shí)也為了解分析其他問(wèn)題提供了詳細(xì)的數(shù)據(jù)依據(jù)。而日志分析,則為發(fā)現(xiàn)異常獲取數(shù)據(jù)、信息系統(tǒng)自身bug提供了良好的基礎(chǔ)。
(5)資源浪費(fèi)問(wèn)題。就教務(wù)系統(tǒng)本身而言,只有在選課、成績(jī)錄入、成績(jī)查詢等教學(xué)活動(dòng)發(fā)生時(shí)才會(huì)出現(xiàn)高負(fù)荷和高并發(fā)的情況,而平常服務(wù)器資源占用非常低。
二、高校信息化統(tǒng)一架構(gòu)探索
1.統(tǒng)一架構(gòu)設(shè)想及說(shuō)明
筆者設(shè)計(jì)和實(shí)施了西南石油大學(xué)教務(wù)系統(tǒng)的服務(wù)器架構(gòu),雖然經(jīng)過(guò)調(diào)整后已經(jīng)達(dá)到了很好的效果,但是如何避免服務(wù)器硬件資源的浪費(fèi),儼然成為筆者最關(guān)心的問(wèn)題。
那么如果站在學(xué)校的層面,構(gòu)建一個(gè)統(tǒng)一的服務(wù)器架構(gòu)是不是能解決硬件資源浪費(fèi)問(wèn)題呢?答案是肯定的。但是這個(gè)架構(gòu)必須能兼容高校所有的信息化子系統(tǒng),必須能經(jīng)受得住高負(fù)載高并發(fā),必須能實(shí)時(shí)調(diào)配服務(wù)器硬件資源,必須能做大數(shù)據(jù)計(jì)算處理。因此筆者提出如圖3所示的整體架構(gòu)。
圖3的架構(gòu)只是給出了整體框架,在細(xì)節(jié)方面只有根據(jù)高校自身的需求進(jìn)行定制,此外網(wǎng)絡(luò)拓?fù)渲芯W(wǎng)絡(luò)冗余問(wèn)題不在此架構(gòu)討論范疇內(nèi)。下面針對(duì)架構(gòu)進(jìn)行相關(guān)的說(shuō)明,由于所涉及的可用技術(shù)很多,在這里就不詳細(xì)展開(kāi)了,只給出筆者的建議。
2.技術(shù)及設(shè)備說(shuō)明
(1)本地負(fù)載均衡集群,即負(fù)載均衡層
所有的請(qǐng)求(內(nèi)網(wǎng)或外網(wǎng))都由該層負(fù)責(zé)響應(yīng),并分發(fā)到后端的應(yīng)用集群中。對(duì)于負(fù)載均衡,筆者熟悉的硬件或軟件技術(shù)有F5和LVS、Nginx、HAProxy等。它們的性能都是非常優(yōu)異的。F5是負(fù)載均衡中抗并發(fā)能力最強(qiáng)的,LVS是現(xiàn)在在全世界范圍內(nèi)應(yīng)用最廣的,而HAProxy這個(gè)開(kāi)源的后起新秀性能非常強(qiáng)勁,國(guó)內(nèi)前十的互聯(lián)網(wǎng)公司基本都在使用??紤]到高校自身業(yè)務(wù)系統(tǒng)的實(shí)際情況,除了教務(wù)系統(tǒng)外不會(huì)有非常高的并發(fā)訪問(wèn)。因此這里推薦采用開(kāi)源的HAProxy配合Keepalived來(lái)架構(gòu),硬件方面配置兩到三臺(tái)兩路PC服務(wù)器就能承載校內(nèi)所有業(yè)務(wù)系統(tǒng)的負(fù)載均衡。
如果上線運(yùn)行過(guò)程中發(fā)現(xiàn)壓力過(guò)大,可以采用下面兩種方式進(jìn)行緩解:
1)使用四路PC服務(wù)器,將其配置為主節(jié)點(diǎn);
2)前端增加一個(gè)硬件的負(fù)載均衡F5,將現(xiàn)有的負(fù)載均衡集群做為中間代理層。
(2)應(yīng)用集群和應(yīng)用緩存集群
從負(fù)載均衡層轉(zhuǎn)發(fā)的請(qǐng)求直接到達(dá)應(yīng)用集群層中的某一個(gè)服務(wù)器節(jié)點(diǎn)。那為什么沒(méi)有使用圖3中應(yīng)用緩存集群來(lái)分擔(dān)壓力呢?應(yīng)用服務(wù)器緩存層的出現(xiàn)確實(shí)是為了緩解應(yīng)用服務(wù)器的壓力,存儲(chǔ)已被請(qǐng)求過(guò)的js、images和html等文件。但是環(huán)顧一下高校的各個(gè)信息系統(tǒng),以及所提供的服務(wù),分析一下每天的訪問(wèn)情況,筆者認(rèn)為沒(méi)有必要構(gòu)建這個(gè)緩存集群。如果真的需要構(gòu)建,如圖3所示,可以使用varnish作出兩個(gè)或更多的節(jié)點(diǎn),此時(shí)只需要在負(fù)載均衡層HAProxy的配置中做相應(yīng)的更改即可。
此外,考慮到各類信息系統(tǒng)程序運(yùn)行的環(huán)境,在應(yīng)用集群中需要配置至少兩種操作系統(tǒng)(Linux和Windows)的若干節(jié)點(diǎn)。
(3)數(shù)據(jù)緩存集群
它所實(shí)現(xiàn)的功能其實(shí)和應(yīng)用緩存集群的功能類似。這里可以使用Redis或Memcached等開(kāi)源軟件,構(gòu)建出高可用的數(shù)據(jù)庫(kù)緩存集群。比如西南石油大學(xué)教務(wù)系統(tǒng)使用的是magent配合Memcached來(lái)構(gòu)建的該集群,這主要是由于教務(wù)系統(tǒng)軟件已經(jīng)使用了Memcached及相關(guān)特性,因此首先要滿足程序運(yùn)行環(huán)境,其次考慮高可用。最終采用magent配合Memcached構(gòu)建出能自動(dòng)負(fù)載均衡的3個(gè)節(jié)點(diǎn)的集群。
由此,可以看出采用何種技術(shù),或者都使用,需要根據(jù)具體的信息系統(tǒng)軟件本身的情況來(lái)決定,架構(gòu)上只需要考慮高可用即可。
(4)數(shù)據(jù)庫(kù)集群
由于高校繁多的信息系統(tǒng)可能使用不同的數(shù)據(jù)庫(kù),那么在這里就需要根據(jù)實(shí)際情況構(gòu)建多個(gè)不同類型的數(shù)據(jù)庫(kù)集群,從對(duì)西南石油大學(xué)教務(wù)系統(tǒng)進(jìn)行分析調(diào)整的過(guò)程中,筆者發(fā)現(xiàn)只有當(dāng)信息系統(tǒng)的訪問(wèn)量和并發(fā)量高到一定程度之后,數(shù)據(jù)庫(kù)就成為了壓力集中點(diǎn)。因此需要注意至少配置兩個(gè)節(jié)點(diǎn)構(gòu)建出一主一備讀寫分離的同類數(shù)據(jù)庫(kù)節(jié)點(diǎn)。
(5)Oracle、MySQL和SQLSever說(shuō)明
1)Oracle數(shù)據(jù)庫(kù)??梢圆捎蒙厦嬉呀?jīng)提到的西南石油大學(xué)教務(wù)系統(tǒng)優(yōu)化的方案。即采用了雙OracleRAC配置,需要應(yīng)用程序配合將讀寫操作分開(kāi),兩個(gè)RAC之間使用OracleDG做同步對(duì)稱復(fù)制,它保證了兩個(gè)RAC直接數(shù)據(jù)的一致性。同時(shí),Oracle RAC OneNode技術(shù)最大化利用服務(wù)器資源,平常兩個(gè)RAC的主節(jié)點(diǎn)占用比較多的硬件資源,而備用節(jié)點(diǎn)則占用少量硬件資源,當(dāng)發(fā)生故障后,主節(jié)點(diǎn)釋放已占用的大量硬件資源,備用節(jié)點(diǎn)啟用,接手相關(guān)業(yè)務(wù)的同時(shí)也加載和主節(jié)點(diǎn)相當(dāng)?shù)挠布Y源。
2)MySQL數(shù)據(jù)庫(kù)。由于軟件本身免費(fèi),因此使用范圍是最廣的。面對(duì)并發(fā)壓力大的情況,成熟的方案也比較多,常見(jiàn)的主要有下面三種:
①常規(guī)復(fù)制架構(gòu),即Master-Slaves。這里Master負(fù)責(zé)寫入和修改操作,一個(gè)或多個(gè)Slave則負(fù)責(zé)讀取操作。同時(shí)將Master同步復(fù)制到一個(gè)或多個(gè)Slave。當(dāng)一個(gè)節(jié)點(diǎn)的Slave讀取壓力過(guò)大時(shí),則需要考慮增加Slave節(jié)點(diǎn);
②級(jí)聯(lián)復(fù)制結(jié)合架構(gòu),即Master-Master-Slaves。雙Master主要是為了避免常規(guī)復(fù)制架構(gòu)中單點(diǎn)寫入和修改操作可能存在故障的風(fēng)險(xiǎn);
③MySQL數(shù)據(jù)庫(kù)切分,即MySQL Sharding。其基本思想就要把一個(gè)數(shù)據(jù)庫(kù)切分成多個(gè)部分放到不同的數(shù)據(jù)庫(kù)節(jié)點(diǎn)上,從而緩解單一數(shù)據(jù)庫(kù)的性能問(wèn)題。因此可以通過(guò)該技術(shù)將一個(gè)大的MySQL Server切分成多個(gè)小的MySQL Server,既解了寫入性能瓶頸問(wèn)題,同時(shí)也提升了整個(gè)數(shù)據(jù)庫(kù)集群的擴(kuò)展性,從而解決了數(shù)據(jù)庫(kù)壓力過(guò)大的問(wèn)題。
3)SQLSever數(shù)據(jù)庫(kù)。只考慮微軟提供的做法,僅僅只能做到故障轉(zhuǎn)移。簡(jiǎn)單的說(shuō)就是利用 Windows Server 故障轉(zhuǎn)移群集 (WSFC) 功能,當(dāng)數(shù)據(jù)庫(kù)實(shí)例發(fā)生故障時(shí),在其他冗余服務(wù)器上重新啟動(dòng)該數(shù)據(jù)庫(kù)實(shí)例,從而提供了本地?cái)?shù)據(jù)庫(kù)的高可用性。這就類似一主一備(或互為主備)的服務(wù)器概念,沒(méi)有負(fù)載均衡的功能。在發(fā)生數(shù)據(jù)故障轉(zhuǎn)移時(shí),將數(shù)據(jù)庫(kù)實(shí)例由一臺(tái)服務(wù)器轉(zhuǎn)移到另一臺(tái)服務(wù)器的時(shí)間非常短暫。
(6)磁盤陣列,即數(shù)據(jù)存儲(chǔ)
筆者把高校的數(shù)據(jù)分為核心數(shù)據(jù)和非核心數(shù)據(jù)。其中核心數(shù)據(jù)則包含教務(wù)、財(cái)務(wù)、一卡通等主要業(yè)務(wù)系統(tǒng)數(shù)據(jù)。而非核心數(shù)據(jù),主要包括電子圖書(shū)、期刊、教學(xué)資源類、學(xué)習(xí)資源類等。這么劃分的原因是鑒于這些業(yè)務(wù)系統(tǒng)是否能中斷服務(wù),可以臨時(shí)中斷的則劃為非核心數(shù)據(jù),反之則是核心數(shù)據(jù)。
現(xiàn)今的存儲(chǔ)主要可以分傳統(tǒng)存儲(chǔ)和分布式存儲(chǔ)兩種。傳統(tǒng)存儲(chǔ)的架構(gòu)方式主要有DAS、NAS和SAN。結(jié)合筆者對(duì)高校數(shù)據(jù)劃分以及預(yù)估的存儲(chǔ)容量的情況,使用NAS結(jié)合SAN才是高校存儲(chǔ)最好的方案,而分布式存儲(chǔ)技術(shù)投入和維護(hù)成本方面都遠(yuǎn)高于傳統(tǒng)的存儲(chǔ)。
NAS架構(gòu)主要用于存儲(chǔ)非核心數(shù)據(jù),而SAN架構(gòu)則用于存儲(chǔ)核心數(shù)據(jù)。對(duì)于存儲(chǔ)的物理磁盤,筆者建議直接使用SAS硬盤。在經(jīng)費(fèi)充足時(shí),可以考慮有數(shù)據(jù)分層功能的NAS+SAN存儲(chǔ),即存儲(chǔ)根據(jù)特定算法將數(shù)據(jù)分片,使用率高的自動(dòng)遷移到SSD盤上,使用率一般的遷移到SAS盤上,使用率很低的則遷移到SATA盤上。
(7)Hadoop集群
主要是為了滿足高校在大數(shù)據(jù)方面的需求而建立。Hadoop本身是一個(gè)開(kāi)源框架,同時(shí)Hadoop的高可靠性、高擴(kuò)展性、高容錯(cuò)性和高效性等諸多有點(diǎn)也是整個(gè)互聯(lián)網(wǎng)企業(yè)已經(jīng)驗(yàn)證的。雖然Hadoop搭建比較簡(jiǎn)單,但是如果要真正為高校的領(lǐng)導(dǎo)決策、學(xué)生學(xué)習(xí)指導(dǎo)、學(xué)業(yè)預(yù)警等提供參考數(shù)據(jù),前期規(guī)劃和后起運(yùn)維也是必不可少的,而且后續(xù)還要有配套的相關(guān)支持分布式計(jì)算的應(yīng)用程序。
(8)本地災(zāi)備中心和異地災(zāi)備中心
主要是出于數(shù)據(jù)層面的安全考慮。雖然可以根據(jù)實(shí)際情況的要求選擇性的建立,但是從整個(gè)架構(gòu)數(shù)據(jù)的安全性和完整性來(lái)說(shuō),這也是必須的。
(9)管理集群
通過(guò)上面的描述,不難預(yù)見(jiàn)對(duì)于管理人員是多么大的挑戰(zhàn),所謂工欲善其事必先利其器,建立一個(gè)完整的管理集群,提高管理人員的工作效率,提高整體運(yùn)維水平是有直接影響的。
1)Monitor即監(jiān)控平臺(tái),提供了服務(wù)器實(shí)時(shí)狀態(tài)數(shù)據(jù),為高負(fù)載高并發(fā)時(shí)服務(wù)器問(wèn)題的分析提供了良好的數(shù)據(jù)參考,實(shí)時(shí)采用適當(dāng)?shù)拇胧┙鉀Q出現(xiàn)的問(wèn)題。同時(shí),在無(wú)人職守的情況下可以通過(guò)電子郵件或短信等方式發(fā)出預(yù)警信息,方便運(yùn)維人員能第一時(shí)間趕赴現(xiàn)場(chǎng)處理問(wèn)題;
2)Pupput是一個(gè)開(kāi)源的多平臺(tái)集中配置管理系統(tǒng)。試想服務(wù)器集群的配置如果一臺(tái)一臺(tái)去設(shè)置,會(huì)浪費(fèi)多少時(shí)間和精力呢?因此在管理集群建立該系統(tǒng),可以實(shí)現(xiàn)對(duì)該架構(gòu)下所有服務(wù)器的管理系統(tǒng)配置文件、用戶、cron任務(wù)、軟件包、系統(tǒng)服務(wù)等配置信息進(jìn)行管理;
3)DBAudit即數(shù)據(jù)審計(jì)平臺(tái)。數(shù)據(jù)的安全從來(lái)都不是某一方面可以完全保證的,而是需要利用多種方式結(jié)合保證。這里將數(shù)據(jù)審計(jì)納入管理集群,因?yàn)椴还苁裁搭愋偷臄?shù)據(jù)庫(kù),開(kāi)啟數(shù)據(jù)審計(jì)后對(duì)自身性能或多或少都有一定的影響。那么開(kāi)啟的時(shí)機(jī)把握,這必須由運(yùn)維管理人員根據(jù)業(yè)務(wù)系統(tǒng)訪問(wèn)情況來(lái)決定。同時(shí),建議高校結(jié)合各個(gè)數(shù)據(jù)庫(kù)自身的審計(jì)功能,做一定的獨(dú)立開(kāi)發(fā)構(gòu)建符合自身特點(diǎn)的審計(jì)平臺(tái)。而不是購(gòu)買數(shù)據(jù)審計(jì)軟件,因?yàn)榭梢约嫒菟袛?shù)據(jù)庫(kù)的數(shù)據(jù)審計(jì)軟件,功能上都比較中庸;
4)LogAnalyse即日志分析,可以結(jié)合Hadoop集群,給出很多值得參考的數(shù)據(jù)。比如訪問(wèn)時(shí)間熱點(diǎn)、訪問(wèn)來(lái)源、訪問(wèn)出錯(cuò)點(diǎn)、訪問(wèn)異常點(diǎn)等。為進(jìn)一步調(diào)整架構(gòu)、發(fā)現(xiàn)業(yè)務(wù)系統(tǒng)bug等提供了良好的依據(jù)。
3.部分場(chǎng)景問(wèn)題分析及解答
(1)應(yīng)用場(chǎng)景一:教務(wù)系統(tǒng)如何部署?
圖3所示架構(gòu)是在圖2所示架構(gòu)的基礎(chǔ)上發(fā)展而來(lái)的,因此完全兼容教務(wù)系統(tǒng)本身,唯一需要注意的是原來(lái)采用DAS架構(gòu)直連存儲(chǔ),現(xiàn)在則是采用SAM架構(gòu),對(duì)操作系統(tǒng)層面沒(méi)有太大的區(qū)別。
(2)應(yīng)用場(chǎng)景二:沒(méi)有采用相關(guān)緩存技術(shù)的應(yīng)用系統(tǒng)如何部署?
1)本地負(fù)載均衡層配置相應(yīng)訪問(wèn)IP地址,以及后端單節(jié)點(diǎn)或多節(jié)點(diǎn)應(yīng)用服務(wù)器IP地址;
2)應(yīng)用集群中該業(yè)務(wù)系統(tǒng)的一個(gè)或多個(gè)節(jié)點(diǎn)服務(wù)器配置直接訪問(wèn)數(shù)據(jù)庫(kù)的IP地址;
3)單節(jié)點(diǎn)數(shù)據(jù)庫(kù)可以共用或獨(dú)立使用一個(gè)數(shù)據(jù)庫(kù)集群的服務(wù)器節(jié)點(diǎn)。
(3)應(yīng)用場(chǎng)景三:學(xué)校的統(tǒng)一數(shù)據(jù)庫(kù)如何部署?
直接部署在數(shù)據(jù)庫(kù)集群上,按照實(shí)際需求分割出一個(gè)或多個(gè)節(jié)點(diǎn)即可。
(4)應(yīng)用場(chǎng)景四:?jiǎn)蝹€(gè)業(yè)務(wù)系統(tǒng)處于高并發(fā)時(shí)如何處理?
首先根據(jù)監(jiān)控平臺(tái)數(shù)據(jù)分析高并發(fā)后業(yè)務(wù)系統(tǒng)的瓶頸。比如瓶頸在應(yīng)用層,則考慮是否需要使用應(yīng)用緩存集群,以及增加應(yīng)用集群中該業(yè)務(wù)系統(tǒng)的節(jié)點(diǎn)數(shù)量。比如瓶頸在數(shù)據(jù)層,則需要根據(jù)數(shù)據(jù)庫(kù)的類型來(lái)確定調(diào)整的方案,限于篇幅此處就不再展開(kāi)。
4.需要注意的一些問(wèn)題
該架構(gòu)整合了學(xué)校所有硬件資源,能滿足各類型信息系統(tǒng)的要求,但是還需要注意以下幾個(gè)問(wèn)題:
(1)整個(gè)架構(gòu)都基于虛擬化平臺(tái),建議采用免費(fèi)的XenServer做為虛擬化平臺(tái)管理軟件;
(2)硬件資源(即PC服務(wù)器)分批購(gòu)置,先滿足基本業(yè)務(wù)然后逐步擴(kuò)展,建議不要都使用同一廠商的產(chǎn)品;
(3)硬件老化后維保成本較高時(shí),建議直接淘汰購(gòu)置新硬件;
(4)優(yōu)秀開(kāi)源項(xiàng)目的軟件很多,采用開(kāi)源軟件也能為學(xué)校節(jié)約相當(dāng)大一部分資金,但是需要有優(yōu)秀的運(yùn)維人員,因此需要建立良好的人才培養(yǎng)機(jī)制,做好人才儲(chǔ)備工作;
(5)需要根據(jù)學(xué)校實(shí)際的情況,對(duì)整個(gè)架構(gòu)做局部的調(diào)整,只有通過(guò)不斷地微調(diào)得到符合自身需要的架構(gòu)。
三、總結(jié)
根據(jù)筆者對(duì)西南石油大學(xué)教務(wù)系統(tǒng)服務(wù)器架構(gòu)調(diào)整的經(jīng)驗(yàn),提出了整合資源、統(tǒng)一部署的信息化整體架構(gòu),相信高校只要加強(qiáng)這方面的意識(shí),從自身已擁有的信息化系統(tǒng)需求出發(fā),結(jié)合互聯(lián)網(wǎng)企業(yè)優(yōu)秀的運(yùn)維技術(shù)和運(yùn)維案例,肯定可以在此架構(gòu)基礎(chǔ)上設(shè)計(jì)出符合自身特點(diǎn)的信息化統(tǒng)一架構(gòu),為節(jié)約辦學(xué)成本、實(shí)施大數(shù)據(jù)戰(zhàn)略提供有力的保障。
(編輯:楊馥紅)