理解 RAID 概念
Storage Management 采用独立磁盘冗余阵列 (RAID) 技术提供存储管理功能。要理解存储管理,就需要理解 RAID 的概念,并且熟悉系统 RAID 控制器和操作系统如何看待磁盘空间。此子部分说明基本存储概念,包括什么是 RAID?、针对可用性和性能组织数据存储和选择 RAID 级别和连锁。
什么是 RAID?
RAID 是管理如何将数据存储在系统中存在的或连接到系统的物理磁盘上的技术。RAID 的一个重要特点是能够简单磁盘捆绑多个物理磁盘,以使多个物理磁盘的合并存储容量可以视为一个扩展的磁盘空间。RAID 的另一个重要特点是能够保存冗余数据,可以在磁盘故障的时候用来恢复数据。RAID 使用不同的技术(比如分条、镜像和奇偶校验)来存储和重新构建数据。有各种不同的 RAID 级别使用不同的方法来存储和重新构建数据。各个 RAID 级别在读/写性能、数据保护和存储容量方面具有不同的特点。并不是所有的 RAID 级别都存有冗余数据,这意味着有些 RAID 级别在丢失数据后无法恢复。您选择的 RAID 级别取决于您侧重于性能、保护,还是存储容量。
![]() ![]() |
注:RAID Advisory Board (RAB) 定义实现 RAID 所用的规范。虽然 RAB 定义了 RAID 级别,但不同供应商的 RAID 级别商业实现与实际 RAID 规范可能有所不同。由特定供应商提供的实现方案可能会影响到读写性能和数据冗余的程度。 |
硬件和软件 RAID
RAID 既可以使用硬件也可以使用软件来实现。使用硬件 RAID 的系统具有一个 RAID 控制器,在物理磁盘上实现 RAID 级别并处理数据读写。使用操作系统提供的软件 RAID 时,操作系统实施 RAID 级别。因此,只是本身使用软件 RAID 会降低系统的性能。但是,可以在硬件 RAID 卷上使用软件 RAID,从而提供更好的性能并且在 RAID 卷配置方面具有更大的灵活性。例如,可以跨越两个 RAID 控制器来镜像一对硬件 RAID 5 卷,从而提供 RAID 控制器冗余。
![]() ![]() |
注:Storage Management 仅支持硬件 RAID。 |
RAID 概念
RAID 使用特定的技术来将数据写到磁盘。这些技术使 RAID 能够提供数据冗余或更好的性能。这些技术包括:
•![]() |
镜像—从一个物理磁盘复制数据到另一个物理磁盘。镜像通过在不同物理磁盘上保存相同数据的两个备份来实现数据冗余。如果镜像中的一个磁盘发生故障,系统可以通过使用未受影响的磁盘来继续工作。镜像的两端在任何时候都保存相同的数据。镜像的任何一端都可充当可运行端。镜像 RAID 磁盘组与 RAID 5 磁盘组在读操作方面性能相当,但是在写操作方面性能更好。 |
•![]() |
分条—磁盘分条在虚拟磁盘中的所有物理磁盘上写入数据。每个条带都包含连续的虚拟磁盘数据地址,使用顺序模式以固定单位映射到虚拟磁盘中的各个物理磁盘。例如,如果虚拟磁盘包含五个物理磁盘,条带会将数据写入物理磁盘一至五而不重复在某个物理磁盘上写入。条带在每个物理磁盘上使用的空间大小相同。物理磁盘上的条带部分是一个元素带。分条自身并不提供数据冗余。分条与奇偶校验同时使用就能够实现数据冗余。 |
•![]() |
条带大小—条带使用的总磁盘空间(不包括奇偶校验磁盘)。例如,假设条带包含 64KB 磁盘空间并且条带中各磁盘上有 16KB 数据。在这种情况下,条带大小是 64KB,而元素带大小是 16KB。 |
•![]() |
元素带—元素带是位于单个物理磁盘上的条带部分。 |
•![]() |
元素带大小—元素带使用的磁盘空间量。例如,假设条带包含 64KB 磁盘空间并且条带中各磁盘上有 16KB 数据。在这种情况下,元素带大小是 16KB,而条带大小是 64KB。 |
•![]() |
奇偶校验—奇偶校验是指通过使用某个算法与分条一起保存的冗余数据。如果其中的一个分条磁盘发生故障,可以使用该算法从奇偶校验信息重新构建数据。 |
•![]() |
简单磁盘捆绑—简单磁盘捆绑是一种 RAID 技术,用于将物理磁盘组的存储空间组合为 RAID 10、50 或 60 虚拟磁盘。 |
RAID 级别
每种 RAID 级别都组合了某种镜像、分条和奇偶校验,从而实现了数据冗余或提高了读写性能。有关各个 RAID 级别的特定信息,请参阅选择 RAID 级别和连锁。
为了可用性和性能组织数据存储
RAID 提供了各种不同的方法或 RAID 级别来组织磁盘存储。有些 RAID 级别保存冗余数据,因此可以在磁盘发生故障后恢复数据。不同的 RAID 级别可能也意味着在系统输入/输出(读和写)性能方面有某种程度的提高或降低。
保存冗余数据需要使用额外的物理磁盘。随着使用更多的磁盘,某个磁盘出现故障的可能也就会增加。由于在输入/输出性能和冗余方面存在差异,所以根据操作系统中的应用程序和所存储数据的性质来挑选,某个 RAID 级别可能比另一种更适合。
选择连锁或某个 RAID 级别后,需要注意以下性能和成本问题:
•![]() |
可用性或容错性—可用性或容错性是指系统即使在一个组件出现故障时保持运行并允许访问数据的能力。在 RAID 卷中,可用性或容错性是通过保存冗余数据来实现的。冗余数据包括镜像(复制数据)和奇偶校验信息(使用某种算法重新构建数据)。 |
•![]() |
性能—根据所选的 RAID 级别,读写性能可能会有所提高或降低。有些 RAID 级别可能更适合于某些应用程序。 |
•![]() |
成本效率—保存与 RAID 卷相关的冗余数据或奇偶校验信息需要额外的磁盘空间。如果数据是临时的、容易重新生成的或者不太重要,那么在数据冗余方面增加的成本可能就不太合算。 |
•![]() |
平均故障间隔时间 (MTBF)—使用额外磁盘保持数据冗余还会在任何特定时刻增加磁盘故障的可能性。虽然这在那些需要冗余数据的环境中是不可避免的,但确实给公司的系统支持人员增加了工作负担。 |
•![]() |
卷—卷是指单磁盘非 RAID 虚拟磁盘。可以使用诸如 O-ROM |
有关详细信息,请参阅选择 RAID 级别和连锁。
选择 RAID 级别和连锁
可以使用 RAID 或连锁在多个磁盘上控制数据存储。每种 RAID 级别或连锁都具有不同的性能和数据保护特点。
以下小部分具体介绍了各种 RAID 级别或连锁存储数据的方式,以及各自的性能和保护特点:
•![]() |
连锁 |
•![]() |
无 RAID |
连锁
在 Storage Management 中,连锁是指将数据存储在一个物理磁盘上或简单磁盘捆绑多个物理磁盘的磁盘空间上。当简单磁盘捆绑一个以上的磁盘时,连锁能使操作系统把多个物理磁盘视为一个磁盘。
存储在一个磁盘上的数据可以视为一个简单的卷。该磁盘也可以定义为一个只包含一个物理磁盘的虚拟磁盘。简单磁盘捆绑多个物理磁盘的数据可以视为一个简单磁盘捆绑卷。多个连锁磁盘也可以定义为一个包含多个物理磁盘的虚拟磁盘。
简单磁盘捆绑分隔同一磁盘各个区域的动态卷也视为连锁。
如果连锁或简单磁盘捆绑卷中的某个物理磁盘发生故障,整个卷都将不可用。由于数据不冗余,所以不能通过镜像磁盘或奇偶校验信息进行重建。从备份恢复是唯一的选择。
由于连锁卷不使用磁盘空间来维护冗余数据,因此与使用镜像或奇偶校验信息的卷相比具有更高的成本效率。对于那些临时的、容易复制的数据或不计较数据冗余成本的数据来说,连锁的卷可能是理想的选择。此外,可以很容易地通过添加其他物理磁盘来扩展连锁卷。
•![]() |
将 n 个磁盘连锁为一个具有 n 个磁盘容量的大虚拟磁盘。 |
•![]() |
数据将先存满第一个磁盘,然后才写入第二个磁盘。 |
•![]() |
不会保存冗余数据。如果某个磁盘发生故障,大虚拟磁盘也发生故障。 |
•![]() |
性能未提高。 |
•![]() |
无冗余。 |
相关信息:
RAID 级别 0(分条)
RAID 0 使用数据分条,将数据写入各个物理磁盘上的相等大小区段上。RAID 0 不提供数据冗余。
RAID 0 特点:
•![]() |
将 n 个磁盘组合成一个大的虚拟磁盘,其容量为(最小磁盘大小)*n 个磁盘。 |
•![]() |
数据交替存储到磁盘上。 |
•![]() |
不会保存冗余数据。如果一个磁盘发生故障,大虚拟磁盘也会发生故障,并且无法重建数据。 |
•![]() |
更好的读写性能。 |
相关信息:
RAID 级别 1(镜像)
RAID 1 是保存冗余数据的最简单形式。在 RAID 1 中,数据会镜像或复制到一个或多个物理磁盘上。如果镜像一端的物理磁盘失败,则可以使用镜像另一端的物理磁盘重建数据。
RAID 1 特点:
•![]() |
将 n + n 个磁盘组合为一个虚拟磁盘,具有 n 个磁盘的容量。当前由 Storage Management 支持的控制器在创建 RAID 1 时允许选择两个磁盘。由于这两个磁盘互为镜像,总存储容量相当于一个磁盘。 |
•![]() |
数据同时复制到两个磁盘。 |
•![]() |
一个磁盘发生故障时,虚拟磁盘仍然可以工作。数据从故障磁盘的镜像中读取。 |
•![]() |
更好的读性能,但是写性能略慢。 |
•![]() |
用于保护数据的冗余。 |
•![]() |
RAID 1 在磁盘空间方面成本较高,因为用来存储数据的磁盘数目是不使用冗余时的两倍。 |
相关信息:
RAID 级别 5(带有分布式奇偶校验的分条)
RAID 5 通过结合使用数据分条和奇偶校验信息来提供数据冗余。但是,并不是专门用某个物理磁盘进行奇偶校验,而是在磁盘组中的所有物理磁盘上对奇偶校验信息进行分条。
RAID 5 特点:
•![]() |
将 n 个磁盘组合为一个具有 (n-1) 个磁盘容量的大虚拟磁盘。 |
•![]() |
冗余信息(奇偶校验)交替存储在所有磁盘上。 |
•![]() |
如果某个磁盘发生故障,虚拟磁盘仍将工作,但是会在降级状态下运行。将从剩下的磁盘重新构建数据。 |
•![]() |
读性能更好,但写性能较差。 |
•![]() |
用于保护数据的冗余。 |
相关信息:
RAID 级别 6(带有额外奇偶校验的分条)
RAID 6 通过结合使用数据分条和奇偶校验信息来提供数据冗余。与 RAID 5 类似,奇偶校验在各条带上分布。然而,RAID 6 使用额外的物理磁盘存放奇偶校验,这样磁盘组中的每个条带都有两个具有奇偶校验信息的磁盘块。额外的奇偶校验在两个磁盘失败时提供数据保护。在图 3-5 中,两组奇偶校验信息表示为 P 和 Q。
RAID 6 特点:
•![]() |
将 n 个磁盘组合为一个具有 (n-2) 个磁盘容量的大虚拟磁盘。 |
•![]() |
冗余信息(奇偶校验)交替存储在所有磁盘上。 |
•![]() |
虚拟磁盘在多达两个磁盘失败时仍保持正常运行。将从剩下的磁盘重新构建数据。 |
•![]() |
读性能更好,但写性能较差。 |
•![]() |
用于保护数据的提高的冗余。 |
•![]() |
需要每个简单磁盘捆绑有两个磁盘以实现奇偶校验。RAID 6 在磁盘空间方面成本较高。 |
相关信息:
RAID 级别 50(在 RAID 5 组上分条)
RAID 50 是简单磁盘捆绑一个以上物理磁盘简单磁盘捆绑的分条。例如,一个实施了三个物理磁盘的 RAID 5 磁盘组接着配置具有另外三个物理磁盘的磁盘组就是 RAID 50。
即使硬件不直接支持,也有可能实现 RAID 50。在这种情况下,可以实现多个 RAID 5 虚拟磁盘,然后将这些 RAID 5 磁盘转换为动态磁盘。可以随后创建一个简单磁盘捆绑所有 RAID 5 虚拟磁盘的动态卷。
RAID 50 特点:
•![]() |
将 n*s 个磁盘组合为一个大虚拟磁盘,容量为 s*(n-1) 个磁盘,其中 s 是简单磁盘捆绑数,n 是每个简单磁盘捆绑中的磁盘数。 |
•![]() |
冗余信息(奇偶校验)交替存储在每个 RAID 5 简单磁盘捆绑的所有磁盘上。 |
•![]() |
读性能更好,但写性能较差。 |
•![]() |
需要与标准 RAID 5 一样多的奇偶校验信息。 |
•![]() |
数据在所有简单磁盘捆绑上进行分条。RAID 50 在磁盘空间方面成本较高。 |
![]() ![]() |
注:在 PERC 4/SC、4/DC、4e/DC、4/Di、4e/Si 和 4e/Di 控制器上,当在磁盘大小各异的磁盘组上实施 RAID 50 时,有一些特殊考虑事项。有关详细信息,请参阅 PERC 4/SC、4/DC、4e/DC、4/Di、4e/Si 和 4e/Di 上 RAID 10 和 50 的考虑事项。 |
相关信息:
RAID 级别 60(在 RAID 6 组上分条)
RAID 60 是在多个配置为 RAID 6 的物理磁盘的简单磁盘捆绑上分条。例如,一个用四个物理磁盘实施的 RAID 6 磁盘组,随后与另外四个物理磁盘的磁盘组继续实施,即成为 RAID 60。
RAID 60 特点:
•![]() |
将 n*s 个磁盘组合为一个大虚拟磁盘,容量为 s*(n-2) 个磁盘,其中 s 是简单磁盘捆绑数,n 是每个简单磁盘捆绑中的磁盘数。 |
•![]() |
冗余信息(奇偶校验)交替存储在每个 RAID 6 简单磁盘捆绑的所有磁盘上。 |
•![]() |
读性能更好,但写性能较差。 |
•![]() |
增加的冗余提供了比 RAID 50 更高的数据保护。 |
•![]() |
按照比例,需要与 RAID 6 一样多的奇偶校验信息。 |
•![]() |
需要每个简单磁盘捆绑有两个磁盘以实现奇偶校验。RAID 60 在磁盘空间方面成本较高。 |
相关信息:
RAID 级别 10(在镜像组上分条)
RAB 将 RAID 级别 10 视为 RAID 级别 1 的实施。RAID 10 将镜像物理磁盘 (RAID 1) 与数据分条 (RAID 0) 相结合。对于 RAID 10,数据在多个物理磁盘上分条。分条的磁盘组随后会镜像到另一组物理磁盘。RAID 10 可以视为条带的镜像。
RAID 10 特点:
•![]() |
将 n 个磁盘组合为一个大虚拟磁盘,容量为 (n/2) 个磁盘,其中 n 是一个偶数整数。 |
•![]() |
数据的镜像映像在物理磁盘组上进行分条。此级别通过镜像提供冗余。 |
•![]() |
一个磁盘发生故障时,虚拟磁盘仍然可以工作。将从没有故障的镜像磁盘中读取数据。 |
•![]() |
读写性能均有所提高。 |
•![]() |
用于保护数据的冗余。 |
![]() ![]() |
注:在 PERC 4/SC、4/DC、4e/DC、4/Di、4e/Si 和 4e/Di 控制器上,当在磁盘大小各异的磁盘组上实施 RAID 10 时,有一些特殊考虑事项。有关详细信息,请参阅 PERC 4/SC、4/DC、4e/DC、4/Di、4e/Si 和 4e/Di 上 RAID 10 和 50 的考虑事项。 |
相关信息:
RAID 级别 1 连锁(连锁镜像)
RAID 1 连锁是一个简单磁盘捆绑一对以上物理磁盘的 RAID 1 磁盘组。这将连锁的优点与 RAID 1 的冗余相结合。此 RAID 类型中不涉及分条。
![]() ![]() |
注:不能使用 Storage Management 创建 RAID 1 连锁虚拟磁盘或重新配置为 RAID 1 连锁。只能使用 Storage Management 监视 RAID 1 连锁虚拟磁盘。 |
相关信息:
PERC 4/SC、4/DC、4e/DC、4/Di、4e/Si 和 4e/Di 上 RAID 10 和 50 考虑事项
在 PERC 4/SC、4/DC、4e/DC、4/Di、4e/Si 和 4e/Di 控制器上,当在磁盘大小各异的磁盘组上实施 RAID 10 或 RAID 50 时,有一些特殊考虑事项。当实施 RAID 10 或 RAID 50 时,会简单磁盘捆绑磁盘空间来创建条带和镜像。简单磁盘捆绑大小可能会变化来适应不同的磁盘大小。但是,磁盘组中最大磁盘的一部分也有可能会不可用,从而造成磁盘空间浪费。例如,对于具有下列磁盘的磁盘组:
磁盘 A = 40 GB
磁盘 B = 40 GB
磁盘 C = 60 GB
磁盘 D = 80 GB
在本例中,数据将会简单磁盘捆绑所有四个磁盘,直到磁盘 A 和磁盘 B 以及磁盘 C 和磁盘 D 上的 40 GB 空间已全部占满。之后数据将会简单磁盘捆绑磁盘 C 和磁盘 D,直到磁盘 C 已满。这样,磁盘 D 上便会剩下 20 GB 磁盘空间。由于磁盘组中没有相应的磁盘空间来创建冗余数据,因此数据无法写入到此磁盘空间。
比较 RAID 级别和连锁性能
下表比较了一些常用 RAID 级别的相关性能特点。此表提供了选择 RAID 级别的一般原则。选择 RAID 级别之前,评估具体的环境要求。
![]() ![]() |
注:下表并没有显示 Storage Management 支持的所有 RAID 级别。有关 Storage Management 支持的所有 RAID 级别的信息,请参阅选择 RAID 级别和连锁。 |
无 RAID
在 Storage Management 中,未知元数据的虚拟磁盘视为无 RAID 卷。Storage Management 不支持此类型的虚拟磁盘。必须删除这些虚拟磁盘,或者必须拆下物理磁盘。Storage Management 允许对无 RAID 卷执行删除和重命名操作。