RAID:
磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意.
目的:为了提高磁盘IO能力,提高冗余和耐用性。
磁盘阵列其样式有三种,一是外接式磁盘阵列柜、二是内接式磁盘阵列卡,三是利用软件来仿真。
外接式磁盘阵列柜最常被使用大型服务器上,具可热交换(Hot Swap)的特性,不过这类产品的价格都很贵。
内接式磁盘阵列卡,因为价格便宜,但需要较高的安装技术,适合技术人员使用操作。硬件阵列能够提供在线扩容、动态修改阵列级别、自动数据恢复、驱动器漫游、超高速缓冲等功能。它能***能、数据保护、可靠性、可用性和可管理性的解决方案。阵列卡专用的处理单元来进行操作。
利用软件仿真的方式,是指通过网络操作系统自身提供的磁盘管理功能将连接的普通SCSI卡上的多块硬盘配置成逻辑盘,组成阵列。软件阵列可以提供数据冗余功能,但是磁盘子系统的性能会有所降低,有的降低幅度还比较大,达30%左右。因此会拖累机器的速度,不适合大数据流量的服务器。
几种常见的RAID级别:
1、RAID 0
RAID 0是最早出现的RAID模式,即Data Stripping数据分条技术。RAID 0是组建磁盘阵列中最简单的一种形式,只需要2块以上的硬盘即可,成本低,可以提高整个磁盘的性能和吞吐量。RAID 0没有提供冗余或错误修复能力,但实现成本是最低的。
RAID0是以条带的形式将数据均匀分布在阵列的各个磁盘上
RAID条带(strip)是把连续的数据分割成相同大小的数据块,把每段数据分别写入到阵列中的不同磁盘上的方法。简单的说,条带是一种将多个磁盘驱动器合并为一个卷的方法。 许多情况下,这是通过硬件控制器来完成的。
所需成员磁盘数 | 2个或更多,最低为2个 |
优点 | 极高的磁盘读写效率 不存在校验,不会占用太多CPU资源 设计、使用和配置比较简单 |
缺点 | 无冗余,不能用于对数据安全性要求高的环境 |
适用领域 | 视频生成和编辑、图像编辑 其他需要大的传输带宽的操作 |
2、RAID 1
RAID 1称为磁盘镜像,原理是把一个磁盘的数据镜像到另一个磁盘上,也就是说数据在写入一块磁盘的同时,会在另一块闲置的磁盘上生成镜像文件,在不影响性能情况下最大限度的保证系统的可靠性和可修复性上,只要系统中任何一对镜像盘中至少有一块磁盘可以使用,甚至可以在一半数量的硬盘出现问题时系统都可以正常运行,当一块硬盘失效时,系统会忽略该硬盘,转而使用剩余的镜像盘读写数据,具备很好的磁盘冗余能力。虽然这样对数据来讲绝对安全,但是成本也会明显增加,磁盘利用率为50%,以四块80GB容量的硬盘来讲,可利用的磁盘空间仅为160GB。另外,出现硬盘故障的RAID系统不再可靠,应当及时的更换损坏的硬盘,否则剩余的镜像盘也出现问题,那么整个系统就会崩溃。更换新盘后原有数据会需要很长时间同步镜像,外界对数据的访问不会受到影响,只是这时整个系统的性能有所下降。因此,RAID 1多用在保存关键性的重要数据的场合。
RAID 1主要是通过二次读写实现磁盘镜像,所以磁盘控制器的负载也相当大,尤其是在需要频繁写入数据的环境中。为了避免出现性能瓶颈,使用多个磁盘控制器就显得很有必要。
所需成员磁盘数 | 2N个,(N≥1),最低为2个 |
优点 | 具有100%数据冗余,提供最高的数据安全保障 理论上可以实现2倍的读取效率 设计和使用比较简单 |
缺点 | 开销大,空间利用率只有50% 在写性能方面提升不大 |
适用领域 | 财务、金融等高可用、高安全的数据存储环境 |
3、RAID3:带奇偶校验码的并行传送
在RAID3中,数据块被分为更小的块并行传输到各个成员磁盘上,同时计算XOR校验数据存放到专用的校验磁盘上
这种校验码只能查错不能纠错。它访问数据时一次处理一个带区,这样可以提高读取和写入速度。校验码在写入数据时产生并保存在另一个磁盘上。需要实现时用户必须要有三个以上的驱动器,写入速率与读出速率都很高,因为校验位比较少,因此计算时间相对而言比较少。用软件实现RAID控制将是十分困难的,控制器的实现也不是很容易。它主要用于图形(包括动画)等要求吞吐率比较高的场合。RAID 3使用单块磁盘存放奇偶校验信息。如果一块磁盘失效,奇偶盘及其他数据盘可以重新产生数据。 如果奇偶盘失效,则不影响数据使用。RAID 3对于大量的连续数据可提供很好的传输率,但对于随机数据,奇偶盘会成为写操作的瓶颈。
所需成员磁盘数 | 3个或更多,最低为3个 |
优点 | 读写性能都比较好 当有磁盘损坏时,对整体吞吐量影响较小 减少了开销 |
缺点 | 控制器设计复杂 采用并行存取方式,主轴同步时吞吐量没有提高 校验磁盘的写性能有瓶颈 |
适用领域 | 视频生成和图像、视频编辑等 需要高吞吐量的应用环境 |
4、RAID 5:RAID5采用独立存取的阵列方式,校验信息被均匀的分散到阵列的各个磁盘上
RAID 5不单独指定奇偶盘,而是在所有磁盘上交叉地存取数据及奇偶校验信息。在RAID 5上,读/写指针可同时对阵列设备进行操作,提供了更高的数据流量。RAID 5更适合于小数据块和随机读写的数据。RAID 3与RAID 5相比,最主要的区别在于RAID 3每进行一次数据传输就需涉及到所有的阵列盘;而对于RAID 5来说,大部分数据传输只对一块磁盘操作,并可进行并行操作。在RAID 5中有“写损失”,即每一次写操作将产生四个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。
所需成员磁盘数 | 3个或更多,最低为3个 |
优点 | 读性能比较高 中等的写性能 校验信息的分布式存取,避免出现写操作的瓶颈 |
缺点 | 控制器设计复杂 磁盘重建的过程比较复杂 |
适用领域 | 文件服务器、Email服务器、Web服务器等环境 数据库应用 |
组合RAID:
组合不同级别RAID的目的
从RAID0到RAID6,不同级别的RAID在性能、冗余、价格等方面做了不同程度的折中
组合不同级别的RAID,目的是扬长避短,产生具有优势特性的混合RAID级别
常见:
RAID0+1
RAID1+0
Raid5+0
5、RAID10的工作原理
RAID10结合RAID1和RAID0,先镜像,再条带化
所需成员磁盘数 | 2N个,(N≥2),最低为4个 |
优点 | 读性能很高 写性能比较好 数据安全性好,允许同时有N个磁盘失效 |
缺点 | 空间利用率只有50% 开销大 |
适用领域 | 多用于要求高可用性和高安全性的数据库应用 |
6、RAID01
结合RAID1和RAID0,先条带,再镜像
所需成员磁盘数 | 2N个,(N≥2),最低为4个 |
优点 | 读性能很高 写性能比较好 数据安全性好,允许同时有N个磁盘失效 |
缺点 | 空间利用率只有50% 开销大 |
适用领域 | 多用于要求高可用性和高安全性的数据库应用 |
7、RAID 50 先实现RAID5,再条带化
所需成员磁盘数 | 6个或更多,最低为6个 |
优点 | 比RAID5有更好的读性能 比相同容量的RAID5重建时间更短 可以容许N个磁盘同时失效 |
缺点 | 设计复杂,比较难实现 同一个RAID5组内的两个磁盘失效会导致整个阵列的失效 |
适用领域 | 大型数据库服务器、应用服务器、文件服务器等应用 |
常用RAID级别的比较
RAID级别 | RAID0 | RAID1 | RAID3 | RAID5 | RAID10 |
别名 | 条带 | 镜像 | 专用奇偶位条带 | 分布奇偶位条带 | 镜像阵列条带 |
容错性 | 无 | 有 | 有 | 有 | 有 |
冗余类型 | 无 | 镜像 | 奇偶校验 | 奇偶校验 | 镜像 |
备盘 | 无 | 有 | 有 | 有 | 有 |
读性能 | 高 | 低 | 高 | 高 | 中间 |
随机写性能 | 高 | 低 | 最低 | 低 | 中间 |
连续写性能 | 高 | 低 | 低 | 低 | 中间 |
需要的磁盘数 | 2个或更多 | 2个或2N个 | 3个或更多 | 3个或更多 | 4个或2N(N≥2) |
可用容量 | 总的磁盘容量 | 磁盘容量的50% | 磁盘容量的(N-1)/N | 磁盘容量的(N-1)/N | 磁盘容量的50% |