大话存储-学习总结-2-RAID

来源:互联网 发布:html5数据统计 编辑:程序博客网 时间:2024/05/02 00:13

1 七种RAID

RAID以4个扇区组成的块作为基本单位,不同磁盘的相同偏移处的块组成Stripe,也就是条带.对于RAID 0 磁盘组,如果有大块数据写入时,则数据在很大几率上可以以条带为单位写入,并行写入能大大提高写入速度.

简介

  • RAID 0
    没有冗余,通过并行写入提高性能.
  • RAID 1
    • RAID 0 数据不安全,一块盘坏掉,整个阵列就坏了.因此RAID 1 拿另一磁盘做备份,即一次性写两份.
    • 读性能和顺序写性能提高N倍,但随机写由于公用同一块备份盘,因此性能没有提升.
  • RAID 2
    • 采用Hamming Code ECC进行校验.汉明码只能纠正一位错误.所以只能允许一块硬盘出问题.如果两块或以上硬盘出现问题,RAID 2的数据将被破坏.
    • 其实是将原本连续的一个扇区数据,以位为单位分割存放在不连续的多块物理盘上.也就是条带深度为1.
    • RAID 2不能实现并行IO,因为每次IO都要联动所有的磁盘,只能做到一个IO内部的并行.
    • 基于其特点,能将顺序读写提升N倍,随机读写不能提升.
  • RAID 3
    • 采用异或的性质来求校验值.对于RAID 3 连续读写性能几乎是单盘的N倍.随机读写并没有提升,几乎和单盘一样.
    • RAID 3 执行一次IO必须牵动占用所有盘,其他IO就必须等待,因此根本不能并发IO.
    • 一般来说,RAID 3的条带长度=文件系统的块大小,避免条带不对齐的现象.
    • 与RAID 2相同,只对大的连续读写有提升,小的随机读写没有优化.
  • RAID 4
    • 由于实际的读写常常是小的随机读写,前四种做法会有明显的缺陷,因此出现了RAID 4. RAID 4通过增大条带深度,大大增大了IO读写的并发性.
  • RAID 5
    • 由于RAID 4写请求需要共享校验盘,因此写请求不能实现并发.因此RAID 5将校验数据分散在各个磁盘上.使并发概率最大化.
    • 新校验码=老数据XOR新数据XOR老校验码.
    • 如果之前校验码出错,只能用新数据重新计算校验码,否则新校验码仍为错误.
    • RAID 5磁盘数越多,可并发的几率越大.
  • RAID 6
    • 通过增加一个校验盘提高安全性,可以同时坏两块盘.
  • 注意
    • 如果随机小块IO多,则适当加大条带深度;如果连续大块IO多,则适当减少条带深度.
0 0