RAID技术及应用总结

1、关于RAID的相关概述

1988 年美国加州大学伯克利分校的 D. A. Patterson 教授等首次在论文 “A Case of Redundant Array of Inexpensive Disks” 中提出了 RAID 概念,RAID即廉价冗余磁盘阵列( Redundant Array of Inexpensive Disks )的首字母缩写所成; RAID 的基本思想是将多个容量较小、相对廉价的磁盘进行有机组合,从而以较低的成本获得与昂贵大容量磁盘相当的容量、性能、可靠性。随着磁盘成本和价格的不断降低, RAID 可以使用大部分的磁盘,越来越更关注数据的安全和数据的及时性;而后, RAID 咨询委员会( RAID Advisory Board, RAB )也用 “ 独立 ” 替代 了“ 廉价 ” , RAID 改称独立磁盘冗余阵列( Redundant Array of Independent Disks )。 RAID 主要利用数据条带、镜像和数据校验技术来获取高性能、可靠性、容错能力和扩展性,根据运用或组合运用这三种技术的策略和架构,可以把 RAID 分为不同的等级,以满足不同数据应用的需求。
……目前业界公认的标准是 RAID0 ~ RAID5 ,除 RAID2 外的四个等级被定为工业标准,而在实际应用领域中使用最多的 RAID 等级是 RAID0 、 RAID1 、 RAID3 、 RAID5 、 RAID6 和 RAID10。
……另从实现角度看, RAID 主要分为软 RAID、硬 RAID 以及软硬混合 RAID 三种。软 RAID 所有功能均由操作系统和 CPU 来完成,没有独立的 RAID 控制 / 处理芯片和 I/O 处理芯片,效率最低。硬 RAID 配备了专门的 RAID 控制 / 处理芯片和 I/O 处理芯片以及阵列缓冲,不占用 CPU 资源,但成本很高。软硬混合 RAID 具备 RAID 控制 / 处理芯片,但缺乏 I/O 处理芯片,需要 CPU 和驱动程序来完成,性能和成本 在软 RAID 和硬 RAID 之间。

2、RAID工作原理

RAID ( Redundant Array of Independent Disks )即独立磁盘冗余阵列,通常简称为磁盘阵列。简单地说, RAID 是由多个独立的高性能磁盘驱动器组成的磁盘子系统,从而提供比单个磁盘更高的存储性能和数据冗余的技术。 RAID 是一类多磁盘管理技术,其向主机环境提供了成本适中、数据可靠性高的高性能存储。SNIA 对 RAID 的定义是 [2] :一种磁盘阵列,部分物理存储空间用来记录保存在剩余空间上的用户数据的冗余信息。当其中某一个磁盘或访问路径发生故障时,冗余信息可用来重建用户数据。磁盘条带化虽然与 RAID 定义不符,通常还是称为 RAID (即 RAID0 )。
……整个系统中, RAID 被看作是由两个或更多磁盘组成的存储空间,通过并发地在多个磁盘上读写数据来提高存储系统的 I/O 性能。大多数 RAID 等级具有完备的数据校验、纠正措施,从而提高系统的容错性,甚至镜像方式,大大增强系统的可靠性, Redundant 也由此而来。
……RAID 的两个关键目标是提高数据可靠性和 I/O 性能。磁盘阵列中,数据分散在多个磁盘中,然而对于计算机系统来说,就像一个单独的磁盘。通过把相同数据同时写入到多块磁盘(典型地如镜像),或者将计算的校验数据写入阵列中来获得冗余能力,当单块磁盘出现故障时可以保证不会导致数据丢失。有些 RAID 等级允许更多地 磁盘同时发生故障,比如 RAID6 ,可以是两块磁盘同时损坏。在这样的冗余机制下,可以用新磁盘替换故障磁盘, RAID 会自动根据剩余磁盘中的数据和校验数据重建丢失的数据,保证数据一致性和完整性。数据分散保存在 RAID 中的多个不同磁盘上,并发数据读写要大大优于单个磁盘,因此可以获得更高的聚合 I/O 带宽。当然,磁盘阵列会减少全体磁盘的总可用存储空间,牺牲空间换取更高的可靠性和性能。比如, RAID1 存储空间利用率仅有 50% , RAID5 会损失其中一个磁盘的存储容量,空间利用率为 (n-1)/n 。

磁盘阵列可以在部分磁盘(单块或多块,根据实现而论)损坏的情况下,仍能保证系统不中断地连续运行。在重建故障磁盘数据至新磁盘的过程中,系统可以继续正常运行,但是性能方面会有一定程度上的降低。一些磁盘阵列在添加或删除磁盘时必须停机,而有些则支持热交换 ( Hot Swapping ),允许不停机下替换磁盘驱动器。这种高端磁盘阵列主要用于要求高可能性的应用系统,系统不能停机或尽可能少的停机时间。一般来说, RAID 不可作为数据备份的替代方案,它对非磁盘故障等造成的数据丢失无能为力,比如病毒、人为破坏、意外删除等情形。此时的数据丢失是相对操作系统、文件系统、卷管理器或者应用系统来说的,对于 RAID 系统来身,数据都是完好的,没有发生丢失。所以,数据备份、灾 备等数据保护措施是非常必要的,与 RAID 相辅相成,保护数据在不同层次的安全性,防止发生数据丢失。

RAID 中主要有三个关键概念和技术:镜像( Mirroring )、数据条带( Data Stripping )和数据校验( Data parity )。镜像,将数据复制到多个磁盘,一方面可以提高可靠性,另一方面可并发从两个或多个副本读取数据来提高读性能。显而易见,镜像的写性能要稍低, 确保数据正确地写到多个磁盘需要更多的时间消耗。数据条带,将数据分片保存在多个不同的磁盘,多个数据分片共同组成一个完整数据副本,这与镜像的多个副本是不同的,它通常用于性能考虑。数据条带具有更高的并发粒度,当访问数据时,可以同时对位于不同磁盘上数据进行读写操作, 从而获得非常可观的 I/O 性能提升 。数据校验,利用冗余数据进行数据错误检测和修复,冗余数据通常采用海明码、异或操作等算法来计算获得。利用校验功能,可以很大程度上提高磁盘阵列的可靠性、鲁棒性和容错能力。不过,数据校验需要从多处读取数据并进行计算和对比,会影响系统性能。 不同等级的 RAID 采用一个或多个以上的三种技术,来获得不同的数据可靠性、可用性和 I/O 性能。

3、RAID特点

总体来说: RAID 主要优势有如下几点:

  1. 大容量

这是 RAID 的一个显然优势,它扩大了磁盘的容量,由多个磁盘组成的 RAID 系统具有海量的存储空间。现在单个磁盘的容量就可以到 1TB 以上,这样 RAID 的存储容量就可以达到 PB 级,大多数的存储需求都可以满足。一般来说, RAID 可用容量要小于所有成员磁盘的总容量。不同等级的 RAID 算法需要一定的冗余开销,具体容量开销与采用算法相关。如果已知 RAID 算法和容量,可以计算出 RAID 的可用容量。通常, RAID 容量利用率在 50% ~ 90% 之间。

  1. 高性能

RAID 的高性能受益于数据条带化技术。单个磁盘的 I/O 性能受到接口、带宽等计算机技术的限制,性能往往很有 限,容易成为系统性能的瓶颈。通过数据条带化, RAID 将数据 I/O 分散到各个成员磁盘上,从而获得比单个磁盘成倍增长的聚合 I/O 性能。

  1. 可靠性

可用性和可靠性是 RAID 的另一个重要特征。从理论上讲,由多个磁盘组成的 RAID 系统在可靠性方面应该比单个磁盘要差。这里有个隐含假定:单个磁盘故障将导致整个 RAID 不可用。 RAID 采用镜像和数据校验等数据冗余技术,打破了这个假定。 镜像是最为原始的冗余技术,把某组磁盘驱动器上的数据完全复制到另一组磁盘驱动器上,保证总有数据副本可用。 比起镜像 50% 的冗余开销 ,数据校验要小很多,它利用校验冗余信息对数据进行校验和纠错。 RAID 冗余技术大幅提升数据可用性和可靠性,保证了若干磁盘出错时,不 会导致数据的丢失,不影响系统的连续运行。

  1. 可管理性

实际上, RAID 是一种虚拟化技术,它对多个物理磁盘驱动器虚拟成一个大容量的逻辑驱动器。对于外部主机系统来说, RAID 是一个单一的、快速可靠的大容量磁盘驱动器。这样,用户就可以在这个虚拟驱动器上来组织和存储应用系统数据。 从用户应用角度看,可使存储系统简单易用,管理也很便利。 由于 RAID 内部完成了大量的存储管理工作,管理员只需要管理单个虚拟驱动器,可以节省大量的管理工作。 RAID 可以动态增减磁盘驱动器,可自动进行数据校验和数据重建,这些都可以 大大简化管理工作。

4、RAID中关键技术概述:

4.1 镜像

镜像是一种冗余技术,为磁盘提供保护功能,防止磁盘发生故障而造成数据丢失。对于 RAID 而言,采用镜像技术 典型地 将会同时在阵列中产生两个完全相同的数据副本,分布在两个不同的磁盘驱动器组上。镜像提供了完全的数据冗余能力,当一个数据副本失效不可用时,外部系统仍可正常访问另一副本,不会对应用系统运行和性能产生影响。而且,镜像不需要额外的计算和校验,故障修复非常快,直接复制即可。镜像技术可以从多个副本进行并发读取数据,提供更高的读 I/O 性能,但不能并行写数据,写多个副本会会导致一定的 I/O 性能降低。

镜像技术提供了非常高的数据安全性,其代价也是非常昂贵的,需要至少双倍的存储空间。高成本限制了镜像的广泛应用,主要应用于至关重要的数据保护,这种场合下数据丢失会造成巨大的损失。另外,镜像通过“ 拆分 ”能获得特定时间点的上数据快照,从而可以实现一种备份窗口几乎为零的数据备份技术。

4.2 数据条带

磁盘存储的性能瓶颈在于磁头寻道定位,它是一种慢速机械运动,无法与高速的 CPU 匹配。再者,单个磁盘驱动器性能存在物理极限, I/O 性能非常有限。 RAID 由多块磁盘组成,数据条带技术将数据以块的方式分布存储在多个磁盘中,从而可以对数据进行并发处理。这样写入和读取数据就可以在多个磁盘上同时进行,并发产生非常高的聚合 I/O ,有效提高了整体 I/O 性能,而且具有良好的线性扩展性。这对大容量数据尤其显著,如果不分块,数据只能按顺序存储在磁盘阵列的磁盘上,需要时再按顺序读取。而通过条带技术,可获得数倍与顺序访问的性能提升。

数据条带技术的分块大小选择非常关键。条带粒度可以是一个字节至几 KB 大小,分块越小,并行处理能力就越强,数据存取速度就越高,但同时就会增加块存取的随机性和块寻址时间。实际应用中,要根据数据特征和需求来选择合适的分块大小,在数据存取随机性和并发处理能力之间进行平衡,以争取尽可能高的整体性能。
数据条带是基于提高 I/O 性能而提出的,也就是说它只关注性能, 而对数据可靠性、可用性没有任何改善。实际上,其中任何一个数据条带损坏都会导致整个数据不可用,采用数据条带技术反而增加了数据发生丢失的概念率。
Data Stripping数据分条技术。RAID 0可以把多块硬盘连成一个容量更大的硬盘群,可以提高磁盘的性能和吞吐量。RAID 0没有冗余或错误修复能力,成本低,组成至少需两块磁盘,多用于对数据安全性要求不高场合。

4.3 数据校验

镜像具有高安全性、高读性能,但冗余开销太昂贵。数据条带通过并发性来大幅提高性能,然而对数据安全性、可靠性未作考虑。数据校验是一种冗余技术,它用校验数据来提供数据的安全,可以检测数据错误,并在能力允许的前提下进行数据重构。相对镜像,数据校验大幅缩减了冗余开销,用较小的代价换取了极佳的数据完整性和可靠性。数据条带技术提供高性能,数据校验提供数据安全性, RAID 不同等级往往同时结合使用这两种技术。

采用数据校验时, RAID 要在写入数据同时进行校验计算,并将得到的校验数据存储在 RAID 成员磁盘中。校验数据可以集中保存在某个磁盘或分散存储在多个不同磁盘中,甚至校验数据也可以分块,不同 RAID 等级实现各不相同。当其中一部分数据出错时,就可以对剩余数据和校验数据进行反校验计算重建丢失的数据。校验技术相对于镜像技术的优势在于节省大量开销,但由于每次数据读写都要进行大量的校验运算,对计算机的运算速度要求很高,必须使用硬件 RAID 控制器。在数据重建恢复方面,检验技术比镜像技术复杂得多且慢得多。

海明校验码和 异或校验是两种最为常用的 数据校验算法。海明校验码是由理查德.海明提出的,不仅能检测错误,还能给出错误位置并自动纠正。海明校验的基本思想是:将有效信息按照某种规律分成若干组,对每一个组作奇偶测试并安排一个校验位,从而能提供多位检错信息,以定位错误点并纠正。可见海明校验实质上是一种多重奇偶校验。异或校验通过异或逻辑运算产生,将一个有效信息与一个给定的初始值进行异或运算,会得到校验信息。如果有效信息出现错误,通过校验信息与初始值的异或运算能还原正确的有效信息。
4.4)软 RAID
软 RAID 没有专用的控制芯片和 I/O 芯片,完全由操作系统和 CPU 来实现所有RAID 的功能。现代操作系统基本上都提供软 RAID 支持,通过在磁盘设备驱动程序上添加一个软件层,提供一个物理驱动器与逻辑驱动器之间的抽象层。目前,操作系统支持的最常见的 RAID 等级有 RAID0 、 RAID1 、 RAID10 、 RAID01 和 RAID5 等。比如, Windows Server 支持 RAID0 、 RAID1 和 RAID5 三种等级, Linux 支持 RAID0 、 RAID1 、 RAID4 、 RAID5 、 RAID6 等, Mac OS X Server 、 FreeBSD 、 NetBSD 、 OpenBSD 、 Solaris 等操作系统也都支持相应的 RAID 等级。

软 RAID 的配置管理和数据恢复都比较简单,但是 RAID 所有任务的处理完全由 CPU 来完成,如计算校验值,所以执行效率比较低下,这种方式需要消耗大量的运算资源,支持 RAID 模式 较少,很难广泛应用。

软 RAID 由操作系统来实现,因此系统所在分区不能作为 RAID 的逻辑成员磁盘,软 RAID 不能保护系统盘 D 。对于部分操作系统而言, RAID 的配置信息保存在系统信息中,而不是单独以文件形式保存在磁盘上。这样当系统意外崩溃而需要重新安装时, RAID 信息就会丢失。另外,磁盘的容错技术并不等于完全支持在线更换、热插拔或热交换,能否支持错误磁盘的热交换与操作系统实现相关,有的操作系统热交换。
4.5)硬 RAID

硬 RAID 拥有自己的 RAID 控制处理与 I/O 处理芯片,甚至还有阵列缓冲,对 CPU 的占用率和整体性能是三类实现中最优的,但实现成本也最高的。硬 RAID 通常都支持热交换技术,在系统运行下更换故障磁盘。
  
  硬 RAID 包含 RAID 卡和主板上集成的 RAID 芯片, 服务器平台多采用 RAID 卡。 RAID 卡由 RAID 核心处理芯片( RAID 卡上的 CPU )、端口、缓存和电池 4 部分组成。其中,端口是指 RAID 卡支持的磁盘接口类型,如 IDE/ATA 、 SCSI 、 SATA 、 SAS 、 FC 等接口。
  
raid卡插槽:
  

  raid卡:
  
4.6)软硬混合 RAID

软 RAID 性能欠佳,而且不能保护系统分区,因此很难应用于桌面系统。而硬 RAID 成本非常昂贵,不同 RAID 相互独立,不具互操作性。因此,人们采取软件与硬件结合的方式来实现 RAID ,从而获得在性能和成本上的一个折中,即较高的性价比。

这种 RAID 虽然采用了处理控制芯片,但是为了节省成本,芯片往往比较廉价且处理能力较弱, RAID 的任务处理大部分还是通过固件驱动程序由 CPU 来完成。

5、RAID分类图解

SNIA 、 Berkeley 等组织机构把 RAID0 、 RAID1 、 RAID2 、 RAID3 、 RAID4 、 RAID5 、 RAID6 七个等级定为标准的 RAID 等级,这也被业界和学术界所公认。标准等级是最基本的 RAID 配置集合,单独或综合利用数据条带、镜像和数据校验技术。标准 RAID 可以组合,即 RAID 组合等级,满足 对性能、安全性、可靠性要求更高的存储应用需求。
开始时RAID方案主要针对SCSI硬盘系统,系统成本比较昂贵。现在,能够利用相对廉价的IDE硬盘来组建RAID系统,从而大大降低了RAID的“门槛”。在面向个人用户的IDE-RAID芯片一般只提供了RAID 0、RAID 1和RAID 0+1(RAID 10)等RAID规范的支持,对普通用户来说其提供的速度提升和安全保证已经足够了。目前,很多厂商已在主板上板载RAID芯片,用户完全可以不用购置RAID卡,直接组建自己的磁盘阵列。

5.1 RAID0

RAID0 是一种简单的、无数据校验的数据条带化技术。实际上不是一种真正的 RAID ,因为它并不提供任何形式的冗余策略。 RAID0 将所在磁盘条带化后组成大容量的存储空间(如图 2 所示),将数据分散存储在所有磁盘中,以独立访问方式实现多块磁盘的并读访问。由于可以并发执行 I/O 操作,总线带宽得到充分利用。再加上不需要进行数据校验,RAID0 的性能在所有 RAID 等级中是最高的。理论上讲,一个由 n 块磁盘组成的 RAID0 ,它的读写性能是单个磁盘性能的 n 倍,但由于总线带宽等多种因素的限制,实际的性能提升低于理论值。

RAID0 具有低成本、高读写性能、 100% 的高存储空间利用率等优点,但是它不提供数据冗余保护,一旦数据损坏,将无法恢复。 因此, RAID0 一般适用于对性能要求严格但对数据安全性和可靠性不高的应用,如视频、音频存储、临时数据缓存空间等。

【工作原理示意图】

如上图所示,往硬盘中写入一组数据时,这组数据平均分配到raid0中的所有硬盘上,数据没有冗余,数据写入时,由于多块磁盘同时写入,相当于数据带宽增大,同时写入多份数据,并行执行多个写操作,写入数据速度大大增快;当读取数据时,需要从所以判上同时读数据并组织成一份数据,读性能不如写快,且如果其中任意一份数据破坏或丢失,则整份数据将无法组织,即数据被破坏,原数据将无法读取,安全风险较大。

【raid要求】:至少2块型号,容量,最好厂商一致的2块盘及以上组成。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190807141206119.png#pic_center #pic_center =400x400)
【案例操作参考】

RAID可以通过软件或硬件实现。软件windows 2000以上和linux5.0以上均支持软raid级别实现,其中Intel芯片和AMD芯片均可较好支持现用的各种raid级别;硬件实现则是一般由RAID卡实现,一块RAID HBA卡连接一组磁盘组,通过HBA卡上控制芯片内嵌软件完成raid制作。高档的SCSI RAID卡有着自己专用的缓存和I/O处理器。IDE RAID相对便宜很多。
1)Delete按键进入Intel芯片组主板BIOS设定,进入Storage Configuration选项:

2)上下键选raid,打开raid功能:

3)重启,Ctrl+I(有的是Ctrl+R)进入RAID设定界面:

4)进入RAID设定界面:

创建raidvolume:类型选raid0(即stripe条带)

创建好如下图:

5)对AMD芯片:Storage Configuratlon选项,在SATA Port1-Port4和SATA Port5-Port6这两项中打开RAID选项,然后按F10保存本次设定,重新启动计算机。

重启后,按Ctrl+F进入RAID设定界面:

6)进入RAID设定界面后,,1是View Drive Assignments检视,2是建立磁盘阵列和定义界面,3是删除磁盘阵列界面,4是可以检视SATA控制器的组态,选择2选项。

7)按Ctrl+C创建RAID,选择raid0,Assignment那里两块硬盘都要选择Y选项


5.2. RAID1(Mirroring 镜像卷)

通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互 为备份的数据。当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID 1可以提高读取性能。RAID 1是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据。RAID 1磁盘控制器的负载较大,因此,可用多个磁盘控制器阿里提高数据的安全性和可用性。

【工作原理示意图】

【raid0和raid1比较】

Raid0 Raid1
至少需要两块磁盘 至少需要两块磁盘
多磁盘数据分组同步写读(条带技术) 多磁盘同数据同步写读(镜像技术)
无数据备份功能,安全性差;磁盘利用率100% 盘间是相互备份的,安全性高,磁盘利用率50%
理论读写速度是单盘读写速度的n倍,n指加入到同一阵列的磁盘数。同时容量也为单盘容量的n倍。因并行读/写多个磁盘 读写速度与单盘相近,容量为单盘的容量,可提高读取性能
没有有数据冗余,没有数据校验的磁盘陈列。 是磁盘阵列中单位成本最高,高的数据安全性和可用性。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据。
RAID 0至少需要两块以上的硬盘;
将两块以上的硬盘合并成一块,数据连续地分割在每块盘上。 因为带宽加倍,所以读/写速度加倍。
RAID1至少需要两块以上的硬盘;
两块硬盘其中一块硬盘复制另一块硬盘数据,写慢读较快
只要其中任一块硬盘出现问题就会导致整个数据灾难,不可恢复。不建议企业用户使用 镜像技术可实现数据的冗余,两块盘上产生互为备份的数据,当原始数据繁忙时,可直接从镜像备份中读取数据,因此RAID1可以提供读取性能。
适用于对性能要求较高,而对数据安全不太在乎的领域;如图形工作站,视频、音频存储、临时数据缓存空间等等。对于个人用户,RAID 0也是提高硬盘存储性能的绝佳选择 适用于对数据安全性高的企业,一块盘故障后,可自动切换到副本盘,另一块盘更换后可重新加入到阵列

5.3 RAID10(先镜像后条带)

  RAID10 是先做镜像再作条带化,先创建RAID 1,在RAID的基础上创建RAID 0.

优点:数据安全性好,只要不是一个RAID 1上的2个硬盘同时损坏,都不影响数据的正常读写,数据恢复快

缺点:写性能较RAID 0+1 差一些

5.4 RAID01(先条带后镜像,先底层后上层整合)

  RAID01 是先做条带化再作镜像,本质是对物理磁盘实现镜像;而 RAID10 是先做镜像再作条带化,是对虚拟磁盘实现镜像。相同的配置下,通常RAID01比 RAID10 具有更好的容错能力,
  RAID01 它先用两块磁盘建立镜像,然后再在镜像内部做条带化。先创建RAID 0,在RAID 0 的基础上再创建RAID 1,


RAID01 的数据将同时写入到两个磁盘阵列中,如果其中一个阵列损坏,仍可继续工作,保证数据安全性的同时又提高了性能。整体磁盘利用率均仅为 50% 。

优点:性能上考虑的话,RAID 0+1要更有优势一些,RAID 0+1写入速度更快一些,读取速度和RAID 1+0 一样,

缺点:一旦其中一块硬盘挂掉之后,一半的硬盘无法正常工作,如果2个条带上各坏一块,整个阵列将挂掉

5.5 RAID3

  RAID3 是使用了专用校验盘的并行访问阵列,它采用一个专用的磁盘作为校验盘(如下示意图总的最后一块专用的校验盘:存储数据盘分布奇偶校验信息),其余磁盘作为“数据盘”,Raid3将数据条块化分布于不同的硬盘上,数据交叉存储到阵列中的各个数据盘中。RAID3 至少需要三块磁盘,不同磁盘上同一带区的数据作 XOR 校验,校验值写入校验盘中。 RAID3 完好时读性能与 RAID0 完全一致,并行从多个磁盘条带读取数据,性能非常高,同时提供了数据容错能力。
向 RAID3 写入数据时,必须计算与所有同条带的校验值,并将新校验值写入校验盘中。一次写操作包含了写数据块、读取同条带的数据块、计算校验值、写入校验值等多个操作,系统开销非常大,性能较低。

如果 RAID3 中某一磁盘出现故障,不会影响数据读取,可以借助校验数据和其他完好数据来重建数据。假如所要读取的数据块正好位于失效磁盘,则系统需要读取所有同一条带的数据块,并根据校验值重建丢失的数据,系统性能将受到影响。当故障磁盘被更换后,系统按相同的方式重建故障盘中的数据至新磁盘。

RAID3 只需要一个校验盘,阵列的存储空间利用率高,再加上并行访问的特征,能够为高带宽的大量读写提供高性能,适用大容量数据的顺序访问应用,如影像处理、流媒体服务等。目前, RAID5 算法不断改进,在大数据量读取时能够模拟 RAID3 ,而且 RAID3 在出现坏盘时性能会大幅下降,因此常使用 RAID5 替代 RAID3 来运行具有持续性、高带宽、大量读写特征的应用。

Raid3中一块磁盘失效,奇偶盘及其他数据盘可以重新产生数据;如果奇偶盘失效则不影响数据使用。RAID 3对于大量的连续数据可提供很好的传输率,但对于随机数据来说,奇偶盘会成为写操作的瓶颈。

Raid3总结
RAID3 至少需要三块磁盘
最多只能坏n-2块
具有独立的奇偶效验盘
只需要一个校验盘,阵列的存储空间利用率高,磁盘利用率(n-1)/n
采用条带技术,并行读写,读写性能较好,且有一定容错能力,坏盘时性能会大幅下降,写操作同时要计算效验等相关数据,负载开销大,写性能较差,对于随机数据来说,奇偶盘会成为写操作的瓶颈
适用大容量数据的顺序访问应用,如影像处理、流媒体服务等
目前已用RAID5代替RAID3运行具有持续性、高带宽、大量读写特征的应用

5.6 RAID5:带分散校验的数据条带

  RAID5 应该是目前最常见的 RAID 等级,RAID 5不单独指定的奇偶盘,而是在所有磁盘上交叉地存取数据及奇偶校验信息。在RAID 5上,读/写指针可同时对阵列设备进行操作,提供了更高的数据流量。RAID 5更适合于小数据块和随机读写的数据。校验数据分布在阵列中的所有磁盘上,而没有采用专门的校验磁盘。对于数据和校验数据,它们的写操作可以同时发生在完全不同的磁盘上。因此, RAID5 不存在并发写操作时的校验盘性能瓶颈问题。另外, RAID5 还具备很好的扩展性。当阵列磁盘数量增加时,并行操作量的能力也随之增长,而拥有更高的容量以及更高的性能。

  RAID5 的磁盘上同时存储数据和校验数据,数据块和对应的校验信息存保存在不同的磁盘上,当一个数据盘损坏时,系统可以根据同一条带的其他数据块和对应的校验数据来重建损坏的数据。与其他 RAID 等级一样,重建数据时, RAID5 的性能会受到较大的影响。

  RAID5 兼顾存储性能、数据安全和存储成本等各方面因素,它可以理解为 RAID0 和 RAID1 的折中方案,是目前综合性能最佳的数据保护解决方案。 RAID5 基本上可以满足大部分的存储应用需求,数据中心大多采用它作为应用数据的保护方案。

