Solaris Volume Manager 可以替换和启用 RAID-1(镜像)和 RAID-5 卷中的组件。
在 Solaris Volume Manager 术语中,替换组件是一种用系统中的可用组件替换子镜像或 RAID-5 卷中的选定组件的方式。可以将此过程视为逻辑替换,以区别于物理方式替换组件。有关更多信息,请参见使用其他可用组件来替换组件。
启用组件就是“激活”或替换组件本身(也就是说,组件名称是相同的)。有关更多信息,请参见启用组件。
因磁盘错误而进行恢复时,请浏览 /var/adm/messages,以了解出现了哪种错误。如果错误是暂时的,且磁盘本身没有问题,请尝试启用出故障的组件。也可以使用 format 命令来测试磁盘。
存在以下任何一种情况时,都可以启用组件:
Solaris Volume Manager 无法访问物理驱动器。例如,由于断电或驱动器电缆松动,可能会出现此问题。在这种情况下,Solaris Volume Manager 会将组件置于“Maintenance(维护)”状态。需要确保驱动器可以访问(恢复供电、重新连接电缆等),然后启用卷中的组件。
您怀疑物理驱动器具有的暂时问题与磁盘无关。仅通过启用处于“Maintenance(维护)”状态的组件,就可能修复该组件。如果通过启用组件未能解决问题,则需要执行以下操作之一:
以物理方式替换磁盘驱动器并启用该组件
使用系统中的另一个可用组件来替换该组件
以物理方式替换磁盘时,请一定要按照被替换磁盘的分区对新磁盘进行分区,从而确保每个已使用的组件上都有足够的空间。
请始终检查将要替换的磁盘上的状态数据库副本和热备件。替换磁盘之前,应删除处于错误状态的任何状态数据库副本。随后,在启用组件后,请重新创建同样大小的状态数据库副本。应采取同样的方式处理热备件。
使用可用但在系统中未使用的其他组件替换或交换现有组件时,可以使用 metareplace 命令。
存在以下任何一种情况时,都可以使用此命令:
磁盘驱动器有问题,但没有备用驱动器。不过,系统上的其他位置有可用组件。
替换绝对有必要,但又不想关闭系统时,可能需要使用此策略。
在物理磁盘上看到软错误。
即使 Solaris Volume Manager 显示处于“Okay(正常)”状态下的镜像/子镜像或 RAID-5 卷,物理磁盘也可能报告软错误。使用其他可用组件替换有问题的组件后,即可执行预防性维护,并可防止出现硬错误。
需要执行性能调整。
评估组件的一种方式就是使用 Solaris Management Console 中增强的存储工具中可用的性能监视功能。例如,您可能发现,RAID-5 卷中的某个组件和平均负载比较高,但该组件仍处于“Okay(正常)”状态。要平衡卷上的负载,可以用磁盘上很少使用的组件来替换该组件。可以联机执行此类型的替换,而不会中断卷服务。
当 RAID-1 或 RAID-5 卷中的组件遇到错误时,Solaris Volume Manager 会使组件处于“Maintenance(维护)”状态。不会对处于“Maintenance(维护)”状态的组件进一步执行任何读取或写入操作。
有时,组件会进入“Last Erred(最近出错)”状态。对于 RAID-1 卷,通常单向镜像会出现这种情况。卷将遇到错误。但是,没有可供读取的冗余组件。对于 RAID-5 卷,某个组件进入“Maintenance(维护)”状态且另一个组件出现故障后,会出现这种情况。第二个出现故障的组件将进入“Last Erred(最近出错)”状态。
当 RAID-1 卷或 RAID-5 卷中的组件处于“Last Erred(最近出错)”状态时,仍然会尝试对标记为“Last Erred(最近出错)”的组件执行 I/O。由于对 Solaris Volume Manager 而言,“Last Erred(最近出错)”组件包含最后一个完好的数据副本,因此会发生此 I/O 尝试。当组件处于“Last Erred(最近出错)”状态时,卷的行为与标准设备(磁盘)相同,卷将向应用程序返回 I/O 错误。通常,此时会丢失某些数据。
根据卷的类型,处理同一个卷中其他组件上的后续错误的方式会有所不同。
RAID-1 卷可以允许许多组件处于“Maintenance(维护)”状态,且仍然可以读取和写入。如果组件处于“Maintenance(维护)”状态,则不会丢失任何数据。可以按照任意顺序安全地替换或启用组件。如果组件处于“Last Erred(最近出错)”状态,必须先替换处于“Maintenance(维护)”状态的组件,然后才能替换该组件。替换或启用处于“Last Erred(最近出错)”状态的组件通常意味着某些数据已丢失。修复镜像上的数据后,请确保对其进行验证。
RAID-5 卷可允许单个组件处于“Maintenance(维护)”状态。可以安全地替换处于“Maintenance(维护)”的单个组件,而不会丢失数据。如果其他组件上出现错误,则该组件将进入“Last Erred(最近出错)”状态。此时,RAID-5 卷是只读设备。您需要执行某种类型的错误恢复,以使 RAID-5 卷的状态稳定,并降低数据丢失的可能性。如果 RAID-5 卷达到“Last Erred(最近出错)”状态,则很有可能已丢失数据。修复 RAID-5 卷上的数据后,请确保对其进行验证。
请始终先替换处于“Maintenance(维护)”状态的组件,然后再替换处于“Last Erred(最近出错)”状态的组件。替换和重新同步组件后,请使用 metastat 命令来验证其状态。然后,验证数据。
在 RAID-1 卷或 RAID-5 卷中替换组件时,请遵循以下原则:
请始终先替换处于“Maintenance(维护)”状态的组件,然后再替换处于“Last Erred(最近出错)”状态的组件。
替换和重新同步组件后,请使用 metastat 命令来验证卷的状态。然后,验证数据。替换或启用处于“Last Erred(最近出错)”状态的组件通常意味着某些数据已丢失。修复卷上的数据后,请确保对其进行验证。对于 UFS,请运行 fsck 命令以验证“元数据”(文件系统的结构)。然后,检查实际的用户数据。(实际上,用户必须检查其文件。)数据库或其他应用程序必须自备验证其内部数据结构的方式。
替换组件时,请始终检查状态数据库副本和热备件。替换物理磁盘之前,应删除处于错误状态的任何状态数据库副本。启用组件之前,应恢复状态数据库副本。同样的过程适用于热备件。
替换 RAID-5 卷的组件期间,可以采用以下两种方式来恢复数据:从当前正在使用的热备件恢复数据,或使用 RAID-5 奇偶校验(未使用热备件时)来恢复数据。
替换 RAID-1 卷的组件时,Solaris Volume Manager 将自动开始将新组件与该卷的其余组件重新同步。重新同步完成后,被替换的组件即可读取和写入。如果已使用热备件中的数据替换了出故障的组件,则该热备件将处于“Available(可用)”状态,且可用于其他热备件替换。
新的组件必须足够大,才能替换旧的组件。
为避免意外情况,替换处于“Last Erred(最近出错)”状态的设备之前,请备份所有数据。