跳过导航链接
退出打印视图
| Oracle Solaris Cluster 系统管理指南 Oracle Solaris Cluster (简体中文)

搜索范围:

- 本文档
- 整个文档库

## 管理法定设备

法定设备是一个共享存储设备或法定服务器，由两个或多个节点共享，并提供用于建立法定的选票。本节介绍有关管理法定设备的过程。

可以使用`clquorum`(1CL) 命令执行所有法定设备管理过程。此外，还可以使用 `clsetup`(1CL) 交互式实用程序或 Oracle Solaris Cluster Manager GUI 完成某些过程。只要可能，本节中的法定过程都使用 `clsetup` 实用程序来说明。Oracle Solaris Cluster Manager 联机帮助介绍了如何使用 GUI 执行法定相关过程。当您使用法定设备时，请牢记以下指导原则：

- 所有法定命令都必须在全局群集投票节点下运行。

- 如果 `clquorum` 命令中断或失败，群集配置数据库中的法定配置信息可能会变得不一致。出现这种不一致情况时，可重新运行该命令或运行 `clquorum reset` 命令重置法定配置。

- 为了最大限度地实现群集高可用性，请确保法定设备投的选票总数少于节点投的选票总数。否则，节点无法在所有法定设备都不可用时形成群集，即使所有节点都在正常运行也是如此。

- 请不要将当前配置为法定设备的磁盘添加到 Solaris ZFS 存储池中。如果将一个已配置的法定设备添加到 Solaris ZFS 存储池中，该磁盘会被重新标为 EFI 磁盘，法定配置信息将丢失，并且该磁盘将不会再向群集提供法定投票。磁盘一旦处于存储池中，即可被配置为法定设备。或者，您也可以先取消配置磁盘，并将它添加到存储池中，然后将该磁盘重新配置为法定设备。

注 - `clsetup` 命令是一个访问其他 Oracle Solaris Cluster 命令的交互式接口。运行 `clsetup` 时，该命令会生成相应的特定命令，在此例中生成 `clquorum` 命令。这些生成的命令显示在这些过程结尾部分的示例中。

要查看法定配置，请使用 `clquorum show`。`clquorum list` 命令可显示群集中法定设备的名称。`clquorum status` 命令可提供状态和投票计数信息。

本节显示的多数示例均来自一个由三个节点组成的群集。

表 6-1 任务列表：定额管理

任务 | 参考
--- | ---
使用 `clsetup`(1CL) 向群集添加法定设备 | 添加法定设备
使用 `clsetup`（生成 `clquorum`）将法定设备从群集中删除 | 如何删除法定设备
使用 `clsetup`（生成 `clquorum`）将最后一个法定设备从群集中删除 | 如何从集群中删除最后一个法定设备
使用添加和删除过程替换群集中的法定设备 | 如何替换法定设备
使用添加和删除过程修改法定设备列表 | 如何修改法定设备节点列表
使用 `clsetup`（生成 `clquorum`）将法定设备置于维护状态 （在维护状态下，定额设备不参与选票来建立定额。） | 如何将法定设备置于维护状态
使用 `clsetup`（生成 clquorum）将法定配置重置为默认状态 | 如何使法定设备脱离维护状态
使用 `clquorum`(1CL) 命令列出法定设备和投票计数 | 如何列出法定配置

### 动态重新配置法定设备

对群集中的法定设备执行动态重新配置 (Dynamic Reconfiguration, DR) 时，必须考虑以下几个问题。

- 文档中提到的针对 Oracle Solaris DR 功能的所有要求、过程及限制同样适用于 Oracle Solaris Cluster DR 支持（操作系统停止操作除外）。因此，在通过 Oracle Solaris Cluster 软件使用 DR 功能之前，请查阅有关 Oracle Solaris DR 功能的文档。您应该特别注意那些在执行 DR 分离操作时将影响非网络 IO 设备的问题。

- Oracle Solaris Cluster 拒绝在为法定设备配置了接口的情况下执行 DR 删除板操作。

- 如果 DR 操作会影响活动设备，Oracle Solaris Cluster 将拒绝此操作并标识出会受此操作影响的设备。

要删除法定设备，您必须按指示的顺序完成以下步骤。

表 6-2 任务表：动态重新配置法定设备

任务 | 参考
--- | ---
1. 启用一个新的法定设备，以替换正要删除的设备。 | 添加法定设备
2. 禁用要删除的法定设备。 | 如何删除法定设备
3. 对正要删除的设备执行 DR 删除操作。 | 《Sun Enterprise 10000 Dynamic Reconfiguration Reference Manual》（来自 "Solaris 10 on Sun Hardware" 文档集。）

### 添加法定设备

本节提供了添加法定设备的过程。 在添加新法定设备之前，请确保群集中所有节点均处于联机状态。有关确定群集所必需的法定投票计数的数目、以及建议的法定配置和故障隔离等信息，请参见《Oracle Solaris Cluster Concepts Guide》中的"Quorum and Quorum Devices"。

| 注意 - 请不要将当前配置为法定设备的磁盘添加到 Solaris ZFS 存储池中。在将一个已配置的法定设备添加到 Solaris ZFS 存储池中的时候，该磁盘会被重新标为 EFI 磁盘，法定配置信息将丢失，并且该磁盘将不会再向群集提供法定投票。磁盘一旦处于存储池中，即可被配置为法定设备。您还可以先取消配置磁盘，并将它添加到存储池中，然后将该磁盘重新配置为法定设备。

