產(chǎn)品技術(shù)篇之一 “沒有錯(cuò)誤”的容錯(cuò)服務(wù)器技術(shù)

單機(jī)容錯(cuò)技術(shù)是我們?yōu)榱藚^(qū)別雙機(jī)冗余技術(shù)對(duì)Stratus等容錯(cuò)服務(wù)器的稱謂,但是在我的采訪中,有關(guān)服務(wù)器廠商都不愿意采用這個(gè)稱謂,他們更愿意采用容錯(cuò)服務(wù)器,因?yàn)閱螜C(jī)只是一個(gè)表現(xiàn)形式,并不能準(zhǔn)確表達(dá)其技術(shù)的特征。IDC資詢師將這種技術(shù)稱之為“沒有錯(cuò)誤”的容錯(cuò)服務(wù)器技術(shù)。

容錯(cuò)與同步技術(shù)

美國容錯(cuò)公司技術(shù)顧問高峰在接受記者采訪時(shí)表示,容錯(cuò)服務(wù)器的技術(shù)并不難理解,計(jì)算機(jī)自誕生之日起,其系統(tǒng)結(jié)構(gòu)并沒有發(fā)生任何改變,仍然是馮諾依曼教授所提出的由運(yùn)算器(CA)、控制器(CC)、存儲(chǔ)器M和輸入/輸出裝置所組成,而容錯(cuò)服務(wù)器的思路就是把所有這些部件全部采用冗余硬件設(shè)計(jì)。兩個(gè)部件共運(yùn)行同一個(gè)任務(wù),以此來提高系統(tǒng)的運(yùn)行可靠性。

這種思路和方法在其他服務(wù)器產(chǎn)品中也有采用,據(jù)富士通公司首席技術(shù)官周一平介紹,富士通PRIMEQUEST服務(wù)器就采用了這種方法,該服務(wù)器采用英特爾安騰2處理器,富士通把很多大型機(jī)和 Unix小型機(jī)的技術(shù)進(jìn)行了遷移。例如把處理器、內(nèi)存和PCI總線進(jìn)行冗余設(shè)計(jì),使系統(tǒng)具有高的可靠性。

高峰表示,這種冗余硬件的設(shè)計(jì)并不難理解,但是最為困難的是如何保證計(jì)算和數(shù)據(jù)在硬件中的同步,這是Stratus核心的專利技術(shù)。在Stratus容錯(cuò)服務(wù)器中,它被稱為同步(Lockstep)技術(shù),在惠普的NonStop服務(wù)器中被稱為鎖步技術(shù)。

安騰還是x86

容錯(cuò)服務(wù)器另外一個(gè)需要關(guān)注的焦點(diǎn)是處理器。據(jù)陳武勝介紹,目前惠普的NonStop服務(wù)器分為兩個(gè)系列:NonStop S和Integrity NonStop,其產(chǎn)品的差別在于所采用處理器芯片不同,NonStop S所采用的是MIPS芯片,是收購原美國天騰公司的產(chǎn)品,而Integrity NonStop所采用的是英特爾安騰2處理器。

陳武勝表示,除了處理器的差別之外,新的Integrity NonStop具有很多新的設(shè)計(jì),例如采用3部件的冗余設(shè)計(jì),此外系統(tǒng)總線也有很大改進(jìn),因此其可靠性才能夠達(dá)到7個(gè)9的水平。他指出,目前安騰2芯片已經(jīng)內(nèi)置了Lockstep同步技術(shù),在芯片級(jí)提供了系統(tǒng)容錯(cuò)設(shè)計(jì)的能力。而此前處理器芯片不具備這樣的能力,就需要通過外部結(jié)構(gòu)設(shè)計(jì)來解決同步的問題。據(jù)了解,Integrity NonStop可以進(jìn)一步分為NS1000、NS14000和NS16000,分為入門級(jí)、中高端和最高端服務(wù)器產(chǎn)品,其中最高端的NS16000服務(wù)器,其每個(gè)服務(wù)器的節(jié)點(diǎn)采用2~16個(gè)安騰2處理器。這些處理器節(jié)點(diǎn)通過惠普公司獨(dú)特的ServerNet進(jìn)行連接,可以提供多達(dá)4080個(gè)處理器計(jì)算能力。

