跳过导航链接
退出打印视图
| Oracle Solaris Cluster 软件安装指南 Oracle Solaris Cluster 3.3 3/13 (简体中文)

搜索范围:

- 本文档
- 整个文档库

## 配置 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 管理指南》中的"创建 RAID–1 卷"。

        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) 手册页和《System Administration Guide: Devices and File Systems》中的"Mounting and Unmounting Oracle Solaris File Systems"。

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) 手册页和《System Administration Guide: Devices and File Systems》中的"Mounting and Unmounting Oracle Solaris File Systems"。

示例 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, 2013, Oracle 和/或其附属公司。 保留所有权利。 法律声明 |