Oracle Solaris Cluster 支持以下类型的法定设备：

- 以下各项中的共享 LUN：

  - 共享 SCSI 磁盘

  - 串行连接技术附件 (Serial Attached Technology Attachment, SATA) 存储

  - Sun NAS

  - Oracle Sun ZFS Storage Appliance

- Oracle Solaris Cluster 法定服务器

- Network Appliance NAS

下节中将提供这些设备的添加过程：

- 如何添加共享磁盘法定设备

- 如何添加 Network Appliance 网络连接存储 (Network-Attached Storage, NAS) 法定设备

- 如何添加法定服务器法定设备

注 - 不能将复制磁盘配置为法定设备。如果尝试将一个复制磁盘添加为法定设备，您将收到以下错误消息，命令将退出并显示一个错误代码。

    Disk-name is a replicated device. Replicated devices cannot be configured as
     quorum devices.

共享磁盘法定设备可为 Oracle Solaris Cluster 软件所支持的任何连接存储设备。共享磁盘连接到您的群集的两个或更多个节点。如果您打开隔离功能，则可以将双端口磁盘配置为使用 SCSI-2 或 SCSI-3（默认情况下为 SCSI-2）的法定设备。如果打开隔离功能并且您的共享设备连接到两个以上的节点，则可以将您的共享磁盘配置为使用 SCSI-3 协议（用于两个以上节点的默认协议）的法定设备。您可以使用 SCSI 覆盖标志使 Oracle Solaris Cluster 软件对双端口共享磁盘使用 SCSI-3 协议。

如果您为共享磁盘关闭隔离功能，那么可以将该磁盘配置为使用软件法定协议的法定设备。无论该磁盘是支持 SCSI-2 协议还是支持 SCSI-3 协议，都是如此。软件法定是 Oracle 的一种协议，用来模拟某种形式的 SCSI 永久组保留 (Persistent Group Reservation, PGR)。

| 注意 - 如果您使用的是不支持 SCSI 的磁盘（例如，SATA），则应该关闭 SCSI 隔离功能。

对于法定设备，您可以使用包含用户数据或属于某个设备组的磁盘。通过观察 `cluster show` 命令的输出中共享磁盘的 `access-mode` 值，可以查看由具有该共享磁盘的法定子系统所使用的协议。

您还可以使用 Oracle Solaris Cluster Manager GUI 完成这些过程。有关详细信息，请参见 Oracle Solaris Cluster Manager 联机帮助。

有关以下过程所用命令的信息，请参见 `clsetup`(1CL) 和 `clquorum`(1CL) 手册页。

### 如何添加共享磁盘法定设备

Oracle Solaris Cluster 软件支持使用共享磁盘（包括 SCSI 和 SATA）设备作为法定设备。SATA 设备不支持 SCSI 保留项，您必须禁用 SCSI 保留隔离标志并使用软件法定协议将这些磁盘配置为法定设备。

要完成此过程，请使用磁盘驱动器的设备 ID (Device ID, DID) 来标识该设备（设备 ID 由节点共享）。使用 `cldevice show` 命令可查看 DID 名称列表。有关其他信息，请参阅 `cldevice`(1CL) 手册页。在添加新法定设备之前，请确保群集中所有节点均处于联机状态。

使用此过程可配置 SCSI 或 SATA 设备。

`phys-schost#` 提示符表示全局群集提示符。此操作过程适用于全局群集。

此过程提供了 Oracle Solaris Cluster 命令的长格式。此外，大多数命令还有简短格式。这些命令除了名称长短的不同以外，其功能都是相同的。

1. 在群集的任意一个节点上，成为超级用户或成为可提供 `solaris.cluster.modify` RBAC 授权的角色。
2. 启动 `clsetup` 实用程序。

       # clsetup

   屏幕上将显示 `clsetup` 主菜单。

3. 键入与“法定”选项对应的编号。

   这时将显示“Quorum”菜单。

4. 键入与添加法定设备的选项对应的编号，然后在 `clsetup` 实用程序提示您确认要添加的法定设备时键入 `yes`。

   `clsetup` 实用程序将询问您要添加哪种类型的法定设备。

5. 键入与共享磁盘法定设备选项对应的编号。

   `clsetup` 实用程序将询问您要使用哪个全局设备。

6. 键入您正在使用的全局设备。

   `clsetup` 实用程序将提示您确认将新的法定设备添加到指定的全局设备中。

7. 键入 `yes` 继续执行添加新法定设备的操作。

   如果成功添加了新的法定设备，`clsetup` 实用程序会为此显示一条相应的消息。

8. 检验是否已添加法定设备。

       # clquorum list -v

示例 6-1 添加共享磁盘法定设备

以下示例显示了当 `clsetup` 添加共享磁盘法定设备时所生成的 `clquorum` 命令和一个检验步骤。

    Become superuser or assume a role that provides solaris.cluster.modify RBAC authorization on any
        cluster node.

    [Start the clsetup utility:]
    # clsetup
    [Select Quorum>Add a quorum device]
    [Answer the questions when prompted.]
    [You will need the following information.]
      [Information:                       Example:]
      [Directly attached shared disk      shared_disk]
      [Global device                          d20]

    [Verify that the clquorum command was completed successfully:]
     clquorum add d20

        Command completed successfully.
    [Quit the clsetup Quorum Menu and Main Menu.]
    [Verify that the quorum device is added:]
    # clquorum list -v

    Quorum         Type
    -------         ----
    d20              shared_disk
    scphyshost-1    node
    scphyshost-2    node

