Solaris Volume Manager 管理指南

第 15 章 RAID-5 卷(任务)

本章提供有关执行与 RAID-5 卷相关联的 Solaris Volume Manager 任务的信息。有关这些任务中所涉及概念的信息,请参见第 14 章,RAID-5 卷(概述)

RAID-5 卷(任务列表)

以下任务列表列出了管理 Solaris Volume Manager RAID-5 卷所需的过程。

任务 

说明 

参考 

创建 RAID-5 卷 

使用 Solaris Volume Manager GUI 或 metainit 命令创建 RAID-5 卷。

如何创建 RAID-5 卷

检查 RAID-5 卷的状态 

使用 Solaris Volume Manager GUI 或 metastat 命令检查 RAID-5 卷的状态。

如何检查 RAID-5 卷的状态

扩展 RAID-5 卷 

使用 Solaris Volume Manager GUI 或 metattach 命令扩展 RAID-5 卷。

如何扩展 RAID-5 卷

在 RAID-5 卷中启用片 

使用 Solaris Volume Manager GUI 或 metareplace 命令在 RAID-5 卷中启用片。

如何在 RAID-5 卷中启用组件

替换 RAID-5 卷中的片 

使用 Solaris Volume Manager GUI 或 metareplace 命令替换 RAID-5 卷中的片。

如何在 RAID-5 卷中替换组件

创建 RAID-5 卷


注意 – 注意 –

如果希望运行具有 32 位内核的 Solaris 软件,或者希望使用版本低于 Solaris 9 4/03 发行版的 Solaris OS,请不要创建大于 1 TB 的卷。有关 Solaris Volume Manager 中大型卷支持的更多信息,请参见Solaris Volume Manager 中的多 TB 支持的概述


Procedure如何创建 RAID-5 卷

开始之前

请查看创建 Solaris Volume Manager 组件的先决条件创建 RAID-5 卷的背景信息

    要创建 RAID-5 卷,请使用以下方法之一:

    • 从 Solaris Management Console 中增强的存储工具中,打开“卷”节点。选择“操作”⇒“创建卷”,然后按照向导中的步骤操作。有关更多信息,请参见联机帮助。

    • 使用以下形式的 metainit 命令:


      # metainit wolume-name -r component component component -i interlace-value
      
      volume-name

      指定要创建的卷的名称。

      -r

      指定要创建 RAID-5 卷。

      component

      指定要包括在 RAID-5 卷中的片或软分区。至少需要 3 个组件。

      -i

      指定交错值。

      有关更多信息,请参见 metainit(1M) 手册页。


示例 15–1 创建由三个片组成的 RAID-5 卷

在以下示例中,RAID-5 卷 d45 是使用 -r 选项从 3 个片创建的。由于未指定交错值,因此 d45 使用缺省值 16 KB。系统会确认该 RAID-5 卷已设置并开始初始化该卷。

必须等待初始化完成,才能使用该 RAID-5 卷。


# metainit d45 -r c2t3d0s2 c3t0d0s2 c4t0d0s2

d45: RAID is setup

另请参见

要为文件系统准备新创建的 RAID-5 卷,请参见《系统管理指南:设备和文件系统》中的第 18  章 “创建 UFS、TMPFS 和 LOFS 文件系统(任务)”。某些应用程序(如数据库)不使用文件系统,而是使用原始卷。应用程序必须能够以自己的方式来识别原始卷。

要将热备用池与 RAID-5 卷相关联,请参见如何将热备用池与卷相关联

维护 RAID-5 卷

Procedure如何检查 RAID-5 卷的状态

在检查 RAID-5 卷的状态时,必须对 RAID-5卷的状态和片的状态都进行检查,才能完全了解卷的状态以及在卷的状态不是“Okay(正常)”时数据发生丢失的可能性有多大。有关详细信息,请参见有关检查 RAID-5 卷状态的概述


注 –

RAID-5 卷的初始化或重新同步过程不能中断。


    要检查 RAID-5 卷的状态,请使用以下方法之一:

    • 从 Solaris Management Console 中增强的存储工具 中,打开“卷”节点并查看卷的状态。选择一个卷,然后选择“操作”⇒“属性”以查看更详细的信息。有关更多信息,请参见联机帮助。

    • 使用 metastat 命令显示 RAID-5 卷的状态。


      # metastat [-s diskset] [volume]
      
      -s diskset

      指定要对其执行该命令的磁盘集的名称。

      volume

      指定要显示的卷。

      对于 RAID-5 卷中的每个片,metastat 命令显示以下信息:

      Device

      指定条带中该片的设备名称。

      Start Block

      指定该片的起始块。

      Dbase

      指定该片是否包含状态数据库副本。

      State

      指定该片的状态。

      Hot Spare

      指定该片是否将用于对出故障的片进行热备份。


