Solaris Volume Manager 管理指南

第 11 章 RAID-1(镜像)卷(任务)

本章介绍如何执行与 RAID-1 卷相关的 Solaris Volume Manager 任务。有关相关概念的信息,请参见第 10 章,RAID-1(镜像)卷(概述)

RAID-1 卷(任务列表)

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

任务 

说明 

参考 

从未使用的片创建镜像 

使用 Solaris Volume Manager GUI 或 metainit 命令从未使用的片创建镜像。

如何从未使用的片创建 RAID-1 卷

从现有文件系统创建镜像 

使用 Solaris Volume Manager GUI 或 metainit 命令从现有文件系统创建镜像。

如何从文件系统创建 RAID-1 卷

从根 (/) 文件系统创建镜像

使用 Solaris Volume Manager GUI 或 metainit 命令从根 (/) 文件系统创建镜像。

SPARC: 如何从根 (/) 文件系统创建 RAID-1 卷

x86: 如何使用 DCA 从根 (/) 文件系统创建 RAID-1 卷

附加子镜像 

使用 Solaris Volume Manager GUI 或 metattach 命令附加子镜像。

如何附加子镜像

拆离子镜像 

使用 Solaris Volume Manager GUI 或 metadetach 命令拆离子镜像。

如何拆离子镜像

使子镜像联机或脱机 

使用 Solaris Volume Manager GUI 或 metaonline 命令将子镜像联机。使用 Solaris Volume Manager GUI 或 metaoffline 命令使子镜像脱机。

如何使子镜像脱机和联机

启用子镜像内的片 

使用 Solaris Volume Manager GUI 或 metareplace 命令启用子镜像内的片。

如何启用子镜像中的片

检查镜像状态 

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

如何查看镜像和子镜像的状态

更改镜像选项 

使用 Solaris Volume Manager GUI 或 metaparam 命令更改特定 RAID-1 卷的选项。

如何更改 RAID-1 卷选项

扩展镜像 

使用 Solaris Volume Manager GUI 或 metattach 命令扩展镜像的容量。

如何扩展 RAID-1 卷

替换子镜像内的片 

使用 Solaris Volume Manager GUI 或 metareplace 命令替换子镜像内的片。

如何替换子镜像中的片

替换子镜像 

使用 Solaris Volume Manager GUI 或 metattach 命令替换子镜像。

如何替换子镜像

删除镜像(取消镜像) 

使用 Solaris Volume Manager GUI、metadetach 命令或 metaclear 命令取消对文件系统的镜像。

如何取消镜像文件系统

删除无法取消挂载的文件系统的镜像(取消镜像) 

使用 Solaris Volume Manager GUI、metadetach 命令或 metaclear 命令取消对无法取消挂载的文件系统的镜像。

如何取消镜像无法挂载的文件系统

使用镜像执行备份 

使用 Solaris Volume Manager GUI、metaonline 命令或 metaoffline 命令通过镜像执行备份。

如何对 RAID-1 卷执行联机备份

创建 RAID-1 卷

Procedure如何从未使用的片创建 RAID-1 卷

以下过程说明如何创建双向镜像。该过程也可用于创建三向或四向镜像。

开始之前

请查看创建 Solaris Volume Manager 组件的先决条件创建和维护 RAID-1 卷

  1. 创建两个条带化或串联的卷,这些组件会成为子镜像。

    请参见如何创建 RAID-0(条带化)卷如何创建 RAID-0(串联)卷

  2. 要创建镜像,请使用以下方法之一:

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

    • 使用以下格式的 metainit 命令创建单向镜像:


      # metainit volume-name -m  submirror-name
      
      volume-name

      指定要创建的卷的名称

      -m

      指定要创建镜像

      submirror-name

      指定将成为镜像中的第一个子镜像的组件的名称

      有关更多信息,请参见以下示例和 metainit(1M) 手册页。

  3. 要添加第二个子镜像,请使用以下方法之一:

    • 从 Solaris Management Console 中增强的存储工具中,打开“卷”节点,然后选择要修改的镜像。选择“操作”⇒“属性”,然后选择“子镜像”。按照屏幕上的说明附加子镜像。有关更多信息,请参见联机帮助。

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


      # metattach volume-name submirror-name
      
      volume-name

      指定要向其中添加子镜像的 RAID-1 卷的名称

      submirror-name

      指定将成为附加到该镜像的第二个子镜像的组件的名称

      有关更多信息,请参见以下示例和 metattach(1M) 手册页。


示例 11–1 创建双向镜像


# metainit d51 1 1 c0t0d0s2

d51: Concat/Stripe is setup

# metainit d52 1 1 c1t0d0s2

d52: Concat/Stripe is setup

# metainit d50 -m d51

d50: Mirror is setup

# metattach d50 d52

d50: Submirror d52 is attached

以下示例说明如何创建双向镜像 d50。可以使用 metainit 命令创建两个子镜像(d51d52),即 RAID-0 卷。可以使用 metainit -m 命令从 d51 RAID-0 卷创建单向镜像。可以使用 metattach 命令附加 d52,从而创建一个双向镜像并导致重新同步。在重新同步的过程中,所附加的子镜像中的任何数据都会被其他子镜像覆写。



示例 11–2 创建无需重新同步的双向镜像


# metainit d51 1 1 c0t0d0s2

d51: Concat/Stripe is setup

# metainit d52 1 1 c1t0d0s2

d52: Concat/Stripe is setup

# metainit d50 -m d51 d52

metainit: d50: WARNING: This form of metainit is not recommended.

The submirrors may not have the same data.

Please see ERRORS in metainit(1M) for additional information.

d50: Mirror is setup

本示例说明如何创建双向镜像 d50。可以使用 metainit 命令创建两个子镜像(d51d52),即 RAID-0 卷。然后,针对这两个子镜像运行 metainit -m 命令以创建镜像。如果使用 metainit 命令而非 metattach 命令创建镜像,则不会执行重新同步操作。因此,当 Solaris Volume Manager 假定镜像的两面相同并且可以互换使用时,数据可能会损坏。


另请参见

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

Procedure如何从文件系统创建 RAID-1 卷

使用本过程可以对现有文件系统进行镜像。如果该文件系统可以取消挂载,则无需重新引导即可完成整个过程。对于无法取消挂载的文件系统(如 /usr/swap),必须重新引导系统才能完成该过程。

如果从构建于磁盘片上的现有文件系统创建 RAID-1 卷,则主 RAID-0 卷(子镜像)中只能包含这一个片。如果要镜像对系统非常关键的文件系统,则所有的子镜像都必须仅包含一个片。

有关与对根 (/) 文件系统进行镜像相关联的过程,请参见SPARC: 如何从根 (/) 文件系统创建 RAID-1 卷x86: 如何使用 DCA 从根 (/) 文件系统创建 RAID-1 卷

在本过程使用的示例中,现有的片是 c1t0d0s0。第二个片 c1t1d0s0 适用于镜像的另一半。子镜像分别是 d1d2,镜像是 d0


注意 – 注意 –

请确保使用 metainit 命令创建单向镜像,然后使用 metattach 命令附加其他子镜像。如果不使用 metattach 命令,则不会执行重新同步操作。因此,当 Solaris Volume Manager 假定镜像的两面相同并且可以互换使用时,数据可能会损坏。


开始之前

请查看创建 Solaris Volume Manager 组件的先决条件创建和维护 RAID-1 卷

  1. 确定包含要进行镜像的现有文件系统的片,本示例使用片 c1t0d0s0

  2. 使用以下方法之一,在上一步中的片上创建一个新的 RAID-0 卷:

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

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


      # metainit -f  volume-name number-of-stripes components-per-stripe component-name
      
      -f

      强制继续执行该命令。如果片中包含已挂载的文件系统,则必须使用此选项。

      volume-name

      指定要创建的卷的名称。有关对卷进行命名的信息,请参见卷名称

      number-of-stripes

      指定要创建的条带的数目。

      components-per-stripe

      指定每个条带应包含的组件的数目。

      component-names

      指定所使用的组件的名称。本示例使用根片 c0t0d0s0

  3. 在未使用的片(在本示例中为 c1t1d0s0)上创建另一个 RAID-0 卷(串联),将其用作第二个子镜像。第二个子镜像不得小于原来的子镜像的大小。请使用以下方法之一:

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

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


      # metainit volume-name number-of-stripes components-per-stripe component-name
      

      注 –

      有关这些选项的说明,请参见步骤 2。


  4. 使用以下方法之一创建单向镜像:

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

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


      # metainit volume-name -m submirror-name
      
      volume-name

      指定要创建的卷的名称。

      -m

      指定要创建镜像。

      submirror-name

      指定将成为镜像中的第一个子镜像的组件的名称。在本示例中,这是包含根片的 RAID-0 卷。

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


    注意 – 注意 –

    从现有文件系统创建镜像时,必须严格按照以下两个步骤操作以避免数据损坏。


  5. 编辑 /etc/vfstab 文件,以便文件系统挂载指令引用镜像,而不引用块设备。有关 /etc/vfstab 文件的更多信息,请参见《系统管理指南:设备和文件系统》中的“挂载文件系统”

    例如,如果 /etc/vfstab 文件包含文件系统的以下项:


    /dev/dsk/slice /dev/rdsk/slice /var ufs 2 yes -

    请更改该项,使其显示为:


    /dev/md/dsk/mirror-name /dev/md/rdsk/mirror-name /var ufs 2 yes -
  6. 按照以下过程之一重新挂载新镜像的文件系统:

    • 如果要对可以取消挂载的文件系统进行镜像,则取消挂载该文件系统并将其重新挂载。


      # umount /filesystem
      
      
      # mount /filesystem
      
    • 如果要对无法取消挂载的文件系统进行镜像,则重新引导系统。


      # reboot
      
  7. 使用以下格式的 metattach 命令附加第二个子镜像。


    # metattach volume-name submirror-name
    
    volume-name

    指定要向其中添加子镜像的 RAID-1 卷的名称

    submirror-name

    指定将成为附加到该镜像的第二个子镜像的组件的名称

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


