Sun Cluster 软件安装指南(适用于 Solaris OS)

第 8 章 从群集中卸载软件

本章介绍了从 Sun Cluster 配置中卸载或删除某种软件的过程。本章包含以下过程:

卸载软件

本节介绍了从全局群集中卸载或删除某些软件产品的过程。

Procedure如何取消 Sun Cluster 软件的配置以更正安装问题

如果已安装的节点无法加入群集或者需要更正配置信息时,请执行此过程。例如,可在所有节点上执行此过程以重新配置传输适配器或专用网络地址。


注 –

如果此节点已加入群集并且不再处于安装模式(如如何检验定额配置和安装模式中的步骤 2 所述),请勿执行此过程,而应转至《Sun Cluster 系统管理指南(适用于 Solaris OS)》中的“如何从群集节点中卸载 Sun Cluster 软件”


开始之前

尝试重复进行节点的群集配置。通过在节点上重复进行 Sun Cluster 软件的配置,您可以更正某些群集节点的配置故障。

  1. 将打算取消其配置的每个节点添加到群集的节点验证列表中。

    如果要取消单节点群集的配置,请跳至步骤 2

    1. 在要取消配置的节点以外的某个活动群集成员上,成为超级用户。

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


      phys-schost# /usr/cluster/bin/claccess allow -h nodename
      
      -h nodename

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

      您还可以使用 clsetup 实用程序来执行此任务。有关过程,请参见《Sun Cluster 系统管理指南(适用于 Solaris OS)》中的“如何向授权节点列表添加节点”

  2. 在要取消配置的节点上成为超级用户。

  3. 关闭该节点。


    phys-schost# shutdown -g0 -y -i0
    
  4. 将节点重新引导到非群集模式。

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


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

      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 进行引导的更多信息,请参见《系统管理指南:基本管理》中的“使用 GRUB 引导基于 x86 的系统(任务图)”

      2. 在引导参数屏幕中,使用方向键选择 kernel 条目,然后键入 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 选项添加到内核引导参数命令中。


  5. 转到不包含 Sun Cluster 软件包提供的任何文件的目录,如根 (/) 目录。


    phys-schost# cd /
    
  6. 从群集配置中删除节点。


    phys-schost# /usr/cluster/bin/clnode remove
    

    节点将从群集配置中删除,但 Sun Cluster 软件不会从节点中删除。

    有关更多信息,请参见 clnode(1CL) 手册页。

  7. 对要取消配置的其他各节点,重复执行步骤 2步骤 6

  8. (可选的)卸载 Sun Cluster 框架软件包和数据服务软件包。


    注 –

    如果不需要删除或卸载 Sun Cluster 软件,可跳过此步骤。


    此步骤还会从 Sun Java Enterprise System (Java ES) 产品注册项中删除 Sun Cluster 条目。如果 Java ES 产品注册项中包含 Sun Cluster 软件已安装的记录,则 Java ES 安装程序将把 Sun Cluster 组件显示成灰色,从而不允许此组件的重新安装。

    1. 启动 uninstall 程序。

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


      phys-schost# /var/sadm/prod/SUNWentsysver/uninstall
      
    2. 按照屏幕上的说明来选择要卸载的 Sun Cluster 组件。


      注 –

      如果安装了 Sun Cluster Geographic Edition 软件,还必须卸载该软件。


      有关使用 uninstall 程序的更多信息,请参见《适用于 UNIX 的 Sun Java Enterprise System 5 安装指南》中的第 8  章 “卸载”

接下来的操作

要在节点上重新安装或重新配置 Sun Cluster 软件,请参阅表 2–1。该表列出了所有安装任务以及这些任务的执行顺序。

要从群集中物理移除节点,请参见《Sun Cluster 3.1 - 3.2 Hardware Administration Manual for Solaris OS》中的“How to Remove an Interconnect Component”以及 Sun Cluster Hardware Administration Collection 中适用于您的存储阵列的手册中介绍的移除过程。

Procedure如何从 JumpStart 安装服务器中删除 Sun Cluster 信息

