RAID10与RAID01比较,RAID10与RAID5比较

RAID10和RAID01的比较
RAID10是先做镜象,然后再做条带。 RAID01则是先做条带,然后再做镜象。
    比如以6个盘为例,RAID10就是先将盘分成3组镜象,然后再对这3个RAID1做条带。RAID01则是先利用3块盘做RAID0,然后将另外3块盘做为RAID0的镜象。
下面以4块盘为例来介绍安全性方面的差别:
1、RAID10的情况
    这种情况中,我们假设当DISK0损坏时,在剩下的3块盘中,只有当DISK1一个盘发生故障时,才会导致整个RAID失效,我们可简单计算故障率为1/3。
2、RAID01的情况
     这种情况下,我们仍然假设DISK0损坏,这时左边的条带将无法读取。在剩下的3块盘中,只要DISK2,DISK3两个盘中任何一个损坏,都会导致整个RAID失效,我们可简单计算故障率为2/3。
因此RAID10比RAID01在安全性方面要强。
    从数据存储的逻辑位置来看,在正常的情况下RAID01和RAID10是完全一样的,而且每一个读写操作所产生的IO数量也是一样的,所以在读写性能上两者没什么区别。而当有磁盘出现故障时,比如前面假设的DISK0损坏时,我们也可以发现,这两种情况下,在读的性能上面也将不同,RAID10的读性能将优于RAID01。

RAID10和RAID5的比较

为了方便对比,这里拿同样多驱动器的磁盘来做对比,RAID5选择3D+1P的RAID方案,RAID10选择2D+2D的RAID方案,如图:

1、安全性方面的比较

其实在安全性方面,勿须质疑,肯定是RAID10的安全性高于RAID5。我们也可以从简单的分析来得出。当盘1损坏时,对于RAID10,只有当盘1对应的镜象盘损坏,才导致RAID失效。但是对于RAID5,剩下的3块盘中,任何一块盘故障,都将导致RAID失效。在恢复的时候,RAID10恢复的速度也快于RAID5。

2、空间利用率的比较

RAID10的利用率是50%,RAID5的利用率是75%。硬盘数量越多,RAID5的空间利用率越高。

3、读写性能方面的比较主要分析分析如下三个过程:读,连续写,离散写。在介绍这三个过程之前,先介绍一个特别重要的概念:cache。cache已经是整个存储的核心所在,就是中低端存储,也有很大的cache存在,包括最简单的raid卡,一般都包含有几十,甚至几百兆的raid cache。

cache的主要作用是什么呢?体现在读与写两个不同的方面,如果作为写,一般存储阵列只要求写到cache就算完成了写操作,所以,阵列的写是非常快速的,在写cache的数据积累到一定程度,阵列才把数据刷到磁盘,可以实现批量的写入,至于cache数据的保护,一般都依赖于镜相与电池(或者是UPS)。cache的读一样不可忽视,因为如果读能在cache中命中的话,将减少磁盘的寻道,因为磁盘从寻道开始到找到数据,一般都在6ms以上,而这个时间,对于那些密集型io的应用可能不是太理想。但是,如果cache能命中,一般响应时间则可以在1ms以内。两者应该相差3个数量级(1000倍)。

1)读操作方面的性能差异

RAID10可供读取有效数据的磁盘个数为4,RAID5可供读取有效数据的磁盘个数也为4个(校验信息分布在所有的盘上),所以两者的读的性能应该是基本一致的。

2)连续写方面的性能差异

在连续写操作过程,如果有写cache存在,并且算法没有问题的话,RAID5比RAID10甚至会更好一些,虽然也许并没有太大的差别。(这里要假定存储有一定大小足够的写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在连续写的情况下,从缓存到磁盘的写操作速度会有较小的区别。不过,如果不是连续性的强连续写,只要不达到磁盘的写极限,差别并不是太大。

3)离散写方面的性能差异

例如oracle 数据库每次写一个数据块的数据,如8K;由于每次写入的量不是很大,而且写入的次数非常频繁,因此联机日志看起来会像是连续写。但是因为不保证能够添满RAID5的一个条带,比如32K(保证每张盘都能写入),所以很多时候更加偏向于离散写入(写入到已存在数据的条带中)。

