RAID技术
RAID(Redundant Array of Independent Disks):独立冗余磁盘阵列,简称磁盘阵列。
RAID 的主要实现方式分为硬件 RAID 方式和软件 RAID 方式。
- 硬件 RAID:采用
集成了处理器的 RAID 适配卡
(简称 RAiD 卡)来说实现的。它有自己的控制处理器、I/O 处理芯片和存储器,减少对上机 CPU 运算时间的占用,塔高数据传输速度。- 软件 RAID:安全依赖于主机的 CPU,没有额外的处理器和 I/O 芯片,
软件 RAID 需要占用 CPU 处理周期,并且依赖于操作系统。
- 通过对硬盘上的数据进行
条带化,实现对数据成块存取
,减少硬盘的机械寻道时间,提高了数据存取速度。- 通过
对一阵列中的几块硬盘同时读取(并行访问)
,减少了硬盘的机械寻道时间,提高了数据存取速度。- 通过
镜像或者存储奇偶校验信息的方式,实现了对数据的冗余保护
。
1. RAID技术
- RAID 采用
分条带,并行的方式进行存储
。更有效的数据组织。 - RAID 采用
校验、镜像的方式对数据安全提供保护
。 - 条带:磁盘中单个或者多个连续的扇区构成一个条带。它是组成分条的元素。 注:硬盘容量大小。硬盘接口类型,硬盘速率要求都要保持相同。
- 分条:
同一磁盘阵列中的多个磁盘驱动器上的相同 “位置”(或者说是相同编号)的条带
。 - 分条宽度:
指在一个分条中数据成员盘的个数
; - 分条深度:
指一个条带的容量大小
。
- RAID 技术通常有 2 种不同的方式进行数据保护。
- 一种方法是在另一块冗余的硬盘上保存数据的副本。
- 二是使用奇偶校验算法。奇偶校验码是使用用户数据计算出的额外信息。对于使用奇偶校验的 RAID 类型,它意味着需要额外的校验硬盘。奇偶校验采用的是异或(XOR 的计算符号⊕)算法。
2. RAID 技术与应用
RAID 技术
将多个单独的物理硬盘以不同的方式组合成一个逻辑硬盘
,提高了硬盘的读写性能和数据安全性,根据不同的组合方式可以分为不同的 RAID 级别。常用 RAID 级别有:RAID0、RAID1、RAID3、RAID5、RAID6、组和 RAID:RAID10、RAID50。
.1. RAD0
数据条带化,无校验
。它代表了所有 RAID 接班中最高的存储性能,RAID 0 至少使用两个磁盘驱动器。- 优点:在读的过程中是多块硬盘同时进行工作。读写性能是最高的。磁盘利用率最高。
- 缺点:
没有冗余。阵列中某一个驱动器发生故障,将导致其中的数据丢失
。
- 一个
JBOD(Just a Bundle OfDisks,简称一堆硬盘)
是一组硬盘组合成一个虚拟的大硬盘。与 RAID 0 最大的区别是,一个 JBOD 的数据块不是同时并行写入不同硬盘的。在 JBOD 中,只有将第一块硬盘的存储空间使用完,才会使用第二块硬盘。所以JBOD 总的可用容量是所有个硬盘容量的总和,但性能是单个硬盘的性能!
.2. RAID 1
- 数据镜像,无校验。RAID 1
使用两组磁盘互补镜像,速度没有提高,但允许单个磁盘故障
,数据可靠性最高。 - 一个 RAID 1 组存储的数据量只是单个硬盘的容量,另一硬盘保存的是数据的副本,相当于每一 G 字节的数据存储占用了 2G 字节的硬盘空间,所以说两个硬盘组成的 RAID 1 的空间利用率是 50%。
- 优点:可以允许有一份数据可丢失。
- 缺点:读写性能不如 RAID 0。但读性能与 RAID 0 相似。写的性能比 RAID 0 有很大差距。
.3. RAID 3
-
数据条带化读写,校验信息存放 + 专用硬盘
。当 N+1 个硬盘中的其中一个硬盘出现故障时,可以通过硬盘恢复数据。
-
一块专用硬盘(校验盘)用来保存同一分条上其他硬盘上的相应的条带中的数据的奇偶校验值。如果检测到不正确的数据或硬盘出现故障,我们可以利用奇偶校验信息来恢复故障硬盘上的数据。
-
优点:冗余较好。
-
缺点:在校验过程汇中,容易出现校验盘负载过大,使整个校验盘失效。在数据写入时,是写入最慢的,每次写入都要与校验盘校验,校验盘也成为这个存储的瓶颈。数据读取相对较快,采用多块硬盘同时读取。
通常情况下,RAID 3 组的所有的硬盘会在分条过程中合作,N 个硬盘会并行写入。但当新写入的数据较少,只需写入一个或两个硬盘时,按照 RAID 3 的工作原理,
仍需要读所有的硬盘以便重新计算新的奇偶校验值。
这种少量写入数据的场景,因为需要额外的读和写操作,相对于对单个硬盘进行数据写入,并没有提升硬盘的性能,这种情况被称为 RAID 3 的 “写惩罚”。RAID 3 的写入性能取决于更改数据的数量、硬盘的数目、以及计算和存储奇偶校验信息所需的时间。假定一个 RAID 3 的硬盘数为 N,当所有成员盘的转速相同时,在不考虑写惩罚,满分条写的情况下,RAID 3 的顺序 IO 写性能理论上略小于 N-1 倍单个硬盘的性能(计算冗余校验需要额外的计算时间)。
.4. RAID 5
- 数据条带化,校验信息分布式存放。分布式奇偶校验码的独立磁盘结构。校验信息均匀的分部在阵列所属的硬盘上,
每块硬盘上既有数据信息也有校验信息
。 - RAID5 最少硬盘数为 3 块,假定一个 RAID 5 的硬盘数为 N,其中有效用户数据存储容量为 N-1 个硬盘的容量。与其他 RAID 一样,RAID 5 阵列中的成员盘的容量和转速应该是相同的。
在 RAID 3 级别和 RAID 5 级别的硬盘阵列中,如果一个硬盘失效,该硬盘组将从在线(正常)状态转变为降级状态,直到完成重构失效硬盘。如果 RAID 中的另一个硬盘也出现故障,则硬盘组的数据将丢失。
- 优点:
校验信息在每块盘上,相对出故障的概率更小
。数据写入相对比较快,所有盘都参与进来做校验。数据读取相对以比较快,采用条带化存储。可靠性高。 - 缺点:
当有两块磁盘出现故障时,磁盘失效
。
.5. RAID 6
带有两个校验的独立磁盘结构,采用两种奇偶校验方法
。需要至少 N+2(N>2)个磁盘构成阵列
。一般用在数据可靠性,可用性要求高的应用场合。
-
RAID 6P+Q: RAID6P+Q 需要计算出两个校验数据 P 和 Q,当有两个数据丢失时,根据 P 和 Q 恢复出丢失的数据。相当于两次 RAID5 的过程。校验数据 P 和 Q 是由以下公式计算得来的:
P=D0⊕D1⊕D2…… Q=(α⊗D0)⊕(β⊗D1)⊕(γ⊗D2)……
优点:可以允许有两块盘同时出现故障,而不影响整个数据的丢失。数据磁盘的可丢失率为 2.
缺点:因为要做两次校验,所需写入性能相对一般。数据读取比较快。
- RAID 6 DP: DP-DoubleParity,就是在 RAID4 所
使用的一个行 XOR 校验磁盘的基础上又增加了一个磁盘用于存放斜向的 XOR 校验信息
。
横向校验盘中 P0—P3 为各个数据盘中横向数据的校验信息
例:P0=D0 XOR D1 XOR D2 XO RD3
斜向校验盘中 DP0—DP3 为各个数据盘及横向校验盘的斜向数据校验信息
例:DP0=D0 XOR D5 XOR D10 XOR D15
优点:可以允许有两块盘同时出现故障,而不影响整个数据的丢失。数据磁盘的可丢失率为 2.
缺点:数据写入过程比较慢。读取比较快。
.6. RAID 10
- 是将镜像和条带进行组合的 RAID 级别,
先进行 RAID1 镜像然后再做 RAID0
。RAID10 也是一种应用比较广泛的 RAID 级别。
.7. RAID 50
- 将 RAID5 和 RAID0 进行两级组合的 RAID 级别,第一级是 RAID5,第二级为 RAID0。至少需要 6 块硬盘。
3. RAID 技术比较
4. RAID 数据保护,RAID 与 LUN
.1. 热备盘
-
热备(HotSpare):当冗余的 RAID 阵列中某个磁盘失效时,在不干扰当前 RAID 系统正常使用的情况下,用 RAID 系统中
另外一个正常的备用磁盘顶替失效磁盘
。 -
全局热备盘
-
局部热备盘。
-
热备盘要求和 RAID 组成员盘的
容量,接口类型,速率一致,最好是采用同一厂家的同型号硬盘
。
.2. 预拷贝
- 系统通过监控发现 RAID 组中某成员盘
即将故障时
,将即将故障成员盘中的数据提前拷贝到热备盘中,有效降低数据丢失风险。
.3. 重构
- RAID 阵列中
发生故障的磁盘上的所有用户数据和校验数据的重新生成
,并将这些数据写到热备盘上的过程。
.4. RAID 与 LUN
- RAID 由几个硬盘组成,从整体上看相当于由多个硬盘组成的一个大的物理卷。在物理卷的基础上可以按照指定容量创建一个或多个逻辑单元,这些逻辑单元称作 LUN,可以做为映射给主机的基本块设备。
5. RAID 2.0
.1. 原理介绍
- RAID 2.0:为增强型 RAID 技术,
有效解决了机械硬盘容量越来越大,重构一块机械硬盘所需时间越来越长
,传统 RAID 组重构窗口越来越大而导致重构期间又故障一块硬盘而彻底丢失数据风险的问题。 - RAID2.0+:在 RAID 2.0 的基础上提供了
更细粒度(可以达几十 KB 粒度)的资源颗粒,形成存储资源的标准分配及回收单位
,类似计算虚拟化中的虚拟机,我们称之为虚拟块技术。 - 华为 RAID2.0+:是华为针对传统 RAID 的缺点,设计的一种满足存储技术虚拟化架构发展趋势的全新的 RAID 技术,其变传统固定管理模式为两层虚拟化管理模式,在底层块级虚拟化(Virtual for Disk)硬盘管理的基础之上,通过一系列 Smart 效率提升软件,实现了上层虚拟化(Virtual for Pool)的高效资源管理。
- 将硬盘划分成
若干个连续的固定大小的存储空间
,称为存储块(chunk)简称 CK
。- Ck
按 RAID 策略组合成 RAID 组
,称为存储块组(chunkgroup)简称 CKG
。在 CKG 中划分若干小数据块(extent)
,LUN 就是由来自不同 CKG 的 extent 组成
。用作热备空间的 CK 也是分散在各个盘上的
。
.2. 优势
- 提升LUM单元
- 系统可靠性高