話說(shuō)前幾天的一次現(xiàn)場(chǎng)服務(wù):
一個(gè)重要客戶現(xiàn)場(chǎng)使用了四年多oracle集群(rac)忽然宕機(jī)了,導(dǎo)致pvss無(wú)法歸檔,歷史數(shù)據(jù)無(wú)法查詢。
現(xiàn)場(chǎng)情況是這樣的:
pvss冗余服務(wù)器使用了雙節(jié)點(diǎn)的oracle rac,而rac 使用了raid5的共享磁盤(pán)陣列存儲(chǔ)。按理說(shuō)這樣的設(shè)計(jì)是scada系統(tǒng)中較為全面的容錯(cuò)配置:應(yīng)用服務(wù)器冗余,數(shù)據(jù)庫(kù)實(shí)例冗余,磁盤(pán)陣列冗余。
但為什么這個(gè)堪稱“豪華”的冗余配置還會(huì)出現(xiàn)宕機(jī)現(xiàn)象呢?
經(jīng)了解,獲悉:在rac宕機(jī)前,磁盤(pán)陣列已經(jīng)有一塊磁盤(pán)故障,raid5降級(jí)運(yùn)行,現(xiàn)場(chǎng)巡檢人員發(fā)現(xiàn)后立即報(bào)告,但現(xiàn)場(chǎng)由于沒(méi)有額外的備用的更換硬盤(pán),只好打報(bào)告申請(qǐng)購(gòu)買(mǎi)新的硬盤(pán)。可是沒(méi)想到,在幾天后共享磁盤(pán)陣列上又有一塊磁盤(pán)故障,而這時(shí)已申請(qǐng)的硬盤(pán)還沒(méi)到貨。
磁盤(pán)陣列一下壞了兩塊硬盤(pán),raid5的功能失效,oracle集群徹底無(wú)法工作。
后來(lái)找到當(dāng)?shù)氐臄?shù)據(jù)恢復(fù)公司,進(jìn)行硬盤(pán)級(jí)數(shù)據(jù)恢復(fù),但經(jīng)嘗試后,數(shù)據(jù)還是無(wú)法完全恢復(fù)成功。
至此,只好重做oracle集群。
由于沒(méi)有作數(shù)據(jù)備份,這次故障導(dǎo)致pvss的歷史歸檔、重要的生產(chǎn)歷史數(shù)據(jù)全部丟失,而系統(tǒng)恢復(fù)的時(shí)間、人力成本也較高。
可以說(shuō)這次故障損失較為慘重,但如果能未雨綢繆,提前做好備品備件以及數(shù)據(jù)備份的工作,即便遇到意外情況的發(fā)生,還是能將損失降到最低,甚至不會(huì)影響正常生產(chǎn)。
現(xiàn)在國(guó)內(nèi)很多工控項(xiàng)目的設(shè)計(jì)和實(shí)施中,都已經(jīng)對(duì)系統(tǒng)停機(jī)時(shí)間提出了很高的要求,除了冗余數(shù)據(jù)庫(kù)和服務(wù)器,使用更高級(jí)別的冗余部件,如:磁盤(pán)陣列使用更高容錯(cuò)力的raid50,專業(yè)的容錯(cuò)服務(wù)器等以外,生產(chǎn)系統(tǒng)中的各個(gè)部分也都使用了冗余電源,冗余plc控制器、冗余/環(huán)網(wǎng)絡(luò)等等。
這些冗余系統(tǒng)能夠很好的避免單點(diǎn)故障帶來(lái)的影響,雖然有的系統(tǒng)能承受多點(diǎn)故障,但故障后,系統(tǒng)的降級(jí)運(yùn)行會(huì)大大降低系統(tǒng)的可用性,如果不能及時(shí)的將系統(tǒng)恢復(fù)至最佳運(yùn)行狀態(tài),冗余設(shè)計(jì)在接下來(lái)的運(yùn)行中可能是形同虛設(shè),更本無(wú)法讓您高枕無(wú)憂。
所以冗余思想在系統(tǒng)設(shè)計(jì)過(guò)程中固然很重要,但如果要使冗余系統(tǒng)能否真正起到大幅降低停機(jī)時(shí)間的作用,后期的系統(tǒng)的維護(hù)和備件管理及流程也必須跟上。
亡羊補(bǔ)牢,為時(shí)不晚。這個(gè)故障也為我們?cè)僖淮吻庙懥司?,讓我們?cè)俅螌徱曇幌挛覀兩a(chǎn)現(xiàn)場(chǎng)的容錯(cuò)/冗余手段是否依然有效,巡檢和備件管理等工作是否切實(shí)到位。