目录
说明:
这可能是全网最全面、最详细、最实用、最权威的服务器raid卡与raid级别科普文章了,并且总结了各raid级别允许坏盘数量、可靠性、读性能、写性能、磁盘利用率、应用场景等。
一、相关概念
RAID:Redundant Arrays of Independent Disks意为“独立磁盘构成的具有冗余能力的阵列”
目的:在存储技术还未普及时,大容量硬盘比较昂贵,为了将多个容量较小、相对廉价的硬盘进行有机组合,以较低的成本获得与昂贵大容量硬盘相当的容量、性能、可靠性,RAID技术应运而生。
现如今,各行各业有对于数据处理、存储能力的要求越来越高,单一硬盘早已经不能满足需要,因此,RAID技术进一步发展。
容错(Fault Tolerance)
- 容错是指在子系统出现磁盘错误或磁盘故障时,可以保证数据完整性和数据处理能力。RAID卡通过冗余的磁盘组在RAID 1、5、6、10、50、60上实现此功能。
- 在RAID 1中,由于数据镜像存储于成对的磁盘上,因此在成对的磁盘中的一个产生错误或故障时,不会造成数据丢失。同理,在RAID 5中,允许1个磁盘故障;在RAID 6中,允许2个磁盘故障。
- 而对于包含多个子组的RAID,RAID 10、50允许故障盘的个数与子组数相同,但是要求每个子组只能包含1个故障盘。RAID 60允许故障盘的个数为子组数的2倍,要求每个子组最多包含2个故障盘。
数据重建(Disk Rebuilds)
- 当RAID组列中的硬盘发生故障或者一致性校验发现数据错误时,可以通过重新创建硬盘中之前的数据或者对数据进行修正的方式,对硬盘进行重建。
- 只有具有数据冗余能力的RAID组列才能执行重建,其中包括RAID 1、5、6、10、50和60。由于RAID 0不具备冗余性,因此不支持一致性校验。
硬盘直通
- 硬盘直通,即“JBOD”功能,又称指令透传,是不经过传输设备处理,仅保证传输质量的一种数据传输方式。
- 打开硬盘直通功能后,RAID控制器可对所连接的硬盘进行指令透传,在不配置虚拟磁盘的情况下,用户指令可以直接透传到硬盘,方便上层业务软件或管理软件访问控制硬盘。
校验(Parity)
- 校验从父数据集生成一组冗余数据。发生驱动器故障时,冗余数据可用于重建父数据集之一。
一致性校验(Consistency Check)
- 一致性校验是验证具有冗余能力的RAID组列(RAID1/5/6/10/50/60)中条带上的数据是否一致,如果不一致会对错误进行标记并尝试做自动修复。
- 该过程中RAID控制器会对成员盘中的数据进行检查和计算,生成新的校验数据与校验盘中的数据进行比对,若出现不一致,则会使用新的奇偶校验数据修正错误数据。
- 针对有冗余功能的RAID 1、5、6、10、50、60由于RAID 0不具备冗余性,因此不支持一致性校验
巡读(Patrol Read)
- 巡读功能通过对控制器下的硬盘进行巡回检查,以发现可能导致硬盘故障的潜在错误,然后采取措施纠正错误。巡读的目的是在数据损坏之前检测出硬盘故障,从而保护硬盘上数据的完整性。
- 巡读操作仅在控制器闲置了一段规定的时间后,并且没有其他后台任务执行时才会开始。
热备份(Hot Spares)
硬盘条带化(Disk Striping)
- 硬盘条带化是指将一块连续的数据分成很多规定大小的数据块,并把它们分别存储到不同硬盘上的方法
由于数据存放在不同的硬盘上,那么在顺序访问这些数据的时候,就可以同时从多个不同的硬盘获取数据,按照并行的方式处理数据,大大提高了I/O性能。
硬盘节能(Power-Save)
二、RAID级别
RAID0-Striped Disk Array without Fault Tolerance(没有容错设计的条带磁盘阵列)
•一种简单的、无数据校验的数据条带化技术。
RAID1-Mirroring and Duplexing(相互镜像)
- RAID1 称为镜像,它将数据完全一致地分别写到工作磁盘和镜像磁盘,它的磁盘空间利用率为 50% 。
- RAID1 在数据写入时,响应时间会有所影响
RAID5-Indenpent Data disks with distributed parity blocks(独立的数据磁盘与分布式校验块)
特点:
- 数据以块分段条带化存储。
- 校验信息交叉地存储在所有的数据盘上。
- 平衡性能与数据冗余
RAID6
特点:
- 双重校验:与RAID 5相比,RAID 6增加了第二个独立的奇偶校验信息块。
- 两个独立的奇偶系统使用不同的算法
- 数据的可靠性更高,可允许两块磁盘同时失效
- 但需要分配给奇偶校验信息更大的磁盘空间,成本更高
- 写性能比RAID5差。
- 需要4盘及以上(部分算法可允许3盘)
- 校验信息交叉地存储在所有的数据盘上
高级RAID:
- RAID10:先组建RAID1,再使用多组RAID1组建RAID0;
- RAID01:先组建RAID0,再使用RAID0组建RAID1;以四块硬盘RAID10/01为例,由于RAID10冗余度高,所以优于RAID01
- RAID5E:在RAID5的基础上每块盘预留一部分空间做热备空间使用;
- RAID5EE:在RAID5E的基础上将预留的热备空间条带化;
- RAID50:先组建RAID5,再使用多组RAID5组建RAID0;