dong-frank的博客

第十一讲 磁盘冗余阵列 RAID

字数统计: 1.2k阅读时长: 4 min
2025/02/18

第十一讲 磁盘冗余阵列 RAID

RAID (独立)磁盘冗余阵列

基本思想

  • 将多个独立操作的磁盘按某种方式组织成磁盘阵列,以增加容量
  • 将数据存储在多个盘体上,通过这些盘并行工作来提高数据传输率
  • 采用数据冗余来进行错误恢复以提高系统可靠性

特性

  • 由一组物理磁盘驱动器组成,被视为单个的逻辑驱动器
  • 数据是分布在多个物理磁盘上
  • 冗余磁盘容量用于存储校验信息,保证磁盘万一损坏时能恢复数据

RAID0

  • 数据以条带的形式在可用的磁盘上分布
  • 不采用冗余来改善性能(不是RAID家族中的真正成员)
    用途
  • 高数据传输率
  • 高速响应I/O请求

RAID1

  • 采用了数据条带
  • 采用简单地备份所有数据的方法来实现冗余
    优点
  • 高速响应I/O请求:即便是同一个磁盘上的数据块,也可以由两组硬盘分别响应
  • 读请求可以由包含请求数据的两个对应磁盘中的某一个提供服务,可以选择寻道时间较小的那个
  • 写请求需要更新两个对应的条带:可以并行完成,但受限于写入较慢的磁盘
  • 单个磁盘损坏时不会影响数据访问,恢复受损磁盘简单
    缺点
  • 价格昂贵
    用途
  • 只限于用在存储系统软件、数据和其他关键文件的驱动器中

与RAID 0 相比

  • 如果有大批的读请求,则RAID 1能实现高速的I/O速率,性能可以达到RAID 0的两倍
  • 如果I/O请求有相当大的部分是写请求,则它不比RAID 0的性能好多少

RAID 01和RAID 10
是先做RAID0, 还是先做RAID1

  • 两者在数据传输率和磁盘利用率上没有明显区别,主要区别是对磁盘损坏的容错能力

RAID2

  • 采用并行存取技术
  • 所有磁盘都参与每个I/O请求的执行
  • 各个驱动器的轴是同步旋转的,因此每个磁盘上的每个磁头在任何时刻都位于同一位置
  • 采用数据条带:条带非常小,经常只有一个字节或一个字

纠错

  • 对位于同一条带的各个数据盘上的数据位计算校验码(通常采用海明码),校验码存储在该条带中多个校验盘的对应位置

访问

  • 读取:获取请求的数据和对应的校验码
  • 写入:所有数据盘和校验盘都被访问

缺点

  • 冗余盘依然比较多,价格较贵
  • 适用于多磁盘易出错环境,对于单个磁盘和磁盘驱动器已经具备高可靠性的情况没有意义

RAID3

  • 和RAID2一样, 并行存取
  • 和RAID2不同的是, 纠错使用的是, 对所有数据盘上同一位置的数据计算奇偶校验码

优点:

  • 能够获得非常高的数据传输率, 对于大量传送,性能改善特别明显
    缺点:
  • 一次只能执行一个I/O请求, 在面向多个IO请求时,性能将受损

RAID4

  • 采用独立存取技术,每个磁盘成员的操作是独立的,各个I/O请求能够并行处理
  • 采用相对较大的数据条带
  • 根据各个数据盘上的数据来逐位计算奇偶校验条带,奇偶校验位存储在奇偶校验盘的对应条带上

性能

  • 当执行较小规模的I/O写请求时,RAID4会遭遇写损失,对于每一次写操作,阵列管理软件不仅要修改用户数据,而且要修改相应的校验位
  • 当涉及所有磁盘的数据条带的较大I/O写操作时,只要用新的数据位来进行简单的计算即可得到奇偶校验位
  • 每一次写操作必须涉及到唯一的校验盘,校验盘会成为瓶颈

RAID5

  • 与RAID 4 组织方式相似
  • 在所有磁盘上都分布了奇偶校验条带,避免潜在的I/O瓶颈问题
  • 访问时的“两读两写”:为了更新数据和相应的奇偶校验信息,需要进行两次读操作和两次写操作

RAID 50

RAID6

  • 采用两种不同的校验码,并将校验码以分开的块存于不同的磁盘中
    优点:
  • 提升数据可用性:只有在平均修复时间间隔内3个磁盘都出了故障,才会造成数据丢失
    缺点:
  • 写损失, 每次写都要影响两个校验块
CATALOG
  1. 1. 第十一讲 磁盘冗余阵列 RAID
    1. 1.1. RAID (独立)磁盘冗余阵列
    2. 1.2. RAID0
    3. 1.3. RAID1
    4. 1.4. RAID2
    5. 1.5. RAID3
    6. 1.6. RAID4
    7. 1.7. RAID5
    8. 1.8. RAID6