要从曾用来安装和配置群集的 JumpStart 安装服务器中删除 Sun Cluster 信息,请执行以下过程。可以删除一个或多个节点个体的信息,也可以删除一个或多个群集整体的信息。有关 JumpStart 功能的更多信息,请参见《Solaris 10 5/08 安装指南:自定义 JumpStart 和高级安装》

  1. 在 JumpStart 安装服务器上成为超级用户。

  2. 切换到曾用以安装 Sun Cluster 软件的 JumpStart 目录中。


    installserver# cd jumpstart-dir
    
  3. rules 文件中删除所有由 scinstall 命令创建且其中含有要删除节点的名称的条目。

    Sun Cluster 条目会引用 autostinstall.classautoscinstall.finish,或者会同时引用两者。条目内容与以下所示类似,其中 release 为 Sun Cluster 软件的版本:


    hostname phys-schost-1  -  autoscinstall.d/release/autoscinstall.class  \ 
    autoscinstall.d/release/autoscinstall.finish
  4. 重新生成 rules.ok 文件。

    运行位于 jumpstart-dir/ 目录下的 check 命令以重新生成 rules.ok 文件。


    installserver# ./check
    
  5. 从相应的 clusters/clustername/ 目录中删除要删除的各节点的符号链接。

    • 要删除群集中一个或多个节点的符号链接,请删除与要删除的各节点同名的链接。


      installserver# rm -f autoscinstall.d/clusters/clustername/nodename
      
    • 要删除一个群集整体的符号链接,请以递归方式删除与要删除的群集同名的目录。


      installserver# rm -rf autoscinstall.d/clusters/clustername
      
    • 要删除所有群集的符号链接,请以递归方式删除 clusters/ 目录。


      installserver# rm -rf autoscinstall.d/clusters
      
  6. autoscinstall.d/ 目录中删除为您要删除的各节点指定的节点配置目录。

    如果要删除一个群集整体的信息,请删除该群集中每个节点对应的目录。

    • 要删除群集中一个或多个节点的信息,请以递归方式删除各节点对应的目录。


      installserver# rm -rf autoscinstall.d/nodes/nodename
      
    • 要删除有关所有群集的所有条目,请以递归方式删除 autoscinstall.d 目录。


      installserver# rm -rf autoscinstall.d
      
  7. 删除 .autoscinstall.log.3 文件。


    installserver# rm .autoscinstall.log.3
    
  8. (可选的)如果使用 Flash 归档对群集进行了 JumpStart 安装,则当您不再需要该文件时请删除该 Flash 归档。


    installserver# rm filename.flar
    
接下来的操作

从某个群集中为已删除的一个或多个节点删除相应的信息后,如果要使用自定义 JumpStart 来重新安装该群集,则必须重新运行交互式 scinstall 来更新群集节点列表。请参见如何安装 Solaris 和 Sun Cluster 软件 (JumpStart)

Procedure如何卸载 SunPlex Manager 软件

使用此过程可以卸载通过 Sun Java Enterprise System 2005Q4 分发版本及更低版本的 Java ES installer 实用程序或其他任何安装方法所安装的 SunPlex Manager 软件。

要删除通过 Sun Java Enterprise System 5 或兼容分发版本的 Java ES installer 实用程序所安装的 Sun Cluster Manager 软件,则应使用 Java ES uninstall 实用程序来删除这些软件包。有关更多信息,请参见《适用于 UNIX 的 Sun Java Enterprise System 5 安装指南》中的第 8  章 “卸载”


注 –

如果要使用图形用户界面 (Graphical User Interface, GUI) 来管理 Sun Cluster Geographic Edition 软件或可通过 GUI 使用的 Sun Cluster 功能,请勿卸载 SunPlex Manager、Sun Cluster Manager 或其共享组件。这些功能包含数据服务配置向导或系统资源监视。

但是,如果是使用命令行界面来管理这些功能,则完全可以卸载 SunPlex Manager 或 Sun Cluster Manager 软件。


请在群集中的每个节点上执行此过程,以卸载 SunPlex Manager 软件及相关的 Sun Java Enterprise System (Java ES) 共享组件。


注 –

所有群集节点上必须均安装或者均不安装 SunPlex Manager 软件。


  1. 成为群集节点的超级用户。

  2. 删除 SunPlex Manager 软件包。


    phys-schost# pkgrm SUNWscspm SUNWscspmu SUNWscspmr
    
  3. (可选的)如果不再需要 Sun Java Web Console 软件包,请删除它们。


    phys-schost# pkgrm SUNWmctag SUNWmconr SUNWmcon SUNWmcos SUNWmcosx
    
  4. (可选的)如果已删除了 Sun Java Web Console 软件包且不再需要 Apache Tomcat 和 Java Studio Enterprise Web Application Framework (Java ATO) 软件包,请将它们删除。

    为您要卸载的其他各产品删除下面列出的软件包,需按这些软件包的列出顺序依次删除。


    phys-schost# pkgrm packages
    

    产品 

    软件包名称 

    Apache Tomcat 

    SUNWtcatu

    Java ATO 

    SUNWjato SUNWjatodmo SUNWjatodoc

Procedure如何卸载 SUNWscrdt 软件包

请在群集中的每个节点上执行以下过程。

开始之前

执行此过程之前,确定没有应用程序正在使用 RSMRDT 驱动程序。

  1. 成为要卸载 SUNWscrdt 软件包的节点上的超级用户。

  2. 卸载 SUNWscrdt 软件包。


    phys-schost# pkgrm SUNWscrdt
    

Procedure如何手动卸载 RSMRDT 驱动程序

如果在完成如何卸载 SUNWscrdt 软件包之后内存中仍然加载着该驱动程序,请执行以下过程以手动卸载该驱动程序。

  1. 启动 adb 实用程序。


    phys-schost# adb -kw
    
  2. 将内核变量 clifrsmrdt_modunload_ok 设置为 1


    physmem NNNN
    clifrsmrdt_modunload_ok/W 1
    
  3. Ctrl-D 退出 adb 实用程序。

  4. 查找 clif_rsmrdtrsmrdt 模块的 ID。


    phys-schost# modinfo | grep rdt
    
  5. 卸载 clif_rsmrdt 模块。

    卸载 rsmrdt 模块之前,必须卸载 clif_rsmrdt 模块。


    phys-schost# modunload -i clif_rsmrdt_id
    
    clif_rsmrdt_id

    指定要卸载的模块的数字 ID。

  6. 卸载 rsmrdt 模块。


    phys-schost# modunload -i rsmrdt_id
    
    rsmrdt_id

    指定要卸载的模块的数字 ID。

  7. 检验模块是否卸载成功。


    phys-schost# modinfo | grep rdt
    

示例 8–1 卸载 RSMRDT 驱动程序

以下的示例显示了手动卸载 RSMRDT 驱动程序后的控制台输出。


phys-schost# adb -kw
physmem fc54
clifrsmrdt_modunload_ok/W 1
clifrsmrdt_modunload_ok: 0x0 = 0x1
^D
phys-schost# modinfo | grep rsm
 88 f064a5cb 974 - 1 rsmops (RSMOPS module 1.1)
 93 f08e07d4 b95 - 1 clif_rsmrdt (CLUSTER-RSMRDT Interface module)
 94 f0d3d000 13db0 194 1 rsmrdt (Reliable Datagram Transport dri)
phys-schost# modunload -i 93
phys-schost# modunload -i 94
phys-schost# modinfo | grep rsm
 88 f064a5cb 974 - 1 rsmops (RSMOPS module 1.1)

故障排除

如果 modunload 命令失败,则说明应用程序可能仍在使用该驱动程序。请终止应用程序,然后重新运行 modunload

Procedure如何删除法定服务器软件

开始之前

卸载法定服务器软件之前,请确保已完成以下任务:

  1. (可选的)要使用交互式图形界面卸载 Java Enterprise System 组件,请确保要卸载的主机服务器的显示环境设置为显示 GUI。


    % xhost +
    % setenv DISPLAY nodename:0.0
    
  2. 在要进行卸载的法定服务器主机上成为超级用户。

  3. 导航到卸载程序所在的目录:


    phys-schost# cd /var/sadm/prod/SUNWentsysver
    
    ver

    系统上所安装的 Java Enterprise System 的版本。

  4. 启动安装向导。


    phys-schost# ./uninstall
    
  5. 按照屏幕上的说明从法定服务器主机中卸载法定服务器软件。

    删除完成后,您可以查看任何可用的日志。有关使用 Java Enterprise System installer 程序的其他信息,请参见《Sun Java Enterprise System 2006Q4 Installation Guide for UNIX》

  6. (可选的)在每个法定服务器主机上,清理或删除法定服务器目录。

    默认情况下,此目录为 /var/scqsd

Procedure如何取消区域群集的配置

执行此过程可删除区域群集。

  1. 成为全局群集中某个节点上的超级用户。

    请从全局群集的一个节点中执行此过程的所有步骤。

  2. 使区域群集中的每个资源组脱机并禁用其资源。


    注 –

    以下步骤是从全局群集节点执行的。要改为从区域群集的节点执行这些步骤,请登录到区域群集节点,并在每个命令中省略 "-Z zonecluster"。


    1. 使每个资源脱机。


      phys-schost# clresource offline -Z zonecluster resource-group
      
    2. 列出区域群集中所有已启用的资源。


      phys-schost# clresource show -Z zonecluster -p Enabled
      === Resources ===
      
      Resource:                                       resource
        Enabled{nodename1}:                               True
        Enabled{nodename2}:                               True
      …
    3. 确定那些依赖其他资源的资源。


      phys-schost# clresource show -Z zonecluster -p resource_dependencies
      === Resources ===
      
      Resource:                                       node
        Resource_dependencies:                           node

      必须首先禁用具有依赖性的资源,然后才能禁用它们所依赖的资源。

    4. 禁用群集中每个已启用的资源。


      phys-schost# clresource disable -Z zonecluster resource
      

      有关更多信息,请参见 clresource(1CL) 手册页。

    5. 检验是否已禁用所有资源。


      phys-schost# clresource show -Z zonecluster -p Enabled
      === Resources ===
      
      Resource:                                       resource
        Enabled{nodename1}:                               False
        Enabled{nodename2}:                               False
      …
    6. 将每个资源组切换到不受管理的状态。


      phys-schost# clresourcegroup unmanage -Z zonecluster resource-group
      
    7. 检验是否所有节点上的所有资源都处于 Offline 状态,以及是否所有资源组都处于 Unmanaged 状态。


      phys-schost# cluster status -Z zonecluster -t resource,resourcegroup
      
    8. 删除区域群集中的所有资源组及其资源。


      phys-schost# clresourcegroup delete -F -Z zonecluster +
      
  3. 停止区域群集。


    phys-schost# clzonecluster halt zoneclustername
    
  4. 卸载区域群集。


    phys-schost# clzonecluster uninstall zoneclustername
    
  5. 取消区域群集的配置。


    phys-schost# clzonecluster delete zoneclustername