什么是Raid
独立硬盘冗余阵列(RAID, Redundant Array of Independent Disks),旧称廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks),简称磁盘阵列。利用虚拟化存储技术把多个硬盘组合起来,成为一个或多个硬盘阵列组,目的为提升性能或资料冗余,或是两者同时提升。
在运作中,取决于 RAID 层级不同,资料会以多种模式分散于各个硬盘,RAID 层级的命名会以 RAID 开头并带数字,例如:RAID 0、RAID 1、RAID 5、RAID 6、RAID 7、RAID 01、RAID 10、RAID 50、RAID 60。每种等级都有其理论上的优缺点,不同的等级在两个目标间获取平衡,分别是增加资料可靠性以及增加存储器(群)读写性能。
简单来说,RAID把多个硬盘组合成为一个逻辑硬盘,因此,操作系统只会把它当作一个实体硬盘。RAID常被用在服务器电脑上,并且常使用完全相同的硬盘作为组合。
磁盘阵列比较表
| RAID等级 | 最少硬盘 | 最大容错 | 可用容量 | 读取性能 | 写入性能 | 安全性 | 目的 | 应用产业 |
|---|---|---|---|---|---|---|---|---|
| 单一硬盘 | (参考) | 0 | 1 | 1 | 1 | 无 | ||
| 无raid | 1 | 0 | n | 1 | 1 | 无(同RAID 0) | 增加容量 | 个人(暂时)存储备份 |
| 0 | 2 | 0 | n | n | n | 一个硬盘异常,全部资料都会异常 | 追求最大容量、速度 | 影片剪接缓存用途 |
| 1 | 2 | n-1 | 1 | n | 1 | 高,一个正常即可 | 追求最大安全性 | 个人、企业备份 |
| 5 | 3 | 1 | n-1 | n-1 | n-1 | 中下至中 | 追求最大容量、最小预算 | 个人、小型企业备份 |
| 6 | 4 | 2 | n-2 | n-2 | n-2 | 中至中高,仅安全性较RAID 5高 | 同RAID 5,但较安全 | 个人、企业备份 |
| 10 | 4 | 高 | 综合RAID 0/1优点,理论速度较快 | 大型数据库、服务器 | ||||
| 50 | 6 | 高 | 提升资料安全 | |||||
| 60 | 8 | 高 | 提升资料安全 |
n代表磁盘数量
标准RAID
RAID 0
RAID 0 又称为Stripe(条带化)或striping(条带模式),它在所有RAID级别中具有最高的存储性能(磁盘容量不浪费,硬盘越多读写越快)。
RAID 0 提高存储性能的原理是把连续的数据分散到多个磁盘上存取,这样,系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求,这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能。
| 关注点 | 描述 |
|---|---|
| 容量 | 是5块盘加在一起的容量。在所有RAID级别中具有最高的存储性能,原理是把连续的数据分散到多个磁盘上存取。 |
| 性能 | 理论上磁盘读写速度比单盘提升5倍,但由于总线带宽等多种因素的影响,实际的提升速率肯定会低于理论值,但是,大量数据并行传输与串行传输比较,提速效果显然毋庸置疑,磁盘越多倍数越小。 |
| 冗余 | 无任何冗余,坏1块盘,整个RAID就不能用了 |
| 场合 | 适合于大规模并发读写,但对数据安全性要求不高的情况。 |
| 特点 | 速度快,无冗余,容量无损失 |
RAID 1
RAID 1 又称为Mirror 或Mirrooring(镜像),它的宗旨是最大限度的保证用户数据的可用性和可修复性,RAID 1 的操作方式是把用户写入硬盘的数据百分之百的自动复制到另外一个硬盘上,从而实现存储双份的数据。
| 关注点 | 描述 |
|---|---|
| 容量 | 损失50%的数据容量,列如2块1T的盘,做完RAID1后容量为1T |
| 性能 | Mirror不能提高存储性能,理论上写性能和单盘差不多。 |
| 冗余 | 在所有RAID级别中,RAID1提供最高的数据安全保障,冗余度100% |
| 特点 | 100%冗余,容量损失半。 |
RAID 5
RAID 5是一种存储性能,数据安全和存储成本兼顾的存储解决方案。
RAID 5需要三块或以上的物理磁盘,可以提供热备盘实现故障恢复,采用**奇偶校验,**可靠性强,只有同时损坏2块盘时数据才会损坏,只损坏1块盘时,系统会根据存储的奇偶校验位重建数据,临时提供服务,此时如果有热备盘,系统还会自动在热备盘上重建故障磁盘上的数据。
| 关注点 | 描述 |
|---|---|
| 性能 | RAID 5 具有和RAID 0 相近的数据读取速度,只是多了奇偶校验信息,写入数据速度比单个磁盘写入操作稍慢。 |
| 容量 | 损失一块盘的数据容量 |
| 冗余 | 可损失一块盘,RAID数据安全保障程度比RAID 1 低而磁盘空间利用率要比raid 1 高 |
| 场合 | RAID 5 可以理解为是RAID 0 和RAID 1的折中方案,适合对性能和冗余都有一定要求,又都不是十分高的情况。mysql的主从库都可以,存储也可以,普通的服务器为了减少维护成本,又保持一定冗余和读性能都可以做RAID 5 |
| 特点 | 容量损失一块盘,写数据通过奇偶校验,RAID 1和 RAID 0的折中方案 |
raid10
RAID 1+0 也被称为RAID 10标准,实际是将RAID 1和RAID 0标准结合的产物,在连续地以位或字节为单位分割数据并且并行读/写多个磁盘的同时,为每一块磁盘作磁盘镜像进行冗余。它的优点是同时拥有RAID 0的超凡速度和RAID 1的数据高可靠性,但是CPU占用率同样也更高,而且磁盘的利用率比较低。极高的读写效率和较高的数据保护、恢复能力
注意一下Raid 10 和 Raid01的区别:
RAID01又称为RAID0+1,先进行条带存放(RAID0),再进行镜像(RAID1)。
RAID10又称为RAID1+0,先进行镜像(RAID1),再进行条带存放(RAID0)。
| 关注点 | 描述 |
|---|---|
| 性能 | 极高的读写效率和较高的数据保护、恢复能力 |
| 冗余 | RAID10提供100%的数据冗余 |
| 应用场合 | RAID 10适用于数据库存储服务器等需要高性能、高容错但对容量要求不大的场合 |
| 特点 | RAID 1和RAID 0标准结合的产物 |