磁碟陣列資料丟失的7個常見原因介紹
在資料恢復工作中經常能遇到伺服器磁碟陣列資料恢復的案例,本文為大家介紹一下不同raid磁碟陣列資料恢復的型別和原因分析。
1、磁碟陣列處於降級狀態時未及時rebuild磁碟陣列:
RAID磁碟陣列的資料安全冗餘原理是利用空餘出的部分空間實現的,當陣列中有成員盤下線後便無法繼續提供冗餘儲存。如果此時未能及時更換新磁碟並rebuild整個卷的話一旦raid陣列中其他成員盤發生離線行為將導致整個raid卷無法工作,這也是在資料恢復工作中遇到較多的故障型別。
2、raid陣列控制器故障:
控制器在磁碟陣列中充當著作業系統與物理硬碟之間的連結紐帶,並且每組不同的磁碟陣列中的硬碟數量、容量大小、raid級別、校驗方式等raid資訊都各有不同,這些資訊有的儲存於硬碟,有的儲存於陣列卡或者二者都有儲存。如果控制器出現故障一般情況下無法進行raid資訊的還原,即使能夠還原raid結構再次重建raid陣列也無法進行資料恢復。
3、韌體演算法缺陷:
RAID的建立、重建、降級、保護等工作在控制器的實現上是非常複雜的演算法,當然這裡面的複雜更多地是提供儘可能萬無一失的無漏洞演算法,儘管廠商不會輕易承認控制器的BUG,但毫無疑問,這些問題在任何一款控制器上都無法避免。因為韌體演算法上BUG,可能會產生很多無法解釋的故障。比如在部分伺服器資料恢復案例中,有一些早期生產的DELL 2950伺服器,會有RAID一塊盤OFFLINE後故障盤與報警燈不一致的情況,導致客戶在更換故障盤REBUILD時拔錯盤,整個RAID組崩潰。
4、IO通道受阻導致RAID掉盤:
RAID控制器在設計時為了資料的絕對安全,會盡可能避免寫資料到不穩定的儲存介質上,這樣,當控制器與物理硬碟進行IO時,如果時間超過某個閥值,或不滿足校驗關係,便會認為對應的儲存裝置已不具備持續工作的能力,但會讓其強制下線,通知管理員儘快解決問題。這種設計的初衷很好,同時也是正確的設計方式,但對於如物理連結線路鬆動,或因硬碟機械工作時反應超時(可能硬碟還是完好的)等隨機原因對控制器而言無法分辨裝置是否具備和之前一樣的穩定狀態,所以很不在意的某些小環節,便會導致RAID卷出現故障,此類故障的發生機率極大,而且無法避免。這也是大多數RAID出現故障後,硬碟並未有故障的原因,我們好多資料恢復服務的客戶會因此質疑伺服器廠商,實際上是有苦難言的,一定程度上,越是設計安全的控制器,越會發生此類現象。
5、控制器的穩定性:
RAID的控制器在ONLINE狀態下(無離線盤)工作是最穩定的,相對而言,當部分硬碟損壞(可能是邏輯故障)後離線,控制器便會工作在一個比較吃力的狀態,這也是好多中低端的RAID控制器在一塊盤離線後讀寫效能急速下降的原因。控制器的負載太重便會極大地增加資料吞吐時出現IO滯留的可能性,從而導致如上面第4點提及的RAID離線。一個不具備高速硬體處理晶片,不具備高速緩衝的控制器發生這類故障的機率要高得多。為了避免出現故障後資料恢復帶來的業務停頓與額外開銷,還是儘量不要選擇這類磁碟陣列控制器。
6、陣列中硬碟故障:
多數管理員認為只要正常工作的磁碟陣列中就不會存在損壞的硬碟,因為raid陣列中一旦有硬碟損壞後陣列會踢損壞硬碟下線,然而實際上並非如此。一組RAID卷在工作很長時間以後也很少會讀到物理硬碟的所有磁碟空間,同一時間更是不可能。部分情況下,硬碟會在沒有讀到的區域或者以前讀取是良好的區域產生壞道,這類壞道因為沒有讀寫過,所以在控制器看來是好的。產生這種壞磁軌的最直接危害是在REBUILD過程中。當一塊物理硬碟離線後,通常所有的技術人員及官方資料都會寫儘快做REBUILD,但如果其他硬碟存在這類平常不知的壞磁軌,REBUILD又都是對全盤做全面同步,就一定會讀寫到那些壞道,這時候REBUILD沒完成,新盤無法上線,因舊盤裡又發現了壞道,便會導致RAID又多出一些下線的硬碟,這樣就可能會導致RAID出現故障,無法自行進行資料恢復了。
7、人為誤操作:
涉及資料恢復的資料災難有相當一部分也是可以避免的,例如操作失誤導致誤拔了RAID裡的硬碟、更換壞盤不及時、給RAID陣列除塵時忘了原來的順序、不小心刪除了原RAID配置等。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31380569/viewspace-2218097/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- OMV資料恢復NAS陣列丟失資料恢復陣列
- 【伺服器資料恢復】Raid磁碟陣列常見故障解析伺服器資料恢復AI陣列
- 【伺服器資料恢復】斷電導致raid資訊丟失的磁碟陣列資料恢復案例伺服器資料恢復AI陣列
- wireshark、異常資料分析、常見RST介紹
- 【北亞資料恢復】伺服器中Raid5磁碟陣列重建後資料丟失的資料恢復資料恢復伺服器AI陣列
- Go 常見資料型別-01陣列Go資料型別陣列
- 【伺服器資料恢復】伺服器raid5磁碟陣列分割槽丟失的資料恢復案例伺服器資料恢復AI陣列
- 【乾貨】常見的5個python資料視覺化庫介紹!Python視覺化
- 使用HTTP代理失敗的常見原因HTTP
- NumPy 陣列切片及資料型別介紹陣列資料型別
- 【伺服器資料恢復】 重灌系統導致raid5磁碟陣列分割槽丟失的資料恢復案例伺服器資料恢復AI陣列
- Shell 陣列介紹陣列
- AWK 陣列介紹陣列
- 【伺服器資料恢復】HP EVA虛擬化磁碟陣列常見故障和資料恢復方案伺服器資料恢復陣列
- 硬碟資料丟失原因和解決方案/資料恢復方法硬碟資料恢復
- JavaScript陣列常見用法JavaScript陣列
- 虛擬機器未知原因丟失的資料恢復案例虛擬機資料恢復
- 【北亞資料恢復】raid6磁碟陣列硬碟故障掉線導致上層虛擬機器資料丟失的資料恢復案例資料恢復AI陣列硬碟虛擬機
- 介紹 Go 的陣列和切片Go陣列
- JavaScript 陣列常見操作 (二)JavaScript陣列
- JavaScript 陣列常見操作(一)JavaScript陣列
- meterpreter常見指令碼介紹指令碼
- 全面介紹JavaScript陣列方法JavaScript陣列
- ES6 陣列介紹陣列
- 磁碟陣列陣列
- 常見的代理IP型別介紹型別
- 介紹PostgreSQL的陣列型別FUSQL陣列型別
- ES5新增陣列的常見方法陣列
- js陣列常見的一些方法JS陣列
- 【知識分享】五個常見的web伺服器介紹Web伺服器
- linux常見特殊符號介紹Linux符號
- 華納雲:防止資料庫資料丟失的幾個方法資料庫
- 磁碟陣列中raid5壞了一個硬碟資料恢復陣列AI硬碟資料恢復
- 磁碟陣列RAID陣列AI
- RAID磁碟陣列AI陣列
- 常見的7種專案衝突的主要原因
- 簡單介紹Lua一維陣列與多維陣列的使用陣列
- js--陣列的reduce()方法的使用介紹JS陣列