在Stratus公司的產(chǎn)品中,更加強(qiáng)調(diào)容錯(cuò)的能力。據(jù)高峰介紹, ftServer已經(jīng)是該公司第四代產(chǎn)品系列,此前先后經(jīng)歷過Motorola M68000、Intel I860芯片、HP PARISC等不同處理器,以及VOS專有操作系統(tǒng)等階段。目前第四代產(chǎn)品采用基于x86結(jié)構(gòu)的Intel 處理器,其W系列最高的6600可以實(shí)現(xiàn)基于容錯(cuò)的4路雙核處理器的計(jì)算。高峰表示,Stratus將會(huì)在今年發(fā)布基于8路的容錯(cuò)服務(wù)器產(chǎn)品。

高峰表示,容錯(cuò)服務(wù)器選擇哪種處理器的關(guān)鍵還是要根據(jù)應(yīng)用的需求。安騰處理器采用了全新的64位計(jì)算架構(gòu),需要配合主機(jī)級(jí)的NonStop操作系統(tǒng)。與之相比,x86架構(gòu)應(yīng)用比較普遍,用戶軟件無須要進(jìn)行二次開發(fā)。Stratus公司之所以采用Linux、Windows等通用的平臺(tái)代替專用的VOS操作系統(tǒng),就是為了降低容錯(cuò)服務(wù)器的應(yīng)用成本。

“無解”的軟件故障

容錯(cuò)服務(wù)器通過硬件部件的冗余設(shè)計(jì),以及同步技術(shù)的保證,可以有效解決因?yàn)橛布蛩斐傻南到y(tǒng)故障,但是并不能解決軟件故障。

高峰表示,雖然在理論上存在著兩個(gè)相同部件同時(shí)損壞的情況,但是隨著硬件水平的提高,這種概率是比較低的。高峰表示,容錯(cuò)硬件的設(shè)計(jì)一方面可以防止硬件的單點(diǎn)故障,同時(shí)也可以防止硬件所造成的計(jì)算錯(cuò)誤,并對(duì)此做出校正。從技術(shù)的角度來看,所有軟件在硬件看來就是0和1,但是在某些情況下,硬件會(huì)產(chǎn)生不穩(wěn)定,造成非0非1的中間狀態(tài),就會(huì)產(chǎn)生計(jì)算的錯(cuò)誤,這種錯(cuò)誤并不一定導(dǎo)致系統(tǒng)宕機(jī),其錯(cuò)誤不易被察覺。

在容錯(cuò)服務(wù)器中,由于采用冗余部件同時(shí)運(yùn)行同一應(yīng)用任務(wù),這樣當(dāng)兩個(gè)系統(tǒng)產(chǎn)生不一樣計(jì)算結(jié)果的時(shí)候,系統(tǒng)就會(huì)察覺,并通過技術(shù)手段對(duì)于計(jì)算錯(cuò)誤進(jìn)行校驗(yàn),從而提高應(yīng)用的準(zhǔn)確性。但是如果是軟件本身的問題,無論是操作系統(tǒng)還是應(yīng)用軟件,那么容錯(cuò)服務(wù)器沒有辦法對(duì)于這種錯(cuò)誤進(jìn)行修整。因?yàn)閷?duì)于容錯(cuò)服務(wù)器而言,硬件所能夠辨別的就是0和1,至于0和1所蘊(yùn)含的軟件邏輯,硬件無從辨別。高峰表示,軟件的問題只能夠通過軟件的方法加以解決。有些用戶對(duì)此存在一些誤解,認(rèn)為容錯(cuò)服務(wù)器不會(huì)宕機(jī),實(shí)際上容錯(cuò)服務(wù)器只能夠解決硬件的故障。

