RAID原理及技术

RAID定义

RAID,独立磁盘冗余阵列(Redundant Array of Independent Disks ),基本思想是研究将多个独立的磁盘连接成一个大容量磁盘,力求并发读写提高系统性能和引入冗余校验提高系统可靠性。对于Host,RAID抽象成一个逻辑盘,Host对这个逻辑盘进行读写操作,对于RAID designer,看到的磁盘是独立磁盘阵列,只有将独立磁盘的数据进行拼接才能向Host提供完整信息(读操作)和将Host发送的信息进行分解(按照位或者块)分散到独立磁盘阵列中(写操作)。

RAID mapping 图

RAID0

磁盘扇区将数据天然地分割成一个个以sector为粒度的数据(物理存在的),条带是由多个并列磁盘,每个磁盘提供特定数量的sector组成数据带,将属于这个数据带上的扇区(分布在每个磁盘)收集拼接才能形成一条完整的有效数据。磁盘条带分割如图所示1。写操作时,将host数据条带化,然后一个个条带分散写到每个独立磁盘中。读操作时,将属于一个条带的分散数据分别读取再拼接成完整条带数据。

条带

RAID0

RAID1

为每一个磁盘保存一个镜像磁盘,逻辑磁盘的容量由源磁盘和镜像磁盘最小值决定。

RAID1

RAID2

RAID0可以并发的读写数据,所以所有RAID技术中性能最好,但是RAID0没有数据校验因此可靠性最低。RAID2是对RAID0的改进版,RAID2对条带内的数据以汉明码的方式进行校验,校验码放在多个单独的磁盘中。

RAID2

RAID3和RAID4

RAID3采用Bit-interleaving 技术(数据交错存储),将数据的每个bit存放在磁盘阵列中,RAID4采用Block-interleaving 技术(块交织)以数据块为单位分散存放在磁盘阵列中,两者均将校验信息存在单独的磁盘中,RAID3和RAID4区别在于数据粒度不同。由于RAID3和RAID4操作小请求数据更新校验码时需要对每个磁盘进行操作,因此RAID3和RAID4适合大文件的传输。

RAID3

RAID4

RAID5

RAID3和RAID4不能IO并发操作,虽然数据盘能够进行并发操作,但是引入校验盘后,因为校验盘在一个IO操作未完成之前会一直处于占用状态,因此校验盘不能并发操作,加之由于IO操作数据盘也需要操作校验盘,这导致数据盘不能并发1。为了解决此问题,RAID5将校验码分散到每个数据盘中,这个操作数据盘就能并发进行。

RAID5

RAID6

RAID5只能容忍单盘故障,当双盘故障时,错误码超过RAID5纠错能力,因此RAID6引入两套独立的纠错码算法解决双盘故障。

RAID6

总结
  • RAID0 数据分块,无校验
  • RAID1 镜像
  • RAID2 在RAID0基础上以汉明码方式引入独立校验盘,商业价值低,已淘汰
  • RAID3,RAID4 前者以bit为单位位交叉,后者以块为单位块交叉据,有独立校验盘
  • RAID5 在RAID4基础上将校验码分散在数据盘中
  • RAID6 在RAID5基础上采取两套独立的校验码,解决双盘故障问题

注:RAID0-RAID5图片来自wiki


  1. 大话存储-存储系统底层架构原理极限剖析.张东[M]:78-79 ↩︎ ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值