示例 15–2 查看 RAID-5 卷的状态

以下示例显示对 RAID-5 卷执行 metastat 命令时的输出:


# metastat d10

d10: RAID

    State: Okay        

    Interlace: 32 blocks

    Size: 10080 blocks

Original device:

    Size: 10496 blocks

        Device              Start Block  Dbase State        Hot Spare

        c0t0d0s1                 330     No    Okay        

        c1t2d0s1                 330     No    Okay        

        c2t3d0s1                 330     No    Okay 

metastat 命令的输出将该卷标识为 RAID-5 卷。此信息由卷名后面的 "RAID" 标志来指示。对于 RAID-5 卷中的每个片,输出中显示以下信息:


Procedure如何扩展 RAID-5 卷

通常,对于空间不足的 RAID-5 卷,附加组件只是一个短期的解决方案。出于性能方面的考虑,最好拥有一个“纯”RAID-5 卷。如果必须通过扩展现有的 RAID-5 卷来获得额外的存储空间,请使用此过程。


注意 – 注意 –

如果希望运行具有 32 位内核的 Solaris 软件,或者希望使用版本低于 Solaris 9 4/03 发行版的 Solaris OS,请不要创建大于 1 TB 的卷。有关 Solaris Volume Manager 中多 TB 卷支持的更多信息,请参见Solaris Volume Manager 中的多 TB 支持的概述


开始之前

请阅读创建 RAID-5 卷的背景信息

  1. 请确保您具有超级用户访问权限,而且具有所有数据的最新备份。

  2. 要向 RAID-5 卷附加额外的组件,请使用以下方法之一:

    • 从 Solaris Management Console 中增强的存储工具 中,打开“卷”节点,然后打开 RAID-5 卷。选择“组件”窗格,然后选择“附加组件”。请按照屏幕上的说明操作。有关更多信息,请参见联机帮助。

    • 使用以下形式的 metattach 命令:


      # metattach volume-name name-of-component-to-add
      
      volume-name

      指定要扩展的 RAID-5 卷的名称。

      name-of-component-to-add

      指定要附加到 RAID-5 卷的组件的名称。

      有关更多信息,请参见 metattach(1M) 手册页。


示例 15–3 向 RAID-5 卷中添加组件

以下示例说明如何向现有的 RAID-5 卷 d2 中添加片 c2t1d0s2


# metattach d2 c2t1d0s2

d2: column is attached

另请参见

对于 UFS 文件系统,请针对 RAID-5 卷运行 growfs 命令。请参见使用 growfs 命令扩展卷和磁盘空间

某些应用程序(如数据库)不使用文件系统,而是使用原始卷。在这些情况下,应用程序必须能够以自己的方式来增加扩展空间。

Procedure如何在 RAID-5 卷中启用组件

如果磁盘驱动器有缺陷,则可以按照如何在 RAID-5 卷中替换组件中的说明用系统上的另一块可用磁盘(及其片)来替换它。或者,可以修理该磁盘、为它加标号,然后运行带有 -e 选项的 metareplace 命令来重新启用该磁盘。

  1. 请确保您具有超级用户访问权限,而且具有所有数据的最新备份。

  2. 要在 RAID-5 卷中启用出故障的组件,请使用以下方法之一:

    • 从 Solaris Management Console 中增强的存储工具 中,打开“卷”节点,然后打开 RAID-5 卷。选择“组件”窗格,然后选择出故障的组件。单击“启用组件”。请按照屏幕上的说明操作。有关更多信息,请参见联机帮助。

    • 使用以下形式的 metareplace 命令:


      # metareplace -e volume-name component-name
      
      -e

      指定要将出故障的组件置于可用状态并针对出故障的组件执行重新同步。

      volume-name

      指定包含出故障组件的卷的名称。

      component-name

      指定出故障组件的名称。

      metareplace 命令会自动开始将新组件与 RAID-5 卷的其余部分重新同步。


