**··**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阵列镜像文件。