各种Raid区别与解释Word文件下载.docx
《各种Raid区别与解释Word文件下载.docx》由会员分享,可在线阅读,更多相关《各种Raid区别与解释Word文件下载.docx(13页珍藏版)》请在冰豆网上搜索。
的各个硬盘上。
任何一个磁盘故障,都将
站等。
导致数据丢失。
无容错性,安全性低
镜像存储。
其原理是把相同的数据分别写
读写性能低,随机写
性能低
随机数据写入,要求安全
入阵列中的每一块磁盘中,最大限度的保
两个或2*N个
raid1
利用复制进行冗余,性高,如服务器、数据库
证用户数据的可用性和可修复性。
缺点是
总磁盘容量的50%
有热备盘,可容错,安全性存储领域。
存储成本高。
高
分布奇偶位条带。
是一种存储性能、数据
安全和存储成本兼顾的存储方案,也可理
解为是RAID0和RAID1的折衷方案。
其
原理是把数据和相对应的奇偶校验信息存
随机和连续写性能
储到组成RAID5的各个磁盘上,并且奇偶
三个或更多
随机数据传输要求安全
低,读性能高
raid5校验信息和相对应的数据分别存储于不同
(n-1)/n
的总磁盘容
性高,如金融、数据库、
利用奇偶校验进行冗
的磁盘上。
当RAID5的一个磁盘数据发生
量(n为磁盘数)
存储等。
余,可容错,安全性高
损坏后,利用剩下的数据和相应的奇偶校
验信息去恢复被损坏的数据。
相对于RAID
0,只是多了一个奇偶校验信息。
多个数据
可对应一个奇偶校验信息。
镜像阵列条带。
兼顾存储性能和数据安全,
读写性能适中
适于于要求存取数据量
提供了与RAID1
一样的数据安全保障,同硬盘数:
四个或
4*N个
raid10
利用复制进行冗余,大,安全性高,如银行、
时具备与RAID0
近似的存储性能。
缺点是容量:
可容错,安全高
金融等领域。
RAID10
和RAID01
的区别:
是两种逻辑方式不同的组合。
RAID10是先镜像后条带,即先将硬盘纵向做镜像,然后再横向做条带。
在这
种情况下,只要不是同一个镜像组中的几块硬盘同时坏掉,
RAID组都不会崩溃。
即同一个镜像组的硬盘不能同时坏掉。
RAID01是先条带后镜像,即先将硬盘横向做条带,然后再纵向做镜像。
在这种情况下,只要不是两个条带上同时有硬盘坏掉,则
整个RAID组都不会崩溃。
不管发生介质损坏的两块硬盘是否是镜像
盘。
即不同条带组的硬盘不能同时坏掉。
在性能上基本相同,但RAID01发生故障的概率要大于RAID10。
所以一般情况下都选择RAID10。
附图参考:
RAID0又称为Stripe或Striping,它代表了所有RAID级别中最高的存储性能。
RAID0提高存储性能的原理是把连续的数据分散到
多个磁盘上存取,这样,系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求。
这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能。
RAID1又称为Mirror或Mirroring,它的宗旨是最大限度的保证用户数据的可用性和可修复性。
RAID1的操作方式是把用户写入硬
盘的数据百分之百地自动复制到另外一个硬盘上。
由于对存储的数据进行百分之百的备份,在所有RAID级别中,RAID1提供最高的
数据安全保障。
同样,由于数据的百分之百备份,备份数据占了总存储空间的一半,因而,Mirror的磁盘空间利用率低,存储成本高。
Mirror虽不能提高存储性能,但由于其具有的高数据安全性,使其尤其适用于存放重要数据,如服务器和数据库存储等领域。
RAID1+0是先镜射再分区数据。
是将所有硬盘分为两组,视为是
有着不错的读取速度,而且拥有比RAID0更高的数据保护性。
RAID0
的最低组合,然后将这两组各自视为
RAID1
运作。
RAID1+0
RAID0+1则是跟RAID1+0的程序相反,是先分区再将数据镜射到两组硬盘。
它将所有的硬盘分为两组,变成RAID1的最低组合,而
将两组硬盘各自视为RAID0运作。
RAID0+1比起RAID1+0有着更快的读写速度,不过也多了一些会让整个硬盘组停止运转的机率;
因为只要同一组的硬盘全部损毁,RAID0+1就会停止运作,而RAID1+0则可以在牺牲RAID0的优势下正常运作。
RAID10/01巧妙的利用了
的速度以及
的保护两种特性,不过它的缺点是需要的硬盘数较多,因为至少必须拥有四个以
上的偶数硬盘才能使用。
吞吐量与IOPS
阵列的瓶颈主要体现在2个方面,吞吐量与IOPS。
1、吞吐量
吞吐量主要取决于阵列的构架,光纤通道的大小(现在阵列一般都是光纤阵列,至于SCSI这样的SSA阵列,我们不讨论)以及硬盘的个数。
阵列的构架与每个阵列不同而不同,他们也都存在内部带宽(类似于pc的系统总线),不过一般情况下,内部带宽都设计的很充足,不是瓶颈的所在。
光纤通道的影响还是比较大的,如数据仓库环境中,对数据的流量要求很大,而一块2Gb的光纤卡,所能支撑的最大流量应当是2Gb/8(小B)=250MB/s(大B)的实际流量,当4块光纤卡才能达到1GB/s的实际流量,所以数据仓库环境可以考虑换4Gb的光纤卡。
最后说一下硬盘的限制,这里是最重要的,当前面的瓶颈不再存在的时候,就要看硬盘的个数了,我下面列一下不同的硬盘所能支撑的流量大小:
10Krpm15KrpmATA
—————————
10M/s13M/s8M/s
那么,假定一个阵列有120块15Krpm的光纤硬盘,那么硬盘上最大的可以支撑的流量为120*13=1560MB/s,如果是2Gb的光纤卡,可能需要6块才能够,而4Gb的光纤卡,3-4块就够了。
2、IOPS
决定IOPS的主要取决与阵列的算法,cache命中率,以及磁盘个数。
阵列的算法因为不同的阵列不同而不同,如我们最近遇到在hdsusp上面,可能因为ldev(lun)存在队列或者资源限制,而单个ldev的iops就上不去,所以,在使用这个存储之前,有必要了解这个存储的一些算法规则与限制。
cache的命中率取决于数据的分布,cachesize的大小,数据访问的规则,以及cache的算法,如果完整的讨论下来,这里将变得很复杂,可以有一天好讨论了。
我这里只强调一个cache的命中率,如果一个阵列,读cache的命中率越高越好,一般表示它可以支持更多的IOPS,为什么这么说呢?
这个就与我们下面要讨论的硬盘IOPS有关系了。
硬盘的限制,每个物理硬盘能处理的IOPS是有限制的,如
10Krpm
15Krpm
ATA
——————
———
100
150
50
同样,如果一个阵列有120块15Krpm的光纤硬盘,那么,它能撑的最大
IOPS
为
120*150=18000
,这个为硬件限制的理论值,如果超
过这个值,硬盘的响应可能会变的非常缓慢而不能正常提供业务。
另外,我们上一篇也讨论了,在raid5与raid10上,读iops没有差别,但是,相同的业务写
别的,而我们评估的却正是磁盘的IOPS,如果达到了磁盘的限制,性能肯定是上不去了。
iops
,最终落在磁盘上的
是有差
那我们假定一个case
算在raid5与raid10
,业务的iops是10000
的情况下,每个磁盘的
,读iops
cache命中率是
为多少。
30%,读
为60%,写
为40%,磁盘个数为
120,那么分别计
raid5:
单块盘的
iops=(10000*(1-0.3)*0.6+4*(10000*0.4))/120
=(4200+16000)/120
=168
这里的10000*(1-0.3)*0.6
因为每一个写,在raid5
的iops为16000个
表示是读的iops
中,实际发生了4
,比例是0.6,除掉cache命中,实际只有4200个iops而
个io(注:
写代价,RAID1写代价为2,RAID5写代价为
4*(10000*0.4)表示写的iops,
4,RAID6写代价为6),所以写
为了考虑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
可以看到,因为
磁盘的极限iops
raid10。
对于一个写操作,只发生
2次
io
,所以,同样的压力,同样的磁盘,每个盘的
只有
102个,还远远低于
在一个实际的case中,一个恢复压力很大的standby
通过分析,每个磁盘的iops在高峰时期,快达到200
个磁盘的iops降到100左右。
(这里主要是写,而且是小io的写),采用了
了,导致响应速度巨慢无比。
后来改造成raid10
raid5的方案,发现性能很差,,就避免了这个性能问题,每