吳玥
摘 要:計(jì)算機(jī)容錯(cuò)技術(shù)可以提高系統(tǒng)的可靠性、穩(wěn)定性。本文講述了容錯(cuò)技術(shù)的概念和主要分類,然后對(duì)比了兩種服務(wù)器容錯(cuò)技術(shù):雙機(jī)熱備份和單機(jī)容錯(cuò)。最后指出單機(jī)容錯(cuò)服務(wù)器是未來發(fā)展趨勢(shì)。
關(guān)鍵詞:容錯(cuò)技術(shù);備份;雙機(jī)熱備份
1 引言
隨著計(jì)算機(jī)的普及,利用計(jì)算機(jī)系統(tǒng)來提供及時(shí)可靠的信息和服務(wù)是必不可少的,但是計(jì)算機(jī)硬件和軟件都不可避免地會(huì)發(fā)生故障,這些故障有可能給我們帶來巨大的損失,甚至造成整個(gè)服務(wù)的終止,網(wǎng)絡(luò)的癱瘓。系統(tǒng)的容錯(cuò)性和不間斷性顯得尤為重要。為了保證系統(tǒng)安全、高效、可靠地運(yùn)行,必須采取適當(dāng)?shù)拇胧┐_保計(jì)算機(jī)系統(tǒng)在出現(xiàn)故障的情況下,仍能正常工作。人們經(jīng)過長(zhǎng)期的研究,總結(jié)了兩種方法:一種叫做避錯(cuò),即采用正確的設(shè)計(jì)和質(zhì)量控制盡量避免把故障引進(jìn)系統(tǒng),這種方法實(shí)施有難度。另一種就是容錯(cuò),當(dāng)系統(tǒng)出現(xiàn)某些硬件或軟件的錯(cuò)誤時(shí),系統(tǒng)能執(zhí)行規(guī)定的一組程序,或者說程序不會(huì)因系統(tǒng)中的故障而中斷或被修改,并且執(zhí)行結(jié)果也不包含系統(tǒng)中故障引起的差錯(cuò)。隨著現(xiàn)代科學(xué)技術(shù)的發(fā)展和計(jì)算機(jī)的普及,設(shè)備運(yùn)行的安全性和可靠性倍受重視,為了保證其安全、高效和可靠地運(yùn)行,必須采用與之相適應(yīng)的管理模式,計(jì)算機(jī)容錯(cuò)技術(shù)是計(jì)算機(jī)系統(tǒng)可靠性提高的重要手段。
當(dāng)系統(tǒng)內(nèi)部有故障存在時(shí),通過容錯(cuò)技術(shù)消除故障的影響,使系統(tǒng)最終仍能給出正確的結(jié)果。按照時(shí)間劃分,故障可分為以下三種:永久性故障、間歇性故障和偶然性故障。隨著計(jì)算機(jī)硬件和網(wǎng)路的快速發(fā)展,容錯(cuò)計(jì)算機(jī)的系統(tǒng)開銷逐漸降低,且糾錯(cuò)速度快。而軟件方法實(shí)現(xiàn)的容錯(cuò),對(duì)硬件不會(huì)提過高的要求。同時(shí)系統(tǒng)靈活,資源利用比較合理。更正檢測(cè)、診斷將會(huì)采取人工智能的處理途徑,以專家系統(tǒng)的各種智能工具來支持故障檢測(cè)和診斷。
2 容錯(cuò)技術(shù)的概念
容錯(cuò)是計(jì)算機(jī)系統(tǒng)一個(gè)或多個(gè)關(guān)鍵部件發(fā)生故障或即將發(fā)生故障之前,仍能保持正常工作而不影響正確結(jié)果的一種性能或措施。容錯(cuò)是采用冗余方法來消除故障影響的,因此冗余技術(shù)是計(jì)算機(jī)容錯(cuò)技術(shù)的基礎(chǔ),一般可分為下列幾種類型:
⑴硬件冗余:以檢測(cè)或屏蔽故障為目的而增加一定硬件設(shè)備的方法。
⑵軟件冗余:為了檢測(cè)或屏蔽軟件中的差錯(cuò)而增加一些在正常運(yùn)行時(shí)所不需要的軟件方法。
⑶信息冗余:在實(shí)現(xiàn)正常功能所需要的信息外,再添加一些信息,以保證運(yùn)行結(jié)果正確性的方法。
⑷時(shí)間冗余:使用附加一定時(shí)間的方法來完成系統(tǒng)功能。這些附加的時(shí)間主要用在故障檢測(cè)、復(fù)執(zhí)或故障屏蔽上。
⑸簡(jiǎn)單的雙機(jī)備份:在20世紀(jì)60年代,主要利用雙處理機(jī)或雙機(jī)的方法來達(dá)到容錯(cuò)的目的。根據(jù)系統(tǒng)的工作情況又可分為熱備份或冷備份兩種。
⑹操作系統(tǒng)支持的雙機(jī)容錯(cuò):20世紀(jì)70年代中期出現(xiàn)了軟件和硬件結(jié)構(gòu)的容錯(cuò)方法。該方法在操作系統(tǒng)的層次上,支持聯(lián)機(jī)維修,即故障部分退出后進(jìn)行維修并重新投入運(yùn)行,都不影響正在運(yùn)行的應(yīng)用程序。系統(tǒng)容錯(cuò)是在操作系統(tǒng)控制下進(jìn)行的,在每個(gè)處理機(jī)上都保持了反映所有系統(tǒng)資源狀態(tài)的表格,以及本機(jī)和其他機(jī)的工作進(jìn)程。
3 服務(wù)器容錯(cuò)技術(shù)對(duì)比
目前應(yīng)用的服務(wù)器容錯(cuò)技術(shù)有三類:服務(wù)器群集技術(shù)、雙機(jī)熱備份技術(shù)和單機(jī)容錯(cuò)技術(shù)。它們各自所對(duì)應(yīng)的容錯(cuò)級(jí)別是從低到高的,服務(wù)器集群技術(shù)容錯(cuò)級(jí)別最低,而單機(jī)容錯(cuò)技術(shù)級(jí)別最高。
3.1 雙機(jī)熱備份
雙機(jī)熱備份技術(shù)是一種軟硬件結(jié)合的較高的應(yīng)用方案。該方案是由兩臺(tái)服務(wù)器系統(tǒng)和一個(gè)外接共享磁盤陣列柜及相應(yīng)的雙機(jī)熱備份軟件組成。操作系統(tǒng)和應(yīng)用程序安裝在兩臺(tái)服務(wù)器的本地系統(tǒng)盤上,數(shù)據(jù)是通過磁盤陣列集中管理和數(shù)據(jù)備份的。數(shù)據(jù)集中管理是通過雙機(jī)熱備份系統(tǒng),將所有站點(diǎn)的數(shù)據(jù)直接從中央存儲(chǔ)設(shè)備讀取和存儲(chǔ),并由專業(yè)人員進(jìn)行管理,極大地保護(hù)了數(shù)據(jù)的安全性和保密性。用戶的數(shù)據(jù)存放在外接共享磁盤陣列中,在一臺(tái)服務(wù)器出現(xiàn)故障時(shí),備機(jī)主動(dòng)替代主機(jī)工作,保證網(wǎng)絡(luò)服務(wù)不間斷。
雙機(jī)熱備份系統(tǒng)采用“心跳”方法保證主系統(tǒng)與備用系統(tǒng)的聯(lián)系?!靶奶敝傅氖侵鲝南到y(tǒng)之間相互按照一定的時(shí)間間隔發(fā)送通訊信號(hào),表明各自系統(tǒng)當(dāng)前的運(yùn)行狀態(tài)。一旦“心跳”信號(hào)表明主機(jī)系統(tǒng)發(fā)生故障,或者備用系統(tǒng)無法收到主機(jī)系統(tǒng)的“心跳”信號(hào),則系統(tǒng)的高可用性管理軟件認(rèn)為主機(jī)系統(tǒng)發(fā)生故障,主機(jī)停止工作,備用系統(tǒng)將替代主機(jī)發(fā)揮作用,以保證網(wǎng)絡(luò)服務(wù)運(yùn)行不間斷。雙機(jī)熱備份方案中,根據(jù)兩臺(tái)服務(wù)器的工作方式可以有三種不同的工作模式,即:雙機(jī)熱備模式、雙機(jī)互備模式和雙機(jī)雙工模式。
⑴雙機(jī)熱備模式:即active/standby方式,active服務(wù)器處于工作狀態(tài);而standby服務(wù)器處于監(jiān)控準(zhǔn)備狀態(tài),服務(wù)器數(shù)據(jù)同時(shí)往兩臺(tái)或多臺(tái)服務(wù)器寫入,保證數(shù)據(jù)的即時(shí)同步。當(dāng)active服務(wù)器出現(xiàn)故障的時(shí)候,通過軟件診測(cè)或手工方式將standby機(jī)器激活,保證應(yīng)用在短時(shí)間內(nèi)完全恢復(fù)正常使用。
⑵雙機(jī)互備模式:兩個(gè)相對(duì)獨(dú)立的應(yīng)用在兩臺(tái)機(jī)器同時(shí)運(yùn)行,但彼此均設(shè)為備機(jī),當(dāng)某一臺(tái)服務(wù)器出現(xiàn)故障時(shí),另一臺(tái)服務(wù)器可以在短時(shí)間內(nèi)將應(yīng)用接管過來,從而保證了應(yīng)用的持續(xù)性,但對(duì)服務(wù)器的性能要求比較高,配置相對(duì)要好。
⑶雙機(jī)雙工模式:是群集的一種形式,兩臺(tái)服務(wù)器均為活動(dòng),同時(shí)運(yùn)行相同的應(yīng)用,保證整體的性能,也實(shí)現(xiàn)了負(fù)載均衡和互為備份,需要利用磁盤柜存儲(chǔ)技術(shù)。WEB服務(wù)器或FTP服務(wù)器等用此種方式比較多。
3.2 單機(jī)容錯(cuò)
單機(jī)容錯(cuò)技術(shù)是在一臺(tái)服務(wù)器實(shí)現(xiàn)高性能容錯(cuò)的。單機(jī)容錯(cuò)服務(wù)器最大的優(yōu)勢(shì)就在于它能夠自動(dòng)分離故障模塊,在不中斷運(yùn)行的情況下,進(jìn)行模塊調(diào)換,維護(hù)損壞的部件,并且在一切物理故障消除后,系統(tǒng)會(huì)自動(dòng)重新同步運(yùn)行,有效的解決了客戶的后顧之憂。
單機(jī)容錯(cuò)服務(wù)器是通過CPU時(shí)鐘鎖頻,通過對(duì)系統(tǒng)中所有硬件的備份,包括CPU、內(nèi)存和I/O總線等的冗余備份;通過系統(tǒng)內(nèi)所有冗余部件的同步運(yùn)行,實(shí)現(xiàn)真正意義上的容錯(cuò)。系統(tǒng)任何部件的故障都不會(huì)造成系統(tǒng)停頓和數(shù)據(jù)丟失。目前,很多容錯(cuò)系統(tǒng)是基于IA架構(gòu)的服務(wù)器,與Windows系統(tǒng)完全兼容,實(shí)現(xiàn)以前只有在RISC系統(tǒng)上才能實(shí)現(xiàn)的容錯(cuò)。這種容錯(cuò)技術(shù)在IA服務(wù)器上的實(shí)現(xiàn),將IA服務(wù)器的可靠性提高到了99.999%,同時(shí)服務(wù)器的運(yùn)行是不間斷的。容錯(cuò)產(chǎn)品支持任意硬件熱插拔,包括主板、CPU等關(guān)鍵性硬件,外界并感覺不到切換,系統(tǒng)可靠性大大提高,同時(shí)因?yàn)橄到y(tǒng)具備糾錯(cuò)能力,系統(tǒng)更加穩(wěn)定。如果說集群技術(shù)可以減少停機(jī),那么容錯(cuò)系統(tǒng)的目標(biāo)是避免停機(jī),在相同的條件下,容錯(cuò)系統(tǒng)顯然更加穩(wěn)定和安全。
雙機(jī)熱備份和容錯(cuò)服務(wù)器的定位稍微有些不同,這是由兩者實(shí)現(xiàn)的可用性差別決定的。雙機(jī)熱備份適用于業(yè)務(wù)連續(xù)性不是很嚴(yán)格的行業(yè),比如說公安系統(tǒng)、部隊(duì)系統(tǒng)或者個(gè)別的制造企業(yè)。而如電信、金融、證券和醫(yī)療等要求高的行業(yè)容錯(cuò)服務(wù)器是最佳之選。還要注意雙機(jī)熱備份不同于服務(wù)器集群,雙機(jī)熱備份要求兩對(duì)路配置完全一樣的服務(wù)器,而服務(wù)器集群的配置要求沒那么嚴(yán)格。另外,雙機(jī)熱備份方式需要至少2臺(tái)服務(wù)器,導(dǎo)致在軟件采購(gòu)、軟件維護(hù)升級(jí)、系統(tǒng)硬件升級(jí)的投入都比單機(jī)容錯(cuò)方式多1倍,而且在雙機(jī)備份軟件出現(xiàn)故障后,其維修的難度較高,對(duì)客戶會(huì)帶來較大困難。因此單機(jī)容錯(cuò)服務(wù)器的總成本遠(yuǎn)低于雙機(jī)備份方式的成本。但是在靈活配置方面,雙機(jī)熱備份方案更具優(yōu)勢(shì)。但總體來說,容錯(cuò)服務(wù)器才是未來的發(fā)展趨勢(shì)。
4 總結(jié)
計(jì)算機(jī)技術(shù)的發(fā)展日新月異,帶來計(jì)算機(jī)系統(tǒng)的可靠性受到重視,而容錯(cuò)技術(shù)是提高可靠性有效的方法。如今已經(jīng)取得了一定的成效,相信未來容錯(cuò)技術(shù)必將得到更快的發(fā)展和更廣泛的應(yīng)用。
[參考文獻(xiàn)]
[1]唐忠.雙機(jī)容錯(cuò)服務(wù)器解決方案的研究[J].大眾科技.2008(6):65-66.
[2]熊友生.醫(yī)院網(wǎng)絡(luò)服務(wù)器集成方案[J].醫(yī)療設(shè)備信息.2007,22(2): 26-27.
[3]陳慶偉.基于WINDOWS平臺(tái)網(wǎng)絡(luò)的高可用性研究.現(xiàn)代情報(bào).2005,03:35-36.