RAID0~6

名词

  • stripee:不同磁盘相同偏移的位置被称为strpee
  • segement:一个strpee在同一个磁盘上占用的区域叫做segement
  • stripee depth:一个segement包含的扇区数叫做stripee depth

    IOPS计算公式

    存储系统的IOPS指标当然是高的好,公式如下
    IOPS=IO并发系数/(一次IO服务时间)

    传输效率与并发IO的矛盾

    一次IO如果可以尽可能的使用多的磁盘获取数据,那么这次的IO必然节省数据的传输时间,让数据均匀分布到各个磁盘,那就只有将stripee depth变小
    如果需要传输效率高,那么一次IO会占用多个磁盘,那么后面来的IO请求只有在队列中等待,要想提高并发IO,那么只能让一次IO尽可能的少占用磁盘,最好一个IO占用一个。

    RAID0

  • 优点:能够整合多块磁盘,提高单词IO的效率

  • 缺点:
    1)没有安全措施,一旦其中某个磁盘坏掉,整个阵列都将不可用

RAID1

  • 优点:使用备份技术,损坏一个磁盘,备份磁盘可以顶上,同时因为备份盘和数据盘一样,所以可以实现并发IO,可以提升读效率
  • 缺点:写时需要同时写备份盘,写效率降低

    RAID2

  • 优点:独立使用校验盘,使用汉明码对数据进行校验,不用担心损坏一块盘导致阵列报废;由于RAID2是以bit为粒度存储,所以对于单个IO,可以把传输效率提升N倍(N为数据盘个数)
  • 缺点:校验盘较多,因为使用汉明码,所以随着数据盘的增加,相应也要增加校验盘。由于每次IO都要占用所有的磁盘,所以他不能实现并发IO。

    RAID3

  • 优点:使用XOR方式来进行校验数据,所以无论有多少个数据盘只需要一个校验盘就行。对于单个IO,可以把传输效率提升N倍。
  • 缺点:依然要使用独立的校验盘,不能够实现并发IO

    RAID4

    只要让单次IO有空闲磁盘,那么就有可能实现并发IO,所以只要保证一次IO少于stripe size那么就可以让一次IO少占用磁盘。但是RAID4中还是共享校验盘的,校验盘成为独享资源,所以RAID4都快没有了。

    RAID5

    RAID5解决了RAID4中竞争校验盘的问题,RAID5取消了校验盘,把校验数据分散到了各个数据盘中。
  • 优点:解决了校验盘竞争的问题,实现了并发IO
  • 缺点:只要损坏了两个及以上的数据盘,那么阵列就跪了

    RAID6

    RAID6根据多元一次方程的原理实现了防止多块数据盘损坏导致系统不可用的情况。