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

搜索范围:

- 本文档
- 整个文档库

## 从群集中删除节点

本节提供有关如何在全局群集或区域群集中删除节点的说明。您还可以从全局群集中删除特定的区域群集。下表列出了从现有群集中删除节点时所要执行的任务。请按照显示的顺序执行这些任务。

| 注意 - 对于 RAC 配置，如果仅使用此过程删除某个节点，则该删除操作可能会导致该节点在重新引导期间出现紧急情况。有关如何从 RAC 配置中删除节点的说明，请参见《用于 Oracle Real Application Clusters 的 Oracle Solaris Cluster 数据服务指南》中的"如何从选定的节点中删除 Support for Oracle RAC"。完成该过程后，请执行下面相应的步骤。

表 8-2 任务图：删除节点

任务 | 指导
--- | ---
将所有资源组和设备组移出要删除的节点 | `clnode evacuate node`
通过检查允许的主机检验该节点是否可以删除 如果该节点无法删除，请给予该节点访问群集配置的权限 | `claccess show` node `claccess allow` `-h` node-to-remove
从所有设备组中删除该节点 | 如何将节点从设备组中删除 (Solaris Volume Manager)
删除与要删除的节点连接的所有法定设备 | 如果您要从双节点群集中删除节点，则此步骤是可选的。 如何删除法定设备 注意，尽管在下一步中删除存储设备之前，您必须先删除定额设备，但是可以在之后立即重新添加该定额设备。 如何从集群中删除最后一个法定设备
将要删除的节点置于非群集模式 | 如何使节点进入维护状态
从区域群集中删除节点 | 如何从区域群集中删除节点
从群集软件配置中删除节点 | 如何从群集软件配置中删除节点
（可选）从群集节点卸载 Oracle Solaris Cluster 软件 | 如何从群集节点中卸载 Oracle Solaris Cluster 软件
删除整个区域群集 | 如何删除区域群集

## 如何从区域群集中删除节点

通过停止节点、卸载节点并从配置中删除节点，可从区域群集中删除节点。如果以后您决定将该节点添加回区域群集中，请按照表 8-1 中的说明操作。下面的大部分步骤都是从该全局群集节点中执行的。

1. 成为全局群集中某个节点上的超级用户。
2. 通过指定要删除的区域群集节点及其区域群集来关闭该节点。

       phys-schost# clzonecluster halt -n node zoneclustername

   还可以在区域群集内使用 `clnode evacuate` 和 `shutdown` 命令。

3. 卸载区域群集节点。

       phys-schost# clzonecluster uninstall -n node zoneclustername

4. 从配置中删除该区域群集节点。

   使用以下命令：

       phys-schost# clzonecluster configure zoneclustername

       clzc:sczone> remove node physical-host=zoneclusternodename

5. 检验该节点是否已从区域群集中删除。

       phys-schost# clzonecluster status

## 如何从群集软件配置中删除节点

执行此过程可从全局群集中删除节点。

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

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