### 如何添加 Sun NAS 或 Sun ZFS Storage Appliance NAS 法定设备

在添加新法定设备之前，请确保群集中所有节点均处于联机状态。

`phys-schost#` 提示符表示全局群集提示符。此操作过程适用于全局群集。

此过程提供了 Oracle Solaris Cluster 命令的长格式。此外，大多数命令还有简短格式。这些命令除了名称长短的不同以外，其功能都是相同的。

1. 使用 Sun NAS GUI 设置 Sun NAS 文件管理器上的 iSCSI 设备。有关设置 iSCSI 设备的说明，请查阅随 Sun ZFS Storage Appliance 提供的安装文档或设备的联机帮助。

   如果您有 Sun NAS 设备，请使用以下命令：

   1. 创建一个大小约为 50 MB 的文件卷。
   2. 对于每个节点，创建一个 iSCSI 访问列表。
      1. 将群集的名称用作 iSCSI 访问列表的名称。
      2. 将每个群集节点的启动器节点名称添加到访问列表中。无需 CHAP 和 IQN。
   3. 配置 iSCSI LUN

      可以将后备文件卷的名称用作 LUN 的名称。将每个节点的访问列表添加到 LUN 中。

2. 在每个群集节点上，搜索 iSCSI LUN 并将 iSCSI 访问列表设置为静态配置。

       # iscsiadm modify discovery -s enable

           # iscsiadm list discovery
           Discovery:
                   Static: enabled
                   Send Targets: disabled
                   iSNS: disabled

           #  iscsiadm add static-config iqn.LUNName,IPAddress_of_NASDevice
       # devfsadm -i iscsi
       # cldevice refresh

3. 从一个群集节点上，为 iSCSI LUN 配置 DID。

       # /usr/cluster/bin/cldevice populate

4. 标识 DID 设备，该设备表示使用 iSCSI 刚刚配置到群集中的 NAS 设备 LUN。使用 `cldevice show` 命令可查看 DID 名称列表。有关其他信息，请参阅 `cldevice`(1CL) 手册页。
5. 在群集的任意一个节点上，成为超级用户或成为可提供 `solaris.cluster.modify` RBAC 授权的角色。
6. 通过 `clquorum` 命令，使用步骤 4 中指定的 DID 设备将 NAS 设备添加为法定设备。

       # clquorum add d20

   群集具有默认的规则来决定是使用 scsi-2、scsi-3 还是软件法定协议。有关更多信息，请参见 `clquorum`(1CL)。

示例 6-2 添加 Sun NAS 或 Sun ZFS Storage Appliance NAS 法定设备

以下示例显示了当 `clsetup` 添加 Sun NAS 法定设备时所生成的 `clquorum` 命令和检验步骤。有关设置 iSCSI 设备的说明，请查阅随 Sun ZFS Storage Appliance 提供的安装文档或设备的联机帮助。

    Add an iSCSI device on the Sun NAS filer.
    Use the Sun NAS GUI to create a file volume that is approximately 50mb in size.
    File Volume Operations -> Create File Volume
    For each node, create an iSCSI access list.
    iSCSI Configuration -> Configure Access List
    Add the initiator node name of each cluster node to the access list.
    *** Need GUI or command syntax for this step. ***
    Configure the iSCSI LUN
    iSCSI Configuration -> Configure iSCSI LUN
    On each of the cluster nodes, discover the iSCSI LUN and set the iSCSI access list to static configuration.
    iscsiadm modify discovery -s enable
    iscsiadm list discovery
    Discovery:
       Static: enabled
       Send Targets: enabled
       iSNS: disabled
    iscsiadm add static-config
    iqn.1986-03.com.sun0-1:000e0c66efe8.4604DE16.thinquorum,10.11.160.20
    devsadm -i iscsi
    From one cluster node, configure the DID devices for the iSCSI LUN.
    /usr/cluster/bin/scldevice populate
    /usr/cluster/bin/scldevice populate
    Become superuser or assume a role that provides solaris.cluster.modify RBAC authorization on any    cluster node.

    [Add the NAS device as a quorum device
     using the DID device:]
     clquorum add d20

        Command completed successfully.

### 如何添加 Network Appliance 网络连接存储 (Network-Attached Storage, NAS) 法定设备

将 Network Appliance (NetApp) 网络连接存储 (Network-Attached Storage, NAS) 设备用作法定设备时，需要满足以下要求：

- 您必须安装 NetApp 的 iSCSI 许可证。

- 您必须在作为法定设备的群集文件管理器上对 iSCSI LUN 进行配置。

- 您必须配置 NetApp NAS 单元以使用 NTP 对时间进行同步。

- 为群集文件管理器选定的 NTP 服务器中至少有一个为 Oracle Solaris Cluster 节点的 NTP 服务器。

- 引导群集时，请始终在引导群集节点之前引导 NAS 设备。

  如果引导设备的顺序不对，节点将找不到法定设备。如果节点在此情况下出现故障，群集将无法保持在服务中。如果出现服务中断，必须重新引导整个群集，或删除 NetApp NAS 法定设备，然后再重新添加。

- 群集仅可以在单个法定设备中使用 NAS 设备。

  如果您需要其他法定设备，可以配置其他共享存储。其他使用同一 NAS 设备的群集可将该设备上的单独 LUN 用作其法定设备。

