高级数据库系统(Advanced Database System)之:RAID 冗余磁盘阵列 (Redundant Array of Independent Disks )

RAID 是什么

RAID 是冗余磁盘阵列结构,可以简单地理解成很多块 disk 协同工作来达到存储数据并能在根据不同的 RAID 模式对数据的安全性和可靠性进行保证。针对的主要是为了 Fault Tolerance (容错)

RAID 性能的衡量指标是什么

P:一段时间内一个磁盘发生错误的概率

假设磁盘 A A A t t t 时段内发生故障的概率为 P ( A ) P(A) P(A)

假设磁盘 B B B t t t 时段内发生故障的概率为 P ( B ) P(B) P(B)

那么 A , B A, B A,B 同时发生错误的概率为 P ( A ∩ B ) = P ( A ) × P ( B ) P(A∩B) = P(A) × P(B) P(AB)=P(A)×P(B),

A , B A, B A,B 有一个发生的概率为 P ( A ) + P ( B ) − P ( A ∩ B ) ≈ P ( A ) + P ( B ) P(A) + P(B) - P(A∩B)≈P(A) + P(B) P(A)+P(B)P(AB)P(A)+P(B)

MTTF:平均错误发生时间(Mean time to Failure)

  • 假设 A A A 在一年中发生错误的概率为 P ( A ) = 0.2 P(A)=0.2 P(A)=0.2 那么就可以看做 M T T F ( A ) = 1 P ( A ) ∗ 一 年 = 5 年 MTTF(A)=\frac{1}{P(A)}*一年=5年 MTTF(A)=P(A)1=5
  • 因为一年发生错误的概率为 P ( A ) = 0.2 P(A)=0.2 P(A)=0.2,可以粗暴的理解 5 年发生的概率就是 100%
  • 同样的,如果有两个硬盘 A , B A, B A,B 他们存了同一份数据,那么他们同时出错的概率就是 P ( A ∩ B ) = P ( A ) × P ( B ) = 0.04 P(A∩B) = P(A) × P(B)=0.04 P(AB)=P(A)×P(B)=0.04,而他们的 M T T F ( A ∩ B ) = M T T F ( A ) = 1 P ( A ∩ B ) ∗ 一 年 = 25 年 MTTF(A∩B)= MTTF(A)=\frac{1}{P(A∩B)}*一年=25年 MTTF(AB=MTTF(A)=P(AB)1=25
  • 因为用 A , B A,B A,B 同时备份一份数据,只有两个磁盘同时坏掉数据才会丢失,因此, M T T F MTTF MTTF 得到了大幅度的提升。
  • 下面的 R A I D 1 RAID1 RAID1 就是这种模式

RAID 有哪些,分别有啥作用

RAID0, RAID1,… RAID6

RAID 0

  • 我们在往磁盘上存数据的时候,假设以块(block) 作为基本的存储单位。 A 0 , A 1 , . . . , A 7 A_0,A_1,...,A_7 A0,A1,...,A7 分别表示一段连续的数据。
    在这里插入图片描述
    在这里插入图片描述

  • RAID 0 具有 极高的读写速度。因为他可以把 A 0 , A 1 , . . . , A 7 A_0,A_1,...,A_7 A0,A1,...,A7 这段连续的数据拆分然后并发地存入两个磁盘

  • 但是要注意,两块磁盘任意一块损坏了,其他一块磁盘的数据将毫无意义。所以错误发生的概率也提高两倍。因此 MTTF (发生失效行为的间隔时间)会折半。

RAID 1

在这里插入图片描述

  • 采用镜像的方式将两块磁盘一块放数据,一块放镜像,因此最少要两块磁盘,任意一块坏掉,另外一块用来完全恢复数据。
  • 读吞吐量高,写吞吐量低,因为跟一块磁盘没区别
  • 只能存一块磁盘的数据量
  • 但是可靠性大幅增加, M T T F MTTF MTTF 时间为一块磁盘的平方 M T T F 2 MTTF^2 MTTF2

RAID 2

在这里插入图片描述

  • 以比特为单位进行磁盘的读写操作,机制类似于 RAID 0
  • 极少使用这种 RAID 2 模式
  • MTTF 仅为 RAID 0 的 1/2

RAID 3

在这里插入图片描述

  • 类似 RAID 2, 区别是采用 Byte 作为数据读写的基本单位
  • 至少需要三块磁盘,两块放数据一块放校验码
  • 采用校验盘,Disk3 作为校验盘,只要校验盘不坏,数据就可以恢复
  • 但存数据的时候需要实时校验,因此 DISK3 一直高负荷运转导致校验盘容易损坏
  • 因此 P ( A ) = P ( B = P ( C ) = p P(A)=P(B=P(C)=p P(A)=P(B=P(C)=p 错误概率相等的情况下,只有同时损坏两块盘才会导致错误,因此 p 2 p^2 p2 是同时毁两块盘的概率,而有三种情况可以发生,即 A,B ; A,C; B,C 因此 P ( f a i l u r e ) = C 3 2 ∗ p 2 = 3 p 2 P(failure)=C_3^2*p^2=3p^2 P(failure)=C32p2=3p2
  • M T T F = 1 3 ∗ 1 p 2 MTTF=\frac{1}{3}*\frac{1}{p^2} MTTF=31p21

RAID 4

在这里插入图片描述

  • 类似于 RAID 2, RAID 3
  • 采用的是 block 级别的数据读写
  • 提供了高吞吐量但是很低的 write 速度
  • 相比 RAID 3 ,如过损坏的不是校验盘,那么 RAID4 的恢复概率略低于 RAID 3
  • 如果校验盘损坏,RAID3 和 RAID 4 都无法恢复

RAID 5

在这里插入图片描述

  • RAID 5 和 RAID 3 相似,但不同是, RAID 5 把校验数据平均放在各个盘里,每个硬盘都有校验数据
  • 如果一个盘损坏,其他盘中的信息 + 校验信息就能够恢复原始状态,避免 RAID 3 那种情况:校验盘挂掉,整个系统崩掉
  • RAID 5 的读取速度接近 RAID 0 但写入速度不及 RAID 0
  • RAID 5 的安全性能比 RAID 0 高很多,因此广泛应用

RAID 6

在这里插入图片描述

  • RAID 6 采取两个盘作为校验盘
  • RAID 6 的安全性能非常高
  • 从图中可以看出 P 0 , P 1 P_0, P_1 P0,P1 负责数据 A 0 , A 1 , A 2 A_0, A_1, A_2 A0,A1,A2 的校验工作,而且他们采用两种不同的校验算法,任意损坏两块硬盘都能实现完全恢复
  • 安全性比 RAID 5 还要高,但校验数据量也翻倍
  • RAID 6 的校验算法运算量也远大于 RAID 5,因此写入和读取都慢于 RAID 5
  • 可靠性相当于 M T T F 3 / 10 MTTF^3 / 10 MTTF3/10
  • 因为同时坏三快盘才能使数据无法恢复,因此 P ( f a i l u r e ) = C 5 3 p 3 = 10 ∗ p 3 P(failure)=C_5^3p^3=10*p^3 P(failure)=C53p3=10p3,因此 R e l i a b i l i t y = 1 P ( f a i l u r e ) = 1 10 ∗ p 3 = 1 10 ∗ M T T F 3 Reliability=\frac{1}{P(failure)}=\frac{1}{10*p^3}=\frac{1}{10}*MTTF^3 Reliability=P(failure)1=10p31=101MTTF3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暖仔会飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值