1. 继续执行此过程之前，请确保已将节点从所有资源组、设备组和法定设备配置中删除，并将该节点置于维护状态。
2. 在要删除的节点上，成为超级用户或成为可提供 `solaris.cluster.modify` RBAC 授权的角色。从全局群集中的某个节点执行此过程中的所有步骤。
3. 将您要删除的全局群集节点引导到非群集模式下。对于区域群集节点，在执行此步骤之前，请按照如何从区域群集中删除节点中的说明操作。

   - 在基于 SPARC 的系统上，运行以下命令。

         ok boot -x

   - 在基于 x86 的系统上，运行以下命令。

         shutdown -g -y -i0

         Press any key to continue

   1. 在 GRUB 菜单中，使用方向键选择适当的 Oracle Solaris 条目，然后键入 `e` 编辑其命令。

      GRUB 菜单显示如下内容：

          GNU GRUB version 0.95 (631K lower / 2095488K upper memory)
          +-------------------------------------------------------------------------+
          | Solaris 10 /sol_10_x86                                                  |
          | Solaris failsafe                                                        |
          |                                                                         |
          +-------------------------------------------------------------------------+
          Use the ^ and v keys to select which entry is highlighted.
          Press enter to boot the selected OS, 'e' to edit the
          commands before booting, or 'c' for a command-line.

      有关基于 GRUB 的引导的更多信息，请参见《系统管理指南：基本管理》中的"使用 GRUB 引导基于 x86 的系统（任务图）"。

   2. 在引导参数屏幕中，使用方向键选择内核条目，然后键入 `e` 编辑该条目。

      GRUB 引导参数屏幕的显示与以下内容类似：

          GNU GRUB version 0.95 (615K lower / 2095552K upper memory)
          +----------------------------------------------------------------------+
          | root (hd0,0,a)                                                       |
          | kernel /platform/i86pc/multiboot                                     |
          | module /platform/i86pc/boot_archive                                  |
          +----------------------------------------------------------------------+
          Use the ^ and v keys to select which entry is highlighted.
          Press 'b' to boot, 'e' to edit the selected command in the
          boot sequence, 'c' for a command-line, 'o' to open a new line
          after ('O' for before) the selected line, 'd' to remove the
          selected line, or escape to go back to the main menu.

   3. 在命令中添加 `-x` 以指定将系统引导至非群集模式。

          [ Minimal BASH-like line editing is supported. For the first word, TAB
          lists possible command completions. Anywhere else TAB lists the possible
          completions of a device/filename. ESC at any time exits. ]

          grub edit> kernel /platform/i86pc/multiboot -x

   4. 按 Enter 键接受所做更改，并返回到引导参数屏幕。

      屏幕将显示编辑后的命令。

          GNU GRUB version 0.95 (615K lower / 2095552K upper memory)
          +----------------------------------------------------------------------+
          | root (hd0,0,a)                                                       |
          | kernel /platform/i86pc/multiboot -x                                  |
          | module /platform/i86pc/boot_archive                                  |
          +----------------------------------------------------------------------+
          Use the ^ and v keys to select which entry is highlighted.
          Press 'b' to boot, 'e' to edit the selected command in the
          boot sequence, 'c' for a command-line, 'o' to open a new line
          after ('O' for before) the selected line, 'd' to remove the
          selected line, or escape to go back to the main menu.-

   5. 键入 `b` 将节点引导至非群集模式。

      对内核引导参数命令所做的这一更改在系统引导后将失效。下次重新引导节点时，系统将引导至群集模式。如果希望引导至非群集模式，请重新执行上述步骤，并将 `--x` 选项添加到内核引导参数命令中。

      注 - 如果要删除的节点不可用或者不再能够被引导，请在任何活动的群集节点上运行以下命令：`clnode clear -F <node-to-be-removed>`。通过运行 `clnode status <nodename>` 检验该节点是否已删除。

4. 在要删除的节点上，从群集中删除该节点。

       phys-schost# clnode remove -F

   如果 `clnode remove` 命令失败，并且存在过时的节点引用，请在活动节点上运行 `clnode clear` `-F` nodename。

   注 - 如果您要删除群集中的最后一个节点，则该节点必须处于非群集模式下并且该群集中未剩下任何活动节点。

5. 通过另一个群集节点检验是否已删除该节点。

       phys-schost# clnode status nodename

6. 完成节点删除操作。
   - 如果打算从已删除的节点中卸载 Oracle Solaris Cluster 软件，请转至如何从群集节点中卸载 Oracle Solaris Cluster 软件。
   - 如果不打算从已删除的节点中卸载 Oracle Solaris Cluster 软件，可以通过移除硬件连接（如《Oracle Solaris Cluster 3.3 Hardware Administration Manual》中所述）以物理方式从群集中移除该节点。

示例 8-2 从群集软件配置中删除节点

此示例说明了如何从群集中删除节点 `phys-schost-2`。应当在您要从群集中删除的节点 (`phys-schost-2`) 上以非群集模式运行 `clnode remove` 命令。

    [Remove the node from the cluster:]
    phys-schost-2# clnode remove
    phys-schost-1# clnode clear -F phys-schost-2
    [Verify node removal:]
    phys-schost-1# clnode status
    -- Cluster Nodes --
                        Node name           Status
                        ---------           ------
      Cluster node:     phys-schost-1       Online

另请参见

要从已删除的节点中卸载 Oracle Solaris Cluster 软件，请参见如何从群集节点中卸载 Oracle Solaris Cluster 软件。

有关硬件过程，请参见《Oracle Solaris Cluster 3.3 Hardware Administration Manual》。

有关删除群集节点的完整任务列表，请参见表 8-2。

要向现有的群集添加节点，请参见如何向授权节点列表添加节点。

## 如何从全局群集中删除非投票节点（区域）

1. 在创建非投票节点的全局群集节点上成为超级用户。
2. 从系统中删除非投票节点。

   请按照《系统管理指南：Oracle Solaris Containers－资源管理和 Oracle Solaris Zones》中的"从系统中删除非全局区域"中的过程操作。

## 如何在节点连接多于两个的群集中删除阵列与单个节点之间的连接

使用此过程可在具有三节点或四节点连通性的群集中从单个群集节点分离存储阵列。

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

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

1. 备份与要删除的存储阵列相关联的所有数据库表、数据服务和卷。
2. 确定要断开连接的节点上正在运行的资源组和设备组。

       phys-schost# clresourcegroup status
       phys-schost# cldevicegroup status