關(guān)于容錯(cuò)服務(wù)器應(yīng)用,記者也采訪了NEC技術(shù)經(jīng)理黃后生,他表示,選擇容錯(cuò)服務(wù)器的意義在于為關(guān)鍵業(yè)務(wù)應(yīng)用提供可靠的硬件平臺(tái)。黃后生表示,用戶為追求系統(tǒng)可靠性,往往會(huì)選擇小型機(jī),但這會(huì)增加成本,同時(shí)也對(duì)企業(yè)的技術(shù)人員提出了比較高的要求。但是選擇容錯(cuò)服務(wù)器沒有這樣的要求,可以使用他們比較熟悉的Windows平臺(tái)或者Linux平臺(tái)。

黃后生表示,目前NEC的Express5800/ft服務(wù)器在原理上與Stratus非常類似,兩家公司在技術(shù)上有著戰(zhàn)略合作,共同開發(fā)有關(guān)容錯(cuò)服務(wù)器的相關(guān)技術(shù)。目前NEC是Stratus公司的投資股東,持有 Stratus公司部分股票。在全球服務(wù)器市場上,NEC位列前5強(qiáng),具有豐富應(yīng)用和推廣的經(jīng)驗(yàn),以及雄厚的市場推廣能力。在技術(shù)支持和服務(wù)方面,NEC 已經(jīng)建立了非常好的渠道,這些優(yōu)勢都有助于容錯(cuò)服務(wù)器在中國的應(yīng)用和推廣。
產(chǎn)品技術(shù)篇之二基于“心跳”的雙機(jī)冗余服務(wù)器方案

相對(duì)于容錯(cuò)服務(wù)器,雙機(jī)冗余服務(wù)器解決方案比較簡單,目前服務(wù)器廠商都可以提供。它所采用的是兩臺(tái)配置完全一樣的服務(wù)器系統(tǒng),當(dāng)一臺(tái)機(jī)器出現(xiàn)故障的時(shí)候,另外一臺(tái)機(jī)器接替其工作,保證系統(tǒng)的穩(wěn)定工作。

雙機(jī)熱備的兩種模式

雙機(jī)熱備有兩種實(shí)現(xiàn)模式,一種是比較標(biāo)準(zhǔn)的,兩臺(tái)服務(wù)器通過一個(gè)共享的存儲(chǔ)設(shè)備(磁盤陣列或存儲(chǔ)區(qū)域網(wǎng)SAN),并且安裝雙機(jī)軟件,實(shí)現(xiàn)雙機(jī)熱備,稱為共享方式。另一種方式是通過純軟件的方式,一般稱為純軟件方式或鏡像方式(Mirror)。

基于存儲(chǔ)共享的雙機(jī)熱備是最標(biāo)準(zhǔn)的方案。對(duì)于這種方式,采用兩臺(tái)或者多臺(tái)服務(wù)器,使用共享存儲(chǔ)設(shè)備,兩臺(tái)服務(wù)器之間可以采用互備、主從、并行等不同的工作方式。在工作過程中,兩臺(tái)服務(wù)器將以一個(gè)虛擬的IP地址對(duì)外提供服務(wù),依工作方式的不同,其服務(wù)請(qǐng)求將發(fā)送給其中一臺(tái)服務(wù)器承擔(dān)。當(dāng)一臺(tái)服務(wù)器出現(xiàn)故障時(shí),另一臺(tái)服務(wù)器根據(jù)心跳偵測的情況做出判斷,并進(jìn)行切換,接管服務(wù)。對(duì)于用戶而言,這一過程是全自動(dòng)的。這種模式好處在于兩臺(tái)服務(wù)器所使用數(shù)據(jù)相同,但是也有用戶擔(dān)心,共享存儲(chǔ)設(shè)備會(huì)成為系統(tǒng)單一故障點(diǎn)。為此,存儲(chǔ)廠商也針對(duì)存儲(chǔ)設(shè)備推出了雙冗余的方案。