示例 11–3 从可以取消挂载的文件系统创建双向镜像


# metainit -f d1 1 1 c1t0d0s0

d1: Concat/Stripe is setup

# metainit d2 1 1 c1t1d0s0

d2: Concat/Stripe is setup

# metainit d0 -m d1

d0: Mirror is setup

# umount /master

(编辑 /etc/vfstab 文件使该文件系统引用镜像)

# mount /master

# metattach d0 d2

d0: Submirror d2 is attached

在本示例中,-f 选项会强制创建第一个串联 d1,其中包含已在 /dev/dsk/c1t0d0s0 上挂载的文件系统 /master。第二个串联 d2 是从 /dev/dsk/c1t1d0s0 创建的。该片不得小于 d1 的大小。带有 -m 选项的 metainit 命令可用来从 d1 创建单向镜像 d0

接下来,应当在 /etc/vfstab 文件中更改与文件系统对应的项,使其引用该镜像。/etc/vfstab 文件中以下行最初如下所示:


/dev/dsk/c1t0d0s0 /dev/rdsk/c1t0d0s0 /var ufs 2 yes -

该项更改为如下所示:


/dev/md/dsk/d0 /dev/md/rdsk/d0 /var ufs 2 yes -

最后,重新挂载该文件系统,并将子镜像 d2 附加到该镜像,这会导致重新同步镜像。系统会确认是否已设置 RAID-0 和 RAID-1 卷并已附加子镜像 d2



示例 11–4 从无法取消挂载的文件系统创建双向镜像


# metainit -f d12 1 1 c0t3d0s6

d12: Concat/Stripe is setup

# metainit d22 1 1 c1t0d0s6

d22: Concat/Stripe is setup

# metainit d2 -m d12

d2: Mirror is setup

(编辑 /etc/vfstab 文件使 /usr 引用该镜像)

# reboot

...

# metattach d2 d22

d2: Submirror d22 is attached

本示例使用包含 /usr 文件系统的片创建双向镜像。-f 选项会强制创建第一个串联 d12,其中包含已在 /dev/dsk/c0t3d0s6 上挂载的文件系统 /usr。第二个串联 d22 是从 /dev/dsk/c1t0d0s6 创建的。该片不得小于 d12 的大小。带有 -m 选项的 metainit 命令使用包含 /usr 文件系统的串联创建单向镜像 d2。接下来,必须编辑 /etc/vfstab 文件以更改 /usr 的项,使其引用该镜像。

/etc/vfstab file 包含 /usr 文件系统的以下项:


/dev/dsk/c0t3d0s6 /dev/rdsk/c0t3d0s6 /usr ufs 1 yes -

将该项更改为如下所示:


/dev/md/dsk/d2 /dev/md/rdsk/d2 /usr ufs 1 yes -

重新引导之后,第二个子镜像 d22 将附加到该镜像,这会导致对镜像重新同步。



示例 11–5 从 /swap 空间创建镜像


# metainit -f d11 1 1 c0t0d0s1

d11: Concat/Stripe is setup

# metainit d21 1 1 c1t0d0s1

d21: Concat/Stripe is setup

# metainit d1 -m d11

d1: Mirror is setup

(编辑 /etc/vfstab 文件使 swap 引用该镜像)

# reboot

...

# metattach d1 d21

d1: Submirror d21 is attached

在本示例中,-f 选项会强制创建第一个串联 d11,其中包含已在 /dev/dsk/c0t0d0s1 上挂载的文件系统 swap。第二个串联 d21 是从 /dev/dsk/c1t0d0s1 创建的。该片不得小于 d11 的大小。带有 -m 选项的 metainit 命令可使用包含 swap 的串联创建单向镜像 d1。接下来,如果 /etc/vfstab 文件中存在与 swap 对应的项,则必须编辑该项,使其引用该镜像。

/etc/vfstab file 包含 swap 空间的以下项:


/dev/dsk/c0t0d0s1 - - swap - no -

请更改该项,使其显示为:


/dev/md/dsk/d1 - - swap - no -

重新引导之后,第二个子镜像 d21 将附加到该镜像,这会导致对镜像重新同步。

要在对 swap 空间进行镜像之后保存崩溃转储,请使用 dumpadm 命令将转储设备配置为卷。例如,如果交换设备的名称为 /dev/md/dsk/d2,请使用 dumpadm 命令将该设备设置为转储设备。


ProcedureSPARC: 如何从根 (/) 文件系统创建 RAID-1 卷

对 SPARC 平台上的根 (/) 文件系统进行镜像的过程与对无法取消挂载的其他任何文件系统进行镜像的过程相似,区别在于前者运行 metaroot 命令,而不是手动编辑 /etc/vfstab 文件。对根 (/) 文件系统进行镜像还需要记录备用引导设备的路径。如果子镜像失败,此设备会重新引导系统。

在本过程使用的示例中,现有的片是 c1t0d0s0。第二个片 c1t1d0s0 适用于镜像的另一半。子镜像分别是 d1d2,镜像是 d0


注意 – 注意 –

请确保使用 metainit 命令创建单向镜像,然后使用 metattach 命令附加其他子镜像。如果不使用 metattach 命令,则不会执行重新同步操作。因此,当 Solaris Volume Manager 假定镜像的两面相同并且可以互换使用时,数据可能会损坏。


开始之前

请查看创建 Solaris Volume Manager 组件的先决条件创建和维护 RAID-1 卷

  1. 确定包含要进行镜像的现有根 (/) 文件系统的片。本示例使用片 c1t0d0s0

  2. 使用以下方法之一,在上一步中的片上创建一个新的 RAID-0 卷。RAID-0 卷中只能包含一个片。

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

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


      # metainit -f  volume-name number-of-stripes components-per-stripe component-name
      
      -f

      强制继续执行该命令。如果片中包含已挂载的文件系统,则必须使用此选项。

      volume-name

      指定要创建的卷的名称。有关对卷进行命名的信息,请参见卷名称

      number-of-stripes

      指定要创建的条带的数目。

      components-per-stripe

      指定每个条带应包含的组件的数目。

      component-names

      指定所使用的组件的名称。本示例使用根片 c0t0d0s0

  3. 在未使用的片(在本示例中为 c1t1d0s0)上创建另一个 RAID-0 卷,将其用作第二个子镜像。辅助子镜像不得小于原来的子镜像的大小。请使用以下方法之一:

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

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


      # metainit volume-name number-of-stripes components-per-stripe component-name
      

      注 –

      有关这些选项的说明,请参见步骤 2。


  4. 使用以下方法之一创建单向镜像:

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

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


      # metainit volume-name -m submirror-name
      
      volume-name

      指定要创建的卷的名称。

      -m

      指定要创建镜像。

      submirror-name

      指定将成为镜像中的第一个子镜像的组件的名称。在本示例中,这是包含根片的 RAID-0 卷。

  5. 重新挂载刚进行镜像的文件系统。运行 metaroot volume-name 命令,将 volume-name 替换为已创建的镜像的名称。然后重新引导系统。


    # metaroot volume-name
    
    # reboot
    

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

  6. 使用以下格式的 metattach 命令附加第二个子镜像。


    # metattach volume-name submirror-name
    
    volume-name

    指定要向其中添加子镜像的 RAID-1 卷的名称

    submirror-name

    指定将成为附加到该镜像的第二个子镜像的组件的名称

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

  7. 记录替代引导路径。

    1. 确定备用根设备的路径。针对附加作为根 (/) 文件系统镜像的第二个子镜像的片,使用 ls - l 命令。


      # ls -l /dev/dsk/c1t1d0s0
      
      lrwxrwxrwx 1  root root  55 Mar 5 12:54  /dev/rdsk/c1t1d0s0 -> \ 
      
      ../../devices/sbus@1,f8000000/esp@1,200000/sd@3,0:a
    2. 记录 /devices 目录后面的字符串:/sbus@1,f8000000/esp@1,200000/sd@3,0:a


      注 –

      由于系统可能不可用,因此还应当将这些信息记录在系统以外的某个位置。有关从备用引导设备引导的详细信息,请参见从引导问题中恢复


    3. 编辑该字符串,将主名称(在本示例中为 sd)更改为 disk,产生的结果为 /sbus@1,f8000000/esp@1,200000/disk@3,0:a。如果系统使用 IDE 总线,则最初的全路径可能如下所示:


      $ ls -l /dev/dsk/c1t1d0s0 
      
      lrwxrwxrwx 1 root root 38 Mar 13 15:03 /dev/dsk/c0t0d0s0 -> \
      
      ../../devices/pci@1f,0/ide@d/dad@0,0:a

      将主名称 dad 更改为 disk 之后,结果将为 /pci@1f,0/ide@d/disk@0,0:a

    4. 使用 OpenBootTM PROM nvalias 命令为辅助根 (/) 文件系统镜像定义“备份根”设备别名。例如:


      ok  nvalias backup_root /sbus@1,f8000000/esp@1,200000/disk@3,0:a
      
    5. 重新定义 boot-device 别名,使其按照主子镜像和辅助子镜像的使用顺序来进行引用,并存储该配置。


      ok printenv boot-device
      
      boot-device =         disk net
      
      ok setenv boot-device disk backup_root net
      
      boot-device =         disk backup_root net
      
      ok nvstore
      

    注 –

    如果主子镜像失败,系统将自动引导到第二个子镜像。或者,如果手动引导而不是使用自动引导,则可输入以下内容:


    ok boot backup_root
    


