2010-07-18 18:38:31
来 源
中存储网
Raid
Raid 0利用一定的运算法则将一个文件按照用户自定义的大小分割成若干小部分,当文件被分割之后,Raid 0模式当中的每一块一盘都会存储一定数目的文件碎块。

Raid 0是最基本的一种raid模式,这种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模式的用户最好选择容量和速度相同的硬盘,最好是同一品牌的同种产品。

Raid 0面对的是那些需要快速存储和读取速度的用户,并没有为系统安全性考虑。

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。