磁盘阵列基础知识
磁盘阵列系统(RAID)介绍

掌握.有解吗?备援硬盘: Spare Disk如果在数组中,加上备援硬盘.当任一数组硬盘故障时,该备援硬盘可以自动上线,将故障硬盘立即取代,并开始依设定的"重建优先权"作数据重构,就可有效缩短上述的"前往处理"的时间,也可减少因急迫性所造成的压力.不过,这颗备援硬盘,平时是无法拿来作存放空间的.因为一旦作了"可使用"的标记,备援设定会自动消失.所以,回到前述的真理:"安全性"加"速度"建立在成本上的.总体备援硬盘: Global Spare Disk。
就是备援硬盘,但是可以对同一磁盘阵列中的所有"数组组态群"作备援.总是比较省的方式.定时备份"既然重要,为何不备份?"与其在灾害发生时,束手无策,自怨自艾,何不在规定时间作好重要资料的备份,以防万一? 即使使用了磁盘阵列,提高数据的可供应性,备份仍该作的.毕竟,它是重要的资料.RAID控制器型式1. 软件架构:Software Based在多年前, Novell 的Netware就提供了Mirror的功能,即使在今天,相信仍有许网络系统,是采用此一方式.不过这在资料量较大的环境中,其50% 的硬盘使用率,究竟是稍少了些.另外, Cor el 在约五年前,大力推广其Corel RAID!以不到美金一千元的低价,切入市场.然而究竟使用软件的数组架构,会占用到主系统的CPU 及内存资源,而导致系统效率的下降.所以采用非主系统供货商的软件数组产品者,相对是较少的.2. 主机独立式架构: Host Independent数组控制器对主系统,是藉由连接至其存取接口(目前以SCSI 为主)作信道.换言之,它在主系统的存取接口上,是一个独立的直接存取储存体DASD Direct Access Storage Device. 而这个大的储存体内,可以有不只一个的逻辑磁盘LUN Logical Unit Number. 数组控制器,对下管理多颗数组硬盘机们.而主系统是不会看到或直接管理该硬盘的.例如:CMD, EMC, Symbios, Digital StorageWorks, ... 都有相关的产品.。
最全面的服务器的RAID详解

最全面的服务器的RAID详解磁盘阵列(Redundant Arrays of Independent Disks,RAID),全称独立磁盘冗余阵列。
磁盘阵列是由很多廉价的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。
利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。
利用同位检查(ParityCheck)的观念,在数组中任意一个硬盘故障时,仍可读出数据,在数据重构时,将数据经计算后重新置入新硬盘中。
相同的数据存储在多个硬盘的不同的地方的方法。
通过把数据放在多个硬盘上(冗余),输入输出操作能以平衡的方式交叠,改良性能。
因为多个硬盘增加了平均故障间隔时间(MTBF),储存冗余数据也增加了容错。
分类:一是外接式磁盘阵列柜、二是内接式磁盘阵列卡,三是利用软件实现。
RAID实现的方式:RAID 0,RAID 1,RAID2,RAID 3,RAID 4,RAID 5,RAID 6,RAID 7,RAID 01,RAID 10,RAID50,RAID 53。
常见的有:RAID 0,RAID 1,RAID 5,RAID 6,RAID 01,RAID 10。
原理剖析:RAID 0:RAID 0又称为Stripe或Striping,中文称之为条带化存储,它代表了所有RAID级别中最高的存储性能。
原理:是把连续的数据分散到多个磁盘上存取,系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求。
这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能。
磁盘空间= 磁盘总量= 100%需要的磁盘数≥2读写性能= 优秀= 磁盘个数(n)*I/O速度= n*100%块大小= 每次写入的块大小= 2的n次方= 一般为2~512KB优点:1、充分利用I/O总线性能使其带宽翻倍,读/写速度翻倍。
2、充分利用磁盘空间,利用率为100%。
缺点:1、不提供数据冗余。
什么是RAIDRAID0,RAID1,RAID2,RAID3,RAID4,RAID5,RAID6,RAID10

