2009-02-19

有備份,資料就一定有保障嗎?

傳說中,電腦機房總要供奉「綠色乖乖」,保佑不故障、不當機。耳聞已久,昨日得見。

隨同儲存系統業者拜訪了某教學醫院。訪談結束後,中心主管一邊笑稱:「CIO的位子保不保,就看機器會不會當機。」一邊引領我們參觀機房。過程中,大夥自然也聊起移民署前陣子那場「當機災難」,還有機房內「乖乖被收走」的八卦傳聞。

於是隨口問了:那你們呢?只見主管抬手遙指,喔喔,機房入口門框上,就高高擺置著一包笑瞇瞇的綠色乖乖,配上一只紅紙條,四字大字令人心神安定:永‧不‧當‧機!

對於移民署的當機事件,資深儲存技術顧問先前有過一番見解,茲摘錄其中部分談話如下:


資訊系統當機其實是件尋常事,總是在各地輪流上演。但移民署的證照查驗系統當機事件,因為發生在海關,事後又讓多名通緝犯順利出境,涉及到法律、國土安全的層面,已經不是純然的IT或資料備份與還原的問題了。

移民署的當機事件,主要是磁碟陣列方面引發的災難。為何連磁碟陣列技術,在資料重建的過程當中,都無法百分百確保資料的絕對安全呢?

關鍵就在於磁碟陣列使用RAID 1+0,其實並無法真正確保重建期間的資料安全。因為硬碟在重建時,當與之成對的另外一顆硬碟也故障時,這個磁碟陣列群組上的所有資料就會立刻全部損毀。如果使用RAID 5則會更加危險。因為在重建期間,只要另外遇到其他任何某顆硬碟磁區故障或硬碟故障,資料就立刻全部損毀。

杜絕資料重建的空窗期

在前述資料重建時還會掃描硬碟的所有磁區。由於這些磁碟陣列系統平日並沒有針對磁區和磁軌做維護,不知道哪些是壞軌。於是,一旦重建過程踩到壞軌,資料還原工作也將宣告停擺。

使用RAID 6雖可避免重建期間的安全空窗期,但是卻得犧牲嚴重的效能下降的負載。以NetApp高效能RAID 6的RAID-DP技術為例,沒有RAID 5與RAID 6效能下降的衝擊,也不需像RAID 1+0一樣多負擔一倍的磁碟機數量,就可得到相當於RAID 1+0的效能。

另一方面,即使硬碟機沒有損壞,用戶還是得擔心「資料可能錯誤」的問題。這時候就需要一些雙重保護措施,來確保資料的完整無缺。NetApp的RAID-DP採用「雙重主動」模式,當資料寫入時,會回應一個訊息,通知使用者資料確實寫入。這種二次確認的設計,正是資料寫入無誤的最佳保證。

另一方面,當讀取資料之前,系統則會自動比對資料對應的檢查區。一旦發現磁區有所變動,就會自動做同位檢查,修復後再還原資料以供應用程式讀取。這一連串動作都是系統即時、自動執行,不影響磁碟運作效能。

RAID-DP還能持續自動檢查與修復所有磁區(包括已儲存資料和未使用的部分)和熱備援硬碟,絲毫不會影響正常的磁碟運作效能,除了確保資料正確性(Data Integrity),更大幅降低資料存放在故障磁區的風險,真正杜絕資料重建過程中可怕的「空窗期」。

不少組織機構雖然花了大錢建置異地備援的災難復原機制,但是程式錯誤、人為疏失就佔每年平均停機時間80%,硬體故障佔10%,這些日常發生的「災難」,卻不是異地備援的災難復原可以克服。

因此在考慮災難復原機制時,絕對不能以為建置了異地備援機制就完成了,應該要從如何快速復原程式錯誤與人為疏失的災難,與磁碟陣列系統的選擇開始規劃,否則不是天然災害的資料流失與大停機事件仍會不斷重演。

沒有留言: