标签:特性 博客 思想 das content ash link 完整性 硬盘
前言:本文是由众多关于RAID磁盘阵列的文章博客整理而来,感谢各位前辈~
RAID ( Redundant Array of Independent Disks )即独立磁盘冗余阵列,通常简称为磁盘阵列。简单地说, RAID 是由多个独立的高性能磁盘驱动器组成的磁盘子系统,从而提供比单个磁盘更高的存储性能和数据冗余的技术。
RAID级别可以分为三类:标准级别、非标准级别和嵌套(组合)级别。标准RAID 级别有RAID 0~6 七个等级,其中最常用的是0、1、5。
从实现角度看,RAID主要分为软件RAID、硬件RAID以及软硬混合RAID三种。
RAID 的两个关键目标是提高数据可靠性和 I/O 性能。
RAID 中主要有三个关键概念和技术:镜像( Mirroring )、数据条带( Data Stripping )和数据校验( Data parity )。
不同等级的 RAID 采用一个或多个以上的三种技术,来获得不同的数据可靠性、可用性和 I/O 性能。至于设计何种 RAID (甚至新的等级或类型)或采用何种模式的 RAID ,需要在深入理解系统需求的前提下进行合理选择,综合评估可靠性、性能和成本来进行折中的选择
主要参考:
https://www.sohu.com/a/226786837_100128442 或 http://www.360doc.com/content/18/0512/11/37015604_753316374.shtml (关于磁盘阵列,这是我见过最全面、最好的一篇文章!)
https://baike.baidu.com/item/%E7%A3%81%E7%9B%98%E9%98%B5%E5%88%97/1149823?fr=aladdin (百度百科:磁盘阵列)
==========================分割线============================
PS:标红的RAID为比较常用的,即RAID 0,1,5,10
把连续的数据分散到n块硬盘上存取。数据请求可被n个磁盘并行执行,从而充分利用总线带宽,显著提高磁盘整体存取性能。理论存储速度是单块硬盘的n倍(但由于总线带宽等多种因素的限制,实际性能低于理论值)
所需磁盘数:>=2
实际容量:n*min (注:n为硬盘数,min为最小的一块硬盘的容量。下同)
容错能力:无。任意一块磁盘故障都将导致所有数据不可恢复。
特点:读写性能最好的RAID等级,硬盘利用率最高(100%)。但安全性最低。
n块(一般n=2)硬盘互为镜像以实现数据冗余。当一个硬盘出现故障时,换上一块新硬盘(>=原硬盘容量)即可自动恢复数据和重组RAID模式。当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID 1可以提高读取性能。
所需磁盘数:>=2
实际容量:1*min
容错能力:有,最多可坏n-1块硬盘
特点:提供最好的容错能力,但硬盘实际可用容量较小,磁盘利用率最低(1/n),单位成本最高。
其设计思想是利用海明码实现数据校验冗余。数据宽度越大,存储空间利用率越高,但同时需要的磁盘数量也越多。自身具备纠错能力,但是,海明码的数据冗余开销太大,数据重建非常耗时,因此RAID 2在实际中很少应用。
采用一个专用的磁盘作为校验盘(奇偶盘),其余磁盘作为数据盘,数据按位可字节的方式交叉存储到各个数据盘中。RAID3 至少需要三块磁盘,不同磁盘上同一带区的数据作 XOR 校验,校验值写入校验盘中。向 RAID3 写入数据时,必须计算与所有同条带的校验值,并将新校验值写入校验盘中。一次写操作包含了写数据块、读取同条带的数据块、计算校验值、写入校验值等多个操作,系统开销非常大,性能较低。
所需磁盘数:>=3
实际容量:磁盘利用率为(n-1)/n
容错能力:有
特点:完好时读性能与RAID 0一致,还提供容错能力。但是写开销较大。对于随机数据来说,校验盘会成为性能瓶颈。
RAID4与RAID3的原理大致相同。提供了非常好的读性能,但写性能比较差。而且随着成员磁盘数量的增加,校验盘的系统瓶颈将更加突出。在实际应用中很少使用。
RAID 5是RAID 0和RAID 1的折中方案。RAID5不对存储的数据做备份,而是把数据和相对应的奇偶校验信息存储到组成RAID 5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当RAID 5的一个磁盘数据发生损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。
所需磁盘数:>=3
实际容量:(n-1)*min。磁盘利用率为(n-1)/n
容错能力:有,最多可坏1块硬盘
特点:写性能低,读性能高。利用奇偶校验进行冗余,可容错,安全性高。
前面所述的各个 RAID 等级都只能保护因单个磁盘失效而造成的数据丢失。如果两个磁盘同时发生故障,数据将无法恢复。 RAID 6 引入双重校验的概念,它可以保护阵列中同时出现两个磁盘失效时,阵列仍能够继续工作,不会发生数据丢失。 RAID 6 等级是在 RAID 5 的基础上为了进一步增强数据保护而设计的一种 RAID 方式,它可以看作是一种扩展的 RAID 5 等级。
RAID 6 不仅要支持数据的恢复,还要支持校验数据的恢复,因此实现代价很高,控制器的设计也比其他等级更复杂、更昂贵。 RAID 6 思想最常见的实现方式是采用两个独立的校验算法,假设称为 P 和 Q ,校验数据可以分别存储在两个不同的校验盘上,或者分散存储在所有成员磁盘中。当两个磁盘同时失效时,即可通过求解两元方程来重建两个磁盘上的数据。
RAID 6 具有快速的读取性能、更高的容错能力。但是,它的成本要高于 RAID 5 许多,写性能也较差,并有设计和实施非常复杂。因此, RAID 6 很少得到实际应用,主要用于对数据安全等级要求非常高的场合。它一般是替代 RAID 10 方案的经济性选择。
所需磁盘数:>=4
实际容量:(n-2)*min。磁盘利用率为(n-2)/n
容错能力:有,最多可坏2块硬盘
特点:安全性非常高,主要用于对数据安全等级要求非常高的场合
========================分割线==========================
标准RAID等级各有优势和不足。把多个RAID等级组合起来,实现优势互补,弥补相互的不足,从而达到在性能、数据安全性等指标上更高的RAID系统。当然,组合等级的实现成本一般都非常昂贵,只是在少数特定场合应用。
实际得到较为广泛应用的只有RAID01和RAID10两个等级。RAID 10 和 RAID 01 的区别:
参考:
https://wenku.baidu.com/view/e3f5569ab52acfc789ebc9c8.html (各种Raid区别与解释)
RAID 10 是 RAID 1 和 RAID 0 的组合体。RAID 10技术需要至少四块硬盘来组建,其中先分别两两制作成RAID 1磁盘阵列,以保证数据的安全性;然后再对两个RAID 1磁盘阵列实施RAID 0技术,进一步提高硬盘设备的读写速度。这样子从理论上讲,只要坏的不是同一组中的所有硬盘,那么最多可以损坏50%的硬盘设备而不丢失数据。由于RAID 10技术继承了RAID 0的高读写速度和RAID 1的数据安全性。
所需磁盘数:>=4 (偶数)
实际容量:(n/2)*min
容错能力:有,每个RAID 1组最多可坏1块硬盘
特点:兼顾性能和安全性,但磁盘利用率低(50%)
主要参考:
https://www.hack520.com/169.html(图文并茂 RAID 技术全解 – RAID0、RAID1、RAID5、RAID100……)
https://blog.csdn.net/weixin_38808609/article/details/81663621 (常见RAID的各级别的特性简介(RAID0、1、5、6、10))
http://www.05bk.com/68.html (RAID技术讲解-RAID0、RAID1、RAID3、RAID5、RAID6、RAID10对比)
========================分割线==========================
(参考的图忘了出处,侵删~)
========================完结撒花==========================
标签:特性 博客 思想 das content ash link 完整性 硬盘
原文地址:https://www.cnblogs.com/iouwenbo/p/11613867.html