Raid磁盤陣列為服務器提供安全的、可靠的、可申縮的外部存儲空間。但是多數的服務器使用者對raid并不是十分了解再加上服務器的廣告上都太過強調了raid陣列的錯容功能,使得很多服務器的使用者受到一種“raid不會出現故障”的錯誤引導。因此在服務器的使用過程中忽視了raid磁盤陣列的潛在風險,對服務器數據的備份或者應急預案不足,一旦服務器出現故障将為企業帶來極大的影響。Raid磁盤陣列出現故障的原因通常可以歸結為如下幾點:
··下面将為讀者介紹服務器磁盤陣列中raid1、raid0、raid5三種raid形式出現故障時的數據恢複思路和方法。
1.raid1陣列數據恢複··Raid1是所有raid陣列中最為簡單的一種陣列形式,raid1中兩塊硬盤互為鏡像,所有數據都是完全一樣的。如果因為raid控制器故障或者raid信息出錯導緻raid1磁盤陣列數據無法訪問,隻需要将兩塊硬盤中的其中一塊硬盤從服務器上拆卸下來後作為單獨的硬盤挂載到計算機上即可讀取數據。
··如果raid1中其中一塊硬盤出現故障時是不會影響服務器的正常運行的,此時需要将故障硬盤更換為正常硬盤即可。如果服務器一塊硬盤故障時未能及時更換硬盤另一塊硬盤也出現故障,則raid1磁盤陣列失效。此時想要進行數據恢複需要利用後出現故障的那一塊硬盤進行數據恢複即可。
2.raid0磁盤陣列數據恢複思路··Raid0是所有磁盤陣列中最脆弱的磁盤陣列形式,raid0磁盤陣列沒有任何冗餘性能,陣列中隻要有一塊硬盤故障則服務器數據就會丢失,所以是一個風險極大的陣列形式。通過下圖可以看出,raid0的數據是分布到每一塊磁盤上的,如果服務器中任何一塊硬盤出現故障都會導緻服務器的數據不完整。
··對于raid0磁盤陣列的數據恢複要求數據恢複工程師對陣列中的所有數據進行重組,又由于raid0陣列已不可用,所以隻能将硬盤從raid控制器中取出來作為單塊硬盤進行分析和數據恢複。
如上圖所示,對于單塊硬盤1來說,其中的數據為A/E/I/M,硬盤2中的數據為B/F/J/N,都隻是部分數據,隻有把陣列中的所有硬盤數據按照A/B/C/D/E/F/G/H····這樣的順序拼接好,才能真正恢複raid0陣列中的數據。
··那麼應該怎麼按照順序拼接這raid0陣列中的所有硬盤數據呢,這裡需要注意兩個因素,一個是raid0磁盤陣列中每個數據塊的大小,也就是A或者B這些數據塊所占用的扇區數;另一個因素是raid0陣列中的硬盤排列順序,也就是說需要确定哪一塊硬盤是陣列中的第一塊硬盤,哪一塊是第二塊、第三塊····
··以上圖中的raid0磁盤陣列為例,我們假設數據塊的大小為16個扇區,硬盤的順序就以圖中的為例,那麼我們在進行數據恢複時隻需要在硬盤1中提取0~15扇區的信息,再到硬盤2中提取0~15扇區信息,再到硬盤3中提取0~15個扇區的信息,再到硬盤4中提取0~15個扇區的信息,再返回到硬盤1中提取16~31扇區的信息····以此類推,就可以将這個raid0陣列裡的所有數據提取出來了。
3.raid5磁盤陣列數據恢複原理··Raid5陣列中數據的分布與raid0陣列類似,與之不同的是raid5中每個平行的數據塊中總有一個數據塊是校驗塊,如下圖中的p1/p2/p3/p4。Raid5支持在一塊硬盤掉線的情況下保證數據的正常訪問,但是如果有兩塊或者兩塊以上的硬盤同時離線,陣列便會失效,需要對磁盤陣列進行數據重組了。Raid5的數據重組方式與raid0也是相同的,隻需要将硬盤中的數據按照順序拼接好即可
··由于raid5陣列中的每一塊硬盤中都有校驗信息,所以分析raid5陣列時需要比raid0陣列多分析一個校驗塊的位置和方向。也就是說raid5陣列分析有3個因素,分别是硬盤排列順序、每個數據塊所占的扇區數、陣列中每個數據塊的大小。
··以上圖中的raid5陣列為例,假設該raid5陣列的數據塊大小為32個扇區,盤序如圖所示,那麼在提取數據時隻需要按照從1~4的順序分别提取0~31扇區的信息(硬盤4中0~31扇區的信息為校驗塊,跳過不取),然後再返回到硬盤1中提取32~63扇區信息,以此類推,即可把所有提取出來的數據組成一個完整的raid5陣列鏡像文件。
更多精彩,請繼續關注監控那些事兒,交流學習 感覺此文章有對您有所幫助動一下小手轉發,關注,收藏!謝謝!
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!