SSD阵列卡方案优化:考虑使用RAID 50替代RAID 10
最近一直在研究RAID 50,因为牺牲一半的容量的RAID 10代价实在太大了,而且它提供的可用性也并不是百分百的,我们首先来看下RAID 10的可用性分析:
以同等容量的不同RAID方式作为案例分析:
8盘RAID 10 | 6盘RAID 50 | 5盘RAID 5 | 6盘RAID 6 | |
第一块盘故障后可用概率 | 100% | 100% | 100% | 100% |
第二块盘故障后可用概率 | 6/7 | 3/5 | 0% | 100% |
第三块盘故障后可用概率 | 4/6 | 0% | 0% | 0% |
第四块盘故障后可用概率 | 2/5 | 0% | 0% | 0% |
RAID 50中:4块盘组成单组RAID 5,然后两组RAID 5再组成RAID 0最后得到8块盘的RAID 50
案例分析:
第一块盘的容错概率都是100%,可见磁盘阵列最基本的能力就是容错,然而不同级别的阵列能够提供的数据保护能力也是不同的;
从第二块盘开始除了RAID 6能够提供100%的可用性以外,其他包括RAID 10在内都不能提供完美的解决方案。同时我们可以发现RAID 5的容错能力是最弱的,但是要达到同样容量所需要的盘数量也是最少的,如果故障运维较为及时的话,RAID 5是一个非常经济的方案,不然在第一块盘故障期间再次发生第二块盘故障就会导致数据丢失,这就是风险所在;
RAID 6当然是较为可靠的方案,但是它要牺牲两块盘的容量并且性能较差,所以要权衡性能和可用性;
当然重点还是RAID 10和50,我们发现50在损坏第二块盘时的可用概率和10比较接近,如果RAID 5组的数量更多的话,可用性概率将会更高,我们以9块盘RAID 50为例,要达到相同容量RAID 10需要12块盘:
12盘RAID 10 | 9盘RAID 50 | |
第一块盘故障后可用概率 | 100% | 100% |
第二块盘故障后可用概率 | 10/11 | 6/8 |
第三块盘故障后可用概率 | 8/10 | 3/7 |
第四块盘故障后可用概率 | 6/9 | 0% |
50已经能够提供第三块盘的容错,只是相比10概率更低些,但是两者都不能达到完全的100%,所以权衡成本和可用性50还是有一定的优势。接下来看看性能。
SSD成本较高,不少用户为了考虑可用性都会选用RAID 10的方式作阵列,这样无疑又增加了成本,为了能够很好地分析性能,我们沿用了第一组对比方案的作性能分析:
Intel S3500 800G SSD | 8p RAID 10 | 6p RAID 50 | 5p RAID 5 | 6p RAID 6 | |||||
块大小 | 队列深度 | IOPs | MBPs | IOPs | MBPs | IOPs | MBPs | IOPs | MBPs |
随机读(4KB 8KB 16KB 32KB) | |||||||||
4K | 32 | 96716 | 396 | 100630 | 412 | 105939 | 433 | 105278 | 431 |
8K | 32 | 96003 | 786 | 99199 | 812 | 103196 | 845 | 103059 | 844 |
16K | 32 | 94725 | 1551 | 94827 | 1553 | 91758 | 1503 | 96595 | 1582 |
32K | 32 | 83115 | 2723 | 66786 | 2188 | 56637 | 1855 | 66391 | 2175 |
随机写(4KB 8KB 16KB 32KB) | |||||||||
4K | 32 | 20220 | 82 | 15658 | 64 | 11602 | 47 | 10579 | 43 |
8K | 32 | 12306 | 100 | 14157 | 115 | 11561 | 94 | 9413 | 77 |
16K | 32 | 4856 | 79 | 8072 | 132 | 7426 | 121 | 6473 | 106 |
32K | 32 | 1856 | 60 | 2642 | 86 | 1631 | 53 | 1999 | 65 |
4KB混合随机读写(30%写) | |||||||||
4K | 32 | 46716 | 191 | 36758 | 150 | 30739 | 125 | 28566 | 117 |
顺序读(128KB 256KB 512KB) | |||||||||
128K | 32 | 20751 | 2719 | 20013 | 2623 | 18330 | 2402 | 20505 | 2687 |
256K | 32 | 10505 | 2753 | 9829 | 2576 | 8736 | 2290 | 9941 | 2605 |
512K | 32 | 5188 | 2720 | 4813 | 2523 | 4371 | 2291 | 4956 | 2598 |
顺序写(128KB 256KB 512KB) | |||||||||
128K | 32 | 5162 | 676 | 4660 | 610 | 7630 | 1000 | 2460 | 322 |
256K | 32 | 2426 | 635 | 1985 | 520 | 2208 | 578 | 980 | 256 |
512K | 32 | 1169 | 612 | 1373 | 719 | 2267 | 1188 | 1134 | 594 |
随机读分析:
理论上认为R10性能最好,真实测试数据显示4K、8K数据块下R5、R50、R6的性能都要优于R10;当数据块增大到16K、32K时,R10的多盘优势才被逐渐体现出来。
随机写分析:
4K由于R50、R5由于有大量校验计算一定程度上影响了性能,但随着数据块逐渐增大,盘数量的优势也显现出来。当数据块达到和超过8K 时,R50性能全面超越了R10;R10由于存在R1的写同步问题,因此只有4块盘在支撑并发写,随着数据块的增大,R50和R5的多盘性能优势开始发 挥。
混合随机读写分析:
得益多盘和无校验计算,混合读写R10领先;R50其次,和R10相差27%,性能也较为接近,R5和R50性能为线性关系,R6性能最差。
顺序读分析:
由于不存在校验计算,顺序读性能基本上由盘的数量决定;R50和R10性能也较为接近,同盘数的R6和R50性能相当,而盘数较少的R5性能相对前三者要弱一些,符合预期。至于为何R10性能无法线性增加,主要是因为阵列卡本身的性能限制。
顺序写分析:
顺序写R5被优化得最好;R50由于需要同时计算两次校验因此损失了一些性能,和R10性能相当,当数据块达到512K时,多盘优势进一步体现出来了,拉开了与R10的差距;R6由于校验和计算的实现较为复杂,顺序写性能也是最差的。
然后我们再来看看这些阵列方案的特性:
参数特性 | 8p RAID 10 | 6p RAID 50 | 5p RAID 5 | 6p RAID 6 | |||||
理论读并发数 | 8块盘 | 6块盘 | 5块盘 | 6块盘 | |||||
理论写并发数 | 4块盘 | 6块盘 | 5块盘 | 6块盘 | |||||
IO延迟来源 | RAID 1写同步 | 2组RAID 5写校验 | 1组RAID 5写校验 | 1组RAID 6写校验 | |||||
测试结论:
性能测试显示,相同容量的R50和R10性能接近:其中小块文件的随机读R50要全面好于R10,随机写4K虽然R50和R10差距在28%,但是块增大后R50要全面优于R10。顺序读写方面,R50和R10十分接近。
容错方面,R50接近R10:第二块盘容错率R50十分接近R10,两者相差30%。R10的优势主要是在有一定的概率提供第三、甚至第四 块磁盘的容错率,但是考虑到并非100%容错,因此从容错角度来看R50虽然和R10有一些差距,但也已体现出较好的容错率,至少优于R5。而且R50搭 配灵活,甚至可以指定3组R5以达到最大3块磁盘的容错;
成本方面,R50有很大优势:按这个配置计算R50只有R10的3/4。
SSD阵列卡方案优化:考虑使用RAID 50替代RAID 10的更多相关文章
- dell服务器各类raid 和磁盘在阵列卡上的实验
听很多人说,做好阵列的硬盘从阵列上移除后,重新从硬盘导入阵列信息的时候不能打乱位置,昨天用两台Dell R710,四块sas 300G HP硬盘做实验,实验步骤如下: 一.dell R710首先用三块 ...
- 服务器&阵列卡&组raid 5
清除raid信息后,机器将会读不到系统, 后面若进一步操作处理, raid信息有可能会被初始化掉,那么硬盘数据就有可能会被清空, 导致数据丢失, 否则如果只是清除raid信息,重做raid是可以还原系 ...
- 关于hp proliant sl210t服务器raid 1阵列配置(HP P420/Smart Array P420阵列卡配置)
hp proliant sl210t服务器,一般都会带有两个阵列卡 一个服务器自带的Dynamic Smart Array B120i RAID控制器,一个为Slot卡槽上的Smart Array P ...
- 阵列卡,组成的磁盘组就像是一个硬盘,pci-e扩展出sata3.0
你想提升性能,那么组RAID0,主板上的RAID应该是软RAID,肯定没有阵列卡来得稳定.如果你有闲钱,可以考虑用阵列卡. 不会的.即使不能起到RAID的作用,起码也可以当作直接连接了2个硬盘.不会影 ...
- LSI阵列卡进行高效管理
LSI公司(LSI Corporation)(NASDAQ:LSI)(中文:艾萨华)是一家总部位于加利福尼亚州米尔皮塔斯 (Milpitas) 的半导体和软件领先供应商,其主要产品包括:RAID控制器 ...
- [转]DELL PERC 系列阵列卡选型和用法指南
引用地址 https://www.sulabs.net/?p=895 DELL PERC 系列阵列卡选型和用法指南 2018年12月29日 Su 本文缘起于一位朋友在生产服务器硬件中,使用了错误的阵列 ...
- 12G服务器在BIOS中收集阵列卡日志(TTY日志)的方法
如果系统进不去.请参考如下方法收集日志. 请准备个U 盘,容量在8G以下(含8G),否则会识别不到. 图片参考,以描述为准 F2 enter BIOS option--> Enter the ...
- 常用PC服务器LSI阵列卡配置
通常,我们使用的DELL/HP/IBM三家的机架式PC级服务器阵列卡是从LSI的卡OEM出来的,DELL和IBM两家的阵列卡原生程度较高,没有做太多封装,可以用原厂提供的阵列卡管理工具进行监控:而HP ...
- LSI IBM服务器阵列卡操作经历
说明:因为服务器的一个磁盘坏了,因为没有经验不敢操作.正好有一台撤下来的相同服务器,所以查找了各种教程,研究了一下各种操作.记录在这里,防止忘记.一.概念说明raid(自己百度)阵列卡组(group) ...
随机推荐
- java判断部署项目使用的服务器类型
有两种方式 1.项目引入portal-kernel.jar.项目运行时使用 根据返回boolean值判断类型! 2.自己写java类 package webService.ZFGX.service; ...
- SpringMVC高级参数绑定(数组和List)
本节内容: 参数绑定之数组 将表单的数据绑定到List 复制下上篇博客中的工程,作为今天开发的工程. 一.参数绑定之数组 1. 需求 在商品列表页面选中多个商品,然后删除. 2. 需求分析 功能要求商 ...
- 实操一下<python cookbook>第三版1
这几天没写代码, 练一下代码. 找的书是<python cookbook>第三版的电子书. *这个操作符,运用得好,确实少很多代码,且清晰易懂. p = (4, 5) x, y = p p ...
- hadoop2.6.4的HA集群搭建超详细步骤
hadoop2.0已经发布了稳定版本了,增加了很多特性,比如HDFS HA.YARN等.最新的hadoop-2.6.4又增加了YARN HA 注意:apache提供的hadoop-2.6.4的安装包是 ...
- homestead实现外部局域网络其他主机的访问
转载自:https://blog.csdn.net/u013659696/article/details/78455362 homestead 2.0 MAC环境 修改Homestead目录下的Vag ...
- 各jQuery选择器的用法(转)
这篇文章来介绍下jQuery的选择器. 选择器是jQuery的根基,在jQuery中,对事件处理.遍历DOM和Ajax操作都依 赖于选择器.因此,如果能熟练的使用选择器,不仅能简化代码,而且可以达到事 ...
- 002.iSCSI服务端配置
一 iSCSI target的磁盘种类 大型文件 单一分区(partition) 磁盘 数组 RAID LVM 二 iSCSI创建步骤 建立用于共享的磁盘设备(分区/磁盘/文件) 创建后备磁盘 创建相 ...
- 003.NTP客户端配置
一 NTP客户端同步方式 ntpdate定时任务同步 ntp服务同步 二 ntpdate定时任务同步 2.1 安装ntp软件 [root@client ~]# yum -y install ntp # ...
- 迈出第一步,Hexo博客搭建
很早之前看到别人的博客就总想着自己之后也要搭一个,最近突然来了干劲,就开始搭起了博客.不过搭博客还真是一个累活,失败了不下十次,用了好几天的时间,感觉自己在浪费时间,但是看到现在博客终于能用了,非常开 ...
- Codeforces-1077C
title: Codeforces-1077C date: 2018-11-24 15:22:31 tags: acm 刷题 categories: Codeforces 题意 题目链接 给你一个数组 ...