|
本帖最后由 yangyong353 于 2010-9-6 20:04 编辑
虚拟磁盘用sas空间老不够,桌面硬盘便宜了,打算多上几块桌面盘用
不考虑硬盘容量的话, raid10性能好,还是按游戏排行均衡分布到各个硬盘中好,都可以从不同的硬盘他同时读取数据的,关于深入的机制我实在不懂,也没做过试验,谁能从理论上分析下
Raid1
Raid1是这样一种模式,我们拿2块盘的例子来说明
Raid1和raid0不同,raid0对数据没有任何保护措施,每个block都没有备份或者校验保护措施。Raid对虚拟逻辑盘上的每个物理block,都在物理盘上有一份镜像备份。也就是说数据有两份。对于raid1的写IO,速度不但没有提升,而且有所下降,因为数据要同时向多块物理盘写,时间以最慢的你个为准,因为是同步的。而对于raid1的读IO请求,不但可以并发,而且就算顺序IO的时候,控制器也可以象raid0一样,从两块物理盘上同时读数据,提升速度。Raid1没有srip的概念。同样我们总结出一个表
在读、并发IO的模式下,由于可以并发N个IO,每个IO占用一个物理盘,这就相当于提升了N倍的IOPS。由于每个IO只独占了一个物理盘,所以速度相对于单盘并没有改变,所以不管是随机还是顺序IO,相对单盘都不变。
在读、顺序IO、随机IO模式下,由于IO不能并发,所以此时一个IO可以同时读取N个盘上的内容,但是是在随机IO模式下,那么寻道时间影响很大,纵使同时分块读取多个磁盘的内容,也架不住寻道时间的抵消,所以性能提升极小
在读、顺序IO、连续IO模式下,寻道时间影响到了最低,此时传输速率为主要矛盾,同时读取多块磁盘的数据,时间减少为1/N,所以性能提升了N倍。
写IO的时候和读IO情况相同,就不做分析了。写IO因为要同时向每块磁盘写入备份数据,所以不能并发IO,也不能分块并行。但是如果控制器把优化算法做到极至的话,还是可以并发IO的,比如控制器从IO队列中提取连续的多个IO,可以将这些IO合并,并发写入磁盘。前提这几个IO必须是事物性的,也就是说LBA必须连续,不然不能作为一个大的合并IO,而且和文件系统也有关系,文件系统碎片越少,并发几率越高。
http://bbs.chinaunix.net/thread-1012969-1-1.html
这篇文章在这里,里面有raid0的性能分析,由于太长,我就不转过来了,我仔细看了,发现读取性能raid0好像跟raid1一样,不知道是不是我理解错了
希望实际使用过的同学帮忙解惑,我以前一直以为raid1不提高读取性能的 |
|