Solaris Volume Manager 管理指南

第 14 章 RAID-5 卷(概述)

本章提供有关 Solaris Volume Manager 的 RAID-5 卷的概念性信息。有关执行相关任务的信息,请参见第 15 章,RAID-5 卷(任务)

本章包含以下主题:

RAID-5 卷的概述

RAID 级别 5 类似于条带化,但其奇偶校验数据分布于所有组件(磁盘或逻辑卷)中。如果某个组件出现故障,则可以根据其他组件上分布的数据和奇偶校验信息来重新生成该组件上的数据。在 Solaris Volume Manager 中,RAID-5 卷是支持 RAID 级别 5 的卷。

RAID-5 卷使用相当于卷中的一个组件的存储容量来存储冗余信息(奇偶校验)。此奇偶校验信息包含有关在 RAID-5 卷的其余组件上所存储用户数据的信息。也就是说,如果您有三个组件,则相当于有一个组件的存储容量将用于存储奇偶校验信息。如果您有五个组件,则其中仍有相当于一个组件的存储容量将用于存储奇偶校验信息。奇偶校验信息分布于卷的所有组件中。与镜像类似,RAID-5 卷也可以增强数据可用性,而且所需的硬件成本最低,对写操作性能的影响也是可接受的。但是,您不能对根 (/)、/usrswap 文件系统使用 RAID-5 卷,也不能对其他现有文件系统使用 RAID-5 卷。

替换现有组件时,Solaris Volume Manager 会自动对 RAID-5 卷进行重新同步。如果出现系统故障或崩溃,Solaris Volume Manager 也会在重新引导期间重新同步 RAID-5 卷。

示例-RAID-5 卷

图 14–1 说明了包含四个磁盘(组件)的 RAID-5 卷。

前三个数据段将写入到组件 A(交错 1)、组件 B(交错 2)和组件 C(交错 3)中。接下来写入的数据段为奇偶校验段。此奇偶校验段将写入组件 D (P 1–3) 中。此段包含前三个数据段的异或结果。接下来的三个数据段将写入组件 A(交错 4)、组件 B(交错 5)和组件 D(交错 6)中。然后,另一个奇偶校验段写入组件 C (P 4–6) 中。

数据段和奇偶校验段的这种写入模式将使数据和奇偶校验分布在 RAID-5 卷的所有磁盘中。可以分别读取每个磁盘。奇偶校验可以防止出现单个磁盘故障。如果本示例中的每一张磁盘容量都为 2 GB,则 RAID-5 卷的总容量将为 6 GB。相当于一个磁盘的空间将被分配给奇偶校验。

图 14–1 RAID-5 卷示例

图中显示了 RAID-5 卷的示例。使用多个组件写入数据段和奇偶校验段。

示例-串联(扩展)RAID-5 卷

下图显示最初包含四张磁盘(组件)的 RAID-5 卷的示例。为扩展 RAID-5 卷,已将第五张磁盘与该磁盘动态串联。

图 14–2 扩展的 RAID-5 卷示例

图中显示了为提供具有冗余的更大卷而与 RAID-5 卷串联的其他组件。

创建初始的 RAID-5 卷时会分配奇偶校验区域。尽管实际的奇偶校验块分布于用于分布 I/O 的所有原始组件中,但系统会为奇偶校验分配相当于一个组件的空间。将其他组件与 RAID-5 卷串联时,新增的空间将全部用于存储数据,不会分配任何新的奇偶校验块。但是,串联组件上的数据包括在奇偶校验计算中,因此可以保护数据不受单个设备故障的影响。

串联的 RAID-5 卷不适合长期使用。在重新配置更大 RAID-5 卷之前,可以使用串联的 RAID-5 卷。然后,将数据复制到更大的卷中。


注 –

将新的组件添加到 RAID-5 卷时,Solaris Volume Manager 会将该组件中的所有块都设为“零”。此过程确保奇偶校验能保护新数据。数据写入到新增的空间时,Solaris Volume Manager 会将这些数据包括在奇偶校验计算中。


创建 RAID-5 卷的背景信息

使用 RAID-5 卷时,请考虑RAID-5 卷的要求RAID-5 卷指南。许多条带化原则也适用于 RAID-5 卷配置。请参见RAID-0 卷要求

RAID-5 卷的要求

RAID-5 卷指南

有关检查 RAID-5 卷状态的概述

通过查看 RAID-5 卷状态和卷的片状态,可以检查这些卷的状态。排除 RAID-5 卷错误时,片状态可提供最具体的信息。RAID-5 卷状态仅提供常规状态信息,如“Okay(正常)”或“Maintenance(维护)”。

