1. 冗余磁盘阵列 / 独立磁盘冗余阵列
Redundant Arrays of Independent Disks (RAID)
<aside>
📖 基本思想
- 将多个独立操作的磁盘按某种方式组织成磁盘阵列,以增加容量
- 将数据存储在多个盘体上,通过这些盘并行工作来提高数据传输率
- 采用数据冗余来进行错误恢复以提高系统可靠性
</aside>
<aside>
📖 特性
- 由一组物理磁盘驱动器组成,被视为单个的逻辑驱动器
- 数据是分布在多个物理磁盘上
- 冗余磁盘容量用于存储校验信息,保证磁盘万一损坏时能恢复数据
</aside>
2. RAID分类
2.1 RAID 0
<aside>
📖 特点
- 数据以条带的形式在可用的磁盘上分布
- 不采用冗余来改善性能(不是RAID家族中的真正成员)
</aside>
<aside>
📖 用途
- 高数据传输率
- 高速响应I/O请求
</aside>
<aside>
📖 与单个大容量磁盘相比
- 高数据传输率
- 高速响应I/O请求:两个I/O请求所需要的数据块可能在不同的磁盘上
</aside>
2.2 RAID 1
<aside>
📖 特点
- 采用了数据条带
- 采用简单地备份所有数据的方法来实现冗余
</aside>
<aside>
📖 优点
- 高速响应I/O请求:即便是同一个磁盘上的数据块,也可以由两组硬盘分别响应
- 读请求可以由包含请求数据的两个对应磁盘中的某一个提供服务,可以选择寻道时间较小的那个
- 写请求需要更新两个对应的条带:可以并行完成,但受限于写入较慢的磁盘
- 单个磁盘损坏时不会影响数据访问,恢复受损磁盘简单
</aside>
<aside>
📖 缺点
价格昂贵
</aside>
<aside>
📖 用途
只限于用在存储系统软件、数据和其他关键文件的驱动器中
</aside>
<aside>
📖 与RAID 0相比
- 如果有大批的读请求,则RAID 1能实现高速的I/O速率,性能可以达到RAID 0的两倍
- 如果I/O请求有相当大的部分是写请求,则它不比RAID 0的性能好多少
</aside>
2.3 RAID 01 & RAID 10
<aside>
📖 两者在数据传输率和磁盘利用率上没有明显区别,主要区别是对磁盘损坏的容错能力
</aside>
<aside>
📖 RAID 01 = RAID 0+1
先做RAID 0,再做RAID 1
</aside>
<aside>
📖 RAID 10 = RAID 1+0
先做RAID 1,再做RAID 0
</aside>