2024年3月31日发(作者:)

RAID5扩容与数据还原

RAID 5使用至少三块硬盘来实现阵列,它既能实现RAID 0的加速功能也能够实现

RAID 1的备份数据功能,在阵列当中有三块硬盘的时候,它将会把所需要存储的数

据按照用户定义的分割大小分割成文件碎片存储到两块硬盘当中,此时,阵列当中

的第三块硬盘不接收文件碎片。

RAID 5也被叫做带分布式奇偶位的条带。每个条带上都有相当于一个“块”那

么大的地方被用来存放奇偶位。与RAID 3不同的是,RAID 5把奇偶位信息也分布在

所有的磁盘上,而并非一个磁盘上,大大减轻了奇偶校验盘的负担。尽管有一些容

量上的损失,RAID 5却能提供较为完美的整体性能,因而也是被广泛应用的一种磁

盘阵列方案。它适合于输入/输出密集、高读/写比率的应用程序,如事务处理等。

RAID 5使用至少三块硬盘来实现阵列,它既能实现RAID 0的加速功能也能够实

现RAID 1的备份数据功能,在阵列当中有三块硬盘的时候,它将会把所需要存储的

数据按照用户定义的分割大小分割成文件碎片存储到两块硬盘当中,此时,阵列当

中的第三块硬盘不接收文件碎片,它接收到的是用来校验存储在另外两块硬盘当中

数据的一部分数据,这部分校验数据是通过一定的算法产生的,可以通过这部分数

据来恢复存储在另外两个硬盘上的数据。另外,这三块硬盘的任务并不是一成不变

的,也就是说在这次存储当中可能是1号硬盘和2好硬盘用来存储分割后的文件碎片,

那么在下次存储的时候可能就是2号硬盘和3号硬盘来完成这个任务了。可以说,在

每次存储操作当中,每块硬盘的任务是随机分配的,不过,肯定是两块硬盘用来存

储分割后的文件碎片另一块硬盘用来存储校验信息。

这个校验信息一般是通过RAID控制器运算得出的,通常这些信息是需要一个

RAID控制器上有一个单独的芯片来运算并决定将此信息发送到哪块硬盘存储。

RAID 5同时会实现RAID 0的高速存储读取并且也会实现RAID 1的数据恢复功

能,也就是说在上面所说的情况下,RAID 5能够利用三块硬盘同时实现RAID 0的速

度加倍功能也会实现RAID 1的数据备份功能,并且当RAID 5当中的一块硬盘损坏之

后,加入一块新的硬盘同样可以实现数据的还原。

RAID5读写过程

用简单的语言来表示,至少使用3块硬盘(也可以更多)组建RAID5磁盘阵列,

当有数据写入硬盘的时候,按照1块硬盘的方式就是直接写入这块硬盘的磁道,如果

是RAID5的话这次数据写入会分根据算法分成3部分,然后写入这3块硬盘,写入的

同时还会在这3块硬盘上写入校验信息,当读取写入的数据的时候会分别从3块硬盘

上读取数据内容,再通过检验信息进行校验。当其中有1块硬盘出现损坏的时候,就

从另外2块硬盘上存储的数据可以计算出第3块硬盘的数据内容。也就是说raid5这种

存储方式只允许有一块硬盘出现故障,出现故障时需要尽快更换。当更换故障硬盘

后,在故障期间写入的数据会进行重新校验。 如果在未解决故障又坏1块,那就是

灾难性的了。

RAID5扩容

先把硬盘插入磁盘柜,打开ServerRAID Manager,找到新加的硬盘,确认硬盘

已经可以识别。

确认阵列没有正在同步,如果在同步,需要等同步完成,然后在需要加入硬盘

的Array上点右键选择Logical-driver Migration -> Increase Logical-drver size,弹出阵

列构造界面,将新加的硬盘加入到现有的阵列中,点“OK”,阵列开始执行Migration,

进度可以在状态栏上看到,Migration进行时,所有的阵列操作将被禁止。这个过程

很长,我加一个硬盘用了16个小时左右,不知加两个需要多长时间。这时候数据库

可以正常使用,但效率比较低。操作完成前不要做主备切换。

等待Migration完成后,阵列重新开始同步,这时不用等待。打开磁盘管理器,

可以看到新加的空间。

在命令行运行DiskPart,Windows2003自带这个工具,Diskpart运行后出现提示

DsikPart>

执行以下操作扩展空间:

DiskPart>list volume 查看现有的卷

DiskPart>select volume 1 将需要操作的卷置为当前卷

DiskPart>detail volume 查看当前卷的详细情况

DiskPart>extend 扩展当前卷,直到用完所有可用空间

DiskPart>detail volume 查看扩展后的卷的情况,空间应该已经增加

DiskPart>exit 退出

如果将最后一段里关于“集群管理”设置的内容去掉的话,就是很不错的实战

文章了。这一段与RAID 5 扩容没有太大的关系,也不是必须的步骤。

RAID5如何实现数据还原

下面来分析一下RAID 5如何实现对数据的还原,举个例子来说,使用3块硬盘

来构成一个RAID 5阵列,用户定义的分割文件大小为64K,此时需要存储的文件大

小为128K。首先,当RAID控制器接收到这部分数据之后利用一定的算法得出校验

信息,然后将这128K的文件分割成两个大小为64K大小的文件碎片,然后将这两个

文件碎片同时分别放往1号硬盘和2号硬盘,最后校验信息被发往3号硬盘。如果这个

阵列当中某个硬盘损坏了,还是可以恢复原来的数据:如果上面用来存储校验信息

的3号硬盘损坏了,可以通过1号和2号硬盘来重新生成校验信息;如果损坏的是1号

或者2号硬盘,可以利用3号硬盘上存储的校验信息重新生成原来的文件碎片。

RAID 5模式并不是一些都好,如果阵列当中某块硬盘上的信息发生了改变的

话,那么就需要重新计算文件分割碎片,并且,校验信息也需要重新计算,这时,

三个硬盘都需要重新调用。

同样,如果要做RAID 5阵列的话,最好使用相同容量相同速度的硬盘,RAID 5

模式的有效容量是阵列中容量最小的硬盘容量乘上阵列中硬盘数目减去一后的数,

这里硬盘数目要减去一是因为其中有一块硬盘用来存放校验信息。

RAID 5既能够实现速度上的加倍,同时也能够保证数据的安全性,所以在很多

高端系统当中都使用这种RAID模式。