美文网首页
RAID原理和技术

RAID原理和技术

作者: virgilshi | 来源:发表于2018-09-30 18:56 被阅读0次
    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

    相关文章

      网友评论

          本文标题:RAID原理和技术

          本文链接:https://www.haomeiwen.com/subject/vnuloftx.html