3. 如果需要，将所有资源组和设备组移出要断开连接的节点。

   | 注意 (（仅适用于 SPARC）) - 如果群集正在运行 Oracle RAC 软件，请先关闭在节点上运行的 Oracle RAC 数据库实例，然后再将组从节点移出。有关说明，请参见《Oracle Database Administration Guide》。

       phys-schost# clnode evacuate node

   `clnode evacuate` 命令可将指定节点上的所有设备组切换到下一个首选节点。该命令还将指定节点上的投票或非投票节点中的所有资源组切换到下一个首选的投票或非投票节点。

4. 使设备组处于维护状态。

   有关默许 Veritas 共享磁盘组具有 I/O 活动的过程，请参见 VxVM 文档。

   有关将设备组置于维护状态的过程，请参见如何使节点进入维护状态。

5. 从设备组中删除节点。

   如果使用 VxVM 或原始磁盘，请使用 `cldevicegroup`(1CL) 命令删除设备组。

6. 对于每一个包含 `HAStoragePlus` 资源的资源组，请从该资源组的节点列表中删除该节点。

       phys-schost# clresourcegroup remove-node -z zone -n node + | resourcegroup

   node

     节点名称。

   zone

     可控制资源组的非投票节点的名称。只有在创建资源组时指定了非投票节点的情况下，才能指定 zone。

   有关更改资源组的节点列表的更多信息，请参见《Oracle Solaris Cluster Data Services Planning and Administration Guide》。

   注 - 执行 `clresourcegroup` 命令时，资源类型、资源组和资源属性的名称均区分大小写。

7. 如果要删除的存储阵列是节点上连接的最后一个存储阵列，应断开节点与该存储阵列连接的集线器或交换机之间的光缆（否则，应跳过此步骤）。
8. 如果要从正在断开连接的节点上移除主机适配器，请关闭该节点的电源。如果要从将断开连接的节点上拆除主机适配器，请跳到步骤 11。
9. 从节点上拆下主机适配器。

   有关移除主机适配器的操作过程，请参见节点的相关文档。

10. 打开节点的电源，但不引导该节点。
11. 如果安装了 Oracle RAC 软件，请将 Oracle RAC 软件包从要断开连接的节点中删除。

        phys-schost# pkgrm SUNWscucm

    | 注意 (（仅适用于 SPARC）) - 如果不从已断开连接的节点上删除 Oracle RAC 软件，当该节点重新加入群集时，将出现紧急情况并可能导致失去数据可用性。

12. 以群集模式引导节点。

    - 在基于 SPARC 的系统上，运行以下命令。

          ok boot

    - 在基于 x86 的系统上，运行以下命令。

      显示 GRUB 菜单后，选择相应的 Oracle Solaris 条目，然后按 Enter 键。GRUB 菜单显示如下内容：

          GNU GRUB version 0.95 (631K lower / 2095488K upper memory)
          +-------------------------------------------------------------------------+
          | Solaris 10 /sol_10_x86                                                  |
          | Solaris failsafe                                                        |
          |                                                                         |
          +-------------------------------------------------------------------------+
          Use the ^ and v keys to select which entry is highlighted.
          Press enter to boot the selected OS, 'e' to edit the
          commands before booting, or 'c' for a command-line.

13. 在节点上，通过更新 `/devices` 和 `/dev` 条目来更新设备名称空间。

        phys-schost# devfsadm -C
         cldevice refresh

14. 使设备组重新联机。

    有关将 Veritas 共享磁盘组置于联机状态的过程，请参见 Veritas Volume Manager 的文档。

    有关将设备组置于联机状态的信息，请参见如何使节点脱离维护状态。

## 如何纠正错误消息

要纠正尝试执行任何群集节点的删除过程时所产生的错误消息，请执行以下过程。

1. 尝试将该节点重新加入全局群集。此操作过程仅适用于全局群集。

       phys-schost# boot

2. 该节点是否成功加入群集？

   - 如果不是，则继续执行步骤 b。

   - 如果是，请执行以下步骤从设备组中删除该节点。

   1. 如果该节点重新加入群集成功，请从其余的设备组中删除该节点。

      请按照如何将节点从所有设备组中删除中的过程操作。

   2. 从所有设备组中删除该节点后，请返回到如何从群集节点中卸载 Oracle Solaris Cluster 软件，并重复执行其中的过程。
3. 如果该节点未能重新加入群集，请将该节点的 `/etc/cluster/ccr` 文件重命名为您所选的任何其他名称，例如 `ccr.old`。

       # mv /etc/cluster/ccr /etc/cluster/ccr.old

4. 返回到如何从群集节点中卸载 Oracle Solaris Cluster 软件，并重复执行其中的过程。

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