RAID是英文Redundant Array of Inexpensive Disks的缩写,中文简称为廉价磁盘冗余阵列。
ATA最新的接口标准最大为133MB/s一般为100M
SATA一代最大为150MB/s
SATA二代最大为300MB/s
SCSI最大为320MB/s
SAS起步值为300MB/s,不过600MB/s的接口标准应该也有了,但其设备少且贵,
最大值只能说是理论峰值速度,一般的硬盘内部速度也根本达不到接口速度,除非多硬盘组的是RAID,才有可能接近其接口速度
具体速度跟主板也有关系,就像U盘理论速度为480M,但是实际我们运用的时候速度只有10-20M之间,道理是一样的上面说的都是内部传输,外部SSD最快
传统的硬盘读取和写入在30-40M之间SSD 是固态硬盘,没有马达,速度相对传统机械硬盘在读取写入方面快些,一般速度可以达到读取110M 写入80M
简介
简单的说,RAID是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术。组成磁盘阵列的不同方式成为RAID级别(RAID Levels)。数据备份的功能是在用户数据一旦发生损坏后,利用备份信息可以使损坏数据得以恢复,从而保障了用户数据的安全性。在用户看起来,组成的磁盘组就像是一个硬盘,用户可以对它进行分区,格式化等等。总之,对磁盘阵列的操作与单个硬盘一模一样。不同的是,磁盘阵列的存储速度要比单个硬盘高很多,而且可以提供自动数据备份。
虽然RAID包含多块硬盘,但是在操作系统下是作为一个独立的大型存储设备出现。利用RAID技术于存储系统的好处主要有以下三种:
通过把多个磁盘组织在一起作为一个逻辑卷提供磁盘跨越功能;
通过把数据分成多个数据块(Block)并行写入/读出多个磁盘以提高访问磁盘的速度;
通过镜像或校验操作提供容错能力;
最初开发RAID的主要目的是节省成本,当时几块小容量硬盘的价格总和要低于大容量的硬盘。目前来看RAID在节省成本方面的作用并不明显,但是 RAID可以充分发挥出多块硬盘的优势,实现远远超出任何一块单独硬盘的速度和吞吐量。除了性能上的提高之外,RAID还可以提供良好的容错能力,在任何一块硬盘出现问题的情况下都可以继续工作,不会受到损坏硬盘的影响。
RAID技术分为几种不同的等级,分别可以提供不同的速度,安全性和性价比。根据实际情况选择适当的RAID级别可以满足用户对存储系统可用性、性能和容量的要求。常用的RAID级别有以下几种:NRAID,JBOD,RAID0,RAID1,RAID0+1,RAID3,RAID5等。目前经常使用的是RAID5和RAID(0+1)。
磁盘阵列(Disk Array)是由一个硬盘控制器来控制多个硬盘的相互连接,使多个硬盘的读写同步,减少错误,增加效率和可靠度的技术。磁盘阵列卡则是实现这一技术的硬件产品,磁盘阵列卡拥有一个专门的处理器,还拥有专门的存贮器,用于高速缓冲数据。使用磁盘阵列卡服务器对磁盘的操作就直接通过阵列卡来进行处理,因此不需要大量的CPU及系统内存资源,不会降低磁盘子系统的性能。阵列卡专用的处理单元来进行操作,它的性能要远远高于常规非阵列硬盘,并且更安全更稳定。
RAID技术的两大特点:一是速度、二是安全,由于这两项优点,RAID技术早期被应用于高级服务器中的SCSI接口的硬盘系统中,随着近年计算机技术的发展,PC机的CPU的速度已进入GHz 时代。IDE接口的硬盘也不甘落后,相继推出了ATA66和ATA100硬盘。这就使得RAID技术被应用于中低档甚至个人PC机上成为可能。RAID通常是由在硬盘阵列塔中的RAID控制器或电脑中的RAID卡来实现的。
分类
RAID技术经过不断的发展,现在已拥有了从 RAID 0 到 7 八种基本的RAID 级别。另外,还有一些基本RAID级别的组合形式,如RAID 10(RAID 0与RAID 1的组合),RAID 50(RAID 0与RAID 5的组合)等。不同RAID 级别代表着不同的存储性能、数据安全性和存储成本。但我们最为常用的是下面的几种RAID形式。
(1)RAID 0
(2) RAID 1
(3)RAID 0+1
(4) RAID 3
(5) RAID 5
RAID级别的选择有三个主要因素:可用性(数据冗余)、性能和成本。如果不要求可用性,选择RAID0以获得最佳性能。如果可用性和性能是重要的而成本不是一个主要因素,则根据硬盘数量选择RAID 1。如果可用性、成本和性能都同样重要,则根据一般的数据传输和硬盘的数量选择RAID3、RAID5。
发展
在计算机发展的初期,“大容量”硬盘的价格还相当高,解决数据存储安全性问题的主要方法是使用磁带机等设备进行备份,这种方法虽然可以保证数据的安全,但查阅和备份工作都相当繁琐。
1987年, Patterson、Gibson和Katz这三位工程师在加州大学伯克利分校发表了题为《A Case of Redundant Array of Inexpensive Disks(廉价磁盘冗余阵列方案)》的论文,其基本思想就是将多只容量较小的、相对廉价的硬盘驱动器进行有机组合,使其性能超过一只昂贵的大硬盘。
这一设计思想很快被接受,从此RAID技术得到了广泛应用,数据存储进入了更快速、更安全、更廉价的新时代。
磁盘阵列对于个人电脑用户,还是比较陌生和神秘的。印象中的磁盘阵列似乎还停留在这样的场景中:在宽阔的大厅里,林立的磁盘柜,数名表情阴郁、早早谢顶的工程师徘徊在其中,不断从中抽出一块块沉重的硬盘,再插入一块块似乎更加沉重的硬盘……终于,随着大容量硬盘的价格不断降低,个人电脑的性能不断提升,IDE-RAID作为磁盘性能改善的最廉价解决方案,开始走入一般用户的计算机系统。
规范
RAID技术主要包含RAID 0~RAID 7等数个规范,它们的侧重点各不相同,常见的规范有如下几种:
RAID 0:RAID 0连续以位或字节为单位分割数据,并行读/写于多个磁盘上,因此具有很高的数据传输率,但它没有数据冗余,因此并不能算是真正的RAID结构。RAID 0只是单纯地提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到所有数据。因此,RAID 0不能应用于数据安全性要求高的场合。
RAID 1:它是通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互 为备份的数据。当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID 1可以提高读取性能。RAID 1是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据。
RAID 0+1: 也被称为RAID 10标准,实际是将RAID 0和RAID 1标准结合的产物,在连续地以位或字节为单位分割数据并且并行读/写多个磁盘的同时,为每一块磁盘作磁盘镜像进行冗余。它的优点是同时拥有RAID 0的超凡速度和RAID 1的数据高可靠性,但是CPU占用率同样也更高,而且磁盘的利用率比较低。
RAID 2:将数据条块化地分布于不同的硬盘上,条块单位为位或字节,并使用称为“加重平均纠错码(海明码)”的编码技术来提供错误检查及恢复。这种编码技术需要多个磁盘存放检查及恢复信息,使得RAID 2技术实施更复杂,因此在商业环境中很少使用。
RAID 3:它同RAID 2非常类似,都是将数据条块化分布于不同的硬盘上,区别在于RAID 3使用简单的奇偶校验,并用单块磁盘存放奇偶校验信息。如果一块磁盘失效,奇偶盘及其他数据盘可以重新产生数据;如果奇偶盘失效则不影响数据使用。RAID 3对于大量的连续数据可提供很好的传输率,但对于随机数据来说,奇偶盘会成为写操作的瓶颈。
RAID 4:RAID 4同样也将数据条块化并分布于不同的磁盘上,但条块单位为块或记录。RAID 4使用一块磁盘作为奇偶校验盘,每次写操作都需要访问奇偶盘,这时奇偶校验盘会成为写操作的瓶颈,因此RAID 4在商业环境中也很少使用。
RAID 5:RAID 5不单独指定的奇偶盘,而是在所有磁盘上交叉地存取数据及奇偶校验信息。在RAID 5上,读/写指针可同时对阵列设备进行操作,提供了更高的数据流量。RAID 5更适合于小数据块和随机读写的数据。
RAID 3与RAID 5相比,最主要的区别在于RAID 3每进行一次数据传输就需涉及到所有的阵列盘;而对于RAID 5来说,大部分数据传输只对一块磁盘操作,并可进行并行操作。在RAID 5中有“写损失”,即每一次写操作将产生四个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。
RAID 6:与RAID 5相比,RAID 6增加了第二个独立的奇偶校验信息块。两个独立的奇偶系统使用不同的算法,数据的可靠性非常高,即使两块磁盘同时失效也不会影响数据的使用。但RAID 6需要分配给奇偶校验信息更大的磁盘空间,相对于RAID 5有更大的“写损失”,因此“写性能”非常差。较差的性能和复杂的实施方式使得RAID 6很少得到实际应用。
RAID 7:这是一种新的RAID标准,其自身带有智能化实时操作系统和用于存储管理的软件工具,可完全独立于主机运行,不占用主机CPU资源。RAID 7可以看作是一种存储计算机(Storage Computer),它与其他RAID标准有明显区别。除了以上的各种标准,我们可以如RAID 0+1那样结合多种RAID规范来构筑所需的RAID阵列,例如RAID 5+3(RAID 53)就是一种应用较为广泛的阵列形式。用户一般可以通过灵活配置磁盘阵列来获得更加符合其要求的磁盘存储系统。
开始时RAID方案主要针对SCSI硬盘系统,系统成本比较昂贵。1993年,HighPoint公司推出了第一款IDE-RAID控制芯片,能够利用相对廉价的IDE硬盘来组建RAID系统,从而大大降低了RAID的“门槛”。
从此,个人用户也开始关注这项技术,因为硬盘是现代个人计算机中发展最为“缓慢”和最缺少安全性的设备,而用户存储在其中的数据却常常远超计算机的本身价格。在花费相对较少的情况下,RAID技术可以使个人用户也享受到成倍的磁盘速度提升和更高的数据安全性,现在个人电脑市场上的IDE-RAID控制芯片主要出自HighPoint和Promise公司,此外还有一部分来自AMI公司。
面向个人用户的IDE-RAID芯片一般只提供了RAID 0、RAID 1和RAID 0+1(RAID 10)等RAID规范的支持,虽然它们在技术上无法与商用系统相提并论,但是对普通用户来说其提供的速度提升和安全保证已经足够了。
随着硬盘接口传输率的不断提高,IDE-RAID芯片也不断地更新换代,芯片市场上的主流芯片已经全部支持ATA 100标准,而HighPoint公司新推出的HPT 372芯片和Promise最新的PDC20276芯片,甚至已经可以支持ATA 133标准的IDE硬盘。在主板厂商竞争加剧、个人电脑用户要求逐渐提高的今天,在主板上板载RAID芯片的厂商已经不在少数,用户完全可以不用购置RAID卡,直接组建自己的磁盘阵列,感受磁盘狂飙的速度。
认识磁盘阵列 RAID
一、功能
1 对磁盘高速存取(提速): RAID将普通硬盘组成一个磁盘阵列,在主机写入数据,RAID控制器把主机要写入的数据分解为多个数据块,然后并行写入磁盘阵列;主机读取数据时,RAID控制器并行读取分散在磁盘阵列中各个硬盘上的数据,把它们重新组合后提供给主机。由于采用并行读写操作,从而提高了存储系统的存取系统的存取速度。
2 扩容
3 数据冗余
二、分类
RAID可分为级别0到级别6,通常称为:RAID0,RAID1,RAID2,RAID3,RAID4,RAID5,RAID6。
RAID0:RAID0并不是真正的RAID结构,没有数据冗余,RAID0连续地分割数据并并行地读/写于多个磁盘上。因此具有很高的数据传输率,但RAID0在提高性能的同时,并没有提供数据可靠性,如果一个磁盘失效,将影响整个数据。因此RAID0不可应用于需要数据高可用性的关键应用。
RAID1:RAID1通过数据镜像实现数据冗余,在两对分离的磁盘上产生互为备份的数据。RAID1可以提高读的性能,当原始数据繁忙时,可直接从镜像中读取数据。RAID1是磁盘阵列中费用最高的,但提供了最高的数据可用率。当一个磁盘失效,系统可以自动地交换到镜像磁盘上,而不需要重组失效的数据。
RAID2:从概念上讲,RAID2同RAID3类似,两者都是将数据条块化分布于不同的硬盘上,条块单位为位或字节。然而RAID2使用称为“加重平均纠错码”的编码技术来提供错误检查及恢复。这种编码技术需要多个磁盘存放检查及恢复信息,使得RAID2技术实施更复杂。因此,在商业环境中很少使用。
RAID3:不同于RAID2,RAID3使用单块磁盘存放奇偶校验信息。如果一块磁盘失效,奇偶盘及其他数据盘可以重新产生数据。如果奇偶盘失效,则不影响数据使用。RAID3对于大量的连续数据可提供很好的传输率,但对于随机数据,奇偶盘会成为写操作的瓶颈。
RAID4:同RAID2和RAID3一样,RAID4和RAID5也同样将数据条块化并分布于不同的磁盘上,但条块单位为块或记录。RAID4使用一块磁盘作为奇偶校验盘,每次写操作都需要访问奇偶盘,成为写操作的瓶颈。在商业应用中很少使用。
RAID5:RAID5没有单独指定的奇偶盘,而是交叉地存取数据及奇偶校验信息于所有磁盘上。在RAID5上,读/写指针可同时对阵列设备进行操作,提供了更高的数据流量。RAID5更适合于小数据块,随机读写的数据。RAID3与RAID5相比,重要的区别在于RAID3每进行一次数据传输,需涉及到所有的阵列盘。而对于RAID5来说,大部分数据传输只对一块磁盘操作,可进行并行操作。在RAID5中有“写损失”,即每一次写操作,将产生四个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。
RAID6:RAID6与RAID5相比,增加了第二个独立的奇偶校验信息块。两个独立的奇偶系统使用不同的算法,数据的可靠性非常高。即使两块磁盘同时失效,也不会影响数据的使用。但需要分配给奇偶校验信息更大的磁盘空间,相对于RAID5有更大的“写损失”。RAID6的写性能非常差,较差的性能和复杂的实施使得RAID6很少使用。
三、详细介绍
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的缺点:任何一块硬盘出现故障所有的数据都会丢失,大部分的控制器都是通过软件实现的,所以效能并不好。
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相比速度较慢,特别是写入速度,另外就是我们仅仅能使用一半的硬盘容量。
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块硬盘。
RAID2
RAID2模式也相当的复杂,用于存储数据的硬盘以RAID0的模式来组合,加上专门存放海明ECC校验码的硬盘,当然为了提高校验码数据的安全,校验码硬盘至少是两个组成RAID1模式。这样即使存储数据的其中一个硬盘损坏,RAID控制器可以通过海明码来恢复数据到新的硬盘上。RAID2一般针对大数据量操作和超级计算机应用等方面,但是并不适于普通用户。因为要在数据存储的过程中生成校验码,所以这种磁盘阵列的性能并不高。由于各种原因这种磁盘阵列模式并没有投入到实际的商业应用中去。因为价格不菲,当然也不会为普通用户所接受了。
RAID2的随机读取性能:一般
RAID2的随机写入性能:差,主要因为所有的操作都要经过ECC运算
RAID2的持续读取性能:很好
RAID2的持续写入性能:一般
RAID2的优点:数据安全性高,只要存放校验码的硬盘没有故障就能恢复数据。
RAID2的缺点:昂贵、需要专门的硬盘存放校验码、效率不高、没有商业应用的支持。
RAID3
同RAID2模式一样,RAID3的数据也是被分成数据块依次存储到多个硬盘上的。只是RAID3把数据以bit为单位来分割并且存储到各个硬盘上。它的优点就是具有高速的读写能力,当然写入性能因为在写入过程中需要生成奇偶校验码所以速度会受到一定的影响——它也需要一个专用的硬盘来存储奇偶校验码。当其中一个存储数据的硬盘出现故障之后,系统依然能够正常运行,但是性能会受到影响,如果在更换坏硬盘之前又有一块硬盘出现故障,那么这个磁盘阵列的数据将会全部丢失,无法恢复。在这种磁盘阵列模式下,要求所有硬盘的转速要同步,这个要求在实际应用中难度不小。RAID3至少需要3块硬盘,其中一块用于存放奇偶校验码——奇偶校验码是通过异或运算得到的。
这种RAID模式如果使用软件控制器来实现将会明显的影响性能,因为这种组合比较复杂,不过同RAID0+1模式相比它最少只要3个硬盘就可以实现——所以成本有所下降,总的来说这种磁盘阵列比较适合视频处理和编辑等方面的应用。
RAID3的随机读取性能:好
RAID3的随机写入性能:很差
RAID3的持续读取性能:很好
RAID3的持续写入性能:一般
RAID3的优点:比较适合视频编辑等需要大数据量调用的场合。
RAID3的缺点:实现各个驱动器的转速同步非常困难(目前大部分的硬盘都不支持这个功能),需要复杂的控制器。
RAID4
RAID4模式同RAID3几乎是一样的,数据都是分成小的数据块依次存储在多个硬盘之上,奇偶校验码存放在独立的奇偶校验盘上。唯一不同的是,在数据分割上RAID3是以bit为单位而RAID4是以Byte为单位。这样可以使得RAID4同RAID3具有一样的读取速度,当然写入性能因为需要在写入过程中产生校验码并且存储到校验盘而受到了影响。
这种模式的最大好处就是不需要各个硬盘之间在转速上保持同步,这就使得控制器不需要那么复杂。它的写入性能是所有RAID模式中最差的。同RAID3模式一样,当其中一块硬盘损坏,数据并不会丢失,如果在故障盘被替换之前,第二块硬盘也发盘故障将会导致所有的数据都丢失。相对其它的RAID模式,恢复故障硬盘中的数据的效率相当低。
这种磁盘阵列模式也是至少需要3块硬盘才能搭建而成。奇偶校验码是通过异或运算来得到的。它适于一般的应用程序,包括视频处理等应用。它的造价也不算高,因为只要一块硬盘作为校验码磁盘就可以了。
RAID4的随机读取性能:很好
RAID4的随机写入性能:一般,主要因为要向奇偶校验磁盘写入校验码
RAID4的持续读取性能:好
RAID4的持续写入性能:一般
RAID4的优点:除了RAID3的优点之外,它并不需要同步驱动器转速。
RAID4的缺点:写入性能很差,控制器的要求较高。
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的缺点:写入性能依然不尽如人意。
RAID6
RAID6是RAID家族中的新技术,是在RAID5基础上扩展而来的。所以同RAID5一样,数据和校验码都是被分成数据块然后分别存储到磁盘阵列的各个硬盘上。RAID6加入了一个独立的校验磁盘,它把分布在各个磁盘上的校验码都备份在一起,这样RAID6磁盘阵列就允许多个磁盘同时出现故障,这对于数据安全要求很高的应用场合是非常必要的。这样搭建一个RAID6磁盘阵列最少需要4块硬盘。但是RAID6并没有改善RAID5写入性能不佳的情况,写入缓存的应用仅仅能对于这个缺点进行一定程度的弥补但是并不能从根本上解决问题。因为RAID5和RAID6都可以根据应用程序来更改数据块的大小,所以它的实际性能还会受到这个因素的影响。
在实际应用中RAID6的应用范围并没有其它的RAID模式那么广泛。如果实现这个功能一般需要设计更加复杂、造价更昂贵的RAID控制器,所以它一般也不会集成在主板上。
RAID6的随机读取性能:很好(当使用大数据块时)
RAID6的随机写入性能:差,因为不但要在每硬盘上写入校验数据而且要在专门的校验硬盘上写入数据
RAID6的持续读取性能:好(当使用小数据块时)
RAID6的持续写入性能:一般
RAID6的优点:快速的读取性能,更高的容错能力。
RAID6的缺点:很慢的写入速度,RAID控制器在设计上更加复杂,成本更高。
热交换和热冗余
在RAID系统中一般都具有热交换和热冗余能力。热交换允许在不关闭系统或电源的前提下更换故障硬盘,当然更换上的新硬盘也可以被系统动态的识别出来并且正确的配置和添加,而这些都不需要重新启动计算机。这样做的好处是勿庸置疑的,对于维护人员来说非常的简单,而对于很多应用场合,比如Web服务器等,用户并不希望服务器停机,这样造成的损失将是不可估量的。很多HP/DELL服务器产品和RAID磁盘阵列都具有热交换的能力。
热冗余一般用于不适于热交换的场合。这种设计一般是在故障出现之前就在计算机中配置了额外的硬盘,当有硬盘出现故障的时候,这块冗余的就可以自动替代故障的硬盘的位置,对于这样的系统在系统关闭之前是不能把损坏的硬盘拔下来的。热冗余虽然不如热交换方便,但是总比没有好一些。
小结
其实磁盘阵列的种类非常多,我们今天介绍的是部分基本的应用模式,在实际应用为了达到足够的性能和稳定,可以把各种RAID模式搭配使用,当然这样对于RAID控制器的要求会更高,磁盘阵列系统的成本也就更高。
服务器所采用的RAID一般是基于SCSI的,所以这样RAID系统的成本将会更加高昂。其实这个功能对于我们个人的应用还具有一定的距离,即使你拥有了一张整合了RAID控制器的主板,也需要至少2块硬盘(一般的要求这两块硬盘在容量、品牌、转速上都是一样的),对于个人用户来说这是一笔不小的开支。当然如果你有特殊的需要,比如需要假设一个工作站或者Web服务器,但是又不想花费太多的资金,那么IDE RAID还是一个不错的选择。这里需要提醒大家的是,一般的板载IDE RAID的处理器占用率较高,并且IDE RAID在部分应用中还不如SCSI硬盘。
|