文章标题

来源:互联网 发布:淘宝冷光美白仪有用么 编辑:程序博客网 时间:2024/06/07 23:06

更多资讯参考:http://storage.chinabyte.com/296/13892796.shtml

重点内容一、RAID的简述
RAID,称为独立冗余磁盘阵列,是一种组合多个磁盘来实现数据冗余和提高存取速率的一种技术.

    提高传输速率。RAID通过在多个磁盘上同时存储和读取数据来大幅提高存储系统的数据吞吐量。在RAID中,可以让很多磁盘驱动器同时传输数据,而这些磁盘驱动器在逻辑上又是一个磁盘驱动器,所以使用RAID可以达到单个磁盘驱动器几倍、几十倍甚至上百倍的速率。这也是RAID最初想要解决的问题。

通过数据校验提供容错功能。普通磁盘驱动器无法提供容错功能,如果不包括写在磁盘上的CRC(循环冗余校验)码的话。RAID容错是建立在每个磁盘驱动器的硬件容错功能之上的,所以它提供更高的安全性。在很多RAID模式中都有较为完备的相互校验/恢复的措施,甚至是直接相互的镜像备份,从而大大提高了RAID系统的容错度,提高了系统的稳定冗余性。

二、铺垫:条带化技术

条带化技术就是将数据的IO负载均衡到多个物理磁盘上的过程,这样可以大大的提高数据的存取速率,同时也减少磁盘冲突的发生。而且在需要对这种数据进行顺序访问时可以获得最大程度上的IO并行能力,从而获得非常好的性能。说的通俗点,就是它将一块连续的数据块均匀地分成几个较小的块,分别存储在不同的磁盘上的相同位置上,然后将该多个磁盘当作一个逻辑上的存储设备,一次来对外输出或者存储。因此CPU在将数据从磁盘读取到内存中时的速度就会成倍的增加,存储也是同样的道理。这种技术大大的优化了磁盘的IO性能。影响条带化效果的因素有两个,一是条带大小(stripe size),即数据被切成的小数据块的大小,另一个条带宽度(stripe width),即数据被存储到多少块硬盘上。条带宽度(stripe width)是指同时可以并发读或写的条带数量。这个数量等于RAID中的物理硬盘数量。例如一个经过条带化的,具有4块物理硬盘的阵列的条带宽度就是4。增加条带宽度,可以增加阵列的读写性能。道理很明显,增加更多的硬盘,也就增加了可以同时并发读或写的条带数量。这也是RAID采用的一种核心技术。

三、RAID各种级别