純軟件雙機(jī)冗余方案是一個(gè)更加經(jīng)濟(jì)的方案,其沒有集中式存儲(chǔ)設(shè)備,其數(shù)據(jù)保存在服務(wù)器各自的硬盤上,通過支持鏡像的雙機(jī)軟件,將數(shù)據(jù)實(shí)時(shí)復(fù)制到另一臺(tái)服務(wù)器上。純軟件方案其數(shù)據(jù)同步運(yùn)行在兩臺(tái)服務(wù)器上,如果一臺(tái)服務(wù)器出現(xiàn)故障,可以及時(shí)切換到另一臺(tái)服務(wù)器上。采用純軟件方式避免了磁盤陣列的單點(diǎn)故障;節(jié)約投資,不需購買昂貴的磁盤陣列;不受距離的限制;可以靈活地部署服務(wù)器。
軟件水平是關(guān)鍵

無論采用哪一個(gè)廠商的雙機(jī)冗余服務(wù)器解決方案,所采用的雙機(jī)或集群軟件是其中的關(guān)鍵,軟件定了,方案的容錯(cuò)水平也就定了。

目前市場上在Windows平臺(tái)下比較常見的雙機(jī)軟件有DataWare、Lander Cluster和LifeKeeper;在Linux平臺(tái)下有DataWare、ROSE HA、PCL HA、 LifeKeeper和Lander Cluster等。此外,在SCO Unix和Sun Solaris平臺(tái)下常用的軟件有Lander Cluster和PCL HA。

為了對(duì)這些軟件的性能有所了解,記者采訪了DataWare的生產(chǎn)廠商,來自臺(tái)灣的ProWere公司,其在北京的辦事處豪威科技首席代表白廣凌和蔡雪濤工程師介紹了有關(guān)情況。白廣凌表示這些軟件在功能上都差不多,如自動(dòng)偵測功能。它在兩臺(tái)服務(wù)器之間提供異常情況互相監(jiān)控,如果其中一臺(tái)主機(jī)發(fā)生故障,則故障機(jī)制立刻執(zhí)行,如果不能在故障主機(jī)解決,所有資源將自動(dòng)切換到另一臺(tái)主機(jī)。雙機(jī)軟件一般提供兩種模式:Active / Standby 模式和Active / Active 模式,前者一臺(tái)作業(yè)主機(jī)承擔(dān)所有的工作負(fù)載,另一臺(tái)主機(jī)處于備援狀態(tài);而后者則是兩臺(tái)主機(jī)共同分擔(dān)工作負(fù)載,如果其中一臺(tái)主機(jī)故障,另一臺(tái)主機(jī)將自動(dòng)承擔(dān)所有的工作負(fù)載。

蔡雪濤指出,雙機(jī)軟件的關(guān)鍵在于切換,最為忌諱的情況就是誤切換。如果雙機(jī)都認(rèn)為對(duì)方發(fā)生了故障,就會(huì)產(chǎn)生兩臺(tái)主機(jī)相互爭奪資源的情況,就將導(dǎo)致嚴(yán)重的后果。蔡雪濤表示,雙機(jī)冗余服務(wù)器解決方案不能夠替代數(shù)據(jù)備份,以純軟件方式為例,如果數(shù)據(jù)有錯(cuò)誤,那么其另一臺(tái)機(jī)器上的鏡像肯定也是錯(cuò)誤的,因此雙機(jī)冗余服務(wù)器解決方案不能解決類似的錯(cuò)誤。采用數(shù)據(jù)集中存儲(chǔ)的方式,無論是NAS還是SAN,兩臺(tái)服務(wù)器所使用的是同一個(gè)數(shù)據(jù)。但是存儲(chǔ)設(shè)備存在單一故障的風(fēng)險(xiǎn),為此,ProWere推出了針對(duì)NAS存儲(chǔ)的雙冗余解決方案。

