2024年4月16日发(作者:)

几种常见的RAID形式

提起RAID,这里面包括两个含义:A代表array,也就是阵列;I代表independent,

就是说要有一块以上的硬盘才能够实现RAID功能,总体说来,RAID的意思就是磁盘

阵列,根据磁盘和RAID卡之间不同的组合方式来实现不同的磁盘性能。

RAID 0

最基本的RAID方式就是RAID 0模式,这个模式的目的是提供最快的存储速度,并

没有考虑到安全性问题,RAID 0模式的工作原理如下:

RAID 0利用一定的运算法则将一个文件按照用户自定义的大小分割成若干小部分,当

文件被分割之后,RAID 0模式当中的每一块一盘都会存储一定数目的文件碎块。举例来说,

如果RAID 0模式当中有两块硬盘,用户自定义的切割文件大小为64K,此时如果RAID

控制器接收到一个指令来存储一个大小为128K的文件,这样的话这个文件就会被分割成

两个64K大小的文件碎块,然后这两个碎块被同时分别存储在硬盘1和硬盘2当中,存储

过程到此完成。在RAID 0模式下读取一个文件的操作也是如此,还是用上面的那个例子

来说,由于文件被分割存储在各个硬盘上,读取的时候只需要从两个硬盘当中各读取64K

大小的文件碎块便可以完成读取,所以,在这个RAID 0模式当中读取128K大小的文件

所需要的时间和在普通硬盘上读取64K大小的文件所需要的时间相同。在这个RAID 0模

式当中,由于存储数据的时候动用的是不仅仅是一个硬盘,所以大大减少了存储和读取数

据所需要的时间,理论上来讲,RAID 0能够实现写入和读取文件的速度加倍。

另外还有一种情况就是当所要存储的文件大小小于用户自定义的分割文件大小的时候,

此时这个文件就不会被分割开来,当然也就不会被存储在RAID 0模式当中的每个硬盘之

上,此时,存储(或者读取)这个文件所需要的时间比使用单个硬盘存储和读取这个文件所

需要的时间并没有减少。

同样,如果用户将分割文件的大小设置的很小的话,将会使RAID 0工作效率变得十

分低下,举个非常简单的例子来说,如果用户定义这个分割大小为1K的话,在存储(或者

读取)一个大小为128K的文件的时候,那么每个硬盘都需要写入64次并且每次所写入的

文件大小为1K,这就会造成一定的瓶颈效应。如果真的有人将分割文件大小设置的如此之

小的话,还不如用一块硬盘存储数据好了。

在前面已经提到,RAID 0所能够提供的是快速的存储和读取的速度,并没有处于安全

性考虑,实际上,如果RAID 0当中的一块硬盘损坏了,整体数据都会损坏,并且没有办

法恢复数据。这使得RAID 0的安全性能非常的差,所以很多用户出于安全性能的考虑没

有使用RAID 0模式。虽然如此,RAID 0毕竟是所有RAID方式当中速度最快的一种组合

方式,如果RAID 0模式当中有两块硬盘的话,那么RAID 0的存储读取数据的速度会是单

个硬盘的双倍,如果使用6快硬盘的话,那么理论速率就是单个硬盘的6倍。

如果在RAID 0模式当中使用不同的硬盘会造成两方面的问题,首先,RAID 0的有效

硬盘容量会是最小的硬盘的容量乘上硬盘的个数,这是因为如果容量的最小的硬盘存满了

之后,RAID 0依然会将文件平均分配到各个硬盘当中,此时便不能完成存储任务了;其次,

如果RAID 0当中的硬盘速度不同,那么整体的速度会是速度最慢的硬盘的速度乘上硬盘

的个数,这是因为RAID 0模式是需要将上一部的存储任务完成之后才能进行下一步的进

程,这样,其它的速度快的硬盘会停下来等待速度慢的硬盘完成存储或者读取任务,使得

整体性能有所下降。所以,在这里建议使用RAID 0模式的用户最好选择容量和速度相同