有关在 Oracle Solaris Cluster 环境中安装 NetApp NAS 存储设备的信息，请参见以下 Oracle Solaris Cluster 文档：《Oracle Solaris Cluster 3.3 With Network-Attached Storage Device Manual》。

`phys-schost#` 提示符表示全局群集提示符。此操作过程适用于全局群集。

此过程提供了 Oracle Solaris Cluster 命令的长格式。此外，大多数命令还有简短格式。这些命令除了名称长短的不同以外，其功能都是相同的。

1. 确保所有的 Oracle Solaris Cluster 节点都处于联机状态，并且可以和 NetApp 群集文件管理器进行通信。
2. 在群集的任意一个节点上，成为超级用户或成为可提供 `solaris.cluster.modify` RBAC 授权的角色。
3. 启动 `clsetup` 实用程序。

       # clsetup

   屏幕上将显示 `clsetup` 主菜单。

4. 键入与“法定”选项对应的编号。

   这时将显示“Quorum”菜单。

5. 键入添加法定设备选项的相应编号。然后键入 `yes` 确认添加法定设备。

   `clsetup` 实用程序将询问您要添加哪种类型的法定设备。

6. 键入 netapp_nas 法定设备选项的相应编号。然后键入 `yes` 确认添加 netapp_nas 法定设备。

   `clsetup` 实用程序将提示您提供新的法定设备的名称。

7. 键入正在添加的法定设备的名称。

   法定设备的名称可以是任一名称。该名称仅用于继续执行后续的管理命令。

   `clsetup` 实用程序将提示您提供新法定设备的文件管理器的名称。

8. 键入新法定设备的文件管理器名称。

   该名称是一个网络可访问名称或该文件管理器的地址。

   `clsetup` 实用程序将提示您提供文件管理器的 LUN ID。

9. 键入文件管理器上法定设备 LUN 的 ID。

   `clsetup` 实用程序将询问您是否要在文件管理器中添加新的法定设备。

10. 键入 `yes` 继续执行添加新法定设备的操作。

    如果成功添加了新的法定设备，`clsetup` 实用程序会为此显示一条相应的消息。

11. 检验是否已添加法定设备。

        # clquorum list -v

示例 6-3 添加 NetApp NAS 法定设备

以下示例显示了当 `clsetup` 添加 NetApp NAS 法定设备时所生成的 `clquorum` 命令。此外，该示例还显示了检验步骤。

    Become superuser or assume a role that provides solaris.cluster.modify RBAC authorization on any cluster node.
    [Start the clsetup utility:]
    # clsetup
    [Select Quorum>Add a quorum device]
    [Answer the questions when prompted.]
    [You will need the following information.]
      [Information: Example:]
      [Quorum Device Netapp_nas quorum device]
      [Name: qd1]
      [Filer: nas1.sun.com]
      [LUN ID: 0]
    [Verify that the clquorum command was completed successfully:]
     clquorum add -t netapp_nas -p filer=nas1.sun.com,-p lun_id=0 qd1
         Command completed successfully.
    [Quit the clsetup Quorum Menu and Main Menu.]
    [Verify that the quorum device is added:]
    # clquorum list -v
    Quorum         Type
    -------         ----
    qd1             netapp_nas
    scphyshost-1    node
    scphyshost-2    node

### 如何添加法定服务器法定设备

开始之前

在可以将 Oracle Solaris Cluster 法定服务器添加为法定设备之前，必须将 Oracle Solaris Cluster 法定服务器软件安装在主机上，并且必须启动并运行该法定服务器。有关安装法定服务器的信息，请参见《Oracle Solaris Cluster 软件安装指南》中的"如何安装和配置法定服务器软件"。

`phys-schost#` 提示符表示全局群集提示符。此操作过程适用于全局群集。

此过程提供了 Oracle Solaris Cluster 命令的长格式。此外，大多数命令还有简短格式。这些命令除了名称长短的不同以外，其功能都是相同的。

1. 在群集的任意一个节点上，成为超级用户或成为可提供 `solaris.cluster.modify` RBAC 授权的角色。
2. 确保所有 Oracle Solaris Cluster 节点都处于联机状态，并可与 Oracle Solaris Cluster 法定服务器进行通信。
   1. 确保与群集节点直接相连的网络交换机满足以下条件之一：

      - 交换机支持快速生成树协议 (Rapid Spanning Tree Protocol, RSTP)。

      - 交换机上已启用快速端口 (fast port) 模式。

      必须具有上述某一项特性以确保群集节点与法定服务器之间的即时通信。如果通信因交换机而出现明显延迟，则群集会认为是缺少法定设备导致了通信不畅。

   2. 如果公共网络使用长度可变的子网，也称为无类别域间路由 (Classless Inter-Domain Routing, CIDR)，请在每个节点上修改以下文件。

      如果您使用的是 RFC 791 中所定义的有类别子网，则无需执行这些步骤。

      1. 在 `/etc/inet/netmasks` 文件中，为群集所使用的每个公共子网添加一个相应的条目。

         以下是一个包含了某个公共网络 IP 地址和网络掩码的条目示例：

             10.11.30.0    255.255.255.0

      2. 将 `netmask + broadcast +` 添加到每个 `/etc/hostname.adapter` 文件中主机名条目的后面。

             nodename netmask + broadcast +

   3. 在群集的每个节点上，将法定服务器主机名添加到 `/etc/inet/hosts` 文件或 `/etc/inet/ipnodes` 文件中。

      按如下所示，在文件中添加主机名到地址的映射。

          ipaddress qshost1

      ipaddress

        正在运行法定服务器的计算机的 IP 地址。

      qshost1

        正在运行法定服务器的计算机的主机名。

   4. 如果使用了命名服务，请将法定服务器主机的名称到地址映射添加到名称服务数据库。