蔡雪濤表示,不同的雙機(jī)軟件在細(xì)節(jié)上還是有一些差異,最主要的是故障偵測的機(jī)制。兩臺(tái)服務(wù)器之間一般通過“心跳”線進(jìn)行偵測,“心跳”線的連接有串口、SCSI和網(wǎng)絡(luò)連接三種方式。在一般情況下,應(yīng)該至少采用兩種連接方式,以增加偵測的準(zhǔn)確性。

目前雙機(jī)應(yīng)用的范圍比較廣泛,無論在銀行、電信、政府、電力、石油、新聞出版、生產(chǎn)制造等行業(yè),凡涉及關(guān)鍵業(yè)務(wù)應(yīng)用的領(lǐng)域,雙機(jī)冗余都是一個(gè)重要的解決方案。但是雙機(jī)冗余服務(wù)器方案同樣不能夠解決軟件的故障。蔡雪濤指出,以常見的數(shù)據(jù)庫故障為例,有些時(shí)候數(shù)據(jù)庫莫名其妙打不開了,在這種情況下,只有重新安裝數(shù)據(jù)庫,沒有其他好的辦法。蔡雪濤提醒用戶,雙機(jī)冗余不能夠替代備份,數(shù)據(jù)備份和災(zāi)難恢復(fù)系統(tǒng)是應(yīng)對(duì)故障最好的辦法。
案例應(yīng)用篇電力SIS系統(tǒng)的選擇

廠級(jí)監(jiān)控信息系統(tǒng)(SIS系統(tǒng))是目前電廠信息化建設(shè)的重要系統(tǒng)。據(jù)北京京能熱電股份有限公司(京能熱電)副總工程師李東介紹,SIS位于電廠管理信息 (MIS)系統(tǒng)與各種分散控制(DCS)系統(tǒng)之上,以經(jīng)濟(jì)運(yùn)行和提高發(fā)電企業(yè)整體效益為目的,采用先進(jìn)、適用、有效的專業(yè)計(jì)算方法,實(shí)現(xiàn)整個(gè)電廠范圍內(nèi)的信息共享,對(duì)廠級(jí)生產(chǎn)過程進(jìn)行實(shí)時(shí)信息監(jiān)控和調(diào)度,提高機(jī)組運(yùn)行的可靠性。

SIS系統(tǒng)為管理層決策提供了真實(shí)、可靠的實(shí)時(shí)運(yùn)行數(shù)據(jù)。與此同時(shí),與職工息息相關(guān)的績效考核等工作,也需要SIS系統(tǒng)提供支持。據(jù)了解,京能熱電從去年下半年開始實(shí)施SIS系統(tǒng),其首要的任務(wù)就是選擇硬件支撐平臺(tái)。李東表示,SIS系統(tǒng)涉及大量復(fù)雜過程的實(shí)時(shí)信息數(shù)據(jù)操作,因此硬件平臺(tái)應(yīng)該選用高性能、高可用性、升級(jí)便捷和維護(hù)方便的企業(yè)級(jí)數(shù)據(jù)庫服務(wù)器,同時(shí)應(yīng)該兼顧開放式的體系結(jié)構(gòu)和分布式系統(tǒng)設(shè)計(jì)。

經(jīng)過對(duì)現(xiàn)有硬件平臺(tái)的分析比較,京能熱電最終選擇了Stratus ftServer W 系列 3300 服務(wù)器。據(jù)李東介紹,該服務(wù)器采用部件級(jí)冗余的工業(yè)標(biāo)準(zhǔn)容錯(cuò)服務(wù)器,其可靠性設(shè)計(jì)達(dá)到99.999%以上,其中電源、CPU、內(nèi)存、I/O控制組件均采用冗余配置。通過該服務(wù)器的CPU/MEM集成鎖步(Lock-Step)技術(shù),其冗余部件在同一時(shí)鐘周期做同樣的指令,動(dòng)態(tài)數(shù)據(jù)得到保護(hù)。

