跳过导航链接
退出打印视图
| Oracle Solaris Cluster 软件安装指南

搜索范围:

- 本文档
- 整个文档库

### 配置 Solaris Volume Manager 软件

下表列出了为 Oracle Solaris Cluster 配置而配置 Solaris Volume Manager 软件所需执行的任务。按照以下顺序完成操作。

表 4-1 任务图：配置 Solaris Volume Manager 软件

任务 | 指导
--- | ---
规划 Solaris Volume Manager 配置的布局。 | 规划卷管理
在本地磁盘上创建状态数据库副本。 | 如何创建状态数据库副本
（可选）对根磁盘上的文件系统进行镜像。 | 镜像根磁盘

# 如何创建状态数据库副本

请对全局群集中的每个节点执行该过程。

1. 成为超级用户。
2. 在一个或多个本地设备上为每个群集节点创建状态数据库拷贝。

   在指定要使用的分片时，请使用物理名称 (`c` N `t` X `d` Y `s` Z) 而不是设备 ID 名称 (`d` N)。

       phys-schost# metadb -af slice-1 slice-2 slice-3

   提示 - 要为状态数据提供保护（这是运行 Solaris Volume Manager 软件所必需的），则至少为每个节点创建三个副本。此外，您可以将拷贝放在多个设备上，以在其中一个设备出现故障时提供保护。

   有关详细信息，请参见 `metadb`(1M) 手册页和您的 Solaris Volume Manager 文档。

3. 检验副本。

       phys-schost# metadb

   `metadb` 命令将显示副本列表。

示例 4-1 创建状态数据库副本

以下示例显示了三个状态数据库副本。每个拷贝分别创建在不同的设备上。

    phys-schost# metadb -af c0t0d0s7 c0t1d0s7 c1t0d0s7
    phys-schost# metadb
    flags            first blk      block count
        a       u       16          8192         /dev/dsk/c0t0d0s7
        a       u       16          8192         /dev/dsk/c0t1d0s7
        a       u       16          8192         /dev/dsk/c1t0d0s7

###### 接下来的操作

要镜像根磁盘上的文件系统，请转至镜像根磁盘。

否则，请转至在群集中创建磁盘集以创建 Solaris Volume Manager 磁盘集。

#### 镜像根磁盘

镜像根磁盘可防止因系统磁盘故障而关闭群集节点。四种类型的文件系统可驻留在根磁盘中。每种文件系统的镜像方法各不相同。

使用下列过程镜像各种类型的文件系统。

- 如何镜像根 (/) 文件系统

- 如何镜像全局设备名称空间

- 如何镜像除根 (`/`) 文件系统以外的无法卸载的文件系统

- 如何镜像无法卸载的文件系统

| Caution - 对于本地磁盘镜像，在指定磁盘名称时不要将 `/dev/global` 用作路径。如果为非群集文件系统的系统指定了该路径，系统将无法引导。

# 如何镜像根 (/) 文件系统

使用此过程可以镜像根 (`/`) 文件系统。

注 - 如果全局设备名称空间在 `lofi` 创建的文件上，则此过程包括全局设备名称空间的镜像。

1. 成为超级用户。
2. 将根盘片置于单盘片（单向）并置中。

   指定根磁盘分片的物理磁盘名称 (`c` N `t` X `d` Y `s` Z)。

       phys-schost# metainit -f submirror1 1 1 root-disk-slice

3. 创建第二个并置。

       phys-schost# metainit submirror2 1 1 submirror-disk-slice

4. 创建具有一个子镜像的单向镜像。

       phys-schost# metainit mirror -m submirror1

   注 - 如果该设备是用于挂载全局设备文件系统 `/global/.devices/node@nodeid` 的本地设备，则镜像的卷名称在整个群集中必须是唯一的。

5. 设置根 (`/`) 目录的系统文件。

       phys-schost# metaroot mirror

   此命令编辑 `/etc/vfstab` 和 `/etc/system` 文件，以便可以通过元设备或卷上的根 (`/`) 文件系统来引导系统。有关更多信息，请参见 `metaroot`(1M) 手册页。

