RAID

提高IO能力

磁盘并行读写

提高耐用性

磁盘冗余来实现

  • 级别:多块磁盘组织在一起的工作方式有所不同

RAID实现的方式

外接式磁盘阵列:通过扩展卡提供适配能力
内接式RAID:主板集成RAID控制器,安装OS前在BIOS里配置
软件RAID:通过OS实现

RAID级别

RAID-0:条带卷,strip
RAID-1:镜像卷,mirror
RAID-2
…………
RAID-5
RAID-6
RAID-10
RAID-01

Raid0

读、写性能提升
可用空间:N*min(S1,S2,...) 即磁盘数N乘以所有磁盘空间里最小的那个Smin。
无容错能力
最少磁盘数:2, 2+

RAID-1:

读性能提升、写性能略有下降
可用空间:1*min(S1,S2,...)
有冗余能力
最少磁盘数:2, 2N

RAID-4:

多块数据盘异或运算值存于专用校验盘

  • 注意raid4基本不用,因为当做校验位的硬盘比其他硬盘容易损坏,生产中用的是raid5,校验位分别存放到多个硬盘上。

RAID-5:

读、写性能提升
可用空间:(N-1)*min(S1,S2,...)
有容错能力:允许最多1块磁盘损坏
最少磁盘数:3, 3+

RAID-6:

读、写性能提升
可用空间:(N-2)*min(S1,S2,...)
有容错能力:允许最多2块磁盘损坏
最少磁盘数:4, 4+

  • 线性代数最大线性相关组概念,多一个冗余方程,多一组备份允许多坏一块硬盘

RAID-10:

读、写性能提升
可用空间:N*min(S1,S2,...)/2
有容错能力:每组镜像最多只能坏一块
最少磁盘数:4, 4+

RAID-01

多块磁盘先实现RAID0,再组合成RAID1

RAID-50

多块磁盘先实现RAID5,再组合成RAID0

JBOD:Just a Bunch Of Disks

功能:将多块磁盘的空间合并一个大的连续空间使用
可用空间:sum(S1,S2,...)

RAID7

可以理解为一个独立存储计算机,自身带有操作系统和管理工具,可以独立
运行,理论上性能最高的RAID模式

常用级别:

RAID-0, RAID-1, RAID-5, RAID-10, RAID-50, JBOD

注意点:

  1. 组成raid的硬盘必须大小一致,不然只取决于最小的那个硬盘大小,多余的空间无法使用。
  2. 在硬件上raid是由多个硬盘组成,但是在软件上机器会把它当做是一个硬盘来使用,他的空间跟不同的raid级别有关。
  3. raid1的读性能会提升,但是写性能不会提升,它用于防止物理上硬件损坏,而不是操作层面的数据删除等等(raid1多块硬盘操作完全一样,这边删除另一边也删除)
  4. 注意raid5只能防止1块硬盘的损坏,如果人工更换可能会来不及,所以raid基本上都有热备盘的功能,只要坏了一块立马顶替坏掉的硬盘防止人工更换不及时导致数据不可逆的丢失。
  5. Raid10:坏掉一块硬盘之后,有1/3几率数据损坏 ;Raid01:坏掉一块硬盘之后,有2/3几率数据损坏。
  6. 一般实际应用中用raid10和raid5