1.基本概念
RAID( Redundant Array of Independent Disks )
即独立磁盘冗余阵列,它是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术。
RAID
的基本思想是将多个容量较小、相对廉价的磁盘进行有机组合,从而以较低的成本获得与昂贵大容量磁盘相当的容量、性能、可靠性。
2.RAID
分类
从大的方向来划分,分两类:
软RAID
所有功能均由操作系统和CPU
来完成,没有独立的RAID
控制器处理芯片和I/O
处理芯片,效率低。
硬RAID
配备了专门的 RAID
控制器处理芯片和 I/O
处理芯片以及阵列缓冲,不占用CPU
资源,但成本高。
3.RAID
的关键技术
RAID
的关键技术有3
个,其特点如下表:
关键技术 | 技术特点 |
---|
镜像 | Mirroring,将数据复制到多个磁盘。一方面可以提高可靠性,另一方面可并发从两个或多个副本读取数据来提高读性能。显而易见,镜像的写性能要稍低, 确保数据正确地写到多个磁盘需要更多的时间消耗。 |
数据条带 | 将数据分片保存在多个不同的磁盘,多个数据分片共同组成一个完整数据副本,这与镜像的多个副本是不同的,它通常用于性能考虑。数据条带具有更高的并发粒度,当访问数据时,可以同时对位于不同磁盘上数据进行读写操作, 从而获得非常可观的 I/O 性能提升。 |
数据校验( Data parity ) | 利用冗余数据进行数据错误检测和修复,冗余数据通常采用海明码、异或操作等算法来计算获得。利用校验功能,可以很大程度上提高磁盘阵列的可靠性和容错能力。不过,数据校验需要从多处读取数据并进行计算和对比,会影响系统性能。 |
4.RAID
的等级
一般公认的标准是 RAID0
~ RAID5
。
实际应用领域中使用最多的RAID
等级是 RAID0
、 RAID1
、RAID5
、RAID10
。
RAID
每一个等级代表一种实现方法和技术,等级之间并无高低之分。
4.1 RAID 0
称为条带模式。
即把连续的数据分散到多个磁盘上存取。当系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求。这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能。因为读取和写入是在设备上并行完成的,读取和写入性能将会增加,这通常是运行RAID0
的主要原因。但RAID0
没有数据冗余,如果驱动器出现故障,那么将无法恢复任何数据。
用1块磁盘可以做RAID0
。

4.2 RAID 1
RAID 1
又称为磁盘镜像(Mirroring)
。
它是一个具有全冗余的模式。
RAID 1
可以用于两个或2xN
个磁盘,并使用0
块或更多的备用磁盘,每次写数据时会同时写入镜像盘。这种阵列可靠性很高,但其有效容量减小到总容量的一半,同时 这些磁盘的大小应该相等,否则总容量只具有最小磁盘的大小。RAID 1
的数据安全性在所有的RAID
级别上来说是最好的。但是其磁盘的利用率却只有50%
,是所有RAID
级别中最低的。至少需要2块
硬盘来做RAID1
。

4.3 RAID 5
RAID 5
是一种存储性能、数据安全和存储成本兼顾的存储解决方案。RAID 5
可以理解为是RAID 0
和RAID 1
的折中方案。
其特点是:
应用场景:
适合多读少写的情景,是性能与数据冗余最佳的折中方案。

4.4 RAID 1+0
RAID 1+0
(又叫RAID 10
)
特点:
- 先按
RAID1
分成两组,再分别对两组按RAID 0
方式条带化 (先做镜像,然后再做条带)
在实际应用中较为常用。

4.5 RAID 0+1
又叫RAID 01
特点:
- 先按
RAID 0
分成两组,再分别对两组按RAID 1
方式镜像(先做条带,然后再做镜像)

5.生产服务器磁盘RAID选型
对于在实际生产环境中,RAID
选型参考如下表:
类型 | 读写性能 | 安全性 | 磁盘利用率 | 成本 | 应用方面 |
---|
RAID0 | 最好(因并行性而提高) | 最差(完全无安全保障) | 最高(100%) | 最低 | 对安全性要求不是特别高、大文件写存储的系统 |
RAID1 | 读与单个磁盘无分别,写则要写两边 | 最高(提供数据的百分之百备份) | 差(50%) | 较高 | 适用于存放重要数据,如服务器和数据库存储等领域。 |
RAID5 | 读:RAID 5=RAID 0 (相近似的数据读取速度) 写:RAID 5 <对单个磁盘进行写入操作(多了一个奇偶校验信息写入) | RAID 5<RAID 1 | RAID 5>RAID 1 | 中等 | 是一种存储性能、数据安全和存储成本兼顾的存储解决方案。 |
RAID10 | 读:RAID10=RAID0 写:RAID10=RAID1 | RAID10=RAID1 | RAID10=RAID1(50%) | 较高 | 集合了RAID0 ,RAID1 的优点,但是空间上由于使用镜像,而不是类似RAID5 的“奇偶校验信息”,磁盘利用率一样是50% 。 |