【Raid5工作原理示意图】


上表中的A、B值即代表不同的位,利用异或运算可以简单算出挂掉磁盘上的数据。

  Raid5中数据以块为单位分散存储在各个硬盘上,RAID 5不对数据进行备份,而是把数据和与其对应的奇偶校验信息存储到组成的RAID5的各个磁盘上,并且将奇偶校验信息和对应的数据分别存储于不同的磁盘上,其中一块(只允许一块)挂掉时,利用剩下的数据和校验信息可以恢复数据。Raid5至少需要3块盘组成,且多常用4块盘,其中1块作为热备盘使用。

【raid5与Raid3区别】

raid3 raid5
每进行一次数据传输就需涉及到所有的阵列盘 大部分数据传输只对一块磁盘操作,并可进行并行操作
随机数据来说,奇偶盘会成为写操作的瓶颈 有“写损失”,即每一次写操作将产生四个实际的读/写操作,
其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息
数据存储方式:条带块数据 数据存储方式:独立数据块数据,按块存储可以保证单块的完整性,
可以避免受到其他磁盘上同条带产生的不利影响。

5.6 RAID50:分布奇偶位阵列条带

  它具有RAID 5和RAID 0的共同特性。它由两组RAID 5磁盘组成(每组最少3个),每一组都使用了分布式奇偶位,而两组硬盘再组建成RAID 0,实现跨磁盘抽取数据。RAID 50提供可靠的数据存储和优秀的整体性能,并支持更大的卷尺寸。即使两个物理磁盘发生故障(每个阵列中一个),数据也可以顺利恢复过来。RAID 50最少需要6个驱动器,它最适合需要高可靠性存储、高读取速度、高数据传输性能的应用。这些应用包括事务处理和有许多用户存取小文件的办公应用程序。

【Raid50工作原理示意图】


案例1:DELL R730XD的服务器配置了12块硬盘,这12块硬盘中的前10块配置成RAID-50,第11块作为“全局热备磁盘”,第12块磁盘设置为“Non-RAID”磁盘做数据备份的磁盘;(其中此案ID从0开始):


要求:至少六个硬盘;允许两个物理磁盘发生故障(每个阵列中一个);

5.7 RAID6(带双重分散校验的数据条带)

  上述所列raid0,1,5都只能保护因单个磁盘失效而造成的数据丢失。如果两个磁盘同时发生故障,数据将无法恢复。 RAID6 引入双重校验的概念,它可以保护阵列中同时出现两个磁盘失效时,阵列仍能够继续工作,不会发生数据丢失。 RAID6 等级是在 RAID5 的基础上为了进一步增强数据保护而设计的一种 RAID 方式,它可以看作是一种扩展的 RAID5 等级,用于要求数据绝对不能出错的场合

RAID6 不仅要支持数据的恢复,还要支持校验数据的恢复,因此实现代价很高,控制器的设计也比其他等级更复杂、更昂贵。 RAID6 思想最常见的实现方式是采用两个独立的校验算法,假设称为 P 和 Q ,校验数据可以分别存储在两个不同的校验盘上,或者分散存储在所有成员磁盘中。当两个磁盘同时失效时,即可通过求解两元方程来重建两个磁盘上的数据。

RAID6 具有快速的读取性能、更高的容错能力。但是,它的成本要高于 RAID5 许多,写性能也较差,并有设计和实施非常复杂。因此, RAID6 目前也逐渐得到实际应用,主要用于对数据安全等级要求非常高的场合。它一般是替代 RAID10 方案的经济性选择。


【Raid6与Raid5比较】
RAID 6增加了第二个独立的奇偶校验信息块。两个独立的奇偶系统使用不同的算法,数据的可靠性非常高,即使两块磁盘同时失效也不会影响数据的使用。但RAID 6需要分配给奇偶校验信息更大的磁盘空间,相对于RAID 5有更大的“写损失”,因此“写性能”非常差。

5.8 Linux中用mdadm命令创建软raid

参考:https://www.cnblogs.com/zd520pyx1314/p/5896658.html


