Raid10,Raid01及Raid5的比较
来源:互联网 发布:望远镜淘宝主图视频 编辑:程序博客网 时间:2024/05/03 16:20
杂谈
一直以来,看到关于raid5与raid10的性能之争还是非常多的,甚至很多人那拿出了测试数据,但是,到底谁是谁非。这里,我就这两种raid的内部运行原理来分析一下,我们在什么情况下应当适合选哪一种raid方式。
1、安全性方面的比较
其实在安全性方面,勿须质疑,肯定是RAID10的安全性高于RAID5。我们也可以从简单的分析来得出。当盘1损坏时,对于RAID10,只有当盘1对应的镜象盘损坏,才导致RAID失效。但是对于RAID5,剩下的3块盘中,任何一块盘故障,都将导致RAID失效。
在恢复的时候,RAID10恢复的速度也快于RAID5。
2、空间利用率的比较
RAID10的利用率是50%,RAID5的利用率是75%。硬盘数量越多,RAID5的空间利用率越高。
3、读写性能方面的比较
那么,我们分析如下三个过程:读,连续写,随机写,但是,在介绍这三个过程之前,我需要介绍一个特别重要的概念:cache。
cache技术最近几年,在磁盘存储技术上,发展的非常迅速,作为高端存储,cache已经是整个存储的核心所在,就是中低端存储,也有很大的cache存在,包括最简单的raid卡,一般都包含有几十,甚至几百兆的raidcache。
介绍完cache,我们就可以解释raid5与raid10在不同的模式下,工作效率问题了,那么我们来分别分析以上三个问题。
3.1、读操作
因为raid5与raid10的磁盘都可以提供服务,所以,在读上面他们基本是没有差别的,除非是读的数据能影响cache命中率,导致命中率不一样。
3.2、连续写
连续写的过程,一般表示写入连续的大批量的数据,如媒体数据流,很大的文件等等,这个写操作过程,如果有写cache存在,并且算法没有问题的话,raid5比raid10甚至会更好一些(这里要假定存储有一定大小足够的写cache,而且计算校验的cpu不会出现瓶颈)。因为这个时候的校验是在cache中完成,如4块盘的raid5,可以先在内存中计算好校验,同时写入3个数据+1个校验。而raid10只能同时写入2个数据+2个镜相。
如,4块盘的raid5可以在同时间写入1、2、3到cache,并且在cache计算好校验之后,我这里假定是6(实际的校验计算并不是这样的,我这里仅仅是假设),同时把三个数据写到磁盘。而4块盘的raid10不管cache是否存在,写的时候,都是同时写2个数据与2个镜相。
但是,我前面也说过了,写cache是可以缓存写操作的,等到一定时期再写到磁盘,但是,写操作不比读操作,这个写是迟早也要发生的,也就是说,最后落到磁盘上的写还是避免不了的,不过,如果不是连续性的强连续写,只要不达到磁盘的写极限,差别都不是太大。
3.3、离散写
这里可能是最难理解,但是,也是最重要的部分,数据库,如oracle数据库大部分操作就是离散写,如每次写一个数据块的数据,如8K;联机日志虽然看起来是连续写,但是因为每次写的量不多,不保证能添满raid5的一个条带(保证每张盘都能写入),所以很多时候也是离散写入。
我们再接上图,假定要把一个数字2变成数字4,那么对于raid5,实际发生了4次io,
对于raid10,我们可以看到,同样的单个操作,最终raid10只需要2个io,而raid5需要4个io。但是,这里我忽略了raid5在那两个读操作的时候,还可能会发生读命中操作,也就是说,如果需要读取的数据已经在cache中,可能是不需要4个io的,也证明了cache对raid5的重要性,不仅仅是计算校验需要,而且对性能的提升由为重要。曾经测试过,在raid5的阵列中,如果关闭写cache,raid5的性能将差很多倍。
这里,并不是说cache对raid10就不重要了,因为写缓冲,读命中等,都是提高速度的关键所在,不过的是,raid10对cache的依赖性没有raid5那么明显而已。
到这里,大家应当也大致明白了raid5与raid10的原理与差别了,一般来说,象小io的数据库类型操作,建议采用raid10,而大型文件存储,数据仓库,则从空间利用的角度,可以采用raid5。
3.4、磁盘的IOPS对比
RAID10对IOPS性能的影响
3.5、小结
- Raid10,Raid01及Raid5的比较
- raid10&raid01&raid5比较分析
- RAID基础,RAID10与RAID01比较,RAID10与RAID5比较
- RAID10与RAID01比较,RAID10与RAID5比较
- RAID10与RAID01比较,RAID10与RAID5比较
- raid10 raid01 raid5详解
- RAID10与RAID01比较
- raid0、raid1、raid10、raid01的区别
- RAID10与RAID01
- 关于RAID10和RAID5的认识
- Raid0、 Raid1、 Raid5、 Raid10
- RAID0 RAID1 RAID01 RAID10 四种硬盘阵列区别及数据吞吐量
- 5年前面试题引发的“血案”(5)(raid01和raid10简析)
- 在VXVM环境下配置raid01和raid10卷,以及2者间的转换方法
- RAID0 RAID1 RAID5 RAID10区别
- 磁盘阵列-raid0,raid1,raid5,raid10
- raid0,raid1,raid10,raid5,raid50,raid6,raid60的功能总结简述_...
- raid0,raid1,raid10,raid5,raid50,raid6,raid60的功能总结简述(转老金)
- ios绘制虚线
- 创建快捷启动方式
- PHP 转换PDF、TXT、HTML以及图像等格式的方法
- HTTP状态代码(各种错误代码集合)
- gmail,imap 接收邮件
- Raid10,Raid01及Raid5的比较
- LINUX系统监视——常用log日志文件以及各文件说明
- osg demo10 draw a linewidth
- python uuid
- ubuntu配置之vi配置
- 一个Lua coroutine的例子
- jsp自定义错误页面
- 如何创建一个干净的工作区
- LINUX进程控制——Kill命令的用法详解