示例 11–6 SPARC: 从根 (/) 文件系统创建镜像


# metainit -f d1 1 1 c0t0d0s0

d1: Concat/Stripe is setup

# metainit d2 1 1 c0t1d0s0

d2: Concat/Stripe is setup

# metainit d0 -m d1

d0: Mirror is setup

# metaroot d0

# lockfs -fa

# reboot

...

# metattach d0 d2

d0: Submirror d2 is attached

# ls -l /dev/dsk/c0t1d0s0

lrwxrwxrwx   1 root     root          88 Feb  8 15:51 /dev/rdsk/c1t3d0s0 ->

../../devices/pci@1f,0/pci@1,1/ide@3/dad@0,0:a

# init 0

.

.

.

ok nvalias backup_root /pci@1f,0/pci@1,1/ide@3/disk@0,0:a

ok setenv boot-device disk backup_root net

ok nvstore

在本示例中,-f 选项会强制创建第一个 RAID-0 卷 d1,其中包含已在 /dev/dsk/c0t0d0s0 上挂载的根 (/) 文件系统。第二个串联 d2 是从 /dev/dsk/c0t1d0s0 创建的。该片不得小于 d1 的大小。带有 -m 选项的 metainit 命令可使用包含根 (/) 的串联创建单向镜像 d0

接下来,使用 metaroot 命令编辑 /etc/vfstab/etc/system 文件,以便可以使用卷上的根 (/) 文件系统引导系统。重新引导之前最好先运行 lockfs -fa 命令。有关更多信息,请参见 lockfs(1M) 手册页。

请勿在重新引导系统之前附加第二个子镜像。必须在运行 metaroot 命令之后和附加第二个子镜像之前重新引导系统。

重新引导之后,子镜像 d2 将附加到该镜像,这会导致对镜像重新同步。系统会确认是否已设置串联和镜像以及是否已附加子镜像 d2

可以针对根原始设备运行 ls -l 命令,以确定备用根设备的路径,以备系统以后通过该路径进行引导。


x86: 从根 (/) 文件系统创建 RAID-1 卷

从 Solaris 10 1/06 发行版开始,GRand Unified Bootloader (GRUB) 已经取代了基于 x86 的系统中用于引导过程和配置的 Device Configuration Assistant (DCA)。有关此功能及其引入的增强功能的简要说明,请参阅《Solaris 10 新增功能》中的“基于 GRUB 的引导”

本节中的过程介绍了从根 (/) 文件系统创建 RAID-1 卷的步骤。如果系统运行的是 Solaris 10 1/06 OS 或后续发行版,请按照第一个过程(使用 GRUB)中的步骤操作。否则,请执行第二个过程(使用 DCA)中的步骤。

在基于 x86 的系统上对根 (/) 文件系统进行镜像的过程与在 SPARC 系统上对根文件系统进行镜像的过程相似。但是,在基于 x86 的系统上,BIOS 和 fdisk 分区会使镜像过程更复杂。

在这些过程使用的示例中,现有的片是 c1t0d0s0。第二个片 c1t1d0s0 适用于镜像的另一半。子镜像分别是 d1d2,镜像是 d0


注 –

在实现任何过程之前,请查看创建 Solaris Volume Manager 组件的先决条件创建和维护 RAID-1 卷


Procedurex86: 如何使用 GRUB 从根 (/) 文件系统创建 RAID-1 卷

  1. 验证是否可将 BIOS 引导设备的顺序配置为允许系统从镜像中的第二块磁盘引导。

    启动内核之前,系统由只读存储器 (read-only-memory, ROM) 基本输入/输出系统 (Basic Input/Output System, BIOS) 控制,该系统是基于 x86 的系统上的固件接口。BIOS 与基于 SPARC 的系统上的引导 PROM 类似。以下是一些 BIOS 任务:

    • 执行启动功能。

    • 检测可从中引导系统的正确设备。

    • 从该设备装入主引导记录,以允许系统自行引导。

    通常可以将 BIOS 配置为选择要探测其引导记录的设备的顺序。此外,现在实现的大多数 BIOS 都允许将设备配置为自动向辅助子镜像进行故障转移。如果系统的 BIOS 没有此功能,则主子镜像失败时,需要在系统引导过程中访问 BIOS,以便将系统重新配置为从辅助根片引导。有关如何配置 BIOS 中的设置的说明,请查阅 BIOS 的用户指南。

    设置根镜像之前,请检查系统上的 BIOS,验证是否可以从多块磁盘引导。某些设备驱动程序配置为只能看到系统上的一个磁盘。

  2. 验证 fdisk 分区是否配置为支持根镜像。

    如果对根 (/) 文件系统进行镜像时存在单独的 x86 引导分区,则会出现问题。因为 x86 引导分区位于 Solaris fdisk 分区之外,所以不能通过 Solaris Volume Manager 对 x86 引导分区进行镜像。此外,由于仅存在 x86 引导分区的一个副本,因此它还表示一个单点故障。

    Solaris 10 1/06 软件和后续发行版的基于 GRUB 的安装程序不会再自动创建 x86 引导分区。但是,如果系统中已经存在 x86 引导分区,则安装程序在缺省情况下会保留该分区。

    要确定系统是否有单独的 x86 引导分区,请检查 /etc/vfstab 文件。如果该文件中包含类似如下的项,则表明存在 x86 引导分区:


    /dev/dsk/c2t1d0p0:boot  -       /boot   pcfs    -       no      -
    

    要使用 Solaris Volume Manager 对根 (/) 文件系统进行镜像,该文件系统必须占用整个 Solaris fdisk 分区。因此,如果系统中已经存在 x86 引导分区,请使用 fdisk 命令删除该分区,然后重新安装 Solaris 软件。重新安装时,将不再重新创建引导分区。


    注 –

    Solaris Volume Manager 只能对 Solaris fdisk 分区中的片进行镜像。如果有多个 fdisk 分区,则需要使用其他方法来保护 Solaris fdisk 分区以外的数据。


  3. 使辅助子镜像可以使用主引导程序引导。

    1. 指定主引导程序。


      # fdisk -b /usr/lib/fs/ufs/mboot /dev/rdsk/c1t1d0p0
      

      此时屏幕将显示以下信息:


                   Total disk size is 31035 cylinders
      
                   Cylinder size is 1146 (512 byte) blocks
      
      
      
                                                     Cylinders
      
            Partition   Status    Type          Start   End   Length    %
      
            =========   ======    ============  =====   ===   ======   ===
      
                1        Active   Solaris           1  31034    31034    100
      
      
      
      
      
      SELECT ONE OF THE FOLLOWING:
      
         1. Create a partition
      
         2. Specify the active partition
      
         3. Delete a partition
      
         4. Change between Solaris and Solaris2 Partition IDs
      
         5. Exit (update disk configuration and exit)
      
         6. Cancel (exit without updating disk configuration)
      
      Enter Selection: 
      
    2. 从菜单中选择数字 5,然后按回车键。

  4. 使辅助磁盘可引导。


    # /sbin/installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c1t1d0s0
    

    有关 installgrub 的更多信息,请参阅 installgrub(1M) 手册页。

  5. 确定包含要进行镜像的现有根 (/) 文件系统的片。

    本示例使用 c1t0d0s0 片。

  6. 在上一步中的片上创建一个新的 RAID-0 卷。

    RAID-0 卷中只能包含一个片。请使用以下方法之一:

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

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


      # metainit -f volume-name number-of-stripes components-per-stripe component-name
      
      -f

      强制继续执行该命令。如果片中包含已挂载的文件系统,则必须使用此选项。

      volume-name

      指定要创建的卷的名称。有关对卷进行命名的信息,请参见卷名称

      number-of-stripes

      指定要创建的条带的数目。

      components-per-stripe

      指定每个条带应包含的组件的数目。

      component-names

      指定所使用的组件的名称。本示例使用根片 c0t0d0s0

  7. 在未使用的片(在本示例中为 c1t1d0s0)上创建另一个 RAID-0 卷,将其用作第二个子镜像。


    注 –

    辅助子镜像不得小于原来的子镜像的大小。另外,用作第二个子镜像的片还必须带有片标记 "root",并且根片必须是片 0。

    有关配置片标记字段的信息,请参见 format(1M) 手册页。


    请使用以下任一方法:

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

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


      # metainit volume-name number-of-stripes components-per-stripes component-names
      

      注 –

      有关这些选项的说明,请参见步骤 6。


  8. 使用以下方法之一创建单向镜像:

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

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


      # metainit volume-name -m submirror-name
      
      volume-name

      指定要创建的卷的名称。

      -m

      指定要创建镜像。

      submirror-name

      指定将成为镜像中的第一个子镜像的组件的名称。在本示例中,这是包含根片的 RAID-0 卷。

  9. 重新挂载刚进行镜像的文件系统,然后重新引导系统。


    # metaroot volume-name
    
    # reboot
    

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

  10. 附加第二个子镜像。


    # metattach volume-name submirror-name
    
    volume-name

    指定要向其中添加子镜像的 RAID-1 卷的名称。

    submirror-name

    指定将成为附加到该镜像的第二个子镜像的组件的名称。

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

  11. menu.lst 文件中定义替代引导路径。

    要使系统可从用来存放辅助子镜像的磁盘引导,请将系统配置为将该磁盘视为备用引导设备。在当前示例中,替代路径 c1t1d0s0 位于第二块磁盘上第一个 fdisk 分区的第一片。因此,可以编辑 menu.lst 中的以下项:


    title alternate boot
    
     root (hd1,0,a)
    
     kernel /boot/multiboot
    
     module /boot/x86.miniroot-safe

    注 –

    要正确编辑 menu.lst 中的各项,必须熟悉 GRUB 中的磁盘命名约定。有关详细信息,请参见《系统管理指南:基本管理》中的第 11  章 “基于 GRUB 的引导(任务)”


    完成编辑 menu.lst 文件之后,系统会设置为向第二块磁盘进行故障转移。如果主磁盘出现故障,则磁盘编号会更改,以便系统从辅助磁盘引导。


    注意 – 注意 –

    在某些情况下,BIOS 的自动磁盘重新编号功能可能会对从不可用的主磁盘进行恢复造成影响。当磁盘重新编号功能强制系统从辅助磁盘引导时,主磁盘的引导归档会过时。如果该主磁盘以后变为可用,则在引导系统时,磁盘重新编号功能会再次切换到从缺省的主磁盘进行系统引导。但是,在这个阶段,主磁盘的引导归档仍然是过时的。因此,系统可能根本无法引导。所以在这种情况下,请确保从 GRUB 菜单中选择正确的项,以便从有效的根归档中引导系统。系统完成引导过程之后,请执行常规的 metadevice 维护,这会对主磁盘和辅助磁盘均进行同步,并将有效的引导归档恢复到主磁盘。