6. 清理所有文件系统。

       phys-schost# lockfs -fa

   该命令清理日志中的所有事务，并将这些事务写入所有已安装的 UFS 文件系统上的主文件系统中。有关更多信息，请参见 `lockfs`(1M) 手册页。

7. 从节点中清空任何资源组或设备组。

       phys-schost# clnode evacuate from-node

   from-node

     指定要从中抽出资源组或设备组的节点的名称。

8. 重新引导该节点。

   此命令将重新挂载刚刚镜像的根 (`/`) 文件系统。

       phys-schost# shutdown -g0 -y -i6

9. 将第二个子镜像与镜像连接。

       phys-schost# metattach mirror submirror2

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

10. 如果用于镜像根磁盘的磁盘物理连接到多个节点（多主机），请对该磁盘禁用隔离功能。

    如果引导设备与多个节点连接，则对某个设备禁用隔离功能可以防止意外地将节点与其引导设备隔离。

        phys-schost# cldevice set -p default_fencing=nofencing submirror-disk

    `-p`

      指定一个设备属性。

    `default_fencing=nofencing`

      对指定的设备禁用隔离功能。

    有关 `default_fencing` 属性的更多信息，请参见 `cldevice`(1CL) 手册页。

11. 记录备用引导路径，以备将来可能用到。

    如果主引导设备出现故障，可以通过这个备用引导设备引导。有关备用引导设备的更多信息，请参见《Solaris Volume Manager Administration Guide》中的"Creating a RAID-1 Volume"。

        phys-schost# ls -l /dev/rdsk/root-disk-slice

12. 对群集的其余每个节点重复执行步骤 1 至步骤 11。

    请确保要在其上挂载全局设备文件系统 `/global/.devices/node@ nodeid` 的每个卷名称在整个群集中是唯一的。

示例 4-2 镜像根 (/) 文件系统

以下示例显示了在节点 `phys-schost-1` 上创建镜像 `d0` 的过程，该镜像由分区 `c0t0d0s0` 上的子镜像 `d10` 和分区 `c2t2d0s0` 上的子镜像 `d20` 组成。设备 `c2t2d0` 是多主机磁盘，因此 隔离功能处于禁用状态。此示例还显示了要记录的备用引导路径。

    phys-schost# metainit -f d10 1 1 c0t0d0s0
    d11: Concat/Stripe is setup
    phys-schost# metainit d20 1 1 c2t2d0s0
    d12: Concat/Stripe is setup
    phys-schost# metainit d0 -m d10
    d10: Mirror is setup
    phys-schost# metaroot d0
    phys-schost# lockfs -fa
    phys-schost# clnode evacuate phys-schost-1
    phys-schost# shutdown -g0 -y -i6
    phys-schost# metattach d0 d20
    d0: Submirror d20 is attachedphys-schost# cldevice set -p default_fencing=nofencing c2t2d0
    phys-schost# ls -l /dev/rdsk/c2t2d0s0
    lrwxrwxrwx  1 root     root          57 Apr 25 20:11 /dev/rdsk/c2t2d0s0
    –> ../../devices/node@1/pci@1f,0/pci@1/scsi@3,1/disk@2,0:a,raw

###### 接下来的操作

要镜像全局设备名称空间 `/global/.devices/node@`nodeid，请转至如何镜像全局设备名称空间。

要镜像无法卸载的文件系统，请转至如何镜像除根 (`/`) 文件系统以外的无法卸载的文件系统。

要镜像用户定义的文件系统，请转至如何镜像无法卸载的文件系统。

否则，请转至在群集中创建磁盘集以创建磁盘集。

###### 故障排除

此镜像过程中的某些步骤可能会导致产生类似于 `metainit:dg-schost-1:d1s0:not a metadevice` 的错误消息。这样的错误消息是无碍的，可以忽略。

