RAID0+1 RAID5 性能比较
- 格式:docx
- 大小:64.76 KB
- 文档页数:3
磁盘阵列RAID1和RAID5的区别和安全性RAID 1:镜象结构对于使用这种RAID1结构的设备来说,RAID控制器必须能够同时对两个盘进行读操作和对两个镜象盘进行写操作。
通过下面的结构图您也可以看到必须有两个驱动器。
因为是镜象结构在一组盘出现问题时,可以使用镜象,提高系统的容错能力。
它比较容易设计和实现。
每读一次盘只能读出一块数据,也就是说数据块传送速率与单独的盘的读取速率相同。
因为RAID1的校验十分完备,因此对系统的处理能力有很大的影响,通常的RAID功能由软件实现,而这样的实现方法在服务器负载比较重的时候会大大影响服务器效率。
当您的系统需要极高的可靠性时,如进行数据统计,那么使用RAID1比较合适。
而且RAID1技术支持“热替换”,即不断电的情况下对故障磁盘进行更换,更换完毕只要从镜像盘上恢复数据即可。
当主硬盘损坏时,镜像硬盘就可以代替主硬盘工作。
镜像硬盘相当于一个备份盘,可想而知,这种硬盘模式的安全性是非常高的,但带来的后果是硬盘容量利用率很低,只有50%,是所有RAID级别中最低的。
RAID 1 技术重点全部放在如何能够在不影响性能的情况下最大限度的保证系统的可靠性和可修复性上。
RAID 1是所有RAID等级中实现成本最高的一种,尽管如此,人们还是选择RAID 1来保存那些关键性的重要数据。
RAID 1又被称为磁盘镜像,每一个磁盘都具有一个对应的镜像盘。
对任何一个磁盘的数据写入都会被复制镜像盘中;系统可以从一组镜像盘中的任何一个磁盘读取数据。
显然,磁盘镜像肯定会提高系统成本。
因为我们所能使用的空间只是所有磁盘容量总和的一半。
下图显示的是由4块硬盘组成的磁盘镜像,其中可以作为存储空间使用的仅为两块硬盘(画斜线的为镜像部分)。
RAID 1下,任何一块硬盘的故障都不会影响到系统的正常运行,而且只要能够保证任何一对镜像盘中至少有一块磁盘可以使用,RAID 1甚至可以在一半数量的硬盘出现问题时不间断的工作。
RAID0,RAID1,RAID5,RAID6有什么区别一、raid什么意思?RAID是“Redundant Array of Independent Disk”的缩写,raid什么意思了?说白了,中文翻译过来通俗的讲就是磁盘阵列的意思,也就是说RAID就是把硬盘做成一个阵列,而阵列也就是把硬盘进行组合配置起来,做为一个整体进行管理,最关键的是这个阵列的磁盘之间具有冗余容错处理,这样可提高磁盘之间相互的安全性和稳定性,不存在“单点”硬盘现象,也就说不会让某些硬盘读写频繁,其他的硬盘可能数据交换较少的现象,从而提高硬盘的安全性,同时磁盘的整体管理会提高读写速度,使硬盘的利用发挥到最大。
那么RAID什么意思?在实际应用中有什么意义了?一般而言,作为服务器最容易出现的故障是服务器的硬盘和电源,因此服务器采用磁盘阵列技术是非常重要的。
简单的说,RAID是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术。
组成不同方式的磁盘阵列我们称为RAID的级别(RAID Levels)。
磁盘阵列中针对不同的应用使用的不同磁盘阵列配置情况,大家通称为RAID level(Raid 级别), 而每一level代表一种具体配置阵列的方法或叫阵列技术,目前业界公认的标准是RAID 0~RAID 5。
其中Raid0、Raid1、Raid5是最常见,后期又推出了Raid6、Raid1+0(也有人误解为Raid10),Raid5+0(也有人误解为Raid50),而Raid2、3、4不是非常通用.需要特别说明的是,不同的Raid level并不代表技术的高低,level 5并不高于level 3,level 1也不低过level 4,至于要选择那一种RAID level的产品,纯视用户的操作环境(operating environment)及具体应用(application)而定,与level的数字高低(大小)没有必然的关系。
RAID 0 跟RAID 1 都是將二顆硬碟組合成一顆硬碟,但結果是不同的假設有a b硬碟都為20GRAID 0 的結果為在系統內看到一顆硬碟容量為20+20=40GRAID 0 可以將二個硬碟容量加總,資料寫入時是一部分寫入第一顆硬碟,一部份寫入第二顆硬碟,優點是寫入跟讀取速度增加,但缺點是沒有容錯功能.一旦其中一顆硬碟損壞,將造成資料的損壞.RAID 1 的結果為在系統內看到一顆硬碟容量為20+20=20G (Mirror鏡射)RAID 1 雖然也是將a b硬碟組合成一顆硬碟,但是它是將b硬碟作成a硬碟的鏡射碟.也就是說資料在寫入a硬碟時同時也寫入了一份複本在b硬碟,優點是資料在存取時同時有一份是備分檔,缺點是會浪費一顆硬碟,因為二顆硬碟是存放著相同的資料。
RAID 5 的組成一定是3顆以上的硬碟,其容量的計算是(n-1)顆假設有a b c 三顆硬碟是20G組成RAID 5 之後容量是20+20+20=40GRAID 5 結合了RAID 0 跟RAID 1,它將硬碟的容量加總了,但是又保留了一顆的容量在作檔案的容錯,在寫入資料時會透過其演算法去寫入三顆硬碟之中,假設C硬碟掛掉了,只要將一顆新的20G 取代 C 硬碟,RAID 5 的容錯機制會由A B 二顆硬碟中留下的資料來還原 C 硬碟的資料,但前提是壞一顆硬碟,如果同時壞二顆,那資料亦是全毁.RAID 0 可以將硬碟容量加總,增加讀取速度,但是沒有容錯功能.RAID 1 可以將資料鏡射一份,但是讀取速度沒有增加.而且要浪費一顆硬碟.RAID 5 可以將硬碟容量加總,亦可以增加讀取速度,也有容錯功能.而且多顆組合起來只會浪費一顆硬碟.不像RAID 1每二顆硬碟會浪費一顆.由於RAID 5 只容許同時有一顆硬碟損壞.就有了RAID 0+1 或RAID 1+0這是更安全的作法.但相對的也更浪費硬碟.假設有4個硬碟 A B C D 各20GRAID 0 A+B => 20+20=40(E)RAID 0 C+D => 20+20=40(F)在這裡由A B C D 組成了二顆RAID 0的硬碟.雖然容量加總了.但並沒有容錯功能所以RAID 1 E+F => 40+40=40(G)RAID 1+0 則是反過來運作RAID 1 A+B => 20+20=20(E)RAID 1 C+D => 20+20=20(F)RAID 0 E+F => 20+20=40(G)作RAID 最好是都用相同容量的硬碟,如果容量不同.則以當中容量最小的為基準如A=20G B=30G C=40GRAID 0 A+B => 20+30=40RAID 1 A+B => 20+30=20RAID 5 A+B+C => 20+30+40 => 20+20=40 (n-1)各種RAID架構比較表RAID方案硬碟數可用容量效能安全性主要應用JBOD 大於2 全部不變幾乎等於0容量至上RAID 0 大於2 全部最高危險追求效能的狂熱玩家RAID 1 2 總容量的50%稍有提升最高完全不能出錯的資料備份RAID 0+1 4以上的偶數總容量的50%高極高同時需要備份和效能,且預算無上限RAID 5 3以上N-1顆讀快寫慢好同RAID 0+1但預算限制。
RAID0、RAID1、RAID5、RAID10分别代表什么意思?1、RAID 0它是无数据冗余的存储空间条带化,具有成本低、读写性能高、存储空间利用率高等特点,适用于音、视频信号存储、临时文件的转储等对速度要求极其严格的特殊应用。
但由于没有数据冗余,其安全性大大降低,构成阵列的任何一块硬盘的损坏都将带来灾难性的数据损失。
这种方式其实没有冗余功能,没有安全保护,只是提高了磁盘读写性能和整个服务器的磁盘容量。
2、RAID 1是两块硬盘数据完全镜像,安全性好、技术简单、管理方便、读写性能均好。
因为它是一一对应的,所以它无法单块硬盘扩展,要扩展,必须同时对镜像的双方进行同容量的扩展。
因为这种冗余方式为了安全起见,实际上只利用了一半的磁盘容量,数据空间浪费大。
3、RAID 0+1也有写为RAID 10,综合了RAID 0和RAID 1的特点,独立磁盘配置成RAID 0,两套完整的RAID 0互相镜像。
它的读写性能出色,安全性高,但构建阵列的成本投入大,数据空间利用率低。
4、RAID 5是目前应用最广泛的RAID技术。
各块独立硬盘进行条带化分割,相同的条带区进行奇偶校验,校验数据平均分布在每块硬盘上。
以N 块硬盘构建的RAID 5阵列可以有N-1块硬盘的容量,存储空间利用率非常高。
任何一块硬盘上的数据丢失,均可以通过校验数据推算出来,它和RAID 3最大的区别在于校验数据是否平均分布到各块硬盘上。
RAID 5具有数据安全、读写速度快、空间利用率高等优点,应用非常广泛,但不足之处是如果1块硬盘出现故障以后,整个系统的性能将大大降低。
除了上面的4种常见的磁盘阵列外,还有其它几种磁盘阵列,比如:RAID 2、RAID 3、RAID 4、RAID 6、RAID 7等。
都是指在利用多块硬盤,做到数据保护或加速的方式;RAID 0,条带式,对所有硬盤做平均分散的读写,盤愈多速度最快,创建至少需要2颗HD,安全性差。
RAID 1,镜像式,每块盤的上数据都完全相同,创建至少需要2颗HD, 只要留有1颗盤数据都安全,安全性最高。
raid分类及特点:
RAID分类主要有以下几种:
1.RAID 0:又称为快速模式或数据分块。
它把数据分布在多个盘上,实际上是非冗余
阵列,无冗余信息。
读写传输数据的速度最快,但任何一块硬盘发生故障,整个RAID 上的数据将不可恢复。
2.RAID 1:又称为镜像模式或安全模式。
两块硬盘互为镜像、互为备份。
任何一块硬
盘出现故障时,只需要取下故障硬盘、换上一块容量大于或等于故障硬盘容量的硬盘即可自动恢复数据和重组RAID模式,所存储的数据安全性高。
3.RAID 3:至少需要3块硬盘,其中一颗用来储存纠错数据。
当有一块硬盘故障时,
只需要取下故障硬盘、换上一块容量大于或等于故障硬盘容量的硬盘即可自动恢复数据和重组RAID,数据可以从其余硬盘上的数据和纠错数据中恢复出来,安全性好。
4.RAID 5:块交叉分布式奇偶校验盘阵列,是旋转奇偶校验独立存取的阵列。
即数据
以块(块大小可变)交叉的方式存于各盘,但无专用的校验盘,而是把冗余的奇偶校验信息均匀地分布在所有磁盘上。
磁盘阵列RAID0、RAID1、RAID5的区别本文讲解了磁盘阵列RAID0,RAID1和RAID5的基础原理及他们之间的区别,便于你在配置服务器时参考。
RAID 0:无差错控制的带区组要实现RAID0必须要有两个以上硬盘驱动器,RAID0实现了带区组,数据并不是保存在一个硬盘上,而是分成数据块保存在不同驱动器上。
因为将数据分布在不同驱动器上,所以数据吞吐率大大提高,驱动器的负载也比较平衡。
如果刚好所需要的数据在不同的驱动器上效率最好。
它不需要计算校验码,实现容易。
它的缺点是它没有数据差错控制,如果一个驱动器中的数据发生错误,即使其它盘上的数据正确也无济于事了。
不应该将它用于对数据稳定性要求高的场合。
如果用户进行图象(包括动画)编辑和其它要求传输比较大的场合使用RAID0比较合适。
同时,RAID可以提高数据传输速率,比如所需读取的文件分布在两个硬盘上,这两个硬盘可以同时读取。
那么原来读取同样文件的时间被缩短为1/2。
RAID 1:镜象结构对于使用这种RAID1结构的设备来说,RAID控制器必须能够同时对两个盘进行读操作和对两个镜象盘进行写操作。
通过下面的结构图您也可以看到必须有两个驱动器。
因为是镜象结构在一组盘出现问题时,可以使用镜象,提高系统的容错能力。
它比较容易设计和实现。
每读一次盘只能读出一块数据,也就是说数据块传送速率与单独的盘的读取速率相同。
因为RAID1的校验十分完备,因此对系统的处理能力有很大的影响,通常的RAID功能由软件实现,而这样的实现方法在服务器负载比较重的时候会大大影响服务器效率。
当您的系统需要极高的可靠性时,如进行数据统计,那么使用RAID1比较合适。
而且RAID1技术支持“热替换”,即不断电的情况下对故障磁盘进行更换,更换完毕只要从镜像盘上恢复数据即可。
当主硬盘损坏时,镜像硬盘就可以代替主硬盘工作。
镜像硬盘相当于一个备份盘,可想而知,这种硬盘模式的安全性是非常高的,但带来的后果是硬盘容量利用率很低,只有50%,是所有RAID级别中最低的。
常用raid分类及优缺点总结RAID(redundant array of independent disks),独立磁盘冗余阵列。
单个硬盘无法满足大量数据存储和数据安全性的需求,RAID将多个独立的物理硬盘按照一定方式(RAID级别)组合在一起,形成一个大的逻辑盘,提高了数据读写速度、可靠性、存储能力及容错能力。
RAID分类软RAID无独立的RAID控制卡,由操作系统和CPU来实现所有的RAID功能。
占用CPU资源,如果操作系统出现故障,则RAID信息会丢失,RAID功能将不可用。
跟硬RAID比性能差,但成本低。
硬RAID拥有独立的RAID控制卡,通过RAID卡实现所有的RAID功能,不占用CPU资源。
性能好,但成本高。
常用RAID级别优缺点及适用场景RAID主要利用数据条带、镜像和数据校验技术来获取高读写、可靠性及容错能力,根据组合方式的不同,可以把RAID分为不同的级别。
JBODJBOD(Just a Bunch Of Disks),磁盘簇、简单磁盘捆绑或Span。
JBOD并非标准的RAID级别,不能提供RAID带来的高读写、可靠性及容错能力。
JBOD是在逻辑上把几个物理磁盘串联到一起,从而提供一个大的逻辑磁盘。
存储数据时从第一个磁盘开始存储,当第一个磁盘的存储空间用完后,再依次从后面的磁盘开始存储数据。
存取性能等同于对单一磁盘的存取操作,不提供数据安全保障,它只是简单的提供一种利用磁盘空间的方法。
JBOD的低成本是它的主要优势。
RAID 0数据条带化,无校验,不提供数据保护。
数据并发写入多个硬盘。
优点1.所有RAID中读写性能最高2.100%的磁盘空间利用率缺点不提供数据冗余保护,一旦数据损坏,将无法恢复。
适用场景RAID 0适用于迅速读写,但对数据安全性和可靠性要求不高的场景,如视频、打印等。
RAID 1数据镜像,无校验。
一半的空间存储冗余数据,所有RAID中数据安全性最高。
优点1.所有的RAID中安全性最高,即使有一半的磁盘发生故障,仍能正常运转。
RAID 分类RAID 分类通常我们有5种常见的RAID级别,这些级别不是刻意分出来的,而是按功能分的。
不同的RAID级别提供不同的性能,数据的有效性和完整性取决于特定的I/O环境。
没有任何一种RAID级别可以完美的适合任何用户。
概要:RAID 0 是最快,最有效率的阵列类型,但是不支持容错功能。
RAID 1 适合性能要求较高又需要容错功能的阵列。
另外,RAID 1是在只有少于2个磁盘的环境下支持容错功能的唯一选择。
RAID 3 被用在数据加强和加速单用户对连续的长记录时的数据传输。
RAID 5 是在多用户,对数据写入的性能要求不高的环境下的最好选择。
然而,它要求至少3个,通常使用5个磁盘来执行。
RAID 6 是在多用户,可以保护两只驱动器损坏情况下的数据。
它要求至少4个驱动器,通常使用6个磁盘以上来执行。
RAID 10 集良好的可靠性和高性能于一身RAID 0:RAID 0 将数据分条,存储到多个磁盘中,不带任何冗余信息。
数据被分割成块,继续分布到磁盘中。
这一级别也被认为是纯粹的数据分条。
创建RAID 0 需要一个或多个磁盘。
也就是说,单独的一个磁盘可以被认为是一个RAID 0 阵列。
不幸的是,数据分条降低了数据的可用性,如果一个磁盘发生错误,整个阵列将会瘫痪。
优点:易于实现无容量损失-所有的存储空间都可用缺点:无容错能力一个磁盘出错导致损失所有阵列内的数据RAID 1 :RAID 1至少要有两个(只有两个)硬盘才能组成,因此也称为镜像(Mirroring)方式。
所谓镜像就是每两个硬盘的内容一模一样,但是对操作系统而言只呈现一个硬盘,以便于管理。
由此可见,RAID 1对数据进行了完全的备份,其可靠性是最高的。
当然,其数据的写入时间可能会稍长一点,但因为两个镜象硬盘可以同时读取数据,故读数据与RAID 0一样。
磁盘阵列的总容量为其中N/2块硬盘的容量在RAID 级别中,RAID 1通过数据镜像提供了最高的信息可用性。
raid0RAID 0(别名:条带)容错性:没有冗余类型:没有热备盘选项:没有读性能:高随机写性能:高连续写性能:高需要的磁盘数:只需2个或2*N个(这里应该是多于两个硬盘都可以)可用容量:总的磁盘的容量典型应用:无故障的迅速读写,要求安全性不高,如图形工作站等。
RAID 0又称为Stripe或Striping,它代表了所有RAID级别中最高的存储性能。
RAID 0提高存储性能的原理是把连续的数据分散到多个磁盘上存取,这样,系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求。
这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能。
如图1所示:系统向三个磁盘组成的逻辑硬盘(RADI 0 磁盘组)发出的I/O数据请求被转化为3项操作,其中的每一项操作都对应于一块物理硬盘。
我们从图中可以清楚的看到通过建立RAID 0,原先顺序的数据请求被分散到所有的三块硬盘中同时执行。
从理论上讲,三块硬盘的并行操作使同一时间内磁盘读写速度提升了3倍。
但由于总线带宽等多种因素的影响,实际的提升速率肯定会低于理论值,但是,大量数据并行传输与串行传输比较,提速效果显著显然毋庸置疑。
RAID 0的缺点是不提供数据冗余,因此一旦用户数据损坏,损坏的数据将无法得到恢复。
RAID 0具有的特点,使其特别适用于对性能要求较高,而对数据安全不太在乎的领域,如图形工作站等。
对于个人用户,RAID 0也是提高硬盘存储性能的绝佳选择。
计算机技术发展迅速,但硬盘传输率也成了性能的瓶颈。
怎么办?IDE RAID技术的成熟让我们轻松打造自己的超高速硬盘。
在实际应用中,RAID 0硬盘阵列能比普通IDE 7200转ATA 133硬盘快得多,时至今日,在大多数的高端或者玩家主板上我们都能找到一颗PROMISE 或者HighPoint的RAID芯片,同时发现它们提供的额外几个IDE接口。
没错,RAID已经近在眼前,难道你甘心放弃RAID为我们带来的性能提升吗?答案当然是否定的!实用的IDE RAIDRAID可以通过软件或硬件实现。
RAID5和RAID10的比较
存储是目前IT产业发展的一大热点,而RAID技术是构造高性能、海量存储的基础技术,也是构建网络存储的基础技术。
专家认为,磁盘阵列的性能优势得益于磁盘运行的并行性,提高设备运行并行度可以提高磁盘的性能和数据安全性。
20年来,RAID 推出了一系列级别,包括RAID 0、RAID 1、RAID 2、RAID 3、RAID4、RAID 5,以及各种组合如RAID 0 1 等。
其中最广泛的包括RAID5与RAID10.但是一直以来,关于RAID5与RAID 10的性能优劣的争端还是非常多的,甚至很多人包括很多公司都那拿出了测试数据。
而这些测试数据复杂难懂相互矛盾,更加让用户感到迷惑,不知道怎么选择。
在这里,我将就这两种RAID的内部运行原理来分析一下,看看我们在什么情况下应当适合选哪一种RAI D方式。
根据我的经验与分析:象小io的数据库类型操作,如ERP等等应用,建议采用RAID10,而大型文件存储,数据仓库,如医疗PACS系统、视频编辑系统则从空间利用的角度,建议采用RAID5.下面请看具体的性能对比:
为了方便对比,我这里拿同样多驱动器的磁盘来做对比,RAID5选择3D 1P的RAID方案,RAID10选择2D 2D的Raid方案,分别如图:
那么,我们分析如下三个过程:读,连续写,随机写,但是,在介绍这三个过程之前,我需要介绍另外一个磁盘阵列中的重要概念:cache.
磁盘读写速度的要害之一:Cache
cache技术最近几年,在磁盘存储技术上,发展的非常迅速,作为高端存储,cache已经是整个存储的核心所在,就是中低端存储,也有很大的cache存在,包括最简单的RAID卡,一般都包含有几十,甚至几百兆的RAID cache.
cache的主要作用是什么呢?作为缓存,cache的作用具体体现在读与写两个不同的方面:作为写,一般存储阵列只要求数据写到cache就算完成了写操作,当写cache的数据积累到一定程度,阵列才把数据刷到磁盘,可以实现批量的写入。
所以,阵列的写是非常快速的。
至于cache数据的保护,一般都依靠于镜相与电池(或者是UPS)。
cache在读数据方面的作用一样不可忽视,因为假如所需要读取的数据能在cache中命中的话,将大大降低磁盘寻道所需要的时间。
因为磁盘从开始寻道到找到数据,一般都在6ms以上,而这个时间,对于那些
密集型I/O的应用可能不是太理想。
但是,假如能在cache保存的数据中命中,一般响应时间则可以缩短在1ms以内。
不要迷信存储厂商的IOPS(每秒的io数)数据,他们可能全部在cache命中的基础上做到的,但是实际上,你的cache命中率可能只有10%.
介绍完cache,我们就可以解释RAID5与RAID10在不同的模式下,工作效率问题了,那么我们来分别分析读操作、连续写和离散写三方面的问题。
读操作方面的性能差异
如我上文的介绍,磁盘阵列读操作的要害更多的体现在cache的命中率上。
所以,RAID5和RAID10在读数据上面,他们基本是没有差别的,除非是读的数据能影响cache命中率,导致命中率不一样。
连续写方面的性能差异
连续写的过程,一般表示写入连续的大批量的数据,如媒体数据流,很大的文件等等。
连续写操作大部分产生于医疗PACS系统、高教图书馆系统、视频编辑系统等等应用环境下。
根据我本人的经验,在连续写操作过程,假如有写cache存在,并且算法没有问题的话,RAID5比RAID 10甚至会更好一些,虽然也许并没有太大的差别。
(这里要假定存储有一定大小足够的写cache,而且计算校验的cpu不会出现瓶颈)。
因为这个时候的RAID校验是在cache中完成,如4块盘的RAID5,可以先在内存中计算好校验,同时写入3个数据1个校验。
而RAID10只能同时写入2个数据2个镜相。
如上图所示,4块盘的RAID5可以在同时间写入1、2、3到cache,并且在cache计算好校验之后,我这里假定是6(实际的校验计算并不是这样的,我这里仅仅是假设),同时把三个数据写到磁盘。
而4块盘的RAID10不管cache是否存在,写的时候,都是同时写2个数据与2个镜相。
根据我前面对缓存原理的介绍,写cache是可以缓存写操作的,等到缓存写数据积累到一定时期再写到磁盘。
但是,写到磁盘阵列的过程是迟早也要发生的,所以RAID5与RAID10在连续写的情况下,从缓存到磁盘的写操作速度会有较小的区别。
不过,假如不是连续性的强连续写,只要不达到磁盘的写极限,差别并不是太大。
离散写方面的性能差异
这里可能会较难理解,但是,这一部分也是最重要的部分。
企业中的绝大部分数据库应用,如ERP系统等等在数据写入的时候其实都是离散写。
例如oracle 数据库每次写一个数据块的数据,如8K;由于每次写入的量不是很大,而且写入的次数非常频繁,因此联机日志看起来会像是连续写。
但是因为不保证能够添满RAID5的一个条带(保证每张盘都能写入),所以很多时候更加偏向于离散写入。
我们从上图看一下离散写的时候,RAID5与RAID10工作方式有什么不同。
如上图:我们假定要把一个数字2变成数字4,那么对于RAID5,实际发生了4次io:先读出2与校验6,可能发生读命中然后在cach e中计算新的校验写入新的数字4与新的校验8
如上图我们可以看到:对于RAID10,同样的单个操作,最终RAID10只需要2个io,而RAID5需要4个io.
这里我忽略了RAID5在那两个读操作的时候,可能会发生读命中操作的情况。
也就是说,假如需要读取的数据已经在cache中,可能是不需要4个io的。
这也证实了cache对RAID5 的重要性,不仅仅是计算校验需要,而且对性能的提高尤为重要。
我本人曾经测试过,在RAID5的阵列中,假如关闭写cache,RAI D5的性能将差很多倍。
当然,我并不是说cache对RAID10就不重要了,因为写缓冲,读命中等,都是提高速度的要害所在,不过的是,RAID10对cache的依靠性没有RAID5那么明显而已。
到这里,大家应当也大致明白了RAID5与RAID10的原理与差别了,一般来说,象小io的数据库类型操作,建议采用RAID10,而大型文件存储,数据仓库,则从空间利用的角度,可以采用RAID5.。