Procedurex86: 如何使用 DCA 从根 (/) 文件系统创建 RAID-1 卷

  1. 验证是否可将 BIOS 引导设备的顺序配置为允许系统从镜像中的第二块磁盘引导。

    启动内核之前,系统由只读存储器 (read-only-memory, ROM) 基本输入/输出系统 (Basic Input/Output System, BIOS) 控制,该系统是基于 x86 的系统上的固件接口。BIOS 与基于 SPARC 的系统上的引导 PROM 类似。除了 BIOS 的其他启动功能以外,它还负责查找要从中引导系统的正确设备,以及从允许系统自行引导的设备中装入主引导记录。通常可以将 BIOS 配置为选择要探测其引导记录的设备的顺序。此外,现在实现的大多数 BIOS 都允许将设备配置为自动向辅助子镜像进行故障转移。如果系统没有此功能,则主子镜像失败时,需要在系统引导过程中访问 BIOS,以便将系统重新配置为从辅助根片引导。有关如何配置 BIOS 中的设置的说明,请查阅 BIOS 的用户指南。

    可以使用系统上的 DCA来验证是否可以从多块磁盘引导。某些设备驱动程序配置为只能看到系统上的一个磁盘。

  2. 验证 fdisk 分区是否配置为支持根镜像。

    基于 x86 的系统的另一个功能是可使用 fdisk 分区。使用 Solaris OS 安装程序缺省的引导磁盘分区布局可以创建两个分区,一个是 Solaris fdisk 分区,另一个是名为 x86 引导分区的 fdisk 分区,其大小大约为 10MB。

    对根 (/) 文件系统进行镜像时,x86 引导分区会产生问题。x86 引导分区位于 Solaris fdisk 分区外部。因此,x86 引导分区不能由 Solaris Volume Manager 进行镜像。此外,由于仅存在 x86 引导分区的一个副本,因此它还表示一个单点故障。

    可以确定 Solaris OS 是否有一个单独的 x86 引导分区。x86 引导分区会挂载到 /etc/vfstab 文件中,其中包含类似如下的项:


    /dev/dsk/c2t1d0p0:boot  -       /boot   pcfs    -       no      -
    

    如果不存在单独的 x86 引导分区,则该项不会出现在 /etc/vfstab 文件中。

    要对根 (/) 文件系统进行镜像,需要自定义 fdisk 分区,以便删除 x86 引导分区并使用单个 Solaris fdisk 分区。如果要使用 Solaris Volume Manager 根镜像,请不要在系统安装过程中创建单独的 x86 引导分区。如果系统已经安装并且创建了一个单独的 x86 引导分区,请使用 fdisk 命令删除该 fdisk 分区并重新安装系统。在安装过程中,请避免通过在安装过程中自定义磁盘分区来创建单独的 x86 引导分区。


    注 –

    Solaris Volume Manager 只能对 Solaris fdisk 分区中的片进行镜像。如果有多个 fdisk 分区,则需要使用其他方法来保护 Solaris fdisk 分区以外的数据。


  3. 使辅助子镜像可以使用主引导程序引导。

    1. 使用 fdisk 命令来指定主引导程序。


      # fdisk -b /usr/lib/fs/ufs/mboot /dev/rdsk/c1t1d0p0
      

      此时屏幕将显示以下信息:


                   Total disk size is 31035 cylinders
      
                   Cylinder size is 1146 (512 byte) blocks
      
      
      
                                                     Cylinders
      
            Partition   Status    Type          Start   End   Length    %
      
            =========   ======    ============  =====   ===   ======   ===
      
                1        Active   Solaris           1  31034    31034    100
      
      
      
      
      
      SELECT ONE OF THE FOLLOWING:
      
         1. Create a partition
      
         2. Specify the active partition
      
         3. Delete a partition
      
         4. Change between Solaris and Solaris2 Partition IDs
      
         5. Exit (update disk configuration and exit)
      
         6. Cancel (exit without updating disk configuration)
      
      Enter Selection: 
      
    2. 从菜单中选择数字 5,然后按回车键。

  4. 在辅助子镜像中安装引导块,以便可从该镜像引导系统。

    辅助子镜像所在磁盘上的片 8 是从该 fdisk 分区引导 Solaris OS 所必需的。该片用来存放分区引导记录 (pboot)、磁盘的 Solaris VTOC 和引导块。由于这些信息特定于磁盘,因此不能使用 Solaris Volume Manager 进行镜像。但是,必须确保这两块磁盘都是可引导的,以便可以在主磁盘出现故障时从辅助磁盘引导。使用 installboot 命令可将第二块磁盘设置为 Solaris 可引导磁盘。有关更多信息,请参见 installboot(1M) 手册页。

    必须将磁盘的片 2 指定为设备,并且片 2 必须包含整块磁盘。


    # installboot /usr/platform/i86pc/lib/fs/ufs/pboot \
    
    /usr/platform/i86pc/lib/fs/ufs/bootblk /dev/rdsk/c1t1d0s2
    
  5. 确定包含要进行镜像的现有根 (/) 文件系统的片。本示例使用片 c1t0d0s0

  6. 使用以下方法之一,在上一步中的片上创建一个新的 RAID-0 卷。RAID-0 卷中只能包含一个片。

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

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


      # metainit -f volume-name number-of-stripes components-per-stripe component-name
      
      -f

      强制继续执行该命令。如果片中包含已挂载的文件系统,则必须使用此选项。

      volume-name

      指定要创建的卷的名称。有关对卷进行命名的信息,请参见卷名称

      number-of-stripes

      指定要创建的条带的数目。

      components-per-stripe

      指定每个条带应包含的组件的数目。

      component-names

      指定所使用的组件的名称。本示例使用根片 c0t0d0s0

  7. 在未使用的片(在本示例中为 c1t1d0s0)上创建另一个 RAID-0 卷,将其用作第二个子镜像。辅助子镜像不得小于原来的子镜像的大小。请使用以下方法之一:


    注 –

    用作第二个子镜像的片必须带有片标记 "root",并且根片必须是片 0。有关配置片标记字段的信息,请参见 format(1M) 手册页。


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

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


      # metainit volume-name number-of-stripes components-per-stripes component-names
      

      注 –

      有关这些选项的说明,请参见步骤 6。


  8. 使用以下方法之一创建单向镜像:

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

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


      # metainit volume-name -m submirror-name
      
      volume-name

      指定要创建的卷的名称。

      -m

      指定要创建镜像。

      submirror-name

      指定将成为镜像中的第一个子镜像的组件的名称。在本示例中,这是包含根片的 RAID-0 卷。

  9. 重新挂载刚进行镜像的文件系统。运行 metaroot volume-name 命令,将 volume-name 替换为已创建的镜像的名称。然后重新引导系统。


    # metaroot volume-name
    
    # reboot
    

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

  10. 使用以下格式的 metattach 命令附加第二个子镜像。


    # metattach volume-name submirror-name
    
    volume-name

    指定要向其中添加子镜像的 RAID-1 卷的名称。

    submirror-name

    指定将成为附加到该镜像的第二个子镜像的组件的名称。

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

  11. 记录替代引导路径。

    需要对系统进行配置,以便在主子镜像失败时,系统从辅助子镜像引导。要使系统可从用来存放辅助子镜像的磁盘引导,请将系统配置为将该磁盘视为备用引导设备。

    1. 确定备用引导设备的路径。针对附加作为根 (/) 文件系统镜像的第二个子镜像的片,使用 ls - l 命令。


      # ls -l /dev/dsk/c1t1d0s0
      
      lrwxrwxrwx 1  root root  55 Mar 5 12:54  /dev/rdsk/c1t1d0s0 -> ../.
      
      ./devices/eisa/eha@1000,0/cmdk@1,0:a
    2. 记录 /devices 目录后面的字符串:/eisa/eha@1000,0/cmdk@1,0:a。这是设备树的路径。


      注 –

      由于系统可能不可用,因此应当将这些信息记录在系统以外的某个位置。这样,必须使用 DCA 引导系统时,可以更方便地输入设备树的路径信息。


    3. 使用 eeprom 命令定义替代引导路径。例如:


      # eeprom altbootpath=/eisa/eha@1000,0/cmdk@1,0:a
      

      如果主子镜像失败,系统会尝试从辅助子镜像引导。如果可将 BIOS 配置为自动故障转移到第二块磁盘,则引导过程是自动的。否则,需要进入 BIOS 并将其配置为从辅助磁盘引导。系统开始引导之后,即会尝试从 bootpath 设备引导。由于主引导磁盘是根镜像中的停用磁盘,因此系统随后会尝试从 altbootpath 设备引导。有关如何配置 BIOS 中的设置的说明,请查阅 BIOS 的用户指南。

      如果系统不会自动引导,则可以尝试使用 DCA 来选择辅助子镜像。在某些系统上,可以选择在引导过程中进入 DCA。如果不提供此选项,则需要从 x86 引导软盘引导,并使用 DCA 来选择辅助子镜像。操作系统引导之后,请使用设置为替代引导路径的值(bootpath 值)来更新 eeprom bootpath 值。然后,系统将自动引导。

      有关使用 eeprom 命令的更多信息,请参见 eeprom(1M) 手册页。