一.什么是RAID:RAID是“Redundant Array of Independent Disk”的缩写,中文意思是独立冗余磁盘阵列。
冗余磁盘阵列技术诞生于1987年,由美国加州大学伯克利分校提出。
RAID磁盘阵列(Redundant Array of Independent Disks)简单地解释,就是将N台硬盘通过RAID Controller(分Hardware,Software)结合成虚拟单台大容量的硬盘使用,其特色是N台硬盘同时读取速度加快及提供容错性Fault Tolerant,所以RAID是当成平时主要访问Data的Storage不是Backup Solution。
在RAID有一基本概念称为EDAP(Extended Data Availability and Protection),其强调扩充性及容错机制,也是各家厂商如:Mylex,IBM,HP,Compaq,Adaptec,Infortrend等诉求的重点,包括在不须停机情况下可处理以下动作:RAID 磁盘阵列支援自动检测故障硬盘;RAID 磁盘阵列支援重建硬盘坏轨的资料;RAID 磁盘阵列支援支持不须停机的硬盘备援 Hot Spare;RAID 磁盘阵列支援支持不须停机的硬盘替换 Hot Swap;RAID 磁盘阵列支援扩充硬盘容量等。
一旦RAID阵列出现故障,硬件服务商只能给客户重新初始化或者REBUILD,这样客户数据就会无法挽回。
因此对RAID0、RAID1、RAID5以及组合型的RAID系列磁盘阵列数据恢复,出现故障以后只要不对阵列作初始化操作,就有机会恢复出故障RAID磁盘阵列的数据。
二.关于RAID的技术规范介绍(1)RAID技术规范简介冗余磁盘阵列技术最初的研制目的是为了组合小的廉价磁盘来代替大的昂贵磁盘,以降低大批量数据存储的费用,同时也希望采用冗余信息的方式,使得磁盘失效时不会使对数据的访问受损失,从而开发出一定水平的数据保护技术,并且能适当的提升数据传输速度。
磁盘阵列原理

磁盘阵列原理磁盘阵列(RAID)是一种通过将多个磁盘驱动器合并成一个逻辑单元来提供数据冗余和性能提升的技术。
磁盘阵列利用磁盘级别的冗余来提供数据的备份和恢复能力,并通过将数据分布在多个磁盘上来提高数据访问速度。
在本文中,我们将探讨磁盘阵列的原理以及它是如何工作的。
1. 磁盘阵列的概念和分类磁盘阵列是一种将多个独立的磁盘驱动器组合在一起,形成一个逻辑单元的技术。
根据不同的需求,磁盘阵列可以被划分为多个级别,常见的包括RAID 0、RAID 1、RAID 5、RAID 6等级别。
每个级别都有其特定的数据保护和性能特性。
2. RAID 0RAID 0将数据分块并分布到多个磁盘上,以提高数据的读写性能。
它通过在多个磁盘上同时读取和写入数据来实现并行访问。
然而,RAID 0没有冗余机制,一旦其中一个磁盘损坏,所有数据将会丢失。
3. RAID 1RAID 1通过将数据复制到多个磁盘上来提供冗余能力。
每个数据块都会被复制到两个或更多的磁盘上,以确保数据的完整性。
当其中一个磁盘发生故障时,系统可以从其他磁盘中恢复数据。
4. RAID 5RAID 5采用分布式奇偶校验的方式来提供冗余能力。
它将数据分块并分布到多个磁盘上,同时计算奇偶校验信息并存储在不同的磁盘上。
当其中一个磁盘损坏时,系统可以通过计算奇偶校验信息来恢复数据。
5. RAID 6RAID 6在RAID 5的基础上增加了第二个奇偶校验信息。
这意味着RAID 6可以容忍两个磁盘的故障,提供更高的数据可靠性。
6. 磁盘阵列的工作原理磁盘阵列通过控制器来管理和操作多个磁盘驱动器。
控制器负责将数据分块并分布到多个磁盘上,同时监测磁盘的状态。
当磁盘发生故障时,控制器可以根据不同的级别(如RAID 1、RAID 5等)来执行数据的恢复操作。
7. 磁盘阵列的优势和应用磁盘阵列提供了数据的冗余和性能提升能力,可以提高数据的可靠性和访问速度。
它广泛应用于服务器、存储系统、数据库等需要高可靠性和高性能的场景。
raid(独立冗余磁盘阵列)基础知识