# 如何镜像全局设备名称空间

使用此过程可镜像全局设备名称空间 `/global/.devices/node@nodeid/`。

注 - 如果全局设备名称空间在基于 `lofi` 的文件上，请勿使用此过程。而应转至如何镜像根 (/) 文件系统。

1. 成为超级用户。
2. 将全局设备名称空间分片置于单分片（单向）串联中。

   请使用磁盘分片的物理磁盘名称 (`c` N `t` X `d` Y `s` Z)。

       phys-schost# metainit -f submirror1 1 1 diskslice

3. 创建第二个并置。

       phys-schost# metainit submirror2 1 1 submirror-diskslice

4. 创建具有一个子镜像的单向镜像。

       phys-schost# metainit mirror -m submirror1

   注 - 要在其上挂载全局设备文件系统 `/global/.devices/node@nodeid` 的镜像的卷名称在整个群集中必须是唯一的。

5. 将第二个子镜像与镜像连接。

   这一连接操作会启动子镜像的同步。

       phys-schost# metattach mirror submirror2

6. 编辑 `/global/.devices/node@`nodeid 文件系统的 `/etc/vfstab` 文件条目。

   请将 `device to mount` 和 `device to fsck` 列中的名称替换为镜像名称。

       phys-schost# vi /etc/vfstab
       #device        device        mount    FS     fsck    mount    mount
       #to mount      to fsck       point    type   pass    at boot  options
       #
       /dev/md/dsk/mirror /dev/md/rdsk/mirror /global/.devices/node@nodeid ufs 2 no global

7. 对群集的其余每个节点重复执行步骤 1 至步骤 6。
8. 等待在步骤 5 中启动的镜像同步完成。

   请使用 `metastat`(1M) 命令查看镜像状态并检验镜像同步是否完成。

       phys-schost# metastat mirror

9. 如果用于镜像全局设备名称空间的磁盘物理连接到多个节点（多主机），请对该磁盘禁用隔离功能。

   如果引导设备与多个节点连接，则对某个设备禁用隔离功能可以防止意外地将节点与其引导设备隔离。

       phys-schost# cldevice set -p default_fencing=nofencing submirror-disk

   `-p`

     指定一个设备属性。

   `default_fencing=nofencing`

     对指定的设备禁用隔离功能。

   有关 `default_fencing` 属性的更多信息，请参见 `cldevice`(1CL) 手册页。

示例 4-3 镜像全局设备名称空间

以下示例显示了创建镜像 `d101` 的过程，该镜像由分区 `c0t0d0s3` 上的子镜像 `d111` 和分区 `c2t2d0s3` 上的子镜像 `d121` 组成。`/global/.devices/node@1` 的 `/etc/vfstab` 文件条目被更新为使用镜像名称 `d101`。设备 `c2t2d0` 是多主机磁盘，因此隔离功能处于禁用状态。

    phys-schost# metainit -f d111 1 1 c0t0d0s3
    d111: Concat/Stripe is setup
    phys-schost# metainit d121 1 1 c2t2d0s3
    d121: Concat/Stripe is setup
    phys-schost# metainit d101 -m d111
    d101: Mirror is setup
    phys-schost# metattach d101 d121
    d101: Submirror d121 is attached
    phys-schost# vi /etc/vfstab
    #device        device        mount    FS     fsck    mount    mount
    #to mount      to fsck       point    type   pass    at boot  options
    #
    /dev/md/dsk/d101 /dev/md/rdsk/d101 /global/.devices/node@1 ufs 2 no global
    phys-schost# metastat d101
    d101: Mirror
          Submirror 0: d111
             State: Okay
          Submirror 1: d121
             State: Resyncing
          Resync in progress: 15 % done
    …
    phys-schost# cldevice show phys-schost-3:/dev/rdsk/c2t2d0
    === DID Device Instances ===

    DID Device Name:                                /dev/did/rdsk/d2
      Full Device Path:                               phys-schost-1:/dev/rdsk/c2t2d0
      Full Device Path:                               phys-schost-3:/dev/rdsk/c2t2d0
    …

    phys-schost# cldevicegroup show | grep dsk/d2
    Device Group Name:                              dsk/d2
    …
      Node List:                                      phys-schost-1, phys-schost-3
    …
      localonly:                                      false
    phys-schost# cldevicegroup remove-node -n phys-schost-3 dsk/d2
    phys-schost# cldevice set -p default_fencing=nofencing c2t2d0