由于对数据存取的需求各有不同,RAID也发展为多种不同的级别。以下介绍常用的几个级别。(1)RAID 0:使用条带技术。它将多个磁盘组合成一个磁盘组,然后将一个连续数据块切割成多个数据块,均匀存储在每个磁盘上,将这个磁盘组当作一个逻辑上的磁盘对外输出。增加了存取速度。即优化了读写性能。其存在的不足是没有容错性,假设这个磁盘组的某一个磁盘损坏了,那么这整个数据均会受到影响。对于存取安全性较高的数据来说,这是不适用的,因为风险极高。(2)RAID 1:使用磁盘镜像技术。为一个磁盘新增一个镜像磁盘,备份原有磁盘的数据,这样子在原有磁盘的数据遭到破坏的时候,镜像磁盘作为作为其备份可以用来恢复数据。这种方法实现了在较大程度上保证了数据的安全性。其存在的不足之处是,读性能得到了提高,但写性能却没有的到提高,并且新加一块磁盘作为备份,其磁盘利用率只有50%。(3)RAID 4:校验码技术。假设有N块磁盘,该技术使用一个磁盘作为校验盘,其他的N-1块磁盘按照条带来存取数据。当某一块磁盘受到损坏时,可以用校验盘来计算恢复受损磁盘的数据。(校验盘上存放的是其他盘对应位置的校验码)。这种方式可在不同的硬盘平行执行不同的读取命令,大幅提高磁盘陈列的读取性能,但写入数据时,因受限于校验硬盘,同一时间只能做一次,启动所有硬盘读取数据形成同一校验分段的所有数据分段,与要写入的数据做好校验计算再写入。并且,在同时损坏两个磁盘的情况下,是没有办法通过校验盘计算恢复出数据的。(4)RAID 5:分布式奇偶校验技术。其与RAID 4的不同之处在于,假设我们有N块磁盘,它也是使用N-1块磁盘来存储数据,但是它是让N块磁盘轮流做校验盘的,如下图所示(带有p下标的是校验数据块)。它每一轮存储条带的时候都是用不同的磁盘做为校验盘的。这样虽然在写入数据的时候速度会比较慢,因为每写入一次数据(一个条带组),都要计算一次校验码,但是相比RAID 4,其校验盘的负担就大大减小了。这一改变解决了争用校验盘的问题,使得在同一组内可以并发多个写操作。所以RAID5即适用于大数据量的操作,也适用于各种事务处理,它是一种快速,大容量和荣村分布合理的磁盘阵列。同样的,在同时损坏两个磁盘的情况下,是没有办法通过校验盘计算恢复出数据的。(5)RAID 10:镜像+条带(先镜像后条带)。首先创建2个独立的Raid1,然后将这两个独立的Raid1组成一个Raid0,当往这个逻辑Raid中写数据时,数据被有序的写入两个Raid1中。磁盘1和磁盘2组成一个Raid1,磁盘3和磁盘4又组成另外一个Raid1;这两个Raid1组成了一个新的Raid0。如有0,1,2,3,4,5,6,7的数据,如果写在硬盘1上的数据1、3、5、7,则写在硬盘2中则为数据1、3、5、7,写在硬盘3中的数据为0、2、4、6,写在硬盘4中的数据则为0、2、4、6,因此数据在这四个硬盘上组合成Raid10,它的优点是同时拥有RAID 0的超凡速度和RAID 1的数据高可靠性,但是CPU占用率同样也更高,而且磁盘的利用率比较低。由于利用了RAID 0极高的读写效率和RAID 1较高的数据保护、恢复能力,使RAID 10成为了一种性价比较高的等级,目前几乎所有的RAID控制卡都支持这一等级。但是,RAID 10对存储容量的利用率和RAID 1一样低,只有50%。因此,RAID10即高可靠性与高效磁盘结构它是一个带区结构加一个镜象结构,可以达到既高效又高速的目的,RAID 10能提供比RAID 5更好的性能。这种新结构的可扩充性不好,这种解决方案被广泛应用,使用此方案比较昂贵。(6)RAID 01:条带+镜像(先条带后镜像)。首先创建2个独立的Raid0,然后将这两个独立的Raid0组成一个Raid1,当往这个逻辑Raid中写数据时,数据先被条带写入RAID0中,后再被做成镜像写入RAID1RAID01。比较缺乏安全性,且故障时难以恢复。

以4块盘为例: 假设raid 01坏了1块盘,则该盘所在的raid 0组就彻底失效了。如果另一组也坏了1块,则此时整个raid都彻底失效。 但是如果raid10坏了1块盘,则该盘所在的raid 1组仍然能够运行。如果另一组也坏了1块,则此时整个raid也仍然保持运行。
类似地,当坏了一块盘,使用新盘替换后,阵列恢复的过程,raid 10也会更快更简单。

(7)JBOD:JBOD是存储领域中一类重要的存储设备。
JBOD(Just a Bunch Of Disks,磁盘簇)是在一个底板上安装的带有多个磁盘驱动器的存储设备。通常又称为Span。
和RAID阵列不同,JBOD没有前端逻辑来管理磁盘上的数据分布,相反,每个磁盘进行单独寻址,作为分开的存储资源,或者基于主机软件的一部分,或者是RAID组的一个适配器卡。JBOD
不是标准的RAID级别,它只是在近几年才被一些厂家提出,并被广泛采用。

四、总结

对RAID 的各项指标总结如下。

级别 磁盘利用率 读性能 写性能 容错性 至少几块盘
RAID 0 100% 提高 提高 无 2
RAID 1 50% 提高 无变化 有 2
RAID 4 (N-1)/N 提高 提高 有 3
RAID 5 (N-1)/N 提高 提高 有 3
RAID 1+0 50% 提高 提高 有 4
RAID 0+1 50% 提高 提高 有 4

Tables Are Cool col 3 is right-aligned $1600 col 2 is centered $12 zebra stripes are neat $1
原创粉丝点击