0x01 前言简述
什么是RAID?
答:RAID (Redundant Arrays of Independent Disks)全称” 独立磁盘冗余阵列”,简称磁盘阵列(Disk Array)其基本思想就是把多个相对便宜的硬盘组合起来,成为一个硬盘阵列组,使性能达到甚至超过一个价格昂贵、容量巨大的硬盘。。
它有什么作用?
RAID是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘连接在一起协同工作),从而提供比单个硬盘更高的存储性能和提供数据备份技术以及大大提高IO了速度; 简单的说就是
硬盘数据跨盘(Spanning)
使多个硬盘像一个硬盘那样工作,这使用户通过组合已有的资源或增加一些资源来廉价地突破现有的硬盘空间限制。
先上一张神图简单了解RAID磁盘阵列:
WeiyiGeek.
部署方式
- 单机部署(stand-alone):一个饮水机提供服务,服务只部署一份
- 集群部署(cluster):多个饮水机同时提供服务,服务冗余部署,每个冗余的服务都对外提供服务,一个服务挂掉时依然可用
- 热备部署(hot-swap):只有一个桶提供服务另一个桶stand-by,在水用完时自动热替换,服务冗余部署,只有一个主服务对外提供服务,影子服务在主服务挂掉时顶上
RAID 技术大致分为两种:
- 基于硬件的RAID(硬RAID):额外的RAID卡的支持;
- 基于软件的RAID(软RAID):再运维中会进行实际演示;
(1) 基本原理
1.RAID 是由多个独立的高性能磁盘驱动器组成
的磁盘子系统,从而提供比单个磁盘更高的存储性能和数据冗余的技术。
2.RAID是一类多磁盘管理技术
,其向主机环境提供了成本适中、数据可靠性高的高性能存储。
3.RAID 的两个关键目标是提高数据可靠性和 I/O 性能,磁盘阵列中数据分散在多个磁盘中,然而对于计算机系统来说就像一个单独的磁盘
。
SNIA 对 RAID 的定义
一种磁盘阵列,部分物理存储空间用来记录保存在剩余空间上的用户数据的冗余信息。当其中某一个磁盘或访问路径发生故障时,冗余信息可用来重建用户数据
。磁盘条带化虽然与 RAID 定义不符,通常还是称为 RAID (即 RAID0 )。
RAID特性:
描述:RAID通过把相同数据同时写入到多块磁盘(典型地如镜像),或者将计算的校验数据写入阵列中来获得冗余能力,当单块磁盘出现故障时可以保证不会导致数据丢失;
RAID磁盘阵列可以在部分磁盘(单块或多块,根据实现而论)损坏的情况下,仍能保证系统不中断地连续运行。在重建故障磁盘数据至新磁盘的过程中,系统可以继续正常运行,但是性能方面会有一定程度上的降低;
- 比如RAID 6可以在两块磁盘同时损坏下采用新磁盘进行替换,然后RAID会自动根据剩余磁盘中的数据和校验数据重建丢失的数据,保证数据一致性和完整性;
- 比如一些磁盘阵列在添加或删除磁盘时必须停机,而有些则支持热交换( Hot Swapping )允许不停机下替换磁盘驱动器
注意事项:一般来说RAID 不可作为数据备份的替代方案,它对非磁盘故障等造成的数据丢失无能为力,比如病毒、人为破坏、意外删除
等情形。此时的数据丢失是相对操作系统、文件系统、卷管理器或者应用系统来说的,对于 RAID 系统来身,数据都是完好的没有发生丢失
;所以,数据备份、灾 备等数据保护措施是非常必要的,与 RAID 相辅相成,保护数据在不同层次的安全性,防止发生数据丢失。
(2) RAID 三个关键概念和技术 RAID 中主要有三个关键概念和技术:镜像( Mirroring )、数据条带( Data Stripping )和数据校验( Data parity )
- 2.1) 数据条带(Stripping):将数据分片保存在多个不同的磁盘,多个数据分片共同组成一个完整数据副本,这与镜像的多个副本是不同的,它通常用于性能考虑。数据条带具有更高的并发粒度,当访问数据时,可以同时对位于不同磁盘上数据进行读写操作, 从而获得非常可观的 I/O 性能提升。
- 2.2) 镜像(Mirroring):将数据复制到多个磁盘,一方面可以提高可靠性,另一方面可并发从两个或多个副本读取数据来提高读性能。显而易见,镜像的写性能要稍低, 确保数据正确地写到多个磁盘需要更多的时间消耗.
- 2.3) 数据校验,利用冗余数据进行数据错误检测和修复,冗余数据通常采用海明码、异或操作等算法来计算获得。利用校验功能,可以很大程度上提高磁盘阵列的可靠性、鲁棒性和容错能力。不过数据校验需要从多处读取数据并进行计算和对比,会影响系统性能。
不同等级的 RAID 采用一个或多个以上的三种技术
,来获得不同的数据可靠性、可用性和 I/O 性能
。至于设计何种 RAID (甚至新的等级或类型)或采用何种模式的 RAID ,需要在深入理解系统需求的前提下进行合理选择,综合评估可靠性、性能和成本来进行折中的选择。
RAID 思想从提出后就广泛被业界所接纳,存储工业界投入了大量的时间和财力来研究和开发相关产品。而且,随着处理器、内存、计算机接口等技术的不断发展, RAID 不断地发展和革新,在计算机存储领域得到了广泛的应用,从高端系统逐渐延伸到普通的中低端系统。 RAID 技术如此流行,源于其具有显著的特征和优势,基本可以满足大部分的数据存储需求。 RAID 主要优势有如下几点:
- 1.大容量:扩大了磁盘的容量由多个磁盘组成的 RAID 系统具有海量的存储空间可以达到 PB 级;通常RAID 容量利用率在 50% ~ 90% 之间。这是根据RAID等级和算法不同来决定的;
- 2.高性能:RAID 的高性能受益于数据条带化技术,通过数据条带化, RAID 将数据 I/O 分散到各个成员磁盘上,从而获得比单个磁盘成倍增长的聚合 I/O 性能。
- 3.可靠性:高可用性和可靠性是其一个重要特征;从理论上讲由多个磁盘组成的 RAID 系统在可靠性方面应该比单个磁盘要差,由于RAID 采用镜像和数据校验等数据冗余技术保证了若干磁盘出错时,
不会导致数据的丢失,不影响系统的连续运行
,但是存在冗余开销(效率稍低)以及可用容量空间的减少; - 4.可管理性:RAID 是一种虚拟化技术,它对多个物理磁盘驱动器虚拟成一个大容量的逻辑驱动器。对于外部主机系统来说RAID 是一个单一的、快速可靠的大容量磁盘驱动器,用户就可以在这个虚拟驱动器上来组织和存储应用系统数据(简单易用管理便利)。
由于 RAID 内部完成了大量的存储管理工作,管理员只需要管理单个虚拟驱动器,可以节省大量的管理工作。 RAID 可以动态增减磁盘驱动器,可自动进行数据校验和数据重建,这些都可以大大简化管理工作。
0x00 RAID 等级
描述:SNIA|Berkeley 等组织机构把 RAID0 、 RAID1 、 RAID2 、 RAID3 、 RAID4 、 RAID5 、 RAID6
七个等级定为标准的 RAID 等级这也被业界和学术界所公认。
- 标准等级是最基本的 RAID 配置集合,单独或综合利用数据条带、镜像和数据校验技术。标准 RAID 可以组合等级,以满足 对性能、安全性、可靠性要求更高的存储应用需求。
- 组合等级是由于标准 RAID 等级各有优势和不足,我们想到把多个 RAID 等级组合起来,实现优势互补,弥补相互的不足,从而达到在性能、数据安全性等指标上更高的 RAID 系统。目前在业界和学术研究中提到的 RAID 组合等级主要有 RAID00 、 RAID01 、 RAID10 、 RAID100 、 RAID30 、 RAID50 、 RAID53 、 RAID60 ,但实际得到较为广泛应用的只有
RAID01 和 RAID10
两个等级。由于组合等级的实现成本一般都非常昂贵,只是在少数特定场合应用
; - JBOD ( Just a Bunch Of Disks )不是标准的 RAID 等级,它通常用来表示一个没有控制软件提供协调控制的磁盘集合。
如何选择RAID的等级版本?
根据选择的版本不同,RAID比单颗硬盘有以下一个或多个方面的好处:
增强数据集成度,增强容错功能,增加处理量或容量
。
RAID(磁盘阵列)级别一览(按照时间排序): 常用等级:
- Raid 0:存取速度最快,没有容错;
- Raid 1:完全容错 成本高
- Raid 5:具备多任务及容错功能 Parity 磁盘驱动器
不会造成性能瓶颈
- Raid 6:具备多任务及容错功能 写入时有overhead 理论等级:(较少实际应用,它们大多只在研究领域有实作)
- Raid 2:带海明码校验,数据冗余多,速度慢
- Raid 3:写入性能最好 没有多任务功能
- Raid 4:并发写操作时的校验盘性能瓶颈问题
- Raid 7:性能安全好,但是需要独立的硬件设备和独立系统
组合等级:
- Raid 0 1(也称Raid 10): 速度快、完全容错 成本高
- Raid 50
- Raid 53 (也称Raid 0 3):传输效率以及性能高,存储空间利用率要比RAID 10低
- Raid 60
- Raid 1 0:速度快而且又安全,一个字
贵
1.等级原理解析
1) JBOD 介绍:目前 JBOD 常指磁盘柜,而不论其是否提供 RAID 功能。JBOD 将多个物理磁盘串联起来,提供一个巨大的逻辑磁盘。 JBOD 的数据存放机制是由第一块磁盘开始按顺序往后存储,当前磁盘存储空间用完后,再依次往后面的磁盘存储数据。 JBOD 存储性能完全等同于单块磁盘,而且也不提供数据安全保护。它只是简单提供一种扩展存储空间的机制,JBOD 可用存储容量等于所有成员磁盘的存储空间之和。
WeiyiGeek.JBOD
2) RAID 0
描述:RAID 0称为Stripe(条带化)或Striping
,是一种简单的、无数据校验的数据条带化技术,它拥有级别总最高的存储性能
。
原理:
实际上不是一种真正的 RAID 因为它并不提供任何形式的冗余策略,RAID0 将所在磁盘条带化后组成大容量的存储空间,将数据分散存储在所有磁盘中,以独立访问方式实现多块磁盘的并读访问。
RAID 0把连续的数据分散到多个磁盘上存取,系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求,由于并行I/O作数据
可以充分利用总线的带宽显著提高磁盘整体存取性能。
理论上讲一个由 n 块磁盘组成的 RAID0 ,它的读写性能是单个磁盘性能的 n 倍
,但由于总线带宽等多种因素的限制,实际的性能提升低于理论值。
RAID 0结构图解: 系统向2个磁盘组成的逻辑硬盘(RADI 0 磁盘组)发出的I/O数据请求被转化为2项操作,其中的每一项操作都对应于一块物理硬盘,通过建立RAID 0原先顺序的数据请求被分散到所有的两块硬盘中同时执行。 从理论上讲2块硬盘的并行操作使同一时间内磁盘读写速度提升了2倍。
WeiyiGeek.RAID 0结构图解
优缺点: 优点:具有低成本、高读写性能、 100% 的高存储空间利用率 缺点:不提供数据冗余,因此一旦用户数据损坏,损坏的数据将无法得到恢复
应用领域:
- 适用于对性能要求严格但对数据安全性和可靠性不高的应用领域 ,如图形工作站等。
- 对于个人用户,RAID 0也是提高硬盘存储性能的绝佳选择。
3) RAID 1
描述:RAID 1又称为Mirror或Mirroring(镜像)
,它将数据完全一致地分别写到工作磁盘和镜像磁盘,它的磁盘空间利用率为 50%;
RAID1 在数据写入时,响应时间会有所影响,但是读数据的时候没有影响。
RAID1 提供了最佳的数据保护,一旦工作磁盘发生故障,系统自动从镜像磁盘读取数据,不会影响用户工作。
RAID1 与 RAID0 刚好相反,是为了增强数据安全性使两块 磁盘数据呈现完全镜像,从而达到安全性好、技术简单、管理方便
。
RAID 1结构图解: 当读取数据时,系统先从RAID 0的源盘读取数据,如果读取数据成功,则系统不去管备份盘上的数据;如果读取源盘数据失败,则系统自动转而读取备份盘上的数据,不会造成用户工作任务的中断。 当然我们应当及时地更换损坏的硬盘并利用备份数据重新建立Mirror,避免备份盘在发生损坏时,造成不可挽回的数据损
WeiyiGeek.RAID1结构图解
优缺点 优点:较高的数据安全性,拥有完全容错的能力 缺点:磁盘空间利用率低,存储成本高
应用领域:
- 适用于存放重要数据,如服务器和数据库存储等领域.
4) RAID01|RAID10
描述:RAID 0 1是先做条带化再作镜像
,本质是对物理磁盘实现镜像。而 RAID10 是先做镜像再作条带化
,是对虚拟磁盘实现镜像。相同的配置下,通常 RAID01 比 RAID10 具有更好的容错能力。
RAID01 兼备了 RAID0 和 RAID1 的优点,它先用两块磁盘建立镜像,然后再在镜像内部做条带化。 RAID01 的数据将同时写入到两个磁盘阵列中,如果其中一个阵列损坏,仍可继续工作,保证数据安全性的同时又提高了性能。 RAID01 和 RAID10 内部都含有 RAID1 模式,因此整体磁盘利用率均仅为 50% 。
WeiyiGeek.
RAID 10结构图解: 以四个磁盘组成的RAID 0 1数据存储方式为例,它在提供与RAID 1一样的数据安全保障的同时,也提供了与RAID 0近似的存储性能。 由于RAID 0 1也通过数据的100%备份功能提供数据安全保障,因此RAID 0 1的磁盘空间利用率与RAID 1相同存储成本高。
WeiyiGeek.RAID0 1
优缺点 优点:存储性能和数据安全兼顾的方案 缺点:存储成本高
应用领域:
- 适用于既有大量数据需要存取,同时又对数据安全性要求严格的领域,如银行、金融、商业超市、仓储库房、各种档案管理等。(国企用的比较多的存储方案)
5) RAID3 描述:RAID 3是把数据分成多个”块”,按照一定的容错算法,存放在N 1个硬盘上,实际数据占用的有效空间为N个硬盘的空间总和,而第N 1个硬盘上存储的数据是校验容错信息,当这N 1个硬盘中的其中一个硬盘出现故障时,从其它N个硬盘中的数据也可以恢复原始数据,这样仅使用这N个硬盘也可以带伤继续工作(如采集和回放素材),当更换一个新硬盘后,系统可以重新恢复完整的校验容错信息。
RAID 3结构图解:容错算法和分块大小
WeiyiGeek.
优缺点 优点:安全性有保障 缺点:IO速度相比较于RAID0较慢
应用领域:
- 适合大文件类型且安全性要求较高的应用,如视频编辑、硬盘播出机、大型数据库等.
6) RAID5
描述:RAID 5 是一种存储性能、数据安全和存储成本
兼顾的存储解决方案(理解为 RAID0 和 RAID1 的折中方案)。RAID 5磁盘阵列由N(N>=3)块盘
组成阵列,一份数据产生N-1个条带,同时还有1份校验数据共N份数据在N块盘上循环均衡存储
RAID5是目前最常见的 RAID 等级
,它的原理与 RAID4 相似,区别在于校验数据分布在阵列中的所有磁盘上,而没有采用专门的校验磁盘。
对于数据和校验数据,它们的写操作可以同时发生在完全不同的磁盘上, 因此RAID5 不存在 RAID4 中的并发写操作时的校验盘性能瓶颈问题。
RAID5 还具备很好的扩展性,当阵列磁盘 数量增加时,并行操作量的能力也随之增长,可比 RAID4 支持更多的磁盘,从而拥有更高的容量以及更高的性能。
RAID 5结构图解:
以四个硬盘组成的RAID 5不对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。数据块和对应的校验信息存保存在不同的磁盘上,当一个数据盘损坏时,系统可以根据同一条带的其他数据块和对应的校验数据来重建损坏的数据
,与其他 RAID 等级一样,重建数据时 RAID5 的性能会受到较大的影响。
WeiyiGeek.RAID5
优缺点 优点:具有和RAID 0相近似的数据读取速度(多了一个奇偶校验信息),安全性也很高(可以利用校验位恢复数据),空间利用率也不错(不完全复制,只冗余校验位)则成本低,扩展性好; 缺点:保障程度要比Mirror稍低,IO写性能速度比RAID0稍慢(多存储了校验位)
应用领域:
- 互联网公司,数据中心用的比较多的存储方案;
7) RAID6
描述:RAID 6等级是在RAID 5基础上,为了进一步加强数据保护而设计的一种RAID方式,实际上是一种扩展RAID 5等级
,它一般是替代 RAID10 方案的经济性选择;
RAID6 引入双重校验的概念,它可以保护阵列中同时出现两个磁盘失效时,阵列仍能够继续工作,不会发生数据丢失
RAID6 不仅要支持数据的恢复,还要支持校验数据的恢复,因此实现代价很高,控制器的设计也比其他等级更复杂、更昂贵。
RAID6 思想最常见的实现方式是采用两个独立的校验算法,假设称为 P 和 Q ,校验数据可以分别存储在两个不同的校验盘上,或者分散存储在所有成员磁盘中。当两个磁盘同时失效时,即可通过求解两元方程来重建两个磁盘上的数据。
RAID 6结构图解:
与RAID 5的不同之处于除了每个硬盘上都有同级数据XOR校验区外,还有一个针对每个数据块的XOR校验区;当前盘数据块的校验数据不可能存在当前盘而是交错存储的,这样一来等于每个数据块有了两个校验保护屏障(一个分层校验,一个是总体校验)
但是控制系统的设计也更为复杂;
WeiyiGeek.
优缺点 优点:快速的读取性能、更高的容错能力,数据冗余性能相当好,对于RAID 5在校验方面的微弱优势 缺点:写性能较RAID5稍差(与RAID5在性能与性价比方面的较大劣势),成本较RAID5高;
应用领域:
- RAID 6等级基本没有实际应用过,只是对更高级的数据的冗余进行的一种技术与思路上的尝试
8) RAID7 描述:RAID 7并非公开的RAID标准,而是Storage Computer Corporation的专利硬件产品名称。该等级是至今为止理论上性能最高的RAID模式,因为它从组建方式上就已经和以往的方式有了重大的不同。
RAID 7结构图解: 在以往一个硬盘是一个组成阵列的”柱子”,而在RAID 7中多个硬盘组成一个”柱子”,它们都有各自的通道,也正因为如此,你可以把这个图分解成一个个硬盘连接在主通道上,只是比以前的等级更为细分了。 这样做的好处就是在读/写某一区域的数据时,可以迅速定位,而不会因为以往因单个硬盘的限制同一时间只能访问该数据区的一部分,在RAID 7中,以前的单个硬盘相当于分割成多个独立的硬盘,有自己的读写通道,效率也就不言自明了。
WeiyiGeek.
RAID 7特性:
- 所有的I/O传输都是异步的,因为它有自己独立的控制器和带有Cache的接口,与系统时钟并不同步所有的读与写的操作都将通过一个带有中心Cache的高速系统总线,我们称之为X-Bus专用的校验硬盘可以用于任何通道带有完整功能的即时操作系统内嵌于阵列控制微处理器(
RAID 7的心脏
),它负责各通道的通信以及Cache的管理,这也是它与其他等级最大不同之一 - 连通性:可增至12个主机接口
- 扩展性:线性容量可增至48个硬盘
- 开放式系统,运用标准的SCSI硬盘、标准的PC总线、主板以及SIMM内存
- 高速的,集成Cache的数据总线(就是上文提到的X-bus)
- 在Cache内部完成校验生成工作
- 多重的附加驱动可以随时热机待命,提高冗余率和灵活性易管理性:SNMP(Simple Network Management Protocol,简单网络管理协议) 可以让管理员远程监视并实现系统控制按照RAID 7设计者的说法,这种阵列将比其他RAID等级提高150-600%写入时的I/O性能,虽然这引起了不小的争议。
优缺点 优点:IO性能效率高 缺点:价格方面非常的高昂,需要额外的整体系统以及自己处理器和总线而不是通过简单的插卡就可以实现的;
10) RAID 50
描述:RAID 50可以看着是RAID 5与RAID 0的组合
,先作RAID 5,再作RAID 0,也就是对多组RAID 5彼此构成Stripe访问;
由于RAID 50是以RAID 5为基础,而RAID 5至少需要3颗硬盘,因此要以多组RAID 5构成RAID 50,至少需要6颗硬盘。以RAID 50最小的6颗硬盘配置为例,先把6颗硬盘分为2组,每组3颗构成RAID 5
,如此就得到两组RAID 5,然后再把两组RAID 5构成RAID 0
。
RAID 50在底层的任一组或多组RAID 5中出现1颗硬盘损坏时,仍能维持运作,不过如果任一组RAID 5中出现2颗或2颗以上硬盘损毁,整组RAID 50就会失效。
RAID 50由于在上层把多组RAID 5构成Stripe,性能比起单纯的RAID 5高,容量利用率比RAID5要低。比如同样使用9颗硬盘,由各3颗RAID 5再组成RAID 0的RAID 50,每组RAID 5浪费一颗硬盘,利用率为(1-3/9),RAID 5则为(1-1/9)。
RAID 50结构图解:
WeiyiGeek.RAID 50
优缺点 优点:性能高 缺点:容量利用率低
11) RAID53
描述:RAID 53也是一种组合RAID 等级,应该称为RAID 30或RAID 03
(也可以说是RAID 0 3),即RAID 3与RAID 0的组合;
原理:可以发现RAID 53中将备份等级由RAID 0变为了RAID 3,也就是说把原来的镜像阵列变成了分割式(Segments)存储阵列
。
但它不是对每个RAID 0硬盘都用一个RAID 3系统进行,而是用RAID 3对所有数据进行冗余存储(或者说是校验),而且读写与ECC效率比RAID 0要高不少。
RAID 53结构图解:
WeiyiGeek.
优缺点 优点:由于RAID 3的传输率高的缘故,RAID 53的性能要比RAID 10好(因为冗余备份的时间缩短)并且借助于RAID 0其I/O带宽并没有降低; 缺点:存储空间利用率要比RAID 10低
12) RAID 60 描述:RAID60是RAID 6与RAID 0的组合(先作RAID 6,再作RAID 0),换句话说就是对两组以上的RAID 6作Stripe访问;RAID 6至少需具备4颗硬盘,所以RAID 60的最小需求是8颗硬盘。
由于底层是以RAID 6组成,所以RAID 60可以容许任一组RAID 6中损毁最多2颗硬盘,而系统仍能维持运作;不过只要底层任一组RAID 6中损毁3颗硬盘,整组RAID 60就会失效,当然这种情况的概率相当低。
比起单纯的RAID 6,RAID 60的上层通过结合多组RAID 6构成Stripe访问因此性能较高。不过使用门槛高,而且容量利用率低是较大的问题。
RAID 60结构图解:
WeiyiGeek.
优缺点: 优点:性能比较高 缺点:容量利用率低
13) RAID1 0 描述:RAID 1 0是RAID0和RAID1的折中方案;
优缺点 优点:速度快而且又安全 缺点:贵
应用领域:
- 云厂商必备高端公司甚至用固态磁盘代替普通磁盘做RAID 1 0.(经费充足的企业首选)
2.常用等级总结
1)常见RAID类型 常见5种RAID类型对比以及n位磁盘数量。
WeiyiGeek.RAID级别
功能比对:
WeiyiGeek.RAID类型
0x02 RAID 升级版本
1.RAID 2.0
描述:RAID 2.0(独立磁盘冗余数组2.0, Redundant Array of Independent Disks Version 2.0
),为增强型RAID技术,有效解决了机械硬盘容量越来越大,重构一块机械硬盘所需时间越来越长,传统RAID组重构窗口越来越大而导致重构期间又故障一块硬盘而彻底丢失数据风险的问题。
其基本思想就是把大容量机械硬盘先按照固定的容量切割成多个更小的分块(Chunk,通常为64MB),RAID组建立在这些小分块上而不是某些硬盘上,我们称为分块组(Chunk Group)
。此时硬盘间不再组成传统的RAID关系,而是组成更大硬盘数量的硬盘组(建议最大硬盘数量为96-120,不建议超过120块盘),每个硬盘上不同的分块可与此硬盘组上不同硬盘上的分块组成不同RAID类型的分块组,这样一个硬盘上的分块可以属于多个RAID类型的多个分块组;
以这样的组织形式基于 RAID2.0 技术的存储系统能够做到在一块硬盘故障后,在硬盘组上的所有硬盘上并发进行重构,而不再是传统 RAID 的单个热备盘上进行重构,从而大大降低重构时间,减少重构窗口扩大导致的数据丢失风险,在硬盘容量大幅增加的同时确保存储系统的性能和可靠性;RAID 2.0 并没有改变传统的各种RAID类型的算法,而是把RAID范围缩小到分块组上。
因此RAID2.0技术具备以下技术特征:
- 几个、几十个甚至上百个机械硬盘组成硬盘组;
- 硬盘组中的硬盘被分割成几十兆、上百兆的分块,不同硬盘上的分块组成的分块组 (Chunk Group);
- RAID 计算在分块组 (Chunk Group) 内进行,系统不再有热备盘,而是被同一分块组内保留的热备块所代替。
传统RAID与RAID2.0技术存储阵列恢复机制对比:
WeiyiGeek.
由于RAID 2.0系统中一块硬盘故障后,重构可以在同一硬盘组内其他所有硬盘保留的热备空间上并发进行,使用RAID 2.0技术的存储系统具备以下优势:
- 快速重构:存储池内所有硬盘参与重构,相对于传统RAID重构速度大幅提;
- 自动负载均衡:RAID 2.0使得各硬盘均衡分担负载,不再有热点硬盘,提升了系统的性能和硬盘可靠性;
- 系统性能提升:LUN基于分块组创建,可以不受传统RAID硬盘数量的限制分布在更多的物理硬盘上,因而系统性能随硬盘IO带宽增加得以有效提升;
- 自愈合:当出现硬盘预警时,无需热备盘,无需立即更换故障盘,系统可快速重构,实现自愈合。
2.RAID 2.0
描述:RAID2.0 (独立磁盘冗余数组2.0, Redundant Array of Independent Disks Version 2.0
)在 RAID 2.0 的基础上提供了更细粒度 (可以达几十KB粒度) 的资源颗粒,形成存储资源的标准分配及回收单位,类似计算虚拟化中的虚拟机,我们称之为虚拟块。这些容量单位一致的虚拟块构成了一个统一的存储资源池,所有应用、中间件、虚拟机、操作系统所需的资源可以在这个资源池中按需分配及回收。相对传统 RAID 系统,RAID2.0 技术实现了存储资源的虚拟化及预配置,存储资源的申请及释放完全自动化的通过存储池实现,而不再需要传统 RAID 阵列的RAID组创建,LUN创建以及LUN格式化等耗时而容易出错的手工配置过程。因此RAID 2.0 技术解决了虚拟机环境下,存储资源必须动态按需分配及释放的问题。
在 RAID 2.0 基础上,RAID2.0 技术具备以下技术特征:
- 在 RAID 2.0 基础上,分块组(Chunk Group)被切分为容量从256KB到64MB的虚拟化存储颗粒(Extent);
- 存储资源以以上颗粒为单位自动分配及释放;
- 可以以以上颗粒度为单位在存储池内或不同存储池间进行细粒度分级存储;
- 在系统通过扩展控制器扩展性能或容量后,可以通过自动化的迁移这些标准颗粒来达到负载均衡的目的。
WeiyiGeek.
技术优点 RAID2.0 技术主要用于实现系统资源的智能分配,满足虚拟机环境对存储的需求:
- 存储容量虚拟化:存储资源按需自动化分配及释放,满足了虚拟机对存储最本质的需求;
- 实时资源调配:可根据业务实时情况,将不同数据分级存储,通过灵活调配SSD等高性能存储资源满足高性能业务需求;
- 自动数据迁移:根据业务特点自动迁移数据,提高存储利用效率;
RAID 2.0与传统RAID的对比
WeiyiGeek.RAID 2.0与传统RAID的对比
0x03 应用场景
不适合使用RAID的场景
Hadoop集群中为何不使用RAID? 描述:尽管建议采用RAID (Redundant Array of Independent Disk,即磁盘阵列) 作为 namenode 的存储器以保护元数据,但是若将 RAID 作为 datanode 的存储设备则不会给 HDFS 带来益处。HDFS 所提供的节点间数据复制技术已可满足数据备份需求,无需使用 RAID 的冗余机制。
此外尽管 RAID 条带化技术 (RAID 0) 被广泛用户提升性能,但是其速度仍然比用在 HDFS 里的 JBOD (Just a Bunch Of Disks) 配置慢。JBOD 在所有磁盘之间循环调度 HDFS 块。RAID 0 的读写操作受限于磁盘阵列中最慢盘片的速度,而 JBOD 的磁盘操作均独立,因而平均读写速度高于最慢盘片的读写速度。需要强调的是,各个磁盘的性能在实际使用中总存在相当大的差异,即使对于相同型号的磁盘。
- 若 JBOD 配置的某一磁盘出现故障,HDFS 可以忽略该磁盘继续工作
- 若 RAID 的某一盘片故障会导致整个磁盘阵列不可用,进而使相应节点失效。