Raid磁盘阵列数据恢复原理

Raid磁盘阵列数据恢复原理,第1张

·· raid磁盘阵列为服务器提供安全的、可靠的、可申缩的外部存储空间。但是多数的服务器使用者对raid并不是十分了解再加上服务器的广告上都太过强调了raid阵列的错容功能,使得很多服务器的使用者受到一种“raid不会出现故障”的错误引导。因此在服务器的使用过程中忽视了raid磁盘阵列的潜在风险,对服务器数据的备份或者应急预案不足,一旦服务器出现故障将为企业带来极大的影响。Raid磁盘阵列出现故障的原因通常可以归结为如下几点:

Raid控制器出现故障导致raid失效

突然断电导致raid信息故障

Raid5一块硬盘出错,系统管理员未及时更换硬盘的情况下另一块硬盘出错导致raid5失效。

下面介绍服务器磁盘阵列中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阵列镜像文件。

RAID 10 磁盘阵列中最多允许50%的硬盘设备发生故障,但是存在这样一种极端情况,即同一RAID 1 磁盘阵列中的硬盘设备若全部损坏,也会导致数据丢失。换句话说,在RAID10 磁盘阵列中,如果RAID 1 中的某一块硬盘出现了故障,而我们正在前往修复的路上,恰巧该RAID1 磁盘阵列中的另一块硬盘设备也出现故障,那么数据就被彻底丢失了。解决办法:使用RAID 备份盘技术来预防这类事故。该技术的核心理念就是准备一块足够大的硬盘,这块硬盘平时处于闲置状态,一旦RAID磁盘阵列中有硬盘出现故障后则会马上自动顶替上去。1)创建一个RAID 5 磁盘阵列+备份盘。2)参数-n 3 代表创建这个RAID 5 磁盘阵列所需的硬盘数,参数-l 5 代表RAID 的级别,而参数-x 1 则代表有一块备份盘。当查看/dev/md0(即RAID 5 磁盘阵列的名称)磁盘阵列的时候就能看到有一块备份盘在等待中了。将部署好的RAID 5 磁盘阵列格式化为ext4 文件格式,然后挂载到目录上,之后就可以使用了。 3)再次把硬盘设备/dev/sdb 移出磁盘阵列,然后迅速查看/dev/md0 磁盘阵列的状态,就会发现备份盘已经被自动顶替上去并开始了数据同步。RAID 中的这种备份盘技术非常实用,可以在保证RAID 磁盘阵列数据安全性的基础上进一步提高数据可靠性,所以,如果公司不差钱的话还是再买上一块备份盘以防万一。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/600673.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-07-10
下一篇2023-07-10

发表评论

登录后才能评论

评论列表(0条)

    保存