分布式高可用IC卡系統的設計與實(shí)現
文章出處:http://psychicreadingswithdeb.com 作者:陳占偉 人氣: 發(fā)表時(shí)間:2011年11月23日
在很多普通高校、職高、高中的食堂,以前一般采用單機售飯IC卡系統,隨著(zhù)學(xué)校的擴招、信息的增多,導致數據庫服務(wù)器訪(fǎng)問(wèn)量增大,數據量急劇膨脹,負載壓力增大,同時(shí)校內超市的并人,要求應用系統24小時(shí)不問(wèn)斷運行。系統的復雜性及應用環(huán)境的多樣化。給系統的運行帶來(lái)不穩定因素。有時(shí)會(huì )造成操作系統的崩潰。在系統故障的這段時(shí)間內??蛻?hù)的應用系統則完全中斷,無(wú)法進(jìn)行正常的業(yè)務(wù)交易,并且可能造成數據的損壞或丟失,這會(huì )給學(xué)校產(chǎn)生嚴重影響,甚至造成難以挽回的損失。單機食堂售飯IC卡系統存在的適用范圍小、安全性差、可用性不高等問(wèn)題日益突出。已滿(mǎn)足不了需要 因此,如何避免數據訪(fǎng)問(wèn)的瓶頸同時(shí)做到有效的數據保護,是系統管理員刻不容緩的課題。
目前。校園網(wǎng)中許多原有的單臺服務(wù)器的并發(fā)處理能力及負載能力已越來(lái)越無(wú)法滿(mǎn)足需求,提高服務(wù)器性能已迫在眉睫。重新購買(mǎi)新的性能更高的服務(wù)器,如小型機或當下較為流行的刀片集群服務(wù)器是一種解決方法,但首先成本太高,其次是許多原有服務(wù)器仍較新,各方面的性能指標良好,廢棄不用將造成極大的資源浪費。面對不斷增加的負載壓力,可以從兩個(gè)方面來(lái)提升網(wǎng)絡(luò )服務(wù)器的響應能力。一方面??蓮目蛻?hù)訪(fǎng)問(wèn)行為分析人手,主要研究Caching技術(shù),以縮小響應時(shí)間,這種技術(shù)可以在現有服務(wù)器設備的基礎上盡可能地提高系統的性能,但性能提高的力度有限。
另一方面,可以從服務(wù)器的硬件性能來(lái)考慮:① 從服務(wù)器單機性能人手,提高服務(wù)器的性能,以高昂的價(jià)格換取性能的提高。高可用服務(wù)器,企業(yè)級一般價(jià)格在10,000~15,000美元;高可用系統,根據處理器個(gè)數 冗余設備、服務(wù)器個(gè)數等配置狀況。一般價(jià)格要超過(guò)250,000美元;容錯服務(wù)器則需要70 000~1 000 000美元。顯然一般學(xué)校承受不起。
② 從體系結構人手,將過(guò)去單一的服務(wù)器模式擴充為多服務(wù)器模式,用多臺計算機來(lái)協(xié)作完成本來(lái)由一臺服務(wù)器完成的功能。即分布式技術(shù)。這種技術(shù)可以顯著(zhù)提高服務(wù)器的總體性能。并且具有良好的可擴展性與高可靠性。根據學(xué)校的現有情況,采用分布式技術(shù)解決單臺服務(wù)器性能局限形成的系統訪(fǎng)問(wèn)瓶頸的問(wèn)題。
1 分布式高可用系統簡(jiǎn)介
分布式系統是由一些連接在一起的計算機構成的一個(gè)并行或分布式的系統。不管內部結構如何復雜,從外部來(lái)看,它就是一個(gè)持續性地提供統一高性能服務(wù)的系統。分布式系統允許用戶(hù)把普通商用硬件系統組成機群。并根據需要隨時(shí)增加新的硬件。提高系統的伸縮性和可用性,從而能夠在價(jià)格相對低廉的中低端平臺上享用過(guò)去只有高端系統才具備的高可伸縮性和高可用性,既提高了系統的性能,同時(shí)也降低了成本。
計算機系統的可用性包括:可靠性(MTTF)和可維護性(MTTR) 計算機系統的可靠性用平均無(wú)故障時(shí)間(MTTF)來(lái)度量,即計算機系統平均能夠正常運行多少時(shí)間才發(fā)生一次故障。系統的可靠性越高,平均無(wú)故障時(shí)間越長(cháng)??删S護性用平均維修時(shí)間來(lái)度量(MTTR),即系統發(fā)生故障后維修和重新恢復正常運行平均花費的時(shí)間。系統的可維護性越好,平均維修時(shí)間越短。計算機系統可用性定義為:MTTF/(MTTF+ MTTR)*100 。
計算機產(chǎn)業(yè)界常用“9”的個(gè)數來(lái)劃分計算機系統的可用性的類(lèi)型。一般將3個(gè)9(99.9 )以上的系統可用性。且在其支撐的業(yè)務(wù)運營(yíng)的時(shí)間段內,能提供穩定持續的系統連接、能滿(mǎn)足業(yè)務(wù)對性能的要求,能保證業(yè)務(wù)數據安全,即使出現故障也能在最短時(shí)間內恢復的系統稱(chēng)為高可用性系統。
分布式高可用系統,在進(jìn)入正常運行狀態(tài)后。通過(guò)專(zhuān)用的通訊鏈路和其它節點(diǎn)進(jìn)行通訊。傳輸各節點(diǎn)的狀態(tài)信息,使各節點(diǎn)的核心管理模塊獲得所有節點(diǎn)的實(shí)時(shí)狀態(tài)。當系統中有節點(diǎn)故障時(shí)。管理模塊根據當前的狀態(tài)和該故障節點(diǎn)在系統中的角色做出系統是否重組。當該節點(diǎn)為工作機時(shí),系統會(huì )自動(dòng)將屬于該節點(diǎn)的資源和任務(wù)移交到下一個(gè)備用節點(diǎn),保證該業(yè)務(wù)正常運行。傳統的分布式系統產(chǎn)品提供磁盤(pán)陣列系統做為高可用產(chǎn)品不可缺少的部分,但用戶(hù)一直擔心單點(diǎn)故障的產(chǎn)生。所以磁盤(pán)陣列的可靠性一直是用戶(hù)命懸一線(xiàn)的關(guān)鍵。用戶(hù)不昔巨資購建子存儲系統?;虍惖卮鎯ψ酉到y來(lái)保證數據的安全性。
2 系統采用的方案
采用雙機熱備方法。雙機熱備的原理:當一臺服務(wù)器(主機)在工作時(shí),另一臺服務(wù)器(備機)作備用狀態(tài)。當主機因為某種原因出現故障。不能繼續提供服務(wù)時(shí),備用機能夠在規定的時(shí)間內接替主機的工作,從而達到不停機的服務(wù)。備份方案分雙機冷備份和雙機熱備份兩種。雙機冷備份為主機實(shí)時(shí)工作,從機等待備用,這種方案最大的問(wèn)題是無(wú)法實(shí)現實(shí)時(shí)數據備份。雙機熱備份有雙機鏡像和共享磁盤(pán)陣列兩種方案。共享磁盤(pán)陣列方案為兩臺主機共用一個(gè)磁盤(pán)陣列。優(yōu)點(diǎn)是不降低系統性能,但要求磁盤(pán)陣列具有較高的可靠性,出現了單點(diǎn)故障。
雙機鏡像方案將主數據庫服務(wù)器上的表、文件、數據庫等通過(guò)專(zhuān)用連接通道鏡像到備用服務(wù)器上,優(yōu)點(diǎn)是簡(jiǎn)單、便宜,對數據維護的能力與共享磁盤(pán)陣列方案相同。雖然系統針對硬件的備份對提高可靠性有較大影響,但從方案的靈活性,投資相對小等方面考慮 ,本系統采用雙機熱備中的雙機鏡像軟件解決方案(如圖1所示)。雙機熱備軟件實(shí)現的關(guān)鍵是如何進(jìn)行實(shí)時(shí)監控和數據備份。使用“心跳”檢測等方法可以得到主機的運行狀態(tài),在合適的時(shí)機進(jìn)行控制權的轉換是系統正常運行的保障。數據庫、實(shí)時(shí)數據等均需通過(guò)TCP/IP網(wǎng)絡(luò )鏡像到從機上,以保證數據的完整性。此外,同步可以防止多個(gè)應用程序之間的訪(fǎng)問(wèn)沖突。對整個(gè)系統的嚴格測試最終驗證了系統的可行性、可靠性和切換的無(wú)縫性。
圖1 純軟件雙機熱備份系統
對于純軟件的方式,通過(guò)鏡像軟件,將數據可以實(shí)時(shí)復制到另一臺服務(wù)器上,這樣同樣的數據就在兩臺服務(wù)器上各存在一份,如果一臺服務(wù)器出現故障,可以及時(shí)切換到另一臺服務(wù)器。準備采用內存鏡像的技術(shù),這個(gè)技術(shù)的優(yōu)點(diǎn)是所有的應用程序和網(wǎng)絡(luò )操作系統在兩臺主機上鏡像同步,當主機出現故障時(shí),備機可以在幾乎沒(méi)有感覺(jué)的情況下接管所有應用程序。
3 主要問(wèn)題的解決
沒(méi)有了公共存儲設備磁盤(pán)陣列,對于某一個(gè)需要進(jìn)行切換的服務(wù)而言,怎樣保證其所用的數據在兩臺服務(wù)器上是一致的呢?這就是數據鏡像軟件的功能所在一通過(guò)網(wǎng)絡(luò ),將某一臺服務(wù)器上指定路徑下的數據采用同步或異步方式,鏡像到另一臺服務(wù)器。鏡像軟件取代雙機熱備份系統的磁盤(pán)陣列,關(guān)鍵在于其必須與Cluster軟件協(xié)同工作。當某一服務(wù)運行于服務(wù)器A時(shí),它所使用的特定數據在服務(wù)器A上對應于一個(gè)數據集合ФA,通過(guò)NTMirror將源數據集ФA鏡像到服務(wù)器B成為目標數據集ФB,當NT Cluster將該服務(wù)程序從服務(wù)器ФA切換到服務(wù)器ФB時(shí),它使用服務(wù)器B上的數據ФB,同時(shí)NTMirror自動(dòng)修改原來(lái)從ФA到ФB的鏡像成為從ФB到ФA的鏡像。對一個(gè)服務(wù)程序是這樣,對多個(gè)服務(wù)程序,則一一建立服務(wù)程序與數據鏡像集之間的關(guān)系。這樣,無(wú)論服務(wù)程序運行于哪一個(gè)服務(wù)器,始終保證其所使用的數據在對端服務(wù)器有一份鏡像存在;當一臺服務(wù)器發(fā)生故障失效,另一臺可在保證提供自己原有服務(wù)的同時(shí),啟動(dòng)失效服務(wù)器的應用程序從而取代其服務(wù)器功能。
4 結束語(yǔ)
該系統使校園IC卡在性能、安全等方面得到提高和進(jìn)化,同時(shí)降低成本,在應用數量增多、負載增大時(shí)雙機軟件還可以平滑過(guò)渡到集群軟件,易于擴展。
(河南周口師范學(xué)院彭海云 陳占偉)