3. 启动 `clsetup` 实用程序。

       # clsetup

   屏幕上将显示 `clsetup` 主菜单。

4. 键入与“法定”选项对应的编号。

   这时将显示“Quorum”菜单。

5. 键入添加法定设备选项的相应编号。然后键入 `yes` 确认添加法定设备。

   `clsetup` 实用程序将询问您要添加哪种类型的法定设备。

6. 键入与法定服务器法定设备选项对应的编号。然后键入 `yes`，确认要添加法定服务器法定设备。

   `clsetup` 实用程序将提示您提供新法定设备的名称。

7. 键入正在添加的法定设备的名称。

   法定设备的名称可以是任一名称。该名称仅用于继续执行后续的管理命令。

   `clsetup` 实用程序将提示您提供新法定设备的文件管理器的名称。

8. 键入法定服务器所在主机的名称。

   此名称指定了运行法定服务器的计算机的 IP 地址，或该计算机在网络中的主机名。

   根据主机的 IPv4 或 IPv6 配置情况，必须在 `/etc/hosts` 文件或 `/etc/inet/ipnodes` 文件（或二者）中指定该计算机的 IP 地址。

   注 - 指定的计算机必须能被所有群集节点访问，并且必须运行法定服务器。

   `clsetup` 实用程序将提示您提供法定服务器的端口号。

9. 键入法定服务器用来与群集节点通信的端口号。

   `clsetup` 实用程序将提示您确认添加新法定设备。

10. 键入 `yes` 继续执行添加新法定设备的操作。

    如果成功添加了新的法定设备，`clsetup` 实用程序会为此显示一条相应的消息。

11. 检验是否已添加法定设备。

        # clquorum list -v

示例 6-4 添加法定服务器法定设备

以下示例显示了当 `clsetup` 添加法定服务器法定设备时所生成的 `clquorum` 命令。此外，该示例还显示了检验步骤。

    Become superuser or assume a role that provides solaris.cluster.modify RBAC authorization on any
        cluster node.

    [Start the clsetup utility:]
    # clsetup
    [Select Quorum > Add a quorum device]
    [Answer the questions when prompted.]
    [You will need the following information.]
      [Information:                Example:]
      [Quorum Device               quorum_server quorum device]
      [Name:                           qd1]
      [Host Machine Name:          10.11.124.84]
      [Port Number:                9001]

    [Verify that the clquorum command was completed successfully:]
     clquorum add -t quorum_server -p qshost=10.11.124.84,-p port=9001 qd1

        Command completed successfully.
    [Quit the clsetup Quorum Menu and Main Menu.]
    [Verify that the quorum device is added:]
    # clquorum list -v

    Quorum         Type
    -------         ----
    qd1             quorum_server
    scphyshost-1    node
    scphyshost-2    node

    # clquorum status

    === Cluster Quorum ===
    -- Quorum Votes Summary --

            Needed     Present    Possible
            ------     -------    --------
            3          5           5

    -- Quorum Votes by Node --

      Node Name        Present    Possible   Status
      ---------        -------    --------  ------
      phys-schost-1    1          1          Online
      phys-schost-2    1          1          Online

    -- Quorum Votes by Device --

      Device Name       Present   Possible   Status
      -----------       -------   --------   ------
      qd1               1         1          Online
      d3s2              1         1          Online
      d4s2              1         1          Online

### 删除或替换法定设备

本节提供了以下过程以删除或替换法定设备：

- 如何删除法定设备

- 如何从集群中删除最后一个法定设备

- 如何替换法定设备

### 如何删除法定设备

还可以使用 Oracle Solaris Cluster Manager GUI 完成此过程。有关详细信息，请参见 Oracle Solaris Cluster Manager 联机帮助。

删除法定设备后，该法定设备将不再参与建立定额的投票。请注意，所有由两个节点组成的群集均要求至少配置一个法定设备。如果这是群集的最后一个法定设备，`clquorum`(1CL) 将无法从配置中删除该设备。如果要删除某个节点，请删除连接到该节点的所有法定设备。

注 - 如果要删除的设备是群集中的最后一个法定设备，请参见如何从集群中删除最后一个法定设备中的过程。

`phys-schost#` 提示符表示全局群集提示符。此操作过程适用于全局群集。

此过程提供了 Oracle Solaris Cluster 命令的长格式。此外，大多数命令还有简短格式。这些命令除了名称长短的不同以外，其功能都是相同的。

1. 在群集的任一节点上，成为超级用户或成为可提供 `solaris.cluster.modify` RBAC 授权的角色。
2. 确定要删除的法定设备。

       # clquorum list -v

3. 执行 `clsetup`(1CL) 实用程序。

       # clsetup

   显示“Main Menu”。

4. 键入与“法定”选项对应的编号。
5. 键入删除法定设备选项的相应编号。

   回答删除过程中显示的问题。

6. 退出 `clsetup`。
7. 检验是否已删除法定设备。

       # clquorum list -v