raid(独立冗余磁盘阵列)基础知识RAID(独立冗余磁盘阵列)基础知识RAID(独立冗余磁盘阵列)是一种通过将多个磁盘驱动器组合在一起来提高数据存储性能和冗余性的技术。
RAID技术通过将数据分散存储在多个磁盘上,实现了数据的并行读写和冗余备份,从而提高了数据的可靠性和性能。
RAID技术的核心思想是将多个磁盘驱动器组合在一起,形成一个逻辑卷(Logical Volume),这个逻辑卷被操作系统看作是一个单独的磁盘。
RAID可以通过不同的方式组织磁盘驱动器,从而实现不同的性能和冗余级别。
常见的RAID级别包括RAID 0、RAID 1、RAID 5和RAID 10。
RAID 0是一种数据分布方式,它将数据均匀地分布在多个磁盘上,从而提高了数据的读写性能。
RAID 0的性能优势主要体现在读取速度方面,因为数据可以同时从多个磁盘上读取。
然而,RAID 0没有冗余备份机制,一旦其中一个磁盘发生故障,所有数据都将丢失。
RAID 1是一种数据冗余方式,它通过将数据在多个磁盘上进行镜像备份来提高数据的可靠性。
RAID 1的优势在于当一个磁盘发生故障时,系统可以从其他磁盘上读取数据,保证数据的完整性。
然而,RAID 1的缺点是存储效率较低,因为每个磁盘都需要存储完整的数据。
RAID 5是一种将数据和校验信息分布在多个磁盘上的方式,通过计算校验信息来实现数据的冗余备份。
RAID 5的优势在于能够提供较高的数据存储效率和较好的读取性能,同时具备一定的容错能力。
当一个磁盘发生故障时,可以通过校验信息恢复数据。
然而,RAID 5的写入性能相对较低。
RAID 10是RAID 1和RAID 0的结合,它将数据分散存储在多个磁盘上,并通过镜像备份提供冗余性。
RAID 10的优势在于能够提供较高的读取和写入性能,同时具备较好的容错能力。
然而,RAID 10的缺点是存储效率较低,因为每个磁盘都需要存储完整的数据。
除了上述常见的RAID级别外,还存在一些其他的RAID级别,如RAID 2、RAID 3、RAID 4和RAID 6等。
储存(磁盘阵列柜)基础知识解读

7
DAS:直接附加存储
的DAS(Driect Attached Storage—直接附件存储)是指将存储设备 通过SAS线缆或光纤通道直接连接到服务器上。
8
DAS:直接附加存储
存储直接连接到一台服务器上 • SCSI, SAS, iSCSI, FC • 块级别 I/O 内部磁盘 • 具备/不具备RAID保护 外部磁盘 • 存储系统 • 基于控制器的RAID引擎
Ethernet to Client workstations
存储的参数
主机通道(主机接口): 几个? 什么类型?
SCSI接口、FC接口、iSCSI接口、SAS接口
磁盘通道(磁盘接口):能接多少块硬盘? 什么接口? SATA、SCSI、FC、SAS 存储连接设备:用于服务器与存储直接连接的设备。 SCSI 卡、SAS卡、RAID卡、FC通道卡、 以太网口、FC交换机、以太网交换机
5
磁盘阵列柜的应用
由于磁盘阵列柜具有数据存储速度快、存储容量大等优点,所以磁盘阵列柜通 常比较适合在企业内部的中小型中央集群网存储区域进行海量数据存储。
6
存储网络的架构
企业存储技术发展日新月异,早期大型服务器的DAS 技术( Direct Attached Storage,直接附加存储,又称直连存储),后 来为了提高存储空间的利用及管理安装上的效率,因而有了SAN( Storage Area Network,存储局域网络)技术的诞生,SAN 可 说是DAS 网络化发展趋势下的产物。早先的SAN 采用的是光纤通 道(FC,Fiber Channel)技术,所以在iSCSI出现以前,SAN 多半 单指FC 而言。一直到iSCSI 问世,为了方便区别,业界才分别以 FC-SAN和IP-SAN。 NAS(Network Attached Storage:网络附 属存储)是一种将分布、独立的数据整合为大型、集中化管理的数 据中心,以便于对不同主机和应用服务器进行访问的技术。
存储基础知识(RAID及磁盘技术)..

