首页» IT互联网 » RAID磁盘阵列详解

RAID磁盘阵列详解

in IT互联网 | 评论关闭

基本上在机房里面混的同学对RAID都已经很熟悉了,当然也有一部分不熟悉但是也在机房混的。

RAID可分为级别0到级别6,通常称为:RAID0,RAID1,RAID2,RAID3,RAID4,RAID5,RAID6。我们在此只记录常见的几种RAID方式:RAID0,RAID1,RAID0+1/RAID1+0,RAID5

一、概念

RAID0:RAID0并不是真正的RAID结构,没有数据冗余,RAID0连续地分割数据并并行地读/写于多个磁盘上。因此具有很高的数据传输率,但RAID0在提高性能的同时,并没有提供数据可靠性,如果一个磁盘失效,将影响整个数据。因此RAID0不可应用于需要数据高可用性的关键应用。

RAID1:RAID1通过数据镜像实现数据冗余,在两对分离的磁盘上产生互为备份的数据。RAID1可以提高读的性能,当原始数据繁忙时,可直接从镜像中读取数据。RAID1是磁盘阵列中费用最高的,但提供了最高的数据可用率。当一个磁盘失效,系统可以自动地交换到镜像磁盘上,而不需要重组失效的数据。

RAID5:RAID5没有单独指定的奇偶盘,而是交叉地存取数据及奇偶校验信息于所有磁盘上。在RAID5上,读/写指针可同时对阵列设备进行操作,提供了更高的数据流量。RAID5更适合于小数据块,随机读写的数据。RAID3与RAID5相比,重要的区别在于RAID3每进行一次数据传输,需涉及到所有的阵列盘。而对于RAID5来说,大部分数据传输只对一块磁盘操作,可进行并行操作。在RAID5中有”写损失”,即每一次写操作,将产生四个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。

RAID0+1/RAID1+0 其实就是RAID0和RAID1的不同组合

二、详细介绍

1、RAID0

RAID0是具有提速和扩容的目的

在RAID0模式中,数据被分割为一定数量的数据块(Chunk)交叉写在多个硬盘上,一般的来说在RAID0系统中数据被分割的数量同RAID阵列所使用的硬盘的数量是有关的,比如RAID0中采用了3块硬盘,那么数据将会被分为三份依次的写入三个硬盘,通俗的说这种模式其实就是利用RAID技术让系统认为三块硬盘组成一个容量更大的硬盘,因为这个过程没有数据校验所以这种RAID模式是读写速度最快的一种。

RAID0并没有从安全性角度考虑,实际上,如果RAID0当中的一块硬盘坏了,所有数据都会损坏,并且没有办法恢复。这使得RAID0的安全性能非常差,所以很多用户出于安全考虑没有使用RAID0模式。虽然如此,RAID0毕竟是所有RAID方式当中速度最快的一种模式,如果RAID0模式当中有两块硬盘的话,那么RAID0的存储读取数据的速度会是单个硬盘双倍。,如果使用6块硬盘的话,那么理论速率就是单个硬盘的6倍。如果在RAID0模式当中使用不同的硬盘会造成两方面的问题,首先,RAID0的有效硬盘容量会是最小的硬盘的容量乘上硬盘的个数,这是因为如果容量的最小的硬盘存满了之后,RAID0依然会将文件平均分配到各个硬盘当中,此时便不能完成存储任务了;其次,如果RAID0当中的硬盘速度不同,那么整体的速度会是速度最慢的硬盘的速度乘上硬盘的个数,这是因为RAID0模式是需要将上一部的存储任务完成之后才能进行下一步的进程,这样,其它的速度快的硬盘会停下来等待速度慢的硬盘完成存储或者读取任务,使得整体性能有所下降。所以,在这里建议使用RAID0模式的用户最好选择容量和速度相同的硬盘,最好是同一品牌的同种产品。

因此RAID0在严格意义上说不是”冗余独立磁盘阵列”。RAID0模式一般用于需要快速处理数据但是对于数据的安全性要求不高的场合。这种RAID模式的特点是简单,而且并不需要复杂和昂贵的控制器。采用RAID0模式至少需要2块硬盘,最终得到的存储容量也是这两块硬盘的和。