示例 6-5 删除法定设备

本示例显示了如何从配置有两个或更多法定设备的群集中删除一个法定设备。

    Become superuser or assume a role that provides solaris.cluster.modify RBAC authorization on any
        cluster node.

    [Determine the quorum device to be removed:]
    # clquorum list -v
    [Start the clsetup utility:]
    # clsetup
    [Select Quorum>Remove a quorum device]
    [Answer the questions when prompted.]
    Quit the clsetup Quorum Menu and Main Menu.]
    [Verify that the quorum device is removed:]
    # clquorum list -v

     Quorum         Type
    -------         ----
    scphyshost-1    node
    scphyshost-2    node
    scphyshost-3    node

故障排除

如果您在删除法定服务器法定设备时，群集与法定服务器主机之间的通信中断，则必须清除有关法定服务器主机的过时配置信息。有关执行此清除过程的说明，请参见清除过时的法定服务器群集信息。

### 如何从集群中删除最后一个法定设备

此过程通过使用 `clquorum force` 选项 `-F` 从一个双节点群集删除最后一个法定设备。 通常，应先删除故障设备，再添加替换法定设备。如果这不是双节点群集中的最后一个法定设备，请执行如何删除法定设备中的步骤。

添加法定设备涉及到节点重新配置，而这会涉及有故障的法定设备并会导致计算机出现紧急状态。使用 Force 选项可以删除有故障的法定设备，并且不会导致计算机出现紧急状态。使用`clquorum`(1CL) 命令可从配置中删除设备。 删除故障的法定设备后，可使用 `clquorum add` 命令添加新设备。请参见添加法定设备。

`phys-schost#` 提示符表示全局群集提示符。此操作过程适用于全局群集。

此过程提供了 Oracle Solaris Cluster 命令的长格式。此外，大多数命令还有简短格式。这些命令除了名称长短的不同以外，其功能都是相同的。

1. 在群集的任一节点上，成为超级用户或成为可提供 `solaris.cluster.modify` RBAC 授权的角色。
2. 使用 `clquorum` 命令删除法定设备。如果法定设备出现故障，请使用 `-F` Force 选项删除有故障的设备。

       # clquorum remove -F qd1

   注 - 您也可以将要删除的节点设为维护状态，然后使用 `clquorum remove quorum` 命令删除法定设备。当群集处于安装模式时，`clsetup`(1CL) 群集管理菜单选项不可用。有关更多信息，请参见如何使节点进入维护状态。

3. 检验是否已删除法定设备。

       # clquorum list -v

示例 6-6 删除最后一个法定设备

本示例阐述如何将群集设为维护模式并删除群集配置中最后一个法定设备。

    [Become superuser or assume a role that provides solaris.cluster.modify RBAC authorization on any
        cluster node.]
    [Place the cluster in install mode:]
    # cluster set -p installmode=enabled
    [Remove the quorum device:]
    # clquorum remove d3
    [Verify that the quorum device has been removed:]
    # clquorum list -v
     Quorum         Type
    -------         ----
    scphyshost-1    node
    scphyshost-2    node
    scphyshost-3    node

### 如何替换法定设备

使用该过程用另一个法定设备替换现有的法定设备。您可以用类型相似的设备替换法定设备，例如可以用另一个 NAS 设备替换现有的 NAS 设备，还可以用不同类型的设备替换法定设备，例如用一个共享的磁盘替换 NAS 设备。

`phys-schost#` 提示符表示全局群集提示符。此操作过程适用于全局群集。

此过程提供了 Oracle Solaris Cluster 命令的长格式。此外，大多数命令还有简短格式。这些命令除了名称长短的不同以外，其功能都是相同的。

1. 配置新法定设备。

   需要首先将一个新的法定设备添加到配置中，来替换旧的设备。有关将新的法定设备添加到群集中的信息，请参见添加法定设备。

2. 删除要替换的法定设备。

   有关从配置中删除旧的法定设备的信息，请参见如何删除法定设备。

3. 如果法定设备是故障磁盘，请替换该磁盘。

   请参阅《Oracle Solaris Cluster 3.3 Hardware Administration Manual》中有关磁盘盒的硬件操作过程。

### 维护法定设备

本节提供了以下过程以维护法定设备：

- 如何修改法定设备节点列表

- 如何将法定设备置于维护状态

- 如何使法定设备脱离维护状态

- 如何列出法定配置

- 如何修复法定设备

- 更改法定设备的默认超时时间

### 如何修改法定设备节点列表

您可以使用 `clsetup`(1CL) 实用程序向现有法定设备的节点列表中添加节点或从中删除节点。要修改法定设备的节点列表，必须删除该法定设备，修改节点与删除的法定设备的物理连接，然后将该法定设备重新添加到群集配置中。一旦添加了法定设备，`clquorum`(1CL) 会自动为与该磁盘连接的所有节点配置节点到磁盘的路径。

`phys-schost#` 提示符表示全局群集提示符。此操作过程适用于全局群集。

此过程提供了 Oracle Solaris Cluster 命令的长格式。此外，大多数命令还有简短格式。这些命令除了名称长短的不同以外，其功能都是相同的。

1. 在群集的任意一个节点上，成为超级用户或成为可提供 `solaris.cluster.modify` RBAC 授权的角色。
2. 确定要修改的法定设备的名称。

       # clquorum list -v