• RAID可以多个硬盘按照指定容量创建一个或多个逻辑卷,便通过
LUN(Logic Unit Number)来标识。一个逻辑卷对于主机来说 就是一块硬盘(物理卷)
逻辑卷
LUN1
逻辑卷
LUN2
LUN3
物理卷
物理卷
RAID10
RAID5
多个物理卷上创建1个逻辑卷
多个物理卷上创建2个逻辑卷
特点:较高的数据冗余性能;超强的数据保护能力,可以应付多颗盘同 时出错; 优点:允许在同一组内并发进行多个写操作 缺点:计算校验地址占用较多的处理时间;较低的写入速率。
RAID6 P+Q
•
RAID6 P+Q会根据公式计算出P和Q的值,当有 两个数据同时丢失时,仍可以计算出原数据
磁盘1 条带1 条带2 数据1a 数据2d
I/O 2
I/O 2 (Disk 2)
• CPU运算速度飞速 提高,数据读写速 度不应该成为计算 机系统处理的瓶颈
节省时间
Total request execution time
速度 @ N x 单块硬盘的速度
RAID基本概念 ——条带
大数据块写入RAID时会被分成多个数据块并行写入多块硬盘, 这些大小一致的数据块就称为条带。同时数据读取时会并行从 多块硬盘读取条带数据,最后完整输出。 条带无疑会大幅度提升整体读写效率。
磁盘2 数据1b 数据2e
磁盘3 数据1c P2
磁盘4 P1 Q2
磁盘5 Q1 数据2f
条带3
条带4 条带5
数据3g
P4 Q5
P3
Q4 数据5m
Q3
数据4j 数据5n
数据3h
RAID技术知识普及介绍

