详解RAID——几种常见的RAID形式

来源:互联网 发布:portable ssd t3 软件 编辑:程序博客网 时间:2024/04/28 03:53

在几年前,RAID这个名字对广大DIYer还是很陌生的词汇,随着时间的跃迁,附带RAID功能的主板在市场里渐渐的多了起来,市面上比较常见的提供RAID功能的主板一般都能提供RAID 0,1,0+1几种方式,并且专门提供RAID功能的多功能卡也很容易找到了。现在很多人都想做一个RAID来玩玩(真有钱阿),那么下面就把常见的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模式的用户最好选择容量和速度相同的硬盘,最好是同一品牌的同种产品。

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

RAID 1

尽管速度对于某些用户来讲是十分重要的,但是有些用户会对安全性能考虑的多一些,RAID 1就是出于安全性能考虑的RAID方式。RAID 1模式的工作原理如下:

RAID 1工作的时候会将每份数据都发送到阵列当中的每个硬盘,当控制器接收到存储64K大小的文件的时候,它会将文件原封不动的发送到这个阵列当中的每个硬盘当中,每个硬盘都会存储这64K大小的文件,当从阵列当中读取文件的时候,控制器会从阵列当中的一个硬盘当中进行读取操作。

RAID 1的特点是当阵列当中的一块硬盘损坏了的时候,数据不会丢失,此时控制器会从另外的一个没有故障的硬盘当中来读取数据,当阵列当中加入了一个新的硬盘来修复错误的时候,控制器会使用一个镜像来将好的硬盘上的数据恢复到新加入的硬盘上,如此,RAID 1便能够从新形成。

在RAID 1模式当中,所使用的硬盘最好是相同的,否则会出现浪费硬盘空间的情况。由于RAID 1模式是将相同的信息写入到不同的硬盘当中,所以RAID 1模式的有效硬盘容量是阵列当中容量最小的硬盘的容量。举例来说,如果RAID 1模式当中有一块容量为20G的硬盘和一块容量为30G的硬盘,那么总体的RAID 1的有效容量是20G,从此那块30G硬盘上剩下的10G容量就会被浪费。同时,如果两块硬盘的速度不同的话,那么速度较快的那块硬盘依然会停下来等待速度低的那块硬盘完成任务之后再进行下一步行动。

RAID 1模式比较适合那些考虑安全性能多于速度性能的用户,尽管RAID 1模式并不是所有的RAID模式当中速度最慢的一种组合方式,但是在测试当中RAID 1模式下的速度有些情况下的确会比单个硬盘的速度要慢。RAID 1的好处就是当阵列当中的一块硬盘损坏了之后也不会导致数据丢失。

原创粉丝点击