RAID技术及应用总结相关推荐

  1. Raid技术在Linux下的使用

    Raid技术在Linux下的使用 一.RAID介绍 1.RAID理解 2.RAID优点 3.RAID分类 二.RAID0 1.RAID0介绍 2.RAID0图示 3.RAID0特点 三.RAID1 1 ...

  2. dell 如何给raid分区_什么是RAID技术?

    1.RAID原理 无论是DAS.NAS还是SAN,都是存储系统,一个存储系统可以包含多块磁盘.不同磁盘之间的组织排列,就是磁盘阵列技术,也就是RAID技术. RAID磁盘阵列技术的核心思想主要有两个, ...

  3. RAID技术详细解答之一:入门基础篇

    本文所要讲解的RAID技术起初主要应用于服务器高端市场,但是随着个人用户市场的成熟和发展,正不断向低端市场靠拢,从而为用户提供了一种既可以提升硬盘速度,又能够确保数据安全性的良好的解决方案.IDE 磁 ...

  4. 文件服务器的配置与管理(1) RAID技术

    文件共享是局域网中常用的功能,局域网中的文件共享功能主要是借助于文件服务器来实现.文件服务器既可以对网络中的共享资源进行统一集中管理,又可以通过设置共享权限或NTFS权限来控制用户的访问.当网络中的共 ...

  5. 转载之NetApp RAID技术介绍

    NetApp RAID技术介绍 NetApp可以提供WAFL Optimized intelligent RAID 4(增强型RAID 4) .双校验盘RAID DP .SyncMirror和组合型R ...

  6. 服务器RAID技术及应用

    第一章 RAID 知识介绍 RAID 的全称是廉价磁盘冗余阵列( Redundant Array of Inexpensive Disks ), 于 1987 年由美国 Berkeley 大学的两名工 ...

  7. RAID技术超详细讲解

    RAID 技术是一种多磁盘技术,面对数据的各方面有着两面性的影响,整体来说优点大于缺点的,下面我将详细介绍一下 RAID ,简称磁盘阵列技术. 一.RAID 概述 1988 年美国加州大学伯克利分校的 ...

  8. Raid技术精简总结

    说明: 该总结来自个人的技术文档总结,代号101. 一.Raid介绍 1.Raid基本情况 Raid:磁盘阵列 ·把多块物理磁盘按不同方式组合起来形成磁盘,逻辑上是一块磁盘,这就是Raid技术: ·R ...

  9. 【硬件】存储的RAID技术详解

    存储的 RAID 技术详解 1.RAID 技术: 存储中的控制器将硬盘按照某种规则进行整合,从而加快了存储中硬盘的读写效率. 2.RAID 技术特点 ( 1 )提供存储中硬盘的冗余 ( 2 )提高存储 ...

  10. 【Computer Organization笔记23】非易失性存储:磁表面存储设备,磁盘的访问过程,RAID技术

    本次笔记内容: P45 计算机组成原理(45) P46 计算机组成原理(46) 我的计组笔记汇总:计算机组原理成笔记 视频地址:计算机组成原理 清华大学刘卫东 全58讲 国家精品课程 1080P 更完 ...

最新文章

  1. c语言 简单编程题,c语言简单编程练习题.doc
  2. shell正则表达二
  3. 1-Qt6在线安装图文步骤
  4. ASP.NET Core 中的静态文件
  5. 分析现有 WPF / Windows Forms 程序能否顺利迁移到 .NET Core 3.0
  6. 后台系统可扩展性学习笔记
  7. python入门--基本语法
  8. CCF201712-1 最小差值(100分)
  9. 《深入理解Spark:核心思想与源码分析》——SparkContext的初始化(叔篇)——TaskScheduler的启动...
  10. android对象识别实验报告,20162302 实验四《Android程序设计》实验报告
  11. 求二叉树左右子树高度差_LeetCode刷题实战110:平衡二叉树
  12. HTML5 基础入门教程
  13. IDEA 设置 vue 支持开发
  14. win10下装黑苹果双系统_win10下安装双系统:黑苹果10.13.5(17F77)教程!
  15. CUX:固定资产台账报表源代码(信息较全)
  16. win10可以登录QQ微信 浏览器不能打开网页
  17. h标签,b标签,em,i ,u,s标签
  18. Ubuntu 14.04出现“device not managed”错误及ubuntu可以ping通外网浏览器上不了网。
  19. 两化融合资质认证流程
  20. 糊里糊涂违背了规则,硅胶制品很是懊悔

热门文章

  1. Unity 2019.1 使用Denoise大大减少光照贴图的烘烤时间
  2. mysql 5.7.20免安装_Windows下MySQL 5.7.20 免安装版配置
  3. 在谷歌搜索框内不显示搜索记录
  4. java poi 自动行高_Java POI Excel 行高自适应
  5. .Net Core过滤器分类
  6. 023_fireshot
  7. xlsx表格怎么筛选重复数据_excel表格中如何筛选重复数据
  8. excel打乱各行的顺序,实现无序随机排列
  9. 运行vue项目遇到的bug
  10. js判断页面第一次加载或者是否执行了刷新操作