3. 启动 `clsetup` 实用程序。

       # clsetup

   显示“Main Menu”。

4. 键入法定选项的相应编号。

   这时将显示“Quorum”菜单。

5. 键入删除法定设备选项的相应编号。

   按照说明操作。系统将询问您要删除的磁盘的名称。

6. 添加或删除 节点与法定设备之间的连接。
7. 键入添加法定设备选项的相应编号。

   按照说明操作。系统将询问您要作为法定设备使用的磁盘的名称。

8. 检验是否已添加法定设备。

       # clquorum list -v

示例 6-7 修改法定设备节点列表

以下示例显示了如何使用 `clsetup` 实用程序在法定设备节点列表中添加节点或从中删除节点。在本示例中，法定设备的名称为 `d2`，各个过程的最终结果是向法定设备节点列表中添加了另一个节点。

    [Become superuser or assume a role that provides solaris.cluster.modify RBAC authorization on
    any node in the cluster.]

    [Determine the quorum device name:]
    # clquorum list -v
    Quorum            Type
    -------            -----
    d2                 shared_disk
    sc-phys-schost-1   node
    sc-phys-schost-2   node
    sc-phys-schost-3   node

    [Start the clsetup utility:]
    # clsetup

    [Type the number that corresponds with the quorum option.]
    .
    [Type the number that corresponds with the option to remove a quorum device.]
    .
    [Answer the questions when prompted.]
    [You will need the following information:]

       Information:            Example:
       Quorum Device Name:     d2

    [Verify that the clquorum command completed successfully:]
     clquorum remove d2
         Command completed successfully.

    [Verify that the quorum device was removed.]
    # clquorum list -v
    Quorum            Type
    -------            -----
    sc-phys-schost-1   node
    sc-phys-schost-2   node
    sc-phys-schost-3   node

    [Type the number that corresponds with the Quorum option.]
    .
    [Type the number that corresponds with the option to add a quorum device.]
    .
    [Answer the questions when prompted.]
    [You will need the following information:]

       Information            Example:
       quorum device name     d2

    [Verify that the clquorum command was completed successfully:]
    clquorum add d2
         Command completed successfully.

    Quit the clsetup utility.

    [Verify that the correct nodes have paths to the quorum device.
    In this example, note that phys-schost-3 has been added to the
    enabled hosts list.]
    # clquorum show d2 | grep Hosts
    === Quorum Devices ===

    Quorum Device Name:        d2
       Hosts (enabled):        phys-schost-1, phys-schost-2, phys-schost-3

    [Verify that the modified quorum device is online.]

    # clquorum status d2
    === Cluster Quorum ===

    --- Quorum Votes by Device ---

    Device Name       Present      Possible      Status
    -----------       -------      --------      ------
    d2                1            1             Online

### 如何将法定设备置于维护状态

使用 `clquorum`(1CL) 命令可将法定设备置于维护状态。`clsetup`(1CL) 实用程序目前没有此功能。您还可以使用 Oracle Solaris Cluster Manager GUI 来完成此过程。有关详细信息，请参见 Oracle Solaris Cluster Manager 联机帮助。

如果在较长的一段时间内不使用法定设备，请使之处于维护状态。这样，法定设备的法定选票计数设置为零，当设备正在维修时，将不会参与投票。在维护状态期间，法定设备的配置信息将被保留下来。

注 - 所有双节点群集均要求至少配置一个法定设备。如果这是双节点群集的最后一个法定设备，则 `clquorum` 无法将该设备置于维护状态。

要将群集节点置于维护状态，请参见如何使节点进入维护状态。

`phys-schost#` 提示符表示全局群集提示符。此操作过程适用于全局群集。

此过程提供了 Oracle Solaris Cluster 命令的长格式。此外，大多数命令还有简短格式。这些命令除了名称长短的不同以外，其功能都是相同的。

1. 在群集的任意一个节点上，成为超级用户或成为可提供 `solaris.cluster.modify` RBAC 授权的角色。
2. 将法定设备置于维护状态。

       # clquorum disable device

   device

     指定要更改的磁盘设备的 DID 名称，例如 `d4`。

3. 检验该法定设备当前是否处于维护状态。

   处于维护状态的设备的输出应该为法定设备选票读取零。

       # clquorum status device

示例 6-8 将法定设备置于维护状态

以下示例显示了如何将法定设备置于维护状态，以及如何检验操作结果。

    # clquorum disable d20
    # clquorum status d20

    === Cluster Quorum ===

    --- Quorum Votes by Device ---

    Device Name       Present      Possible      Status
    -----------       -------      --------      ------
    d20                1            1             Offline

另请参见

要重新启用法定设备，请参见如何使法定设备脱离维护状态。

要将某个节点置于维护状态，请参见如何使节点进入维护状态。

### 如何使法定设备脱离维护状态

每当法定设备处于维护状态，并且您想要使该法定设备脱离维护状态并将法定投票计数重置为默认值时，请运行此过程。

| 注意 - 如果您既未指定 `globaldev` 选项，也未指定 `node` 选项，则会重置整个群集的法定计数。

配置法定设备时，Oracle Solaris Cluster 软件将 N-1 作为投票计数分配给法定设备，其中 N 是连接到法定设备的投票计数。例如，连接到两个投票计数非零的节点的法定设备的法定投票计数为一（二减一）。

- 要使群集节点及其相关法定设备脱离维护状态，请参见如何使节点脱离维护状态。

