RAID 0:无差错控制的带区组
要实现RAID0必须要有两个以上硬盘驱动器,RAID0实现了带区组,数据并不是保存在一个硬盘上,而是分成数据块保存在不同驱动器上。因为将数据分布在不同驱动器上,所以数据吞吐率大大提高,驱动器的负载也比较平衡。如果刚好所需要的数据在不同的驱动器上效率最好。它不需要计算校验码,实现容易。它的缺点是它没有数据差错控制,如果一个驱动器中的数据发生错误,即使其它盘上的数据正确也无济于事了。不应该将它用于对数据稳定性要求高的场合。如果用户进行图象(包括动画)编辑和其它要求传输比较大的场合使用RAID0比较合适。同时,RAID可以提高数据传输速率,比如所需读取的文件分布在两个硬盘上,这两个硬盘可以同时读取。那么原来读取同样文件的时间被缩短为1/2。在所有的级别中,RAID 0的速度是最快的。但是RAID 0没有冗余功能的,如果一个磁盘(物理)损坏,则所有的数据都无法使用。
RAID 0模式是将连续数据分散到多个磁盘上存取,以并行执行数据请求的方式实现了性能的大幅度提升。当然,受总线带宽等多种因素的影响,性能提升幅度并不是说1+1=2。我们使用了Anvil's Storage Utilities和Crystal Disk Mark两款软件对RAID 0卷进行了性能测试。其中Anvil's 的连续读写性能分别为2117.89MB/s和2432.3MB/s,每秒读写速度已经突破2GB/s大关。对比单块OCZ Vertex 4128 GB的测试成绩,连续写入性能从420MB/s提升到了2400MB/s,8盘RAID0的提升幅度大约是单盘的5.7倍。而在4K随机读写测试方面,无论是随机读写,还是QD16队列读写,8盘RAID 0和单盘的差别不大。原因是RAID 0的原理是将大文件分割成小文件分别放置到不同的硬盘中,同时并行读写以提升成绩的。而这个分割文件的大小在4K~128KB之间,数据只有大到一定程度,才能均匀分散到各个磁盘中,提升性能。在RAID 0中,4KB小文件仍旧存储在一个物理磁盘中,所以4KB的测试成绩单盘和8盘RAID 0相差不大。
上述测试成绩反映了电脑内部的最大读写性能,但是在实际服务器应用中,受限于网络接口带宽,实际数据传输性能会大打折扣。如果采用双千兆网络出口,能够提供的最大数据传输速度也仅只有250MB/s。在数据中心应用中,万兆网络才是解决数据出口带宽的最好解决办法。所以,接下来笔者用更能反映服务器性能的IOMETER进行IOPS测试。我们测试了File Server和Web Server两个脚本,这两个脚本分别使用了各种不同大小、不同比例的数据,模拟了文件服务器和网页服务器在日常使用中的操作响应情况,测试从1到64不同队列深度的IOPS每秒操作数。从测试成绩来看,8盘RAID
0系统的IOPS从4000级一直快速上升,在64队列深度下最高达到74492.14。这在民用级服务器中是一个非常夸张的水平,已经达到甚至远远超过了很多使用机械硬盘的专业级存储服务器性能。
RAID5:分布式奇偶校验的独立磁盘结构
从它的示意图上可以看到,它的奇偶校验码存在于所有磁盘上,其中的p0代表第0带区的奇偶校验值,其它的意思也相同。RAID5的读出效率很高,写入效率一般,块式的集体访问效率不错。因为奇偶校验码在不同的磁盘上,所以提高了可靠性,允许单个磁盘出错。RAID 5也是以数据的校验位来保证数据的安全,但它不是以单独硬盘来存放数据的校验位,而是将数据段的校验位交互存放于各个硬盘上。这样,任何一个硬盘损坏,都可以根据其它硬盘上的校验位来重建损坏的数据。硬盘的利用率为n-1。 但是它对数据传输的并行性解决不好,而且控制器的设计也相当困难。RAID
3 与RAID 5相比,重要的区别在于RAID 3每进行一次数据传输,需涉及到所有的阵列盘。而对于RAID 5来说,大部分数据传输只对一块磁盘操作,可进行并行操作。在RAID 5中有“写损失”,即每一次写操作,将产生四个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。 RAID-5的话,优点是提供了冗余性(支持一块盘掉线后仍然正常运行),磁盘空间利用率较高(N-1/N),读写速度较快(N-1倍)。RAID5最大的好处是在一块盘掉线的情况下,RAID照常工作,相对于RAID0必须每一块盘都正常才可以正常工作的状况容错性能好多了。因此RAID5是RAID级别中最常见的一个类型。RAID5校验位即P位是通过其它条带数据做异或(xor)求得的。计算公式为P=D0xorD1xorD2…xorDn,其中p代表校验块,Dn代表相应的数据块,xor是数学运算符号异或。
600

被折叠的 条评论
为什么被折叠?