示例 11–7 x86: 使用 DCA 从根 (/) 文件系统创建镜像


# metainit -f d1 1 1 c0t0d0s0

d1: Concat/Stripe is setup

# metainit d2 1 1 c0t1d0s0

d2: Concat/Stripe is setup

# metainit d0 -m d1

d0: Mirror is setup

# metaroot d0

# lockfs -fa

# reboot

...

# metattach d0 d2

d0: Submirror d2 is attached

# ls -l /dev/dsk/c0t1d0s0

lrwxrwxrwx   1 root     root          88 Feb  8 15:51 /dev/dsk/c1t3d0s0 ->

../../devices/pci@1f,0/pci@1,1/ide@3/dad@0,0:a,raw

# eeprom altbootpath=/pci@1f,0/pci@1,1/ide@3/dad@0,0:a,raw

# fdisk -b /usr/lib/fs/ufs/mboot /dev/dsk/c0t1d0p0

             Total disk size is 31035 cylinders

             Cylinder size is 1146 (512 byte) blocks



                                               Cylinders

      Partition   Status    Type          Start   End   Length    %

      =========   ======    ============  =====   ===   ======   ===

          1        Active   Solaris           1  31034    31034    100





SELECT ONE OF THE FOLLOWING:

   1. Create a partition

   2. Specify the active partition

   3. Delete a partition

   4. Change between Solaris and Solaris2 Partition IDs

   5. Exit (update disk configuration and exit)

   6. Cancel (exit without updating disk configuration)

Enter Selection: 5

# installboot /usr/platform/i86pc/lib/fs/ufs/pboot \

/usr/platform/i86pc/lib/fs/ufs/bootblk /dev/rdsk/c0t1d0s2


了解对根 (/) 文件系统进行镜像时的引导时警告

对根 (/) 文件系统进行镜像之后,控制台中将会显示错误消息,这些错误消息将记录在 /etc/syslog.conf 文件中定义的系统日志中。这些错误消息并不表明存在问题。这些消息显示的是当前不能使用的每种设备类型,因为不能强制装入未使用的模块。错误消息如下所示:


Jul 13 10:17:42 ifr genunix: [ID 370176 kern.warning] WARNING: forceload of 

    misc/md_trans failed

Jul 13 10:17:42 ifr genunix: [ID 370176 kern.warning] WARNING: forceload of 

    misc/md_raid failed

Jul 13 10:17:42 ifr genunix: [ID 370176 kern.warning] WARNING: forceload of 

    misc/md_hotspares failed

可以放心地忽略这些错误消息。

处理子镜像

Procedure如何附加子镜像


注 –

指示 "can't attach labeled submirror to an unlabeled mirror" 的错误消息表示您未能成功尝试向镜像中附加 RAID-0 卷。带标号的卷(子镜像)的第一个组件从柱面 0 开始,而不带标号的卷的第一个组件则从柱面 1 开始。为了防止带标号的子镜像的标签损坏,Solaris Volume Manager 不允许将带标号的子镜像附加到不带标号的镜像。


开始之前

请阅读创建和维护 RAID-1 卷

  1. 确定要用作子镜像的组件(串联或条带)。

    该组件不得小于镜像中现有子镜像的大小。如果尚未创建要成为子镜像的卷,请参见创建 RAID-0(条带化)卷创建 RAID-0(串联)卷

  2. 确保您具有超级用户权限,并且拥有所有数据的最新备份。

  3. 使用 metastat 命令验证要处理的镜像的状态是否为“Okay(正常)”。


    # metastat mirror
    
  4. 使用以下方法之一来附加子镜像。

    • 从 Solaris Management Console 中增强的存储工具中,打开“卷”节点。选择镜像。然后选择“操作”⇒“属性”并单击“子镜像”选项卡。请按照屏幕上的说明操作。有关更多信息,请参见联机帮助。

    • 使用 metattach mirror submirror 命令。


      # metattach mirror submirror
      

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

  5. 使用 metastat 命令查看镜像的状态。


    # metastat mirror
    

示例 11–8 附加子镜像


# metastat d30

d30: mirror

    Submirror 0: d60

      State: Okay   

...

# metattach d30 d70

d30: submirror d70 is attached

# metastat d30

d30: mirror

    Submirror 0: d60

      State: Okay        

    Submirror 1: d70

      State: Resyncing

    Resync in progress: 41 % done

    Pass: 1

    Read option: roundrobin (default)

    Write option: parallel (default)

    Size: 2006130 blocks

...

本示例说明如何将子镜像 d70 附加到单向镜像 d30。将子镜像附加到镜像时,即会创建一个双向镜像。镜像 d30 最初由子镜像 d60 组成。子镜像 d70 是 RAID-0 卷。可以使用 metastat 命令验证镜像的状态是否为“Okay(正常)”,然后再附加子镜像。运行 metattach 命令时,新的子镜像会与现有镜像重新同步。向镜像附加其他子镜像时,系统会显示一条消息。要验证镜像是否正在重新同步,请使用 metastat 命令。


Procedure如何拆离子镜像

开始之前