RAID0的随机读取性能:很好

RAID0的随机写入性能:很好

RAID0的持续读取性能:很好

RAID0的持续写入性能:很好

RAID0的优点:最快的读写性能,如果每块硬盘拥有独立的控制器性能将会更好。

RAID0的缺点:任何一块硬盘出现故障所有的数据都会丢失,大部分的控制器都是通过软件实现的,所以效能并不好。

2、RAID1

RAID1模式是让组成RAID1模式的硬盘互为镜像,当你向硬盘中写入数据的时候,两个硬盘同时存储相同的数据,这样即使其中一个硬盘出现了故障,系统利用另外一个硬盘一样可以正常运行。RAID1相对于单块硬盘来说它的数据读取性能会更好一些,因为当一块硬盘处于忙的状态时,RAID控制器可以去读取另一块硬盘中同样的数据,但是写入数据性能不但没有增长而且可能会有轻微下降。当其中一块硬盘出现故障之后,新的数据可以写入仍然能够正常工作的硬盘,当使用新的硬盘替换掉原来的硬盘之后,RAID控制器会自动的把数据复制到新的硬盘上。RAID1模式的最大特点就是冗余性高,但是由于大部分的功能是利用软件来实现的,所以它会增加处理器的负担。这种RAID模式非常适合对数据的安全性有极高要求的人。

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

RAID1的随机读取性能:好

RAID1的随机写入性能:好

RAID1的持续读取性能:一般

RAID1的持续写入性能:好

RAID1的优点:数据高可靠性,易于实现,设计简单。

RAID1的缺点:比RAID0相比速度较慢,特别是写入速度,另外就是我们仅仅能使用一半的硬盘容量。

3、RAID0+1

这种RAID模式其实是RAID0和RAID1模式的组合,至少需要4块硬盘。其中任何两块组成一个RAID0磁盘阵列,然后两个RAID0磁盘阵列可以看成两个容量更大、速度更快的硬盘,它们再组成一个RAID1磁盘阵列。这样的系统保证了较高的磁盘性能和较高的数据安全性。当然缺点也是显而易见的就是成本较高,构造比较复杂。RAID0+1在容错性能方面仅次于RAID5,一般用于文件服务器等方面。

RAID0+1的随机读取性能:很好

RAID0+1的随机写入性能:好

RAID0+1的持续读取性能:很好

RAID0+1的持续写入性能:好

RAID0+1的优点:相对于单块硬盘具有更高的读写性能,而且大大提高了数据的安全性。

RAID0+1的缺点:成本较高,至少需要4块硬盘。

4、RAID5

RAID5使用至少三块硬盘来实现阵列,它既能实现RAID0的加速功能也能实现RAID1的备份数据功能,在阵列当中有三块硬盘的时候,它将会把所需要的存储的数据按照用户定义的分割大小分割成文件碎片存储到两块硬盘当中,此时,阵列当中的第三块硬盘不接收文件碎片,它接收到的是用来校验存储在另外两块硬盘当中数据的一部分数据,这部分校验数据是通过一定的算法产生的,可以通过这部分数据来恢复存储在另外两个硬盘上的数据。另外,这三块硬盘的任务并不是一成不变的,也就是说在这次存储当中可能是1号硬盘和2号硬盘用来存储分割后的文件碎片,那么在下次存储的时候可能就是2号硬盘和3号硬盘来完成这个任务了。可以说,在每次存储操作当中,每块硬盘的任务是随机分配的,不过,肯定是两块硬盘用来存储分割后的文件碎片另一块硬盘用来存储校验信息。

这个校验信息一般是通过RAID控制器运算得出的,通常这些信息是需要一个RAID控制器上有一个单独的芯片来运算并决定将此信息发送到哪块硬盘存储。RAID5同时会实现RAID0的高速存储读取并且也会实现RAID1的数据恢复功能,也就是说在上面所说的情况下,RAID5能够利用三块硬盘同时实现RAID0的速度加倍功能也会实现RAID1的数据备份功能,并且当RAID5当中的一块硬盘损坏之后,加入一块新的硬盘同样可以实现数据的还原。

