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