我们从上图看一下离散写的时候,RAID5与RAID10工作方式有什么不同。如上图:我们假定要把一个数字2变成数字4,那么对于RAID5,实际发生了4次io:先读出2与校验6,可能发生读命中然后在cache中计算新的校验写入新的数字4与新的校验8。如上图我们可以看到:对于RAID10,同样的单个操作,最终RAID10只需要2个io,而RAID5需要4个io.

这里我忽略了RAID5在那两个读操作的时候,可能会发生读命中操作的情况。也就是说,如果需要读取的数据已经在cache中,可能是不需要4个io的。这也证明了cache对RAID5 的重要性,不仅仅是计算校验需要,而且对性能的提升尤为重要。当然,并不是说cache对RAID10就不重要了,因为写缓冲,读命中等,都是提高速度的关键所在,只不过RAID10对cache的依赖性没有RAID5那么明显而已。

4)磁盘的IOPS对比

假定一个case,业务的iops是10000,读cache命中率是30%,读iops为60%,写iops为40%,磁盘个数为120,那么分别计算在raid5与raid10的情况下,每个磁盘的iops为多少。

raid5:

单块盘的iops = (10000*(1-0.3)*0.6 + 4 * (10000*0.4))/120

= (4200 + 16000)/120

= 168

这里的10000*(1-0.3)*0.6表示是读的iops,比例是0.6,除掉cache命中,实际只有4200个iops。

4 * (10000*0.4) 表示写的iops,因为每一个写,在raid5中,实际发生了4个io,所以写的iops为16000个

为了考虑raid5在写操作的时候,那2个读操作也可能发生命中,所以更精确的计算为:

单块盘的iops = (10000*(1-0.3)*0.6 + 2 * (10000*0.4)*(1-0.3) +2 * (10000*0.4))/120

= (4200 + 5600 + 8000)/120

= 148

计算出来单个盘的iops为148个,基本达到磁盘极限

raid10

单块盘的iops = (10000*(1-0.3)*0.6 + 2 * (10000*0.4))/120

= (4200 + 8000)/120

= 102

可以看到,因为raid10对于一个写操作,只发生2次io,所以,同样的压力,同样的磁盘,每个盘的iops只有102个,还远远低于磁盘的极限iops。

4、小结

所以要求较高的空间利用率,对安全性要求不是特别高、大文件存储的系统采用RAID5比较好。

相反,安全性要求很高,不计成本,小数据量频繁写入的系统采用RAID10的方式比较好。

RAID10与RAID01比较,RAID10与RAID5比较

时间: 2024-08-01 21:25:45

RAID10与RAID01比较,RAID10与RAID5比较的相关文章

RAID01和RAID10

1.RAID01和RAID10都是RAID0和RAID1的结合,兼顾在存储性能和安全性能方面的优点,先介绍二者各自原理: RAID01是加速镜像(即先条带再镜像),图中有8块物理磁盘,首先RAID控制器通过RAID0技术分别抓取四块磁盘组成两个虚拟盘,然后控制器再通过RAID1技术将两个虚拟盘形成一个虚拟盘,对于外部服务器只有最终形成的虚拟盘可见. RAID10是镜像加速(即先镜像再条带),首先RAID控制器通过RAID1技术对八块物理磁盘进行冗余,形成4块虚拟磁盘,然后控制器再对4块虚拟磁盘进

RAID5和RAID10,哪种RAID更适合你(上)

[IT168 专稿]存储是目前IT产业发展的一大热点,而RAID技术是构造高性能.海量存储的基础技术,也是构建网络存储的基础技术.专家认为,磁盘阵列的性能优势得益于磁盘运行的并行性,提高设备运行并行度可以提高磁盘的性能和数据安全性. 20年来,RAID 推出了一系列级别,包括RAID 0.RAID 1.RAID 2.RAID 3.RAID4.RAID 5,以及各种组合如 RAID 0+1 等.其中最广泛的包括RAID5与RAID10.但是一直以来,关于RAID5与RAID10的性能优劣的争端还是

服务器磁盘raid0,raid1,raid10,raid5,raid50,raid6,raid60 分析与案例

