Sun Cluster 系统管理指南(适用于 Solaris OS)

删除群集节点

本节介绍如何删除群集节点。下表列出了从现有群集中删除节点时所要执行的任务。要正确地完成此过程,必须按如下所示的顺序执行这些任务。


注意 – 注意 –

如果群集正在运行 OPS 配置,则不要使用该过程。此时,如果删除 OPS 配置中的节点,可能会使节点在重新引导时进入应急状态。


表 8–3 任务表:删除群集节点

任务 

指导 

将所有资源组和设备组移出要删除的节点。 

   - 使用 clnode(1CL) evacuate 命令。

# clnode evacuate node

从所有资源组中删除节点。 

   - 使用 clresourcegroup(1CL) remove-node 命令。

《Sun Cluster Data Services Planning and Administration Guide for Solaris OS》

从所有设备组中删除节点。 

   - 使用 cldevicegroup(1CL) remove node、metaset(1M)clsetup(1CL) 命令。

如何将节点从设备组中删除 (Solaris Volume Manager)

SPARC: 如何从设备组中删除节点 (VERITAS 卷管理器)

如何从原始磁盘设备组中删除节点

注意:如果将所需辅助节点的数目配置为了 2 或更大的数目,必须将其减少为 1。

删除所有已完全连接的法定设备。 

   - 使用 clsetup 命令。

注意:如果要从双节点群集中删除节点,请不要删除法定设备。

如何删除法定设备

注意,尽管在下一步中删除存储设备之前,您必须先删除定额设备,但是可以在之后立即重新添加该定额设备。 

从节点中删除所有已完全连接的存储设备。  

  - 使用 clresourcegroupclresourcegroup(1CL) clresourcegroup(1CL) devfsadm(1M), cldevice(1CL) refresh 命令。

注意:如果要从双节点群集中删除节点,请不要删除法定设备。如何在节点连接多于两个的群集中删除阵列与单个节点之间的连接

仅将法定设备添加回要保留在群集里的节点上。 

  - 使用 clsetup 命令。

添加法定设备

将正在删除的节点置于维护状态。 

   - 使用 clnode(1CL) evacuate、shutdownclquorum(1CL) disable 命令。

如何使节点进入维护状态

删除来自正在删除的节点的所有逻辑传输连接(传输电缆和传输适配器)。 

   - 使用 clsetup 命令。

如何删除群集传输电缆、传输适配器和传输交换机

删除与要删除节点连接的所有法定设备。 

   - 使用 cluster setclquorum remove 命令。

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

从群集软件配置中删除节点。 

   - 使用 clnode remove 命令。

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

(可选)从群集节点卸载 Sun Cluster 软件 

如何从群集节点中卸载 Sun Cluster 软件

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

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

此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 A,Sun Cluster 面向对象的命令

  1. 确保已正确完成删除群集节点中列出的所有先决任务。


    注 –

    继续执行此过程之前,请确保已将节点从所有资源组、设备组和法定设备配置中删除,并将该节点置于维护状态。


  2. 在要删除的节点上,成为超级用户或使用一个可提供 solaris.cluster.modify RBAC 授权的角色。

  3. 将您要删除的节点引导到非群集模式下。

    • 在基于 SPARC 的系统中,执行以下命令:


      ok boot -x
      
    • 在基于 x86 的系统中,执行以下命令:


      phys-schost# shutdown -g -y -i0
      
      Press any key to continue
    1. 在 GRUB 菜单中,使用方向键选择适当的 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 进行引导的更多信息,请参见《System Administration Guide: Basic Administration》中的第 11  章 “GRUB Based Booting (Tasks)”

    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 选项添加到内核引导参数命令中。


  4. 从群集中删除该节点。


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


    # clnode status nodename
    
  6. 如果打算从已删除的节点中卸载 Sun Cluster 软件,请转至如何从群集节点中卸载 Sun Cluster 软件。如果不打算从已删除的节点中卸载 Sun Cluster 软件,可以通过移除硬件连接(如《Sun Cluster 3.1 - 3.2 Hardware Administration Manual for Solaris OS》中所述)在物理 上从群集中移除节点。


示例 8–12 从群集软件配置中删除节点

此示例展示了从群集中删除节点 phys-schost-2 的过程。应当在您要从群集中删除的节点 (phys-schost-1) 上运行 clnode remove 命令。


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

另请参见

要从已删除的节点中卸载 Sun Cluster 软件,请参见如何从群集节点中卸载 Sun Cluster 软件

有关硬件操作过程,请参见《Sun Cluster 3.1 - 3.2 Hardware Administration Manual for Solaris OS》

有关删除群集节点的完整任务列表,请参见表 8–3

要向现有的群集添加节点,请参见如何将节点添加到授权的节点列表中

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

使用此过程可在连接了三个或四个节点的群集中断开存储阵列与单个群集节点的连接。

此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 A,Sun Cluster 面向对象的命令

  1. 备份与要删除的存储阵列相关联的所有数据库表、数据服务和卷。

  2. 确定要断开连接的节点上正在运行的资源组和设备组。


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


    Caution (SPARC only) – Caution (SPARC only) –

    如果群集正在运行 Oracle Parallel Server/Oracle RAC 软件,请先关闭在节点上运行的 Oracle Parallel Server/Oracle RAC 数据库实例,然后再将组从节点移出。有关说明,请参阅《 Oracle Database Administration Guide》。



    # clnode evacuate node
    

    clnode evacuate 命令可将指定节点上的所有设备组都切换到下一个首选节点。此外,该命令还可将所有资源组从指定节点的全局或非全局区域切换到位于其他节点的下一个首选全局或非全局区域。

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

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

    有关使设备组处于维护状态的过程,请参见如何使节点进入维护状态

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

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

    • 如果使用 Solstice DiskSuite,应使用 metaset 命令删除设备组。

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


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

    节点名称。

    zone

    node 上可控制资源组的非全局区域的名称。只有在创建资源组时指定了非全局区域,您才需要指定 zone

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


    注 –

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


  7. 如果要删除的存储阵列是节点上连接的最后一个存储阵列,应断开节点与该存储阵列连接的集线器或交换机之间的光缆(否则,应跳过该步骤)。

  8. 如果要从正在断开连接的节点上拆除主机适配器,请关闭该节点并切断其电源。如果不需要从正在断开连接的节点上拆除主机适配器,请跳到步骤 11

  9. 从节点上拆下主机适配器。

    有关删除主机适配器的过程,请参阅节点附带的文档。

  10. 打开节点的电源,但不引导该节点。

  11. SPARC:如果安装了 Oracle Parallel Server/Oracle RAC 软件,请将 Oracle Parallel Server/Oracle RAC 软件包从正在断开连接的节点中删除。


    # pkgrm SUNWscucm 
    

    Caution (SPARC only) – Caution (SPARC only) –

    如果不从正在断开连接的节点上删除 Oracle Parallel Server/Oracle RAC 软件,当该节点重新加入群集时,它将发生紊乱并可能失去数据可用性。


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

    • 在基于 SPARC 的系统中,执行以下命令:


      ok boot
      
    • 在基于 x86 的系统中执行以下操作:

      显示 GRUB 菜单后,选择相应的 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 条目来更新设备名称空间。


    # devfsadm -C 
    # cldevice refresh
    
  14. 使设备组重新联机。

    有关使 VERITAS 共享磁盘组联机的过程,请参阅 VERITAS Volume Manager 的文档。

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

Procedure如何从群集节点中卸载 Sun Cluster 软件

从完整建立的群集配置断开节点连接之前,请遵照此过程从该群集节点中卸载 Sun Cluster 软件。您可以使用此过程从群集中的其余最后一个节点中卸载软件。


注 –

如果要从尚未加入群集的节点或仍处于安装模式的节点中卸载 Sun Cluster 软件,请不要执行此过程。此时,应转到《Sun Cluster 软件安装指南(适用于 Solaris OS)》中的“如何卸载 Sun Cluster 软件以纠正安装问题”。