與雙機(jī)冗余服務(wù)器方案進(jìn)行比較,京能熱電方面認(rèn)為,容錯(cuò)服務(wù)器具有更高的可靠性和系統(tǒng)可用性,在此,李東特別提到了I/O部件的冗余,他們也配對(duì)工作,能夠在發(fā)生故障時(shí)進(jìn)行接管,切換時(shí)間在毫秒級(jí)。切換過程不需要使用任何軟件和編寫腳本程序。

從配置來看,該服務(wù)器采用雙路Intel Xeon 3.2GHz 處理器,二級(jí)緩存為1MB,其內(nèi)存配置為2GB DDR。該服務(wù)器采用Windows Server 2003簡體中文企業(yè)版操作系統(tǒng),配置相應(yīng)的服務(wù)器管理軟件,在硬盤方面采用工業(yè)標(biāo)準(zhǔn)熱插拔內(nèi)置硬盤,并作RAID 1保護(hù),實(shí)際數(shù)據(jù)容量大于300GB,最大可達(dá)到480GB。該服務(wù)器集成一對(duì)雙口10/100/1000自適應(yīng)RJ45以太網(wǎng)卡,四個(gè)網(wǎng)口可兩兩配對(duì),互為冗余,每對(duì)網(wǎng)口可配置成同一IP地址,隨時(shí)進(jìn)行故障切換。據(jù)了解,該服務(wù)器所有部件均可以模塊化方式進(jìn)行熱插拔,即CPU、內(nèi)存、電源、風(fēng)扇、硬盤、網(wǎng)卡、所有I/O設(shè)備、甚至主機(jī)板出現(xiàn)故障時(shí),均可不停機(jī)進(jìn)行更換,能把硬件故障導(dǎo)致的平均非計(jì)劃停機(jī)時(shí)間控制在每年5分鐘之內(nèi)。

李東表示,之所以選用Stratus公司的ftServer系列產(chǎn)品,有一個(gè)非常重要的原因,即目前國內(nèi)市場上所采用的SIS系統(tǒng)軟件基本上基于 Windows平臺(tái),因此基于x86平臺(tái)的ftServer就成為當(dāng)然之選。如果是選用惠普公司的Integrity NonStop服務(wù)器,其應(yīng)用軟件運(yùn)行在NonStop OS之上,有別于Windows操作系統(tǒng),將涉及到應(yīng)用軟件的修改。李東也就雙機(jī)冗余方案進(jìn)行了對(duì)比,經(jīng)過他們測算,如果采用雙機(jī)冗余方案,需要購買兩套操作系統(tǒng)、兩套數(shù)據(jù)庫產(chǎn)品,那么其總體的投資與容錯(cuò)服務(wù)器方案相當(dāng),而系統(tǒng)的可用性方面,容錯(cuò)服務(wù)器顯然更具有優(yōu)勢。對(duì)此, Stratus公司高峰表示,目前國內(nèi)的采購,軟件和硬件大多分開招標(biāo),這非常不利于用戶計(jì)算總體成本,對(duì)于容錯(cuò)服務(wù)器產(chǎn)品銷售也有一定的影響。

李東表示,目前國內(nèi)行業(yè)用戶對(duì)于軟件的正版化問題已經(jīng)足夠重視,這非常有利于容錯(cuò)服務(wù)器的應(yīng)用推廣,從他們的應(yīng)用實(shí)踐看,容錯(cuò)服務(wù)器是一個(gè)不錯(cuò)的選擇。

分享到

zhaohang

相關(guān)推薦