请阅读创建和维护 RAID-1 卷

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

  2. 使用 metastat 命令验证要处理的镜像的状态是否为“Okay(正常)”。

  3. 使用以下方法之一来拆离子镜像。

    • 从 Solaris Management Console 中增强的存储工具中,打开“卷”节点。选择镜像。然后选择“操作”⇒“属性”并单击“子镜像”选项卡。请按照屏幕上的说明操作。有关更多信息,请参见联机帮助。

    • 使用 metadetach 命令从镜像中拆离子镜像。


      # metadetach mirror submirror
      

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


示例 11–9 拆离子镜像


# metastat

d5: mirror

    Submirror 0: d50

...

# metadetach d5 d50

d5: submirror d50 is detached

在本示例中,镜像 d5 包含一个子镜像 d50。可以使用 metadetach 命令拆离子镜像。d50 中的基础片可以在其他位置重用。从镜像中拆离子镜像之后,系统会显示一条确认消息。


Procedure如何使子镜像脱机和联机

只有当已经使用 metaoffline 命令使子镜像脱机时,才能使用 metaonline 命令。运行 metaonline 命令之后,Solaris Volume Manager 会自动开始将子镜像与镜像重新同步。


注 –

metaoffline 命令的功能与 metadetach 命令所提供的功能相似。但是,metaoffline 命令不会切断子镜像和镜像之间的逻辑关联。


开始之前

请阅读创建和维护 RAID-1 卷

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

  2. 使用以下方法之一使子镜像联机或脱机。

    • 从 Solaris Management Console 中增强的存储工具中,打开“卷”节点。选择镜像。然后选择“操作”⇒“属性”并单击“子镜像”选项卡。请按照屏幕上的说明操作。有关更多信息,请参见联机帮助。

    • 使用 metaoffline 命令使子镜像脱机。


      # metaoffline mirror submirror
      

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

    • 使用 metaonline 命令使子镜像联机。


      # metaonline mirror submirror
      

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


示例 11–10 使子镜像脱机


# metaoffline d10 d11

d10: submirror d11 is offlined

在本示例中,子镜像 d11 将从镜像 d10 中脱机。系统将继续从其他子镜像中进行读取。首次进行写入之后,镜像将不再同步。使脱机子镜像恢复联机后,即可更正这种不一致性。



示例 11–11 使子镜像联机


# metaonline d10 d11d10: submirror d11 is onlined

在本示例中,使镜像 d10 中的子镜像 d11 恢复联机。


Procedure如何启用子镜像中的片

开始之前

请阅读在 RAID-1 和 RAID-5 卷中替换和启用组件的概述创建和维护 RAID-1 卷

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

  2. 使用以下方法之一来启用子镜像中的片。

    • 从 Solaris Management Console 中增强的存储工具中,打开“卷”节点。选择镜像。然后选择“操作”⇒“属性”并单击“子镜像”选项卡。请按照屏幕上的说明操作。有关更多信息,请参见联机帮助。

    • 使用 metareplace 命令启用子镜像中出现故障的片。


      # metareplace -e mirror failed-slice 
      

      metareplace 命令会自动开始重新同步,以便将已修复或替换的片与镜像的其余部分同步。

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


示例 11–12 启用子镜像中的片


# metareplace -e d11 c1t4d0s7

d11: device c1t4d0s7 is enabled

在本示例中,镜像 d11 有一个包含片 c1t4d0s7 的子镜像,该片中有一个软错误。使用带有 -e 选项的 metareplace 命令可启用出现故障的片。

如果物理磁盘有缺陷,则可以使用系统中的另一块可用磁盘(及其片)来替换有缺陷的磁盘,如如何替换子镜像中的片中所述。或者,也可以修理或替换磁盘,将其格式化,然后运行带有 -e 选项的 metareplace 命令,如本示例中所示。


维护 RAID-1 卷

Procedure如何查看镜像和子镜像的状态

开始之前

有关与 RAID-1 卷和子镜像相关联的状态信息的概述,请参见了解子镜像状态以确定维护操作

    使用以下方法之一来检查镜像或子镜像的状态。

    • 从 Solaris Management Console 中增强的存储工具中,打开“卷”节点。选择镜像。然后选择“操作”⇒“属性”。请按照屏幕上的说明操作。有关更多信息,请参见联机帮助。

    • 针对镜像运行 metastat 命令以查看每个子镜像的状态。


      # metastat mirror
      

      要更改镜像的传送号、读取选项或写入选项,请参见如何更改 RAID-1 卷选项

      有关检查设备状态的更多信息,请参见 metastat(1M)


示例 11–13 检查 RAID-1 卷的状态

以下是 metastat 命令的样例输出。使用不带镜像名称的 metastat 命令可以显示所有镜像的全部状态。


# metastatd70: Mirror

    Submirror 0: d71

      State: Okay         

    Pass: 1

    Read option: roundrobin (default)

    Write option: parallel (default)

    Size: 12593637 blocks



d71: Submirror of d70

    State: Okay         

    Size: 12593637 blocks

    Stripe 0:

        Device              Start Block  Dbase State        Reloc  Hot Spare

        c1t3d0s3                   0     No    Okay         Yes    

    Stripe 1:

        Device              Start Block  Dbase State        Reloc  Hot Spare

        c1t3d0s4                   0     No    Okay         Yes    

    Stripe 2:

        Device              Start Block  Dbase State        Reloc  Hot Spare

        c1t3d0s5                   0     No    Okay         Yes    

d0: Mirror

    Submirror 0: d1

      State: Okay        

    Submirror 1: d2

      State: Okay        

    Pass: 1

    Read option: roundrobin (default)

    Write option: parallel (default)

    Size: 5600 blocks

 

d1: Submirror of d0

    State: Okay        

    Size: 5600 blocks

    Stripe 0:

        Device              Start Block  Dbase State        Hot Spare

        c0t2d0s7                   0     No    Okay        

 

...

使用带有镜像名称参数的 metastat 命令可以显示特定镜像的输出。


metastat d70

d70: Mirror

    Submirror 0: d71

      State: Okay         

    Pass: 1

    Read option: roundrobin (default)

    Write option: parallel (default)

    Size: 12593637 blocks



d71: Submirror of d70

    State: Okay         

    Size: 12593637 blocks

    Stripe 0:

        Device              Start Block  Dbase State        Reloc  Hot Spare

        c1t3d0s3                   0     No    Okay         Yes    

    Stripe 1:

        Device              Start Block  Dbase State        Reloc  Hot Spare

        c1t3d0s4                   0     No    Okay         Yes    

    Stripe 2:

        Device              Start Block  Dbase State        Reloc  Hot Spare

        c1t3d0s5                   0     No    Okay         Yes    

对于镜像中的每个子镜像,metastat 命令会显示其状态、"invoke" 行(如果有错误)、所指定的热备用池(如果有)、大小(以块为单位)以及有关子镜像中每个片的信息。


Procedure如何更改 RAID-1 卷选项

开始之前

请查看关于 RAID-1 卷选项

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

  2. 使用以下方法之一来更改 RAID-1 选项。

    • 从 Solaris Management Console 中增强的存储工具中,打开“卷”节点。选择镜像。然后选择“操作”⇒“属性”。请按照屏幕上的说明操作。有关更多信息,请参见联机帮助。

    • 使用 metaparam 命令显示和更改镜像的选项。


      # metaparam [mirror options] mirror
      

      有关镜像选项的说明,请参见关于 RAID-1 卷选项。另请参见 metaparam(1M) 手册页。


示例 11–14 更改 RAID-1 卷的读取策略


# metaparam -r geometric d30

# metaparam d30

d30: mirror current parameters are:

    Pass: 1

    Read option: geometric (-g)

    Write option: parallel (default)

在本示例中,-r 选项用于将镜像的读取策略更改为 geometric



示例 11–15 更改 RAID-1 卷的写入策略


# metaparam -w serial d40

# metaparam d40

d40: mirror current parameters are:

    Pass: 1

    Read option: roundrobin (default)

    Write option: serial (-S)

在本示例中,-w 选项用于将镜像的写入策略更改为 serial



示例 11–16 更改 RAID-1 卷的传送号


# metaparam -p 5 d50

# metaparam d50

d50: mirror current parameters are:

    Pass: 5

    Read option: roundrobin (default)

    Write option: parallel (default)

在本示例中,-p 选项用于将镜像的传送号更改为 5


Procedure如何扩展 RAID-1 卷

开始之前

请阅读创建和维护 RAID-1 卷

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

  2. 使用以下方法之一来扩展镜像。

    • 从 Solaris Management Console 中增强的存储工具中,打开“卷”节点。选择镜像。然后选择“操作”->“属性”并单击“子镜像”选项卡。请按照屏幕上的说明操作。有关更多信息,请参见联机帮助。

    • 使用 metattach 命令向每个子镜像附加其他片。


      # metattach submirror slice
      

      必须对镜像中的每个子镜像都进行扩展。有关更多信息,请参见 metattach(1M) 手册页。

  3. 使用 metattach 命令可以基于子镜像的大小重新计算镜像的大小。


    # metattach mirror
    