此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 A,Sun Cluster 面向对象的命令

  1. 确保已正确完成“删除群集节点”任务表中列出的所有先决任务。

    请参见表 8–3


    注 –

    继续执行此过程之前,请确保您已使用 clnode remove 命令从群集配置中删除了该节点。


  2. 在除了要卸载的节点以外的某个活动群集成员上成为超级用户。

  3. 从活动群集成员上,将打算卸载的节点添加到群集的节点验证列表中。


    # claccess allow -h hostname
    
    -h

    指定要添加到节点验证列表中的节点的名称。

    或者,您也可以使用 clsetup(1CL) 实用程序。有关过程,请参见如何将节点添加到授权的节点列表中

  4. 成为要卸载的节点的超级用户。

  5. 将节点重新引导为非群集模式。

    • SPARC: 执行 以下命令:


      # shutdown -g0 -y -i0ok boot -x
      
    • x86: 执行以下命令:


      # shutdown -g0 -y -i0
      ...
                            <<< Current Boot Parameters >>>
      Boot path: /pci@0,0/pci8086,2545@3/pci8086,1460@1d/pci8086,341a@7,1/
      sd@0,0:a
      Boot args:
      
      Type    b [file-name] [boot-flags] <ENTER>  to boot with options
      or      i <ENTER>                           to enter boot interpreter
      or      <ENTER>                             to boot with defaults
      
                        <<< timeout in 5 seconds >>>
      Select (b)oot or (i)nterpreter: b -x
      
  6. /etc/vfstab 文件中,删除除了 /global/.devices 全局安装以外的所有以全局方式安装的文件系统条目。

  7. 如果打算在此节点上重新安装 Sun Cluster 软件,请从 Sun Java Enterprise System (Java ES) 产品注册表中删除 Sun Cluster 条目。

    如果 Java ES 产品注册表包含一条记录显示 Sun Cluster 软件已安装,则 Java ES 安装程序会将 Sun Cluster 组件灰显,从而不允许重新安装。

    1. 启动 Java ES 卸载程序。

      运行以下命令,其中 ver 是您从中安装 Sun Cluster 软件的 Java ES 分发的版本。


      # /var/sadm/prod/SUNWentsysver/uninstall
      
    2. 按照提示选择要卸载的 Sun Cluster

      有关使用 uninstall 命令的更多信息,请参见《Sun Java Enterprise System 5 Installation Guide for UNIX》中的第 8  章 “Uninstalling”

  8. 如果不打算在此群集上重新安装 Sun Cluster 软件,请断开与其他群集设备之间的传输电缆和传输交换机(如果有)。

    1. 如果卸载的节点与使用并行 SCSI 接口的存储设备相连接,请在断开传输电缆的连接后将 SCSI 端接器安装到存储设备的开路 SCSI 连接器。

      如果卸载的节点与使用光纤通道接口的存储设备连接,则不需要端接器。

    2. 有关断开连接的过程,请按照随主机适配器和服务器提供的文档执行操作。

Procedure如何纠正错误消息

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

  1. 尝试使该节点重新加入群集。


    # boot
    
  2. 该节点是否成功加入群集?

    • 如果不是,则继续执行步骤 3

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

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

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

    2. 从所有设备组中删除节点后,请返回如何从群集节点中卸载 Sun Cluster 软件,并重复执行其中的过程。

  3. 如果该节点未能重新加入群集,请将该节点的 /etc/cluster/ccr 文件重命名为您所选的任何其他名称,例如 ccr.old


    # mv /etc/cluster/ccr /etc/cluster/ccr.old
    
  4. 请返回如何从群集节点中卸载 Sun Cluster 软件并重复相应的过程。

有关节点卸载的疑难解答

本节介绍了运行 scinstall -r 命令时可能收到的错误消息以及相应的纠正措施。

未删除的群集文件系统条目

以下错误消息表示被删除的节点在 vfstab 文件中仍引用了群集文件系统。


Verifying that no unexpected global mounts remain in /etc/vfstab ... failed
scinstall:  global-mount1 is still configured as a global mount.
scinstall:  global-mount1 is still configured as a global mount.
scinstall:  /global/dg1 is still configured as a global mount.
 
scinstall:  It is not safe to uninstall with these outstanding errors.
scinstall:  Refer to the documentation for complete uninstall instructions.
scinstall:  Uninstall failed.

要纠正此错误,请返回到如何从群集节点中卸载 Sun Cluster 软件,并重复执行其中的过程。在重新运行 scinstall -r 命令前,请确保已成功完成此过程中的步骤 6

设备组中列出的未删除项

以下错误消息表明已删除的节点仍列在某个设备组中。


Verifying that no device services still reference this node ... failed
scinstall:  This node is still configured to host device service "service".
scinstall:  This node is still configured to host device service "service2".
scinstall:  This node is still configured to host device service "service3".
scinstall:  This node is still configured to host device service "dg1".
 
scinstall:  It is not safe to uninstall with these outstanding errors.          
scinstall:  Refer to the documentation for complete uninstall instructions.
scinstall:  Uninstall failed.