RAID技术知识普及介绍一、RAID 简介RAID 是Redundant Array of Inexpensive Disks 的缩写,直译为“ 廉价冗余磁盘阵列” ,也简称为“ 磁盘阵列” 。
后来RAID 中的字母I 被改作了Independent ,RAID 就成了“ 独立冗余磁盘阵列” ,但这只是名称的变化,实质性的内容并没有改变。
RAID 就是以多个磁盘组成并行工作的磁盘阵列的方式来提高数据存取的速度和安全两方面的能力。
RAID 技术最初都是建立在SCSI 系统基础上,后来Promise 公司第一次提出并研发了基于IDE 硬盘的RAID 产品,从而能以较低价格提供更高的性能和安全保证。
同时,RAID 系统的优点也是相当明显的。
首先,RAID 成本低,功耗小,传输速率高。
在RAID 中,可以让很多磁盘驱动器同时传输数据,而这些磁盘驱动器在逻辑上又是一个磁盘驱动器,所以使用RAID 可以达到单个的磁盘驱动器几倍、几十倍甚至上百倍的速率。
这也是RAID 最初想要解决的问题。
因为当时CPU 的速度增长很快,而磁盘驱动器的数据传输速率无法大幅提高,所以需要有一种方案解决二者之间的矛盾。
RAID 最后成功了。
此外,RAID 可以提供容错功能。
这是使用RAID 的第二个原因,因为普通磁盘驱动器无法提供容错功能,如果不包括写在磁盘上的CRC (循环冗余校验)码的话。
RAID 和容错是建立在每个磁盘驱动器的硬件容错功能之上的,所以它提供更高的安全性。
最后,RAID 比起传统的大直径磁盘驱动器来,在同样的容量下,价格要低许多。
正是这些优点使得RAID 技术迅速普及,并成为2001 年的一个热点。
RAID 技术经过不断的发展,现在已拥有了从RAID 0 到 6 七种基本的RAID 级别。
另外,还有一些基本RAID 级别的组合形式,如RAID 1+0 (RAID 0 与RAID 1 的组合),RAID 5+0 (RAID 0 与RAID 5 的组合)等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基本的RAID介绍RAID是英文Redundant Array of Independent Disks(独立磁盘冗余阵列),简称磁盘阵列。
下面将各个级别的RAID介绍如下。
RAID0条带化(Stripe)存储。
理论上说,有N个磁盘组成的RAID0是单个磁盘读写速度的N 倍。
RAID 0连续以位或字节为单位分割数据,并行读/写于多个磁盘上,因此具有很高的数据传输率,但它没有数据冗余,因此并不能算是真正的RAID结构。
RAID1镜象(Mirror)存储。
它是通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据。
当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID 1可以提高读取性能。
RAID 1是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。
当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据。
RAID2海明码(Hamming Code)校验条带存储。
将数据条块化地分布于不同的硬盘上,条块单位为位或字节,使用称为海明码来提供错误检查及恢复。
这种编码技术需要多个磁盘存放检查及恢复信息,使得RAID 2技术实施更复杂,因此在商业环境中很少使用。
RAID3奇偶校验(XOR)条带存储,共享校验盘,数据条带存储单位为字节。
它同RAID 2非常类似,都是将数据条块化分布于不同的硬盘上,区别在于RAID 3使用简单的奇偶校验,并用单块磁盘存放奇偶校验信息。
如果一块磁盘失效,奇偶盘及其他数据盘可以重新产生数据;如果奇偶盘失效则不影响数据使用。
RAID 3对于大量的连续数据可提供很好的传输率,但对于随机数据来说,奇偶盘会成为写操作的瓶颈。
RAID4奇偶校验(XOR)条带存储,共享校验盘,数据条带存储单位为块。
RAID 4同样也将数据条块化并分布于不同的磁盘上,但条块单位为块或记录。
RAID 4使用一块磁盘作为奇偶校验盘,每次写操作都需要访问奇偶盘,这时奇偶校验盘会成为写操作的瓶颈,因此RAID 4在商业环境中也很少使用。
RAID5奇偶校验(XOR)条带存储,校验数据分布式存储,数据条带存储单位为块。
RAID 5不单独指定的奇偶盘,而是在所有磁盘上交叉地存取数据及奇偶校验信息。
在RAID 5上,读/写指针可同时对阵列设备进行操作,提供了更高的数据流量。
RAID 5更适合于小数据块和随机读写的数据。
RAID 3与RAID 5相比,最主要的区别在于RAID 3每进行一次数据传输就需涉及到所有的阵列盘;而对于RAID 5来说,大部分数据传输只对一块磁盘操作,并可进行并行操作。
在RAID 5中有“写损失”,即每一次写操作将产生四个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。
当进行恢复时,比如我们需要需要恢复下图中的A0,这里就必须需要B0、C0、D0加0 parity才能计算并得出A0,进行数据恢复。
所以当有两块盘坏掉的时候,整个RAID的数据失效。
RAID6奇偶校验(XOR)条带存储,两个分布式存储的校验数据,数据条带存储单位为块。
与RAID 5相比,RAID 6增加了第二个独立的奇偶校验信息块。
两个独立的奇偶系统使用不同的算法,数据的可靠性非常高,即使两块磁盘同时失效也不会影响数据的使用。
但RAID 6需要分配给奇偶校验信息更大的磁盘空间,相对于RAID 5有更大的“写损失”,因此“写性能”非常差。
较差的性能和复杂的实施方式使得RAID 6很少得到实际应用。
RAID7这是一种新的RAID标准,其自身带有智能化实时操作系统和用于存储管理的软件工具,可完全独立于主机运行,不占用主机CPU资源。
RAID 7可以看作是一种存储计算机(Storage Computer),它与其他RAID标准有明显区别。
RAID 7等级是至今为止,理论上性能最高的RAID模式,因为它从组建方式上就已经和以往的方式有了重大的不同。
基本成形式见图,以往一个硬盘是一个组成阵列的“柱子”,而在RAID 7中,多个硬盘组成一个“柱子”,它们都有各自的通道,也正因为如此,你可以把这个图分解成一个个硬盘连接在主通道上,只是比以前的等级更为细分了。
这样做的好处就是在读/写某一区域的数据时,可以迅速定位,而不会因为以往因单个硬盘的限制同一时间只能访问该数据区的一部分,在RAID 7中,以前的单个硬盘相当于分割成多个独立的硬盘,有自己的读写通道。
工程中常用的RAID方式是RAID10和RAID5。
下面分别介绍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。