示例 11–17 扩展包含已挂载文件系统的双向镜像


# metastat

d8: Mirror

    Submirror 0: d9

      State: Okay        

    Submirror 1: d10

      State: Okay        

...

# metattach d9 c0t2d0s5

d9: component is attached

# metattach d10 c0t3d0s5

d10: component is attached

# metattach d8

本示例说明如何通过将两个磁盘驱动器串联到镜像的两个子镜像来扩展已挂载的镜像文件系统。该镜像的名称为 d8,其中包含两个名为 d9d10 的子镜像。


另请参见

对于 UFS,请针对镜像卷运行 growfs(1M) 命令。请参见如何扩展文件系统

使用原始卷的应用程序(如数据库)必须通过各自的方法来扩展已添加的存储器。

响应 RAID-1 卷组件的故障

Procedure如何替换子镜像中的片

开始之前

请阅读在 RAID-1 和 RAID-5 卷中替换和启用组件的概述创建和维护 RAID-1 卷

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

  2. 使用 metastat 命令查看 RAID-1 卷和关联子镜像的状态。


    # metastat mirror-name
    
  3. 使用以下方法之一来替换子镜像中的片。

    • 从 Solaris Management Console 中增强的存储工具中,打开“卷”节点。选择镜像。然后选择“操作”⇒“属性”并单击“子镜像”选项卡。请按照屏幕上的说明操作。有关更多信息,请参见联机帮助。

    • 使用以下格式的 metareplace 命令替换子镜像中的片:


      # metareplace mirror-name component-name
      
      • mirror-name 是要创建的卷的名称。

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

      mirror-name

      指定要创建的卷的名称

      component-name

      指定要替换的组件的名称

      有关更多信息,请参见以下示例和 metainit(1M) 手册页。


示例 11–18 替换镜像中出现故障的片

以下示例说明在未将系统配置为使用热备用池来自动替换出现故障的磁盘时,如何替换出现故障的片。有关使用热备用池的更多信息,请参见第 16 章,热备用池(概述)


# metastat d6

d6: Mirror

    Submirror 0: d16

      State: Okay        

    Submirror 1: d26

      State: Needs maintenance

...

d26: Submirror of d6

    State: Needs maintenance

    Invoke: metareplace d6 c0t2d0s2 <new device>

...

# metareplace d6 c0t2d0s2 c0t2d2s2

d6: device c0t2d0s2 is replaced with c0t2d2s2

metastat 命令用于确认镜像 d6 是否包含一个子镜像 d26,并且该镜像中的一个片处于 “Needs maintenance(需要维护)” 状态。metareplace 命令会将在 metastat 输出的 "Invoke" 行中指定的片替换为系统中另一个可用的片。系统会确认该片是否已替换,并开始重新同步子镜像。


Procedure如何替换子镜像

开始之前

请阅读在 RAID-1 和 RAID-5 卷中替换和启用组件的概述创建和维护 RAID-1 卷

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

  2. 使用 metastat 命令查看 RAID-1 卷和关联子镜像的状态。


    # metastat mirror-name
    
  3. 使用以下方法之一来替换子镜像。

    • 从 Solaris Management Console 中增强的存储工具中,打开“卷”节点。选择镜像。然后选择“操作”⇒“属性”并单击“子镜像”选项卡。请按照屏幕上的说明操作。有关更多信息,请参见联机帮助。

    • 使用 metadetachmetaclearmetatinitmetattach 命令替换整个子镜像。

      1. 使用 metadetach 命令从镜像中拆离出故障的子镜像。


        # metadetach -f mirror-name submirror
        
        -f

        强制进行拆离

        mirror-name

        指定镜像的名称

        submirror

        指定要拆离的子镜像

      2. 使用 metaclear 命令删除子镜像。


        # metaclear -f submirror
        
        -f

        强制删除子镜像

        submirror

        指定要删除的子镜像

      3. 使用 metainit 命令创建新的子镜像。


        # metainit volume-name number-of-stripes components-per-stripe component-name
        
        volume-name

        指定要创建的卷的名称。有关对卷进行命名的信息,请参见卷名称

        number-of-stripes

        指定要创建的条带的数目。

        components-per-stripe

        指定每个条带应包含的组件的数目。

        component-names

        指定所使用的组件的名称。本示例使用根片 c0t0d0s0

      4. 使用 metattach 命令附加新的子镜像。


        # metattach mirror submirror
        

示例 11–19 替换镜像中的子镜像

以下示例说明如何替换活动镜像中的子镜像。


# metastat d20

d20: Mirror

    Submirror 0: d21

      State: Okay        

    Submirror 1: d22

      State: Needs maintenance

...

# metadetach -f d20 d22

d20: submirror d22 is detached

# metaclear -f d22

d22: Concat/Stripe is cleared

# metainit d22 2 1 c1t0d0s2 1 c1t0d1s2

d22: Concat/Stripe is setup

# metattach d20 d22

d20: components are attached

在本示例中,metastat 命令用于确认双向镜像 d20 是否包含处于 “Needs maintenance(需要维护)” 状态的子镜像 d22。在这种情况下,需要清除整个子镜像并重新创建。metadetach 命令通过使用 -f 选项来从镜像中拆离出故障的子镜像,该选项可强制进行拆离。metaclear 命令会清除子镜像。metainit 命令会使用新片重新创建 d22 子镜像。最后,metattach 命令会附加重新生成的子镜像。系统将开始自动重新同步镜像。

新卷 d22 的具体配置取决于要替换的组件。此处所示的串联足以替换条带。但是,使用串联来替换条带并不理想,因为它会影响性能。

如果是单向镜像,则会暂时失去数据冗余功能。


删除 RAID-1 卷(取消镜像)

Procedure如何取消镜像文件系统

对于可以在系统运行时取消挂载的文件系统,可以使用此过程对其取消镜像。要取消镜像根 (/) 文件系统、/var 文件系统、/usr 文件系统、swap 文件系统或者在系统运行时无法取消挂载的其他任何文件系统,请参见如何取消镜像无法挂载的文件系统

开始之前

请阅读创建和维护 RAID-1 卷

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

  2. 验证是否至少有一个子镜像处于 Okay(正常)状态。


    # metastat mirror
    
  3. 取消挂载文件系统。


    # umount /file-system
    
  4. 拆离将继续用于文件系统的子镜像。


    # metadetach mirror submirror
    

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

  5. 清除镜像和剩余的子组件。


    # metaclear -r mirror
    

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

  6. 如有必要,请编辑 /etc/vfstab 文件,使其使用在 步骤 4 中拆离的组件。

  7. 重新挂载文件系统。


    # mount /file-system
    

示例 11–20 取消镜像 /opt 文件系统


# metastat d4

d4: Mirror

    Submirror 0: d2

      State: Okay        

    Submirror 1: d3

      State: Okay        

    Pass: 1

    Read option: roundrobin (default)

    Write option: parallel (default)

    Size: 2100735 blocks (1.0 GB)



d2: Submirror of d4

    State: Okay         

    Size: 2100735 blocks (1.0 GB)

    Stripe 0:

        Device     Start Block  Dbase        State Reloc Hot Spare

        c0t0d0s0          0     No            Okay   Yes 





d3: Submirror of d4

    State: Okay         

    Size: 2100735 blocks (1.0 GB)

    Stripe 0:

        Device     Start Block  Dbase        State Reloc Hot Spare

        c1t0d0s0          0     No            Okay   Yes 



...

# umount /opt

# metadetach d4 d2

d4: submirror d2 is detached

# metaclear -r d4

d4: Mirror is cleared

d3: Concat/Stripe is cleared

(编辑 /etc/vfstab 文件使与 /opt 对应的项从 d4 更改为该基础片或卷)

# mount /opt

在本示例中,/opt 文件系统由双向镜像 d4 组成。该镜像的子镜像为 d2d3。子镜像由片 /dev/dsk/c0t0d0s0/dev/dsk/c1t0d0s0 组成。metastat 命令会确认是否至少有一个子镜像处于“Okay(正常)”状态。(必须首先修复其子镜像都不处于“Okay(正常)”状态的镜像。)文件系统将会取消挂载。然后,将拆离子镜像 d2metaclear- r 命令会删除该镜像和另一个子镜像 d3

接下来,会更改 /etc/vfstab 文件中与 /opt 相对应的项,使其引用基础片。

在本示例中,/etc/vfstab file 包含 /opt 文件系统的以下项:


/dev/md/dsk/d4  /dev/md/rdsk/d4  /opt ufs  2  yes -

请更改该项,使其显示为:


/dev/md/dsk/d2  /dev/md/rdsk/d2  /opt ufs  2  yes -

使用子镜像名称,可以使文件系统继续挂载在卷上。最后,将重新挂载 /opt 文件系统。

