一、RAID 阵列概述
- 独立冗余磁盘阵列
- Redundant Arrays of Inexpensive Disks
- 通过硬件/软件技术, 将多个较小/低速的磁盘整合成一个大磁盘
- 阵列的价值 : 提升I/O效率、硬件级别的数据冗余
- 不同RAID级别的功能、特性各不相同
二、RAID实现方式
-
软件RAID
- 由主机中的软件来提供RAID功能
- 主板 -> 磁盘 -> 操作系统 -> RAID软件 -> 数据
-
硬件RAID
- 由集成在主机或存储阵列上专用硬件实现功能
- RAID控制卡(主机上)
- RAID控制器(存储阵列上)
- 磁盘聚合
- 逻辑磁盘和物理磁盘I/O请求
- 故障时数据再生
- 由集成在主机或存储阵列上专用硬件实现功能
-
主板 -> 阵列卡 -> 磁盘 -> 操作系统 -> 数据
三、RAID 的分类
RAID 可以按照硬盘数量和组织方式不同分为不同类型的 RAID 实现
常见的有: RAID 0、RAID 1、RAID 5、RAID 6、RAID 01、RAID 10
不常见的有:RAID 2、RAID 3、RAID 4、RAID 7、RAID 50、RAID 53
四、常用RAID简单介绍
RAID 0
不具有防止数据丢失的功能,主要是能够并行存储,数据存储方式如下图:
可以看出,其中一块硬盘坏掉,我们的数据就丢失了,无法防止数据丢失。
RAID 1
具有数据冗余的能力,能够一定保证其中一块硬盘坏掉,数据不会丢失,如果两块硬盘来做RAID1,读写效率依旧是一块硬盘的,存储量也只有较小那块硬盘的大小,原因根据结构图我们可以猜出:
可以理解为一块硬盘正常工作,另一块硬盘正常情况下只做备份用途,当前一块硬盘坏掉,直接顶上。
RAID 5
至少需要三块硬盘组成,既具有数据并行存储的能力,也具有防止某块硬盘坏掉数据丢失的能力,因此RAID5比较常用,一般硬盘都支持,结构图如下:
一般C1、C2这些为C1=1异或2得到的,无论那块硬盘丢失,我们都可以还原数据。比如1号盘坏掉,我们可以2异或C1就得到1(数据异或两次就还原)。
实际容量计算:
关于三块大小不一样的硬盘通过RAID5的方式构建磁盘阵列,我们如何知道构建后磁盘阵列大小?
其实就是按照最小的磁盘大小