RAID软件磁盘阵列
目录一、RAID概述
1、RAID的概念
- 磁盘阵列的全名是(Redundant Arrays of Inexpensive Disk,RAID),中文意思是独立冗余磁盘阵列。
- RAID可以通过技术(软件或者硬件)将多个较小的磁盘整合成为一个较大的磁盘设备,而这个较大的磁盘功能可不止存储而已,它还具有数据保护的功能,整个RAID由于选择的级别(level)不同,而使得整合后的磁盘具有不同的功能,
- 基本常用的level有以下几种RAID0, RAID1, RAID5,RAID6,RAID1+0等
2、RAID 中主要有三个关键概念和技术
镜像( Mirroring )将数据复制到多个磁盘,一方面可以提高可靠性,另一方面可并发从两个或多个副本读取数据来提高读性能。显而易见,镜像的写性能要稍低, 确保数据正确地写到多个磁盘需要更多的时间消耗。
数据条带( Data Stripping )将数据分片保存在多个不同的磁盘,多个数据分片共同组成一个完整数据副本,这与镜像的多个副本是不同的,它通常用于性能考虑。数据条带具有更高的并发粒度,当访问数据时,可以同时对位于不同磁盘上数据进行读写操作, 从而获得非常可观的 I/O 性能提升 。
数据校验( Data parity )利用冗余数据进行数据错误检测和修复,冗余数据通常采用海明码、异或操作等算法来计算获得。利用校验功能,可以很大程度上提高磁盘阵列的可靠性、鲁棒性和容错能力。不过,数据校验需要从多处读取数据并进行计算和对比,会影响系统性能。
不同等级的 RAID 采用一个或多个以上的三种技术,来获得不同的数据可靠性、可用性和 I/O 性能。至于设计何种 RAID (甚至新的等级或类型)或采用何种模式的 RAID ,需要在深入理解系统需求的前提下进行合理选择,综合评估可靠性、性能和成本来进行折中的选择。
二、常用RAID介绍
1、RAID 0 (条带化存储)— 性能最佳
因为读写时都可以并行处理,所以在所有的级别中,RAID 0的速度是最快的。但是RAID 0既没有冗余功能,也不具备容错能力,如果一个磁盘(物理)损坏,所有数据都会丢失。
读、写性能提升可用空间:N*min(S1,S2,...)
无容错能力
最少磁盘数:1+() 2+ 才有效果
2、RAID 1(镜像存储)— 完整备份
也称为镜像, 两组以上的N个磁盘相互作镜像,在一些多线程操作系统中能有很好的读取速度,理论上读取速度等于硬盘数量的倍数,与RAID 0相同。另外写入速度有微小的降低。
读性能提升、写性能略有下降
磁盘利用率 50%
有冗余能力
最少磁盘数:2n n>=1
3、RAID 5 性能与数据备份的均衡考虑
读、性能提升
写的性能略微降低
利用率: n-1
有容错能力:允许最多1块磁盘损坏
最少磁盘数:3, 3+
4、RAID 1 + 0(先做镜像,再做条带)
读、写性能提升
可用空间:n/2
有容错能力:每组镜像最多只能坏一块
最少磁盘数:4, 4+(偶数)
5、总结
raid 级别 | 0 | 1 | 5 | 1+0 |
---|---|---|---|---|
是否有备份 | 无 | 有 | 有 | 有 |
是否提高读性能 | 是 | 是 | 是 | 是 |
是否提高写性能 | 是 | 下降 | 下降 | 是 |
磁盘利用率 | 100% | 50% | n-1(n>=3) | 50% |
最少使用几块盘 | 1(有效果得两块以上) | 2(2n,n>=1) | 3 | 4+必须偶数 |
最多可以坏几块磁盘 | 0 | 1 | 1 | 2 |