今天,很多工程師對DCS和PLC的CPU冗余、電源冗余、輸入/輸出模塊冗余、甚至網(wǎng)絡(luò)冗余已經(jīng)有所了解了,它們位于自動化系統(tǒng)的1層(Level 1),見下圖,現(xiàn)在我們來討論一下2層和以上部分的冗余問題。這些部分包括:監(jiān)控與數(shù)據(jù)采集(SCADA)、制造執(zhí)行系統(tǒng)(MES)和企業(yè)資源計(jì)劃(ERP)等系統(tǒng)。
工業(yè)自動化需要高等級的可靠性,這個(gè)需求擴(kuò)展到計(jì)算硬件和軟件--也具有高可用性。在低層系統(tǒng),組件使用高可用性設(shè)計(jì),諸如嵌入式控制器,已經(jīng)有多年的歷史。但今天的人們期望自動化系統(tǒng)能執(zhí)行更多的任務(wù)-諸如與后端數(shù)據(jù)庫交換信息-成為不斷集成和智能架構(gòu)的一部分。
比如一家汽車生產(chǎn)商,在安裝安全氣囊時(shí),需要記錄每個(gè)裝配螺釘?shù)霓D(zhuǎn)矩值,并把這個(gè)信息發(fā)送到公司的數(shù)據(jù)庫。如果這個(gè)數(shù)據(jù)在制造過程中變得不靠譜,在系統(tǒng)運(yùn)行時(shí)引起失效,后果會非常嚴(yán)重。為了在制造過程中找出不能滿足規(guī)范的原因,工廠可能不得不停止生產(chǎn)線,請相關(guān)技術(shù)人員查找問題所在。對于某些流程行業(yè),諸如制藥行業(yè),糟糕的數(shù)據(jù)可能意味著一整批已經(jīng)生產(chǎn)的產(chǎn)品必須廢棄。
因?yàn)樽詣踊到y(tǒng)要做很多的事情,所以系統(tǒng)變得非常復(fù)雜。公司必須經(jīng)常對系統(tǒng)進(jìn)行評估,發(fā)現(xiàn)問題所在,找出提高效率方法,在計(jì)算架構(gòu)中建立高可靠性和高可用性的冗余是減少停機(jī)時(shí)間、提高整體生產(chǎn)率的方法之一。
建立高可用性
為了找到在一個(gè)系統(tǒng)中需要的冗余點(diǎn),最好從有軟件環(huán)境的高層開始??疾楦邔幼酉到y(tǒng),諸如數(shù)據(jù)庫和管控臺,對需要高可用性的地方進(jìn)行優(yōu)先排序。如果一個(gè)特定的子系統(tǒng)需要連續(xù)的信息更新,數(shù)據(jù)存儲對這個(gè)子系統(tǒng)而言,應(yīng)該具有高可用屬性。相反,管控臺為操作員提供人機(jī)界面,能夠與現(xiàn)場信息互動,反應(yīng)速度不是很快,所以不需要最高的可用性。
下一步是對多個(gè)子系統(tǒng)制定不同可用性等級的策略。如果某個(gè)數(shù)據(jù)庫必須要高可用性,并且由多個(gè)服務(wù)器支持,功能怎樣分布到各服務(wù)器-特別是如果其中的一臺失效了怎么辦?這些都是策略要考慮的問題。對服務(wù)器實(shí)施高可用性有幾種可選方法,包括軟件和硬件的解決方案。
在軟件領(lǐng)域,市場銷售的操作系統(tǒng)和數(shù)據(jù)庫很多都包含了群件功能,這意味著在集群機(jī)器中,能夠?qū)崿F(xiàn)從失效節(jié)點(diǎn)到不同節(jié)點(diǎn)的自動切換。很多虛擬化產(chǎn)品也具有這樣的切換能力,這個(gè)功能能使企業(yè)快速啟動應(yīng)急預(yù)案,執(zhí)行備份解決方案,自動調(diào)出新的虛擬實(shí)例,這是在配置時(shí)事先要完成的特定角色。
虛擬化允許不同類型的軟件棧使用統(tǒng)一的方法管理,這在老子系統(tǒng)和新子系統(tǒng)需要共存的情況下,是非常適合的。當(dāng)失效發(fā)生時(shí),同類系統(tǒng)的單一應(yīng)用框架能夠把需要的預(yù)備應(yīng)用切到一個(gè)新服務(wù)器上。
這些解決方案的每個(gè)性能都不一樣,差別巨大。一個(gè)全部冗余的硬件集群方案僅需要1秒或2秒完成切換,而由一個(gè)應(yīng)用容器檢查到問題,然后轉(zhuǎn)移至一個(gè)新服務(wù)器可能需要30秒。選擇方案是否能滿足響應(yīng)要求在設(shè)計(jì)階段是非常關(guān)鍵的,因?yàn)橐淖円粋€(gè)冗余的架構(gòu)層,可能需要對整個(gè)系統(tǒng)重新設(shè)計(jì)一次。
要注意的是,在集群的子系統(tǒng)內(nèi)操作時(shí),需要堅(jiān)持一些原則,諸如最小化狀態(tài)和無擾動切換。有可能的話,使服務(wù)中的狀態(tài)信息最小化,并存放在公共存儲器中。對于不能完全轉(zhuǎn)移到公共存儲器的信息,非易失性存儲結(jié)合一種復(fù)制策略,可以實(shí)現(xiàn)節(jié)點(diǎn)失效的影響最小化。
當(dāng)一個(gè)托管數(shù)據(jù)庫實(shí)例系統(tǒng)停機(jī)時(shí),他可能處于最后交易的一半寫狀態(tài)。當(dāng)新節(jié)點(diǎn)接入后,方案應(yīng)設(shè)計(jì)成能夠滾動返回操作,已交易部分應(yīng)避免重復(fù)輸入,不然會使記錄的不正確率增高。錯(cuò)誤數(shù)據(jù)的影響可能是災(zāi)難性的。如果不能找到制藥生產(chǎn)過程的正確歷史,制造商可能不得不召回一整批次產(chǎn)品,價(jià)值可能有幾百萬美元。
配置硬件冗余
系統(tǒng)除了在軟件級上建立高可用性外,硬件應(yīng)確保不會因任意單點(diǎn)失效而使系統(tǒng)宕機(jī)。企業(yè)應(yīng)能通過硬件冗余防止系統(tǒng)失效,并能實(shí)現(xiàn)在線可維護(hù)。在服務(wù)器級,冗余是確保運(yùn)行連續(xù)、可靠計(jì)算和數(shù)據(jù)安全的基礎(chǔ)。
冗余硬件的組件應(yīng)該包括:
● 冗余服務(wù)器和熱插拔機(jī)架、冷卻風(fēng)扇;
● 冗余機(jī)架管理模塊;
● 標(biāo)準(zhǔn)N-1冗余,熱插拔電源;
● 可選冗余隨機(jī)存儲器(RAM);
● 帶熱插拔硬盤的冗余存儲;
● 電池支持的磁盤冗余陣列(RAID)緩存;
● 冗余網(wǎng)絡(luò)接口;
● 冗余熱插拔更換模塊。
決定在哪里投資
冗余是避免的中斷和宕機(jī)的基礎(chǔ),特別在自動化的制造和生產(chǎn)中。但很少有組織在每個(gè)運(yùn)行部分建立相同等級的冗余,這是因?yàn)橘Y金和資源都是有限的,另外對不同子系統(tǒng)可用性的要求也是不一樣的。由于基礎(chǔ)設(shè)施的不斷集成和智能化,公司有機(jī)會不斷改變系統(tǒng)的架構(gòu),可用性不但依靠處理器和存儲器,也要依靠建立的數(shù)據(jù)庫、接口和應(yīng)用的冗余。
關(guān)鍵是選擇在哪里實(shí)施冗余。從整個(gè)系統(tǒng)的開始,評估哪個(gè)子系統(tǒng)需要高可用性,結(jié)合考慮軟件環(huán)境和硬件域,企業(yè)能夠達(dá)到他們所需要的高可用性,同時(shí)降低停機(jī)造成的損失。