如果 RAID-5 卷状态报告“Maintenance(维护)”状态,请参阅片状态。片状态具体报告片是处于“Maintenance(维护)”状态,还是处于“Last Erred(最近出错)”状态。根据片处于“Maintenance(维护)”状态还是处于“Last Erred(最近出错)”状态,可以执行不同的恢复操作。如果只具有处于“Maintenance(维护)”状态的片,则可以对片进行修复,而不会丢失数据。如果同时即有处于“Maintenance(维护)”状态的片,又有处于“Last Erred(最近出错)”状态的片,则数据可能已被损坏。必须首先修复处于“Maintenance(维护)”状态的片,然后再修复处于“Last Erred(最近出错)”状态的片。

下表说明了 RAID-5 卷状态。

表 14–1 RAID-5 卷状态

状态 

含义 

正在初始化 

片正在将所有的磁盘块都设置为零。由于 RAID-5 卷的性质与数据和奇偶校验交错分组相关,因此该过程是必需的。  

状态更改为“Okay(正常)”后,初始化过程即完成,并且您可以打开设备。在此之前,应用程序会一直收到错误消息。 

正常 

设备可供使用且当前没有错误。  

维护 

由于 I/O 或打开错误,已将片标记为有故障。这些错误会在读取或写入操作期间遇到。 

下表说明了 RAID-5 卷的片状态以及可能执行的操作。

表 14–2 RAID-5 片状态

状态 

含义 

操作 

正在初始化 

片正在将所有的磁盘块都设置为零。由于 RAID-5 卷的性质与数据和奇偶校验交错分组相关,因此该过程是必需的。  

正常,无如果在此过程期间出现 I/O 错误,则设备将进入“Maintenance(维护)”状态。如果初始化失败,则卷处于“Initialization Failed(初始化失败)”状态,而片处于“Maintenance(维护)”状态。如果发生这种情况,请清除卷并重新创建该卷。 

正常 

设备可供使用且当前没有错误。  

无。可以添加或替换片(如有必要)。 

正在重新同步 

正在以活动方式重新同步片。出现错误但已更正,已启用片,或已添加片。 

如果需要,请监视 RAID-5 卷状态,直到重新同步完成为止。 

维护 

由于 I/O 或打开错误,已将单个片标记为有故障。这些错误会在读取或写入操作期间遇到。 

启用或替换出现故障的片。请参见如何在 RAID-5 卷中启用组件如何在 RAID-5 卷中替换组件metastat 命令将显示 invoke 恢复消息,其中包含要使用 metareplace 命令执行的相应操作。

维护/最近出错 

多个片遇到了错误。出现故障的片的状态为“Maintenance(维护)”或“Last Erred(最近出错)”。在这种情况下,不会对处于“Maintenance(维护)”状态的片尝试 I/O。但是,会对标记为“Last Erred(最近出错)”的片尝试 I/O,结果将影响 I/O 请求的总体状态。 

请启用或替换出现故障的片。请参见如何在 RAID-5 卷中启用组件如何在 RAID-5 卷中替换组件metastat 命令将显示 invoke 恢复消息,其中包含要使用 metareplace 命令执行的相应操作。此命令必须使用 -f 标志来运行。此状态表明由于存在多个有故障的片,因此可能会伪造数据。

有关替换和启用 RAID-5 卷中的片的概述

Solaris Volume Manager 能够替换启用镜像及 RAID-5 卷中的组件。对于镜像和 RAID-5 卷,执行此操作的问题和要求是相同的。有关更多信息,请参见在 RAID-1 和 RAID-5 卷中替换和启用组件的概述

方案-RAID-5 卷

RAID-5 卷允许具有冗余存储,而不会带来 RAID-1 卷的额外开销费用(RAID-1 卷需要具备总存储空间的两倍容量才能提供数据冗余)。通过设置 RAID-5 卷,可以提供比使用同一组磁盘组件上的 RAID-1 卷实现的冗余存储容量更大的冗余存储。此外,借助热备件的帮助(请参见第 16 章,热备用池(概述),特别是热备件的工作原理),可以实现几乎相同的安全级别。缺点是增加了写入时间,且在组件出现故障时明显降低了性能。但是,上述优缺点的折衷可能对于许多情况无关紧要。以下示例(利用第 5 章,配置和使用 Solaris Volume Manager(方案)中说明的样例方案)介绍了 RAID-5 卷如何提供额外的存储容量。

RAID-0 和 RAID-1 卷的其他方案使用分布于 2 个控制器上的 6 张磁盘上的 6 个片(c1t1d0c1t2d0c1t3d0c2t1d0c2t2d0c2t3d0)来提供 27 GB 的冗余存储。通过使用 RAID-5 配置中的相同的片,可以实现 45 GB 的存储。此外,该配置可以经受单个组件故障,而不会丢失数据或中断访问。通过向该配置中添加热备件,RAID-5 卷可以经受其他的组件故障。此方法的最明显的缺点是控制器故障会导致该 RAID-5 卷上的数据丢失,而方案-RAID-1 卷(镜像)中介绍的 RAID-1 卷不会出现这种情况。