1,raid0的特性:采用剥离,数据将在几个磁盘上进行分割.数据被分成很多数据块,每一数据块会被写入不同的磁盘.从而,每一磁盘的工作负荷都得到了降低,这有助于加速数据传输.RAID-0可让磁盘更好地响应,尤其是电子邮件.数据库和互联网应用.实施RAID-0最少需要两块硬盘.优势:通过把I/O负载分布到多个硬盘上,可提高系统性能.实施简单.需要注意的是:RAID-0不具有数据保护功能,不适合于关键数据. 2,raid1的特性:RAID-1通过磁盘镜像来实现,主要用来确保数据的可靠性.同样的数据将被

raid0,raid1,raid10,raid5,raid50,raid6,raid60的功能总结简述

1,raid0的特性:采用剥离,数据将在几个磁盘上进行分割.数据被分成很多数据块,每一数据块会被写入不同的磁盘.从而, 每一磁盘的工作负荷都得到了降低,这有助于加速数据传输.RAID-0可让磁盘更好地响应,尤其是电子邮件.数据库和互联网应用.实施RAID-0最少需 要两块硬盘.优势:通过把I/O负载分布到多个硬盘上,可提高系统性能.实施简单.需要注意的是:RAID-0不具有数据保护功能,不适合于关键数据. 2,raid1的特性:RAID-1通过磁盘镜像来实现,主要用来确保数据的可靠性.同样的数据

RAID10、01、5之间的区别以及mdadm的运用

RAID10是先做镜象,然后再做条带. RAID01则是先做条带,然后再做镜象.比如以6个盘为例,RAID10就是先将盘分成3组镜象,然后再对这3个RAID1做条带.RAID01则是先利用3块盘做RAID0,然后将另外3块盘做为RAID0的镜象.下面以4块盘为例来介绍安全性方面的差别:1.RAID10的情况 这种情况中,我们假设当DISK0损坏时,在剩下的3块盘中,只有当DISK1一个盘发生故障时,才会导致整个RAID失效,我们可简单计算故障率为1/3.2.RAID01的情况 这种情况下,我们仍

磁盘阵列raid0,raid1,raid5,raid0-1,raid1-0学习笔记

磁盘阵列RAID ,REDUNDANTARRAYS OD INDEPENSIVE DISKS ,容错廉价磁盘阵列,可以通过一些技术将多个较小的磁盘整合为一个较大的磁盘设备,而这个较大的磁盘功能不只是存储,还具有数据保护的功能. 整个RAID的等级不同,而使整合后的磁盘具有不同的功能. 常见的RAID有以下几种: 1.RAID 0:(等量模式)性能最佳 这个模式如果使用相同型号与容量的磁盘来组成,效果最佳,这种模式的RAID会将磁盘先切出等量的区块,然后当一个文件要写入RAID的时候,该文件会依据

Linux 第15天: (08月29日) Linux高级文件系统管理

本章内容设定文件系统配额设定和管理软RAID设备配置逻辑卷设定LVM快照btrfs文件系统 配置配额系统综述在内核中执行以文件系统为单位启用对不同组或者用户的策略不同根据块或者节点进行限制执行软限制(soft limit)硬限制(hard limit)初始化分区挂载选项:usrquota.grpquota初始化数据库:quotacheck 为用户设定配额执行开启或者取消配额:quotaon.quotaoff直接编辑配额:edquota username在shell中直接编辑:setquota u

linux自学笔记——RAID级别特性以及软RAID的实现

RAID,Redundant Arrays of Inexpensive Disks 廉价冗余磁盘阵列,又称为Redundant Arrays of Independent Disks,独立冗余磁盘阵列. 其基本原理就是利用多块较小的磁盘通过不同的组织方式,组成一个大的磁盘组,以提高磁盘的IO能力和耐用性.由于组织方式不同,所以把RAID分为多个级别.而最常用的是RAID0,RAID1,RAID5,RAID6,RAID10,RAID01.下面我们将对以上的级别进行比较分析. 级别:level R

【linux相识相知】独立硬盘冗余阵列-RAID

独立硬盘冗余阵列(RAID,Redundant Array of Independant Disks),旧称为廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks).1987年美国加州伯克利分校的一篇名为<A Case for Redundant Arrays of Inexpensive Disk(RAID)>论文诞生,这标志着RAID技术的开始. 那么什么是RAID呢?简单的来讲就是把多个硬盘组合起来,成为一个硬盘阵列组,操作系统会把它当做是一个硬盘,