###### 接下来的操作

要镜像除根 (`/`) 文件系统以外的无法卸载的文件系统，请转至如何镜像除根 (`/`) 文件系统以外的无法卸载的文件系统。

要镜像用户定义的文件系统，请转至如何镜像无法卸载的文件系统。

否则，请转至在群集中创建磁盘集以创建磁盘集。

###### 故障排除

此镜像过程中的某些步骤可能会导致产生类似于 `metainit:dg-schost-1:d1s0:not a metadevice` 的错误消息。这样的错误消息是无碍的，可以忽略。

# 如何镜像除根 (`/`) 文件系统以外的无法卸载的文件系统

使用此过程可以在正常使用系统期间镜像除根 (`/`) 文件系统以外的无法卸载的文件系统，例如，`/usr`、`/opt` 或 `swap`。

1. 成为超级用户。
2. 将无法卸载的文件系统所驻留的盘片置于单盘片（单向）并置中。

   指定磁盘分片的物理磁盘名称 (`c` N `t` X `d` Y `s` Z)。

       phys-schost# metainit -f submirror1 1 1 diskslice

3. 创建第二个并置。

       phys-schost# metainit submirror2 1 1 submirror-diskslice

4. 创建具有一个子镜像的单向镜像。

       phys-schost# metainit mirror -m submirror1

   注 - 此镜像的卷名称在整个群集中不必是唯一的。

5. 对您要镜像的其余每个无法卸载的文件系统，重复执行步骤 1 至步骤 4。
6. 在每个节点上，为已镜像的每个无法卸载的文件系统编辑 `/etc/vfstab` 文件条目。

   将 `device to mount` 和 `device to fsck` 列中的名称替换为镜像名称。

       phys-schost# vi /etc/vfstab
       #device        device        mount    FS     fsck    mount    mount
       #to mount      to fsck       point    type   pass    at boot  options
       #
       /dev/md/dsk/mirror /dev/md/rdsk/mirror /filesystem ufs 2 no global

7. 从节点中清空任何资源组或设备组。

       phys-schost# clnode evacuate from-node

   from-node

     指定要从中移出资源组或设备组的节点的名称。

8. 重新引导该节点。

       phys-schost# shutdown -g0 -y -i6

9. 将第二个子镜像连接到每个镜像。

   这一连接操作会启动子镜像的同步。

       phys-schost# metattach mirror submirror2

10. 等待在步骤 9 中启动的镜像同步完成。

    请使用 `metastat`(1M) 命令查看镜像状态并检验镜像同步是否完成。

        phys-schost# metastat mirror

11. 如果用于镜像无法挂载的文件系统的磁盘物理连接到多个节点（多主机），请对该磁盘禁用隔离功能。

    如果引导设备与多个节点连接，则对某个设备禁用隔离功能可以防止意外地将节点与其引导设备隔离。

        phys-schost# cldevice set -p default_fencing=nofencing submirror-disk

    `-p`

      指定一个设备属性。

    `default_fencing=nofencing`

      对指定的设备禁用隔离功能。

    有关 `default_fencing` 属性的更多信息，请参见 `cldevice`(1CL) 手册页。

示例 4-4 镜像无法卸装的文件系统

以下示例显示了如何在节点 `phys-schost-1` 上创建镜像 `d1` 以镜像驻留在 `c0t0d0s1` 上的 `/usr`。镜像 `d1` 由分区 `c0t0d0s1` 上的子镜像 `d11` 和分区 `c2t2d0s1` 上的子镜像 `d21` 组成。`/usr` 的 `/etc/vfstab` 文件条目被更新为使用镜像名称 `d1`。设备 `c2t2d0` 是多主机磁盘，因此隔离功能处于禁用状态。

    phys-schost# metainit -f d11 1 1 c0t0d0s1
    d11: Concat/Stripe is setup
    phys-schost# metainit d21 1 1 c2t2d0s1
    d21: Concat/Stripe is setup
    phys-schost# metainit d1 -m d11
    d1: Mirror is setup
    phys-schost# vi /etc/vfstab
    #device        device        mount    FS     fsck    mount    mount
    #to mount      to fsck       point    type   pass    at boot  options
    #
    /dev/md/dsk/d1 /dev/md/rdsk/d1 /usr ufs  2       no global
    …
    phys-schost# clnode evacuate phys-schost-1
    phys-schost# shutdown -g0 -y -i6
    phys-schost# metattach d1 d21
    d1: Submirror d21 is attached
    phys-schost# metastat d1
    d1: Mirror
          Submirror 0: d11
             State: Okay
          Submirror 1: d21
             State: Resyncing
          Resync in progress: 15 % done
    …
    phys-schost# cldevice show phys-schost-3:/dev/rdsk/c2t2d0
    …
    DID Device Name:                                /dev/did/rdsk/d2
    phys-schost# cldevicegroup show dsk/d2
    Device Group Name:                              dsk/d2
    …
      Node List:                                      phys-schost-1, phys-schost-3
    …
      localonly:                                      false
    phys-schost# cldevicegroup remove-node -n phys-schost-3 dsk/d2
    phys-schost# cldevice set -p default_fencing=nofencing c2t2d0

###### 接下来的操作

要镜像用户定义的文件系统，请转至如何镜像无法卸载的文件系统。

否则，请转至在群集中创建磁盘集以创建磁盘集。

###### 故障排除

此镜像过程中的某些步骤可能会导致产生类似于 `metainit:dg-schost-1:d1s0:not a metadevice` 的错误消息。这样的错误消息是无碍的，可以忽略。

# 如何镜像无法卸载的文件系统

使用该过程可以镜像无法卸载的用户定义文件系统。在此过程中，不需要重新引导节点。

1. 成为超级用户。
2. 卸载要镜像的文件系统。

   确保文件系统中没有正在运行的进程。

       phys-schost# umount /mount-point

   有关更多信息，请参见 `umount`(1M) 手册页以及《系统管理指南：设备和文件系统》中的第 19 章 "挂载和取消挂载文件系统（任务）"。

3. 使包含可以卸载的用户定义的文件系统的盘片处于单片（单向）并置状态。

   指定磁盘分片的物理磁盘名称 (`c` N `t` X `d` Y `s` Z)。

       phys-schost# metainit -f submirror1 1 1 diskslice

4. 创建第二个并置。

       phys-schost# metainit submirror2 1 1 submirror-diskslice

5. 创建具有一个子镜像的单向镜像。

       phys-schost# metainit mirror -m submirror1

   注 - 此镜像的卷名称在整个群集中不必是唯一的。

6. 对要镜像的每个可挂载的文件系统，重复执行步骤 1 至步骤 5。
7. 在每个节点上，为已镜像的每个文件系统编辑 `/etc/vfstab` 文件条目。

   请将 `device to mount` 和 `device to fsck` 列中的名称替换为镜像名称。

       phys-schost# vi /etc/vfstab
       #device        device        mount    FS     fsck    mount    mount
       #to mount      to fsck       point    type   pass    at boot  options
       #
       /dev/md/dsk/mirror /dev/md/rdsk/mirror /filesystem ufs 2 no global

8. 将第二个子镜像与镜像连接。

   这一连接操作会启动子镜像的同步。

       phys-schost# metattach mirror submirror2

9. 等待在步骤 8 中启动的镜像同步完成。

   请使用 `metastat`(1M) 命令查看镜像状态。

       phys-schost# metastat mirror

10. 如果用于镜像用户定义文件系统的磁盘物理连接到多个节点（多主机），请对该磁盘禁用隔离功能。

    如果引导设备与多个节点连接，则对某个设备禁用隔离功能可以防止意外地将节点与其引导设备隔离。

        phys-schost# cldevice set -p default_fencing=nofencing submirror-disk

    `-p`

      指定一个设备属性。

    `default_fencing=nofencing`

      对指定的设备禁用隔离功能。

    有关 `default_fencing` 属性的更多信息，请参见 `cldevice`(1CL) 手册页。

11. 安装已镜像的文件系统。

        phys-schost# mount /mount-point

    有关更多信息，请参见 `mount`(1M) 手册页以及《系统管理指南：设备和文件系统》中的第 19 章 "挂载和取消挂载文件系统（任务）"。

示例 4-5 镜像可以卸装的文件系统

以下示例显示了如何创建镜像 `d4` 以镜像驻留在 `c0t0d0s4` 上的 `/export`。镜像 `d4` 由分区 `c0t0d0s4` 上的子镜像 `d14` 和分区 `c2t2d0s4` 上的子镜像 `d24` 组成。`/export` 的 `/etc/vfstab` 文件条目被更新为使用镜像名称 `d4`。设备 `c2t2d0` 是多主机磁盘，因此隔离功能处于禁用状态。

    phys-schost# umount /export
    phys-schost# metainit -f d14 1 1 c0t0d0s4
    d14: Concat/Stripe is setup
    phys-schost# metainit d24 1 1 c2t2d0s4
    d24: Concat/Stripe is setup
    phys-schost# metainit d4 -m d14
    d4: Mirror is setup
    phys-schost# vi /etc/vfstab
    #device        device        mount    FS     fsck    mount    mount
    #to mount      to fsck       point    type   pass    at boot  options
    #
    # /dev/md/dsk/d4 /dev/md/rdsk/d4 /export ufs 2 no    global
    phys-schost# metattach d4 d24
    d4: Submirror d24 is attached
    phys-schost# metastat d4
    d4: Mirror
           Submirror 0: d14
              State: Okay
           Submirror 1: d24
              State: Resyncing
           Resync in progress: 15 % done
    …
    phys-schost# cldevice show phys-schost-3:/dev/rdsk/c2t2d0
    …
    DID Device Name:                                /dev/did/rdsk/d2
    phys-schost# cldevicegroup show dsk/d2
    Device Group Name:                              dsk/d2
    …
      Node List:                                      phys-schost-1, phys-schost-2
    …
      localonly:                                      false
    phys-schost# cldevicegroup remove-node -n phys-schost-3 dsk/d2
    phys-schost# cldevice set -p default_fencing=nofencing c2t2d0
    phys-schost# mount /export

###### 接下来的操作

要创建磁盘集，请转至在群集中创建磁盘集。此外，要创建供 Oracle Real Application Clusters 使用的多属主磁盘集，请转至《用于 Oracle Real Application Clusters 的 Oracle Solaris Cluster 数据服务指南》中的"如何在 Solaris Volume Manager for Sun Cluster 中为 Oracle RAC 数据库创建多属主磁盘集"。

如果您有足够的磁盘集来满足需要，则转到以下任务之一：

- 如果群集包含正好配置了两个磁盘附件和两个节点的磁盘集，则必须添加双串调解器。请转至配置双串调解器。

- 如果群集配置不需要双串调解器，请转至如何创建群集文件系统。

###### 故障排除

此镜像过程中的某些步骤可能会导致产生类似于 `metainit:dg-schost-1:d1s0:not a metadevice` 的错误消息。这样的错误消息是无碍的，可以忽略。

版权所有 © 2000, 2010, Oracle 和/或其附属公司。 保留所有权利。 法律声明 |