RAID 的基本目的是把多个小型廉价的磁盘驱动器合并成一组阵列来达到大型昂贵的驱动器所无法达到的性能或冗余性。这个驱动器阵列在计算机眼中就如同一个单一的逻辑贮存单元或驱动器。
RAID 是一种在多个磁盘上分散信息的方法。它使用 磁盘分条(disk striping ,RAID 级别 0)、 磁盘镜像(disk mirroring ,RAID 级别 1)、和 带有奇偶校验的磁盘分条(disk striping with parity ,RAID 级别 5)之类的技术来达到冗余性,减低潜伏时间,并且(或者)增加磁盘读写的带宽,提高从硬盘崩溃中恢复的能力。
RAID 的基本原理是,数据必须使用一致的形式被分散到阵列中的驱动器上。要打到这个目的,数据必须被分割成大小一致的“块”(大小通常是 32K 或 64K,也可使用不同大小)。每一块都会根据所用的 RAID 级别而写入其中的一个硬盘驱动器。当数据要被读取时,这个进程就会反过来进行,造成一个多个驱动器好象是一个大驱动器的假象。
3.2. 谁应该使用 RAID任何需要使大量数据触手可及的人(如一般的系统管理员)都可以从 RAID 技术中受益。使用 RAID 的主要原因包括:
加快速度
使用一个虚拟磁盘,从而增加贮存容量
减少磁盘失效带来的不利影响
3.3. 硬件 RAID 和软件 RAIDRAID 技术有两种:硬件 RAID 和软件 RAID。
3.3.1. 硬件 RAID基于硬件的系统独立于主机之外地来管理 RAID 子系统,并且它在主机处只用一个磁盘来代表每一组 RAID 阵列。
连接到 SCSI 控制器的,把 RAID 阵列表示为单个 SCSI 驱动器的设备就是一个硬件 RAID 的例子。一个外部的 RAID 系统把所有 RAID 处理“智能”都转移到位于内部磁盘子系统中的控制器中。整个子系统都是通过一个普通的 SCSI 控制器连接到主机上,对主机而言,它就象一个单一的磁盘。
RAID 控制器还以卡的形式出现。它 充当 操作系统的 SCSI 控制器,但却控制所有驱动器本身的实际通讯。在这些情况下,你把驱动器插入到 RAID 控制器中,就如同 SCSI 控制器一般,但是,在这之后,你把它们添加到 RAID 控制器的配置里,操作系统决不会知道其中的区别。
3.3.2. 软件 RAID软件 RAID 在内核磁盘(块设备)编码中实现各类 RAID 级别。 因为它不需要昂贵的磁盘控制器卡或热交换底盘 ,软件 RAID 提供了最廉价的解决方法。它还可以用在较便宜的 IDE 磁盘以及 SCSI 磁盘。使用今日的快速 CPU,软件 RAID 的性能能够超出硬件 RAID。
Linux 内核的 MD 驱动程序是 RAID 解决方案的一个例子。它完全独立于硬件。基于软件的阵列的性能独立于服务器 CPU 的性能和载量之外。
关于在 Red Hat Linux 安装程序中配置软件 RAID 的信息,请参阅>第10章 。
以下为那些对软件 RAID 功能感兴趣的用户列举了一些它的最重要的特性:
使用线程的重建进程
基于内核的配置
不必重建而可在 Linux 机器间移植阵列
使用空闲的系统资源在后台重建阵列
对可热交换的驱动器的支持
对 CPU 的自动检测以便利用某些 CPU 优化功能
[1] [2] 下一页
注:热交换底盘允许你不必给系统断电而移除硬盘驱动器。
RAID 支持各类配置,包括级别 0、1、4、5、和线形。这些 RAID 类型的定义如下:
级别 0 — RAID 级别 0,经常被称作“分条”,它是面向性能的分条数据映射技术。这意味着被写入阵列的数据被分割成条,然后被写入阵列中的其它磁盘成员,从而允许低费用的高度 I/O 性能,但是它不提供冗余性。级别 0 阵列的贮存能力等于硬件 RAID 所有成员磁盘的总能力或软件 RAID 中所有成员分区的总能力。
级别 1 — RAID 级别 1,或“镜像”,被使用的时期长于任何其它形式的 RAID。级别 1 通过在阵列中的每个成员磁盘上写入相同的数据(在磁盘上留一个“镜像”副本)来提供冗余性。由于镜像的简单性和高度的数据可用性,它目前仍然很流行。使用两个以上磁盘操作的级别 1 可能会在读取时使用并行访问来获得高速数据传输,但是它更常用的是独立操作以提供高速 I/O 传输率。级别 1 提供了极佳的数据可靠性,并提高了读取任务繁重的程序的执行性能,但是它相对的费用也较高。 级别 1 阵列的贮存能力与硬件 RAID 中镜像的硬盘之一或软件 RAID 中镜像的分区之一的储存能力相同。
级别 4 — 级别 4 使用集中到单个磁盘驱动器上的奇偶校验来保护数据。它更适合于事务性的 I/O 而不是大型文件传输。由于专职的奇偶校验磁盘代表了固有瓶颈,级别 4 极少在没有写回缓存之类的技术陪同的情况下使用。虽然级别 4 在某些分区方案中是一种可选项目,它在 Red Hat Linux RAID 安装中却不是一个允许的选项。硬件级别 4 的贮存能力相对于所有成员磁盘去掉一个后的贮存能力。软件级别 4 的贮存能力相对于所有成员分区去掉一个后的贮存能力(如果它们的大小相同的话)。
级别 5 — 这是最普遍的 RAID 类型。通过在某些或全部阵列成员磁盘驱动器中分布奇偶校验,RAID 级别 5 避免了级别 4 中固有的写入瓶颈。唯一的性能瓶颈是奇偶计算进程。使用现代的 CPU 和软件 RAID,这种情况通常不是什么大问题。与级别 4 一样,其结果是非对称性能,读取大大地超过了写入性能。级别 5 经常与写回缓存一起使用来减低这种非对称性。硬件级别 5 的贮存能力相当于所有成员磁盘去掉一个后的贮存能力。软件 RAID 级别 5 的贮存能力相当于所有成员分区去掉一个后的贮存能力(如果它们的大小相同)。
线形 RAID — 线形 RAID 是一种简单的驱动器聚组以便创建一个较大的虚拟驱动器。在线形 RAID 中,区块从一个成员驱动器到另一个成员驱动器被依次分配,只有在第一个驱动器被完全填充后,才转到下一个驱动器。这种聚组没有提供任何性能方面的利益,因为 I/O 操作不太可能在成员驱动器间被分开。线形 RAID 也没有提供任何冗余性,事实上,它降低了可靠性 — 如果任何一个成员驱动器失效了,整个阵列都不能被使用。它的贮存能力是所有成员磁盘的总和。
注意:RAID 级别 1 的代价很高,因为你把相同的信息写入阵列中的所有磁盘,这浪费了驱动器空间。譬如,如果你设立了 RAID 级别 1,因而你的根分区( / )存在于两个 40G 的驱动器上,你虽然总共有 80G 空间,却只能访问其中的 40G,因为另外的 40G 就如同前 40G 的镜像一样。
奇偶校验的信息是基于阵列中的其它磁盘成员的内容来计算的。当阵列中的某个磁盘上的数据失效时,这则信息就会被用来重建数据。然后,在替换失效磁盘之前,被重建的数据可以用来满足失败磁盘上的 I/O 请求;在替换失效磁盘之后,它可以用来在新磁盘上重建数据。
RAID 级别 4 与级别 5 所占空间相同,但是级别 5 却优于级别 4。由于这个原因,级别 4 不被支持。
(出处:http://www.sheup.com)
RAID 级别 4 与级别 5 所占空间相同,但是级别 5 却优于级别 4。由于这个原因,级别 4 不被支持。
(出处:http://www.sheup.com)