示例 15–4 在 RAID-5 卷中启用组件

在以下示例中,RAID-5 卷 d20 有一个片 c2t0d0s2,该片具有可更正的错误。带有 -e 选项的 metareplace 命令用于启用该片。


# metareplace -e d20 c2t0d0s2

Procedure如何在 RAID-5 卷中替换组件

此任务可替换只有一个片出现故障的 RAID-5 卷中的故障片。


注意 – 注意 –

如果在多个片有错误时替换某个出故障的片可能会导致数据错误。在这种情况下,将无法确保数据的完整性。


可以针对没有出现故障的设备运行 metareplace 命令来更改磁盘片或其他组件。此过程可用于调整 RAID-5 卷的性能。

  1. 请确保您具有超级用户访问权限,而且具有所有数据的最新备份。

  2. 使用以下方法之一来确定需要替换 RAID-5 卷的哪个片:

    • 从 Solaris Management Console 中增强的存储工具中,打开“卷”节点。然后打开 RAID-5 卷。选择“组件”窗格。查看单个组件的状态。有关更多信息,请参见联机帮助。

    • 使用 metastat 命令。


      # metastat volume
      
      volume

      指定 RAID-5 卷的名称。

    查找关键字短语“Needs Maintenance(需要维护)”以确定 RAID-5 卷的状态。查找关键字“Maintenance(维护)”以确定出故障的片。

  3. 使用以下方法之一来将出故障的片替换为另一个片:

    • 从 Solaris Management Console 中增强的存储工具中,打开“卷”节点。然后打开 RAID-5 卷。选择“组件”窗格。选择出故障的组件。单击“替换组件”并按照屏幕上的说明操作。有关更多信息,请参见联机帮助。

    • 使用以下形式的 metareplace 命令:


      # metareplace volume-name failed-component new-component
      
      • volume-name 是带有出故障组件的 RAID-5 卷的名称。

      • failed-component 指定要替换的组件的名称。

      • new-component 指定要添加到卷中、将替代出故障组件的组件。

      有关更多信息,请参见 metareplace(1M) 手册页。

  4. 要验证替换片的状态,请使用步骤 2中介绍的方法之一。

    被替换的片的状态应当为“Resyncing(正在重新同步)”或“Okay(正常)”


示例 15–5 替换 RAID-5 组件


# metastat d1

d1: RAID

State: Needs Maintenance

    Invoke: metareplace d1 c0t14d0s6 <new device>

    Interlace: 32 blocks

    Size: 8087040 blocks

Original device:

    Size: 8087520 blocks

	Device              Start Block  Dbase State        Hot Spare

	c0t9d0s6                 330     No    Okay        

	c0t13d0s6                330     No    Okay        

	c0t10d0s6                330     No    Okay        

	c0t11d0s6                330     No    Okay        

	c0t12d0s6                330     No    Okay        

	c0t14d0s6                330     No    Maintenance

 

# metareplace d1 c0t14d0s6 c0t4d0s6

d1: device c0t14d0s6 is replaced with c0t4d0s6

# metastat d1

d1: RAID

    State: Resyncing

    Resync in progress: 98% done

    Interlace: 32 blocks

    Size: 8087040 blocks

Original device:

    Size: 8087520 blocks

	Device              Start Block  Dbase State        Hot Spare

	c0t9d0s6                 330     No    Okay        

	c0t13d0s6                330     No    Okay        

	c0t10d0s6                330     No    Okay        

	c0t11d0s6                330     No    Okay        

	c0t12d0s6                330     No    Okay

	c0t4d0s6                 330     No    Resyncing

在此示例中,metastat 命令显示 RAID-5 卷 d1 中出故障的片。找到可用的片后,运行 metareplace 命令,在命令参数中先指定出故障的片,然后指定用来替换的片。

如果没有其他的片可用,请运行带有 -e 选项的 metareplace 命令,尝试通过重新同步出故障的设备来从可能是可更正的错误中恢复。有关此过程的更多信息,请参见如何在 RAID-5 卷中启用组件。如果存在多个错误,则必须首先替换或启用处于“Maintenance(维护)”状态的片,然后才能修复处于“Last Erred(最近出错)”状态的片。在运行 metareplace 命令之后,可以使用 metastat 命令来监视重新同步的进度。在替换过程中,卷和新片的状态都是“Resyncing(正在重新同步)”。处于这种状态的卷可以继续使用。