RAID5是截止到目前我们所介绍的几款RAID模式中控制器设计最复杂的一种。RAID5可以应用在大部分的领域中,比如多用户和多任务环境中。目前的很多Web服务器和其它的Internet服务器都是采用这种形式的磁盘阵列,比如最近推出的Quantum Snap服务器就采用了外置式的RAID5磁盘阵列的设计。奇偶校验一般会占据大约33%的磁盘空间的容量,所以对于一个总容量为120GB的RAID5磁盘阵列而言,可用的空间将是80GB左右。不过这种磁盘阵列模式在一般的主板进程的RAID控制器中都不提供支持,比如Abit KR7A-RAID主板仅仅支持RAID0、RAID1、RAID0+1。当然只要采用校验码的方式,就会一定程度上影响写入性能,因此很多磁盘阵列厂商都在磁盘阵列中加入了写缓存来提高写入性能。

RAID5模式并不是一切都好,如果阵列当中某块硬盘上的信息发生了改变的话,那么就需要重新计算文件分割碎片,并且,校验信息也需要重新计算,这时,三个硬盘都需要重新调用。同样,如果要做RAID5阵列的话,最好使用相同容量相同速度的硬盘,RAID5模式的有效容量是阵列中容量最小的硬盘容量乘上阵列中硬盘的数目减去一后的数,这里硬盘数目要减去一是因为其中有一块硬盘用来存放校验信息。

RAID5的随机读取性能:非常好(当使用大数据块时)

RAID5的随机写入性能:一般,但是优于RAID3或都RAID4

RAID5的持续读取性能:好(当使用小数据块时)

RAID5的持续写入性能:一般

RAID5的优点:不需要专门的校验码磁盘,读取速度快,而且解决了写入速度相对较慢的问题。

RAID5的缺点:写入性能依然不尽如人意。

热交换和热冗余

在RAID系统中一般都具有热交换和热冗余能力。热交换允许在不关闭系统或电源的前提下更换故障硬盘,当然更换上的新硬盘也可以被系统动态的识别出来并且正确的配置和添加,而这些都不需要重新启动计算机。这样做的好处是勿庸置疑的,对于维护人员来说非常的简单,而对于很多应用场合,比如Web服务器等,用户并不希望服务器停机,这样造成的损失将是不可估量的。很多HP/DELL服务器产品和RAID磁盘阵列都具有热交换的能力。

热冗余一般用于不适于热交换的场合。这种设计一般是在故障出现之前就在计算机中配置了额外的硬盘,当有硬盘出现故障的时候,这块冗余的就可以自动替代故障的硬盘的位置,对于这样的系统在系统关闭之前是不能把损坏的硬盘拔下来的。热冗余虽然不如热交换方便,但是总比没有好一些。

小结

其实磁盘阵列的种类非常多,我们今天介绍的是部分基本的应用模式,在实际应用为了达到足够的性能和稳定,可以把各种RAID模式搭配使用,当然这样对于RAID控制器的要求会更高,磁盘阵列系统的成本也就更高。

服务器所采用的RAID一般是基于SCSI的,所以这样RAID系统的成本将会更加高昂。其实这个功能对于我们个人的应用还具有一定的距离,即使你拥有了一张整合了RAID控制器的主板,也需要至少2块硬盘(一般的要求这两块硬盘在容量、品牌、转速上都是一样的),对于个人用户来说这是一笔不小的开支。当然如果你有特殊的需要,比如需要假设一个工作站或者Web服务器,但是又不想花费太多的资金,那么IDE RAID还是一个不错的选择。这里需要提醒大家的是,一般的板载IDE RAID的处理器占用率较高,并且IDE RAID在部分应用中还不如SCSI硬盘。

关键词: ,,,

还没有评论哦,赶快抢沙发~~

评论关闭了.