- 有关法定投票计数的更多信息，请参见《Oracle Solaris Cluster Concepts Guide》中的"About Quorum Vote Counts"。

`phys-schost#` 提示符表示全局群集提示符。此操作过程适用于全局群集。

此过程提供了 Oracle Solaris Cluster 命令的长格式。此外，大多数命令还有简短格式。这些命令除了名称长短的不同以外，其功能都是相同的。

1. 在群集的任意一个节点上，成为超级用户或成为可提供 `solaris.cluster.modify` RBAC 授权的角色。
2. 重置定额计数。

       # clquorum enable device

   device

     指定要重置的法定设备的 DID 名称，例如 `d4`。

3. 如果由于某个节点已处于维护状态而需要重置其法定计数，请重新引导该节点。
4. 检验法定选票计数。

       # clquorum show +

示例 6-9 重新设置法定选票计数（法定设备）

以下示例将一个法定设备的法定计数重置为默认值并检验操作结果。

    # clquorum enable d20
    # clquorum show +

    === Cluster Nodes ===

    Node Name:                                      phys-schost-2
      Node ID:                                        1
      Quorum Vote Count:                              1
      Reservation Key:                                0x43BAC41300000001

    Node Name:                                      phys-schost-3
      Node ID:                                        2
      Quorum Vote Count:                              1
      Reservation Key:                                0x43BAC41300000002

    === Quorum Devices ===

    Quorum Device Name:                             d3
      Enabled:                                        yes
      Votes:                                          1
      Global Name:                                    /dev/did/rdsk/d20s2
      Type:                                           shared_disk
      Access Mode:                                    scsi2
      Hosts (enabled):                                phys-schost-2, phys-schost-3

### 如何列出法定配置

您还可以使用 Oracle Solaris Cluster Manager GUI 完成此过程。有关详细信息，请参见 Oracle Solaris Cluster Manager 联机帮助。

要列出定额配置，您不必成为超级用户。您可以使用任意可提供 `solaris.cluster.read` RBAC 授权的角色。

注 - 在增加或减少连接到法定设备的节点数时，系统不会自动重新计算法定选票计数。如果删除了所有法定设备，然后将它们重新添加到配置中，则您可以重新建立正确的法定选票。对于双节点群集，请临时添加一个新的法定设备，然后删除原法定设备并将其添加回配置。然后，删除临时法定设备。

`phys-schost#` 提示符表示全局群集提示符。此操作过程适用于全局群集。

此过程提供了 Oracle Solaris Cluster 命令的长格式。此外，大多数命令还有简短格式。这些命令除了名称长短的不同以外，其功能都是相同的。

- 可使用 `clquorum`(1CL) 列出法定配置。

      % clquorum show +

示例 6-10 列出法定配置

    % clquorum show +

    === Cluster Nodes ===

    Node Name:                                      phys-schost-2
      Node ID:                                        1
      Quorum Vote Count:                              1
      Reservation Key:                                0x43BAC41300000001

    Node Name:                                      phys-schost-3
      Node ID:                                        2
      Quorum Vote Count:                              1
      Reservation Key:                                0x43BAC41300000002

    === Quorum Devices ===

    Quorum Device Name:                             d3
      Enabled:                                        yes
      Votes:                                          1
      Global Name:                                    /dev/did/rdsk/d20s2
      Type:                                           shared_disk
      Access Mode:                                    scsi2
      Hosts (enabled):                                phys-schost-2, phys-schost-3

### 如何修复法定设备

使用此过程可替换发生故障的法定设备。

`phys-schost#` 提示符表示全局群集提示符。此操作过程适用于全局群集。

此过程提供了 Oracle Solaris Cluster 命令的长格式。此外，大多数命令还有简短格式。这些命令除了名称长短的不同以外，其功能都是相同的。

1. 删除要替换的作为法定设备的磁盘设备。

   注 - 如果要删除的设备是最后一个法定设备，则可能需要先添加另一个磁盘作为新的法定设备。此步骤可确保一旦在替换过程中出现故障，群集中仍存在有效的法定设备。有关添加新的法定设备的信息，请参见添加法定设备。

   要删除作为法定设备的磁盘设备，请参见如何删除法定设备。

2. 替换磁盘设备。

   要替换磁盘设备，请参见《Oracle Solaris Cluster 3.3 Hardware Administration Manual》中有关磁盘盒的硬件操作过程。

3. 将替换的磁盘添加为新的法定设备。

   要添加磁盘作为新的法定设备，请参见添加法定设备。

   注 - 如果已在步骤 1 中添加了其他法定设备，现在就可以放心地删除它了。要删除法定设备，请参见如何删除法定设备。

### 更改法定设备的默认超时时间

在群集重新配置期间，默认有 25 秒的超时时间来完成法定操作。您可以按照《Oracle Solaris Cluster 软件安装指南》中的"如何配置法定设备"中的说明，将法定超时时间增大到较高的值。除了增大超时值，还可以切换到其他法定设备。

《Oracle Solaris Cluster 软件安装指南》中的"如何配置法定设备"中提供了其他故障排除信息。

注 - 对于 Oracle Real Application Clusters (Oracle RAC)，请勿更改默认的 25 秒法定超时时间。在某些记忆分裂方案中，较长的超时周期可能会导致 Oracle RAC VIP 故障转移因 VIP 资源超时而失败。如果所用法定设备不适合使用默认的 25 秒超时，请使用其他法定设备。

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