/etc/vfstab 文件中使用 d2 而不是 d4,可以取消镜像。由于 d2 由一个片组成,因此,如果不希望设备支持卷,则可以在该片(其名称为 /dev/dsk/c0t0d0s0)上挂载文件系统。


Procedure如何取消镜像无法挂载的文件系统

使用此任务,可以取消镜像在正常系统运行过程中无法取消挂载的文件系统,包括根 (/) 文件系统、/usr 文件系统、/opt 文件系统和 swap 文件系统。

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

  2. 验证是否至少有一个子镜像处于 Okay(正常)状态。


    # metastat mirror
    
  3. 拆离将继续用于文件系统的子镜像。


    # metadetach mirror submirror
    

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

  4. 根据要取消镜像的文件系统,使用以下命令之一:

    • 对于 /usr/optswap 文件系统,更改 /etc/vfstab 文件中与各文件系统相对应的项,使其使用非Solaris Volume Manager 设备(片)。

    • 仅限根 (/) 文件系统:运行 metaroot 命令。


      # metaroot rootslice
      

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

  5. 重新引导系统。


    # reboot
    
  6. 清除剩余的镜像和子镜像。


    # metaclear -r mirror
    

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


示例 11–21 取消镜像根 (/) 文件系统


# metastat d0

d0: Mirror

    Submirror 0: d10

      State: Okay        

    Submirror 1: d20

      State: Okay        

    Pass: 1

    Read option: roundrobin (default)

    Write option: parallel (default)

    Size: 2100735 blocks (1.0 GB)



d10: Submirror of d0

    State: Okay         

    Size: 2100735 blocks (1.0 GB)

    Stripe 0:

        Device     Start Block  Dbase        State Reloc Hot Spare

        c0t3d0s0          0     No            Okay   Yes 





d20: Submirror of d0

    State: Okay         

    Size: 2100735 blocks (1.0 GB)

    Stripe 0:

        Device     Start Block  Dbase        State Reloc Hot Spare

        c1t3d0s0          0     No            Okay   Yes 





# metadetach d0 d20

d0: submirror d20 is detached

# metaroot /dev/dsk/c0t3d0s0

# reboot

...

# metaclear -r d0

d0: Mirror is cleared

d10: Concat/Stripe is cleared

# metaclear d20

d20: Concat/Stripe is cleared

在本示例中,根 (/) 文件系统是双向镜像 d0。该镜像的子镜像为 d10d20。子镜像由片 /dev/dsk/c0t3d0s0/dev/dsk/c1t3d0s0 组成。metastat 命令会确认是否至少有一个子镜像处于“Okay(正常)”状态。(必须首先修复其子镜像都不处于“Okay(正常)”状态的镜像。)将拆离子镜像 d20,使 d0 成为单向镜像。

rootslice 是包含根 (/) 文件系统的片。metaroot 命令会使用要从中引导系统的 rootslice 来运行。此命令会编辑 /etc/system/etc/vfstab 文件。此命令会删除用来指定对根 (/) 文件系统进行镜像的信息。

系统重新引导之后,metaclear -r 命令会删除该镜像和另一个子镜像 d10。最后一个 metaclear 命令会清除子镜像 d20



示例 11–22 取消镜像 swap 文件系统


# metastat d1

d1: Mirror

    Submirror 0: d11

      State: Okay        

    Submirror 1: d21

      State: Okay        

...

# metadetach d1 d21

d1: submirror d21 is detached

(编辑 /etc/vfstab 文件以将与 swap 对应的项从 metadevice 更改为片名称)

# reboot

...

# metaclear -r d1

d1: Mirror is cleared

d11: Concat/Stripe is cleared

# metaclear d21

d21: Concat/stripe is cleared

在本示例中,swap 文件系统由双向镜像 d1 组成。该镜像的子镜像为 d11d21。子镜像由片 /dev/dsk/c0t3d0s1/dev/dsk/c1t3d0s1 组成。metastat 命令会确认是否至少有一个子镜像处于“Okay(正常)”状态。(必须首先修复其子镜像都不处于“Okay(正常)”状态的镜像。)将拆离子镜像 d21,使 d1 成为单向镜像。接下来,会编辑 /etc/vfstab 文件,以更改与 swap 相对应的项,使其引用子镜像 d21 中的片。

在本示例中,/etc/vfstab file 包含 swap 文件系统的以下项:


/dev/md/dsk/d4  /dev/md/rdsk/d4  /opt ufs  2  yes -

/dev/md/dsk/d1 - - swap - no -

请更改该项,使其显示为:


/dev/dsk/c0t3d0s1 - - swap - no -

系统重新引导之后,metaclear -r 命令会删除该镜像和另一个子镜像 d11。最后一个 metaclear 命令会清除子镜像 d21


在 RAID-1 卷上备份数据

Solaris Volume Manager 并不是“备份产品”。Solaris Volume Manager 确实提供了一种备份镜像数据的方法,而不会导致出现以下任一情况:

Solaris Volume Manager 通过首先使其中一个子镜像脱机来备份镜像数据。在备份过程中,镜像将暂时不可用。一旦备份完成,子镜像将立即恢复联机和重新同步。


注 –

UFS 快照功能提供了一种不使文件系统脱机即可备份系统的备选方法。可以在不拆离子镜像的情况下执行备份,这样也避免了以后由于重新同步镜像而导致性能损失。使用 UFS 快照功能执行备份之前,请确保 UFS 文件系统中有足够的可用空间。有关更多信息,请参见《系统管理指南:设备和文件系统》中的第 26  章 “使用 UFS 快照(任务)”


Procedure如何对 RAID-1 卷执行联机备份

可以针对除根 (/) 文件系统以外的任何文件系统使用此过程。请注意,这种类型的备份会创建活动文件系统的“快照”。根据文件系统处于写入锁定状态时的使用方式,所备份的某些文件可能与磁盘上的实际文件不对应。

以下限制适用于此过程:

此过程中的概括性步骤如下所示:


注 –

如果要定期使用上述过程,请将其置入脚本中以方便使用。



提示 –

对于此过程,比较安全的做法是向镜像中附加第三个或第四个子镜像,允许该子镜像重新同步,然后使用该子镜像进行备份。此方法可确保一直保持数据冗余功能。


  1. 验证镜像是否处于“Okay(正常)”状态。

    应当首先修复处于“Maintenance(维护)”状态的镜像。


    # metastat mirror
    
  2. 将高速缓存中的数据和 UFS 日志记录数据刷新到磁盘上,并对文件系统进行写入锁定。


    # /usr/sbin/lockfs -w mount-point 
    

    仅有 UFS 卷才需要进行写入锁定。如果将该卷设置为数据库管理软件或其他某个应用程序的原始设备,则不必运行 lockfs 命令。但是,您可能希望运行由供应商提供的适当实用程序来刷新所有缓冲区并锁定访问。


    注意 – 注意 –

    请勿对根 (/) 文件系统进行写入锁定。对根 (/) 文件系统进行写入锁定会导致系统挂起。如果要备份根 (/) 文件系统,请跳过此步骤。


  3. 从镜像中拆离某个子镜像。


    # metadetach mirror submirror 
    
    mirror

    镜像的卷名。

    submirror

    拆离的子镜像(卷)的卷名。

    系统将继续从其他子镜像中进行读取。首次进行写入之后,镜像将不再同步。按照步骤 7 中的说明重新附加已拆离子镜像后,即可更正这种不一致性。

  4. 解除锁定文件系统,从而允许继续进行写入。


    # /usr/sbin/lockfs -u mount-point 
    

    您可能需要基于在 步骤 2 中使用的与供应商有关的实用程序来执行必要的解除锁定过程。

  5. 使用 fsck 命令检查已拆离子镜像中的文件系统。此步骤可确保进行完全备份。


    # fsck /dev/md/rdsk/name
    
  6. 对脱机的子镜像执行备份。

    使用 ufsdump 命令或常用的备份实用程序。有关使用 ufsdump 命令执行备份的信息,请参见使用 ufsdump 命令对已挂载的文件系统执行备份


    注 –

    要确保备份正确,请使用原始卷名,如 /dev/md/rdsk/d4。使用原始卷名可以访问大于 2 GB 的存储器。


  7. 附加该子镜像。


    # metattach mirror submirror
    

    Solaris Volume Manager 会自动开始将该子镜像与相应的镜像重新同步。


示例 11–23 对 RAID-1 卷执行联机备份

本示例使用镜像 d1。该镜像由子镜像 d2d3d4 组成。子镜像 d3 将在 d2d4 子镜像保持联机时进行拆离和备份。该镜像中的文件系统是 /home1


# metastat d1

d1: Mirror

    Submirror 0: d2

      State: Okay        

    Submirror 1: d3

      State: Okay        

    Submirror 1: d4

      State: Okay        

...



# /usr/sbin/lockfs -w /home1

# metadetach d1 d3

# /usr/sbin/lockfs -u /home1

# /usr/sbin/fsck /dev/md/rdsk/d3

(Perform backup using /dev/md/rdsk/d3)

# metattach d1 d3