1.传统RAID
硬盘阵列(Redundant Arrays of Independent Disks,RAID),是由很多块独立的硬盘,组合成一个容量巨大的硬盘组。
1.1 阵列卡
现如今,基本所有的服务器都通过RAID卡对硬盘进行管理。硬盘插入到服务器的槽位后由背板的线缆连接RAID卡进行一个统一的管理,然后提供给操作系统,操作系统不能直接使用硬盘。
以下为一些常见的RAID级别:
- RAID 0
- 将数据分成若干相等大小的数据块,把他们写在不同的硬盘上,以独立的方式实现多块硬盘的并读访问,并发执行I/O操作。基本能够发挥出所有硬盘的性能,但是RAID0没有冗余机制,硬盘越多固然性能越好,然而出现故障导致卷组不可用的概率也越高。建议配合上层应用能够提供冗余的场景一起使。
- RAID 1
当上层数据下发时,会将数据完全一致地写在两块硬盘上,实现数据冗余,可以用两块硬盘中读取数据,提升读性能。当一块硬盘发生故障,系统自动从另一块硬盘读取数据,提高可靠性,但是成本更高,适用于对数据可靠性要求高的应用,如:将系统盘放在RAID 1上面。
- RAID 5
将数据和相对应的奇偶校验信息分别存储在不同的硬盘上,奇偶校验信息占一个硬盘的空间,允许损坏一个硬盘。当一个硬盘损坏时,可以根据剩余的数据和相对应的奇偶校验信息计算出损坏的数据,恢复数据时性能会受到较大的影响。RAID 5写性能偏低,尤其是随机写性能,建议在读写不太频繁的场景上使用,如:用作数据备份。
- RAID 6
与RAID 5 相似,拥有两套独立的奇偶校验信息,可以允许损坏两块硬盘。