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

完成升级

本节提供了以下完成所有 Sun Cluster 3.2 软件升级方法的信息:

Procedure如何检验 Sun Cluster 3.2 软件的升级

执行该过程以检验群集是否已成功升级到 Sun Cluster 3.2 软件。在 Solaris 10 OS 上,所有步骤只应在全局区域中执行。


注 –

此过程提供了 Sun Cluster 命令的完整形式。此外,大多数命令还有简短格式。除了命令名称的形式以外,简写形式和完整形式的命令是相同的。有关各命令及其简写形式的列表,请参见《Sun Cluster 系统管理指南(适用于 Solaris OS)》中的附录 A “Sun Cluster 面向对象的命令”


开始之前

确保完成要升级的任何群集节点的所有升级过程。

  1. 在每个节点上成为超级用户。

  2. 在已升级的每个节点上,查看已安装的 Sun Cluster 软件的级别。


    phys-schost# clnode show-rev -v
    

    输出的第一行表示节点运行的 Sun Cluster 软件的版本。此版本应该与刚才升级到的版本一致。

  3. 从任一节点上,检验所有已升级的群集节点是否都运行在群集模式下(即处于联机状态)。


    phys-schost# clnode status
    

    有关显示群集状态的更多信息,请参见 clnode(1CL) 手册页。

  4. SPARC:如果从 Solaris 8 升级到了 Solaris 9 软件,请检验存储配置的一致性。

    1. 在每个节点上,运行以下命令以检验存储配置的一致性。


      phys-schost# cldevice check
      

      注意 – 注意 –

      只有配置通过了该一致性检查,才可以继续执行步骤 b。如果无法通过此检查,则可能会导致设备标识错误并导致数据被破坏。


      下表列出了 cldevice check 命令可能生成的输出消息,以及在出现各种消息时您必须采取的操作。

      示例消息 

      操作 

      device id for 'phys-schost-1:/dev/rdsk/c1t3d0' does not match physical device's id, device may have been replaced

      请转至从未完成的升级中恢复,并执行适当的修复过程。

      device id for 'phys-schost-1:/dev/rdsk/c0t0d0' needs to be updated, run cldevice repair to update

      无。在步骤 b 中更新该设备 ID。

      无输出消息 

      无。 

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

    2. 在每个节点上,将 Sun Cluster 存储数据库迁移到 Solaris 9 设备 ID。


      phys-schost# cldevice repair
      
    3. 在每个节点上,运行以下命令以检验存储数据库是否已成功移植到 Solaris 9 设备 ID。


      phys-schost# cldevice check
      
      • 如果 cldevice 命令显示了一条消息,请返回步骤 a 对存储配置或存储数据库进行进一步的更正。

      • 如果 cldevice 命令未显示任何消息,则表示设备 ID 迁移成功。在所有群集节点上检验完设备 ID 迁移之后,请继续执行如何完成到 Sun Cluster 3.2 软件的升级


示例 8–2 检验到 Sun Cluster 3.2 软件的升级

以下示例显示了为检验双节点群集是否升级到 Sun Cluster 3.2 软件所使用的命令。群集节点的名称为 phys-schost-1phys-schost-2


phys-schost# clnode show-rev -v
3.2
…
phys-schost# clnode status
=== 群集节点 ===

--- 节点状态 ---

节点名称                                                状态
---------                                          ------
phys-schost-1                                      联机
phys-schost-2                                      联机

接下来的操作

请转至如何完成到 Sun Cluster 3.2 软件的升级

Procedure如何完成到 Sun Cluster 3.2 软件的升级

要完成 Sun Cluster 升级,请执行以下过程。在 Solaris 10 OS 上,所有步骤只应在全局区域中执行。首先,重新注册通过升级获得新版本的所有资源类型。其次,将合格的资源修改为使用资源所使用的资源类型的新版本。然后,重新启用资源。最后,使资源组恢复联机。

开始之前

确保完成如何检验 Sun Cluster 3.2 软件的升级介绍的所有步骤。

  1. 将通用代理容器的安全性文件复制到所有群集节点上。

    此步骤将确保 通用代理容器 的安全性文件在所有群集节点上相同,并且已复制的文件都保有正确的文件权限。

    1. 在每个节点上,停止 Sun Java Web Console 代理。


      phys-schost# /usr/sbin/smcwebserver stop
      
    2. 在每个节点上停止安全性文件代理。


      phys-schost# /usr/sbin/cacaoadm stop
      
    3. 在一个节点上切换到 /etc/cacao/instances/default/ 目录下。


      phys-schost-1# cd /etc/cacao/instances/default/
      
    4. /etc/cacao/SUNWcacao/security/ 目录创建一个 tar 文件。


      phys-schost-1# tar cf /tmp/SECURITY.tar security
      
    5. /tmp/SECURITY.tar 文件复制到其他每个群集节点上。

    6. 在向其复制了 /tmp/SECURITY.tar 文件的每个节点上,提取安全性文件。

      /etc/cacao/instances/default/ 目录中已存在的所有安全性文件都将被覆写。


      phys-schost-2# cd /etc/cacao/instances/default/
      phys-schost-2# tar xf /tmp/SECURITY.tar
      
    7. 从群集的每个节点中删除 /tmp/SECURITY.tar 文件。

      必须删除 tar 文件的所有副本以避免安全隐患。


      phys-schost-1# rm /tmp/SECURITY.tar
      phys-schost-2# rm /tmp/SECURITY.tar
      
    8. 在每个节点上启动安全性文件代理。


      phys-schost# /usr/sbin/cacaoadm start
      
    9. 在每个节点上,启动 Sun Java Web Console 代理。


      phys-schost# /usr/sbin/smcwebserver start
      
  2. 如果升级了不是产品介质上提供的任何数据服务,则要为这些数据服务注册新的资源类型。

    请按照数据服务随附的文档进行操作。

  3. 如果将 Sun Cluster HA for SAP liveCache 从 Sun Cluster 3.0 或 3.1 版本升级到了 Sun Cluster 3.2 版本,则需修改 /opt/SUNWsclc/livecache/bin/lccluster 配置文件。

    1. 成为将托管 liveCache 资源的节点上的超级用户。

    2. 将新的 /opt/SUNWsclc/livecache/bin/lccluster 文件复制到 /sapdb/LC_NAME/db/sap/ 目录中。

      覆写在数据服务的先前配置中已存在的 lccluster 文件。

    3. 按照《Sun Cluster Data Service for SAP liveCache Guide for Solaris OS》中的“How to Register and Configure Sun Cluster HA for SAP liveCache”一节所述,对这个 /sapdb/LC_NAME/db/sap/lccluster 文件进行配置。

  4. 如果升级了 Solaris OS 并且在配置中 Solaris Volume Manager 软件使用了双串调解器,请恢复调解器的配置。

    1. 确定哪个节点对将向其添加调解器主机的磁盘组具有拥有权。


      phys-schost# metaset -s setname
      
      -s setname

      指定磁盘集名称。

    2. 在控制或将控制磁盘集的节点上,成为超级用户。

    3. 如果节点不具有拥有权,则获取磁盘组的拥有权。


      phys-schost# cldevicegroup switch -n node devicegroup
      
      node

      指定要成为磁盘集主节点的那个节点的名称。

      devicegroup

      指定磁盘集的名称。

    4. 重新创建调解器。


      phys-schost# metaset -s setname -a -m mediator-host-list
      
      -a

      添加到磁盘集。

      -m mediator-host-list

      指定要作为磁盘集调解器主机来添加的节点的名称。

    5. 对使用调解器的群集中的每个磁盘组重复这些步骤。

  5. 如果升级了 VxVM,请升级所有磁盘组。

    1. 进入联机状态并接管要升级的磁盘组。


      phys-schost# cldevicegroup switch -n node devicegroup
      
    2. 运行以下命令将磁盘组升级到已安装的 VxVM 支持的最高版本。


      phys-schost# vxdg upgrade dgname
      

      有关升级磁盘组的详细信息,请参阅 VxVM 管理文档。

    3. 对群集中的其余每个 VxVM 磁盘组重复此过程。

  6. 将资源移植到新的资源类型版本。

    必须将所有资源迁移到 Sun Cluster 3.2 资源类型版本。


    注 –

    对于 Sun Cluster HA for SAP Web Application Server,如果您正在使用 J2EE 引擎资源或 Web 应用服务器组件资源或者正在同时使用此二者,则必须删除该资源然后用新的 Web 应用服务器组件资源来重新创建它。新的 Web 应用服务器组件资源的更改包含了 J2EE 功能的集成。有关更多信息,请参见《Sun Cluster Data Service for SAP Web Application Server Guide for Solaris OS》


    请参见《Sun Cluster Data Services Planning and Administration Guide for Solaris OS》中的“Upgrading a Resource Type”,该节包含了使用命令行的过程。或者,您也可以通过使用 clsetup 实用程序的“资源组”菜单来执行相同的任务。此过程包括执行以下任务:

    • 注册新的资源类型。

    • 将符合条件的资源迁移到其资源类型的新版本。

    • 按照《Sun Cluster 3.2 发行说明(适用于 Solaris OS)》中的说明修改资源类型的扩展属性。


      注 –

      Sun Cluster 3.2 发行版为某些扩展属性(如 Retry_interval 属性)引进了新的默认值。这些更改会影响使用此类属性默认值的所有现有资源的行为。如果需要为资源使用先前的默认值,请对迁移后的资源进行修改,将其属性设置为先前的默认值。


  7. 如果群集中运行有 Sun Cluster HA for Sun Java System Application Server EE (HADB) 数据服务,而您在开始进行双分区升级之前关闭了 HADB 数据库,请重新启用该资源并启动该数据库。


    phys-schost# clresource enable hadb-resource
    phys-schost# hadbm start database-name
    

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

  8. 如果升级到了 Solaris 10 OS 并且 Apache httpd.conf 文件位于群集文件系统中,请确保 Apache 控制脚本中的 HTTPD 条目依然指向该位置。

    1. 查看 /usr/apache/bin/apchectl 文件中的 HTTPD 条目。

      以下示例显示了位于 /global 群集文件系统中的 httpd.conf 文件。


      phys-schost# cat /usr/apache/bin/apchectl | grep HTTPD=/usr
      HTTPD="/usr/apache/bin/httpd -f /global/web/conf/httpd.conf"
    2. 如果该文件中显示的 HTTPD 条目不正确,请更新该文件。


      phys-schost# vi /usr/apache/bin/apchectl
      #HTTPD=/usr/apache/bin/httpd
      HTTPD="/usr/apache/bin/httpd -f /global/web/conf/httpd.conf"
      
  9. 从任一节点上启动 clsetup 实用程序。


    phys-schost# clsetup
    

    屏幕上将显示 clsetup 主菜单。

  10. 重新启用所有禁用的资源。

    1. 键入与“资源组”选项对应的编号,然后按 Return 键。

      将显示“资源组”菜单。

    2. 键入与“启用/禁用资源”选项对应的编号,然后按 Return 键。

    3. 选择要启用的资源,然后按照提示操作。

    4. 对每个已禁用的资源重复执行步骤 c

    5. 所有资源都重新启用之后,键入 q 返回到“资源组”菜单。

  11. 使每个资源组重新联机。

    此步骤也会使非全局区域中的资源组联机。

    1. 键入与“使资源组处于联机/脱机状况或在两种状态间切换”选项对应的编号,然后按 Return 键。

    2. 按照提示将各个资源组置入被管理状态,然后使资源组联机。

  12. 所有资源组重新联机之后,退出 clsetup 实用程序。

    键入 q 退出每个子菜单,或按 Ctrl-C

  13. 如果升级前启用了当所有受监视的磁盘路径都发生故障时的节点自动重新引导功能,请确保该功能仍处于启用状态。

    如果要首次配置自动重新引导功能,也需执行此任务。

    1. 确定自动重新引导功能是已启用还是已禁用。


      phys-schost# clnode show
      
      • 如果 reboot_on_path_failure 属性被设置为已启用,则无需执行进一步的操作。

      • 如果 reboot_on_path_failure 属性被设置为已禁用,请继续执行下一步操作以重新启用此属性。

    2. 启用自动重新引导功能。


      phys-schost# clnode set -p reboot_on_path_failure=enabled
      
      -p

      指定要设置的属性

      reboot_on_path_failure=enable

      指定当所有受监视的磁盘路径都发生故障时,如果至少有一个磁盘可从群集中的另一节点访问,则节点将重新引导。

    3. 检验是否启用了磁盘路径发生故障时的自动重新引导功能。


      phys-schost# clnode show
      === 群集节点 ===                          
      
      节点名称:                                      node
      …
        reboot_on_path_failure:                          已启用
      …
  14. (可选的)捕获磁盘分区信息,以供将来参考之用。


    phys-schost# prtvtoc /dev/rdsk/cNtXdYsZ > filename
    

    应将该文件存储在群集外部的某个位置。如果对磁盘配置进行了任何更改,请再次运行此命令以捕获更改后的配置信息。如果磁盘发生故障需要更换,则可以使用此信息来恢复磁盘分区配置。有关更多信息,请参见 prtvtoc(1M) 手册页。

  15. (可选的)对群集配置进行备份。

    对群集配置的归档备份有助于您更方便地恢复群集配置。

    有关更多信息,请参见《Sun Cluster 系统管理指南(适用于 Solaris OS)》中的“如何备份群集配置”

故障排除

资源类型迁移失败 - 通常,应在资源处于脱机状态时将其迁移至新的资源类型。然而,有些资源却需要处于联机状态才能使资源类型迁移成功执行。如果是此原因导致资源类型迁移失败,则屏幕上将显示类似以下内容的错误消息:

phys-schost - Resource depends on a SUNW.HAStoragePlus type resource that is not online anywhere. (C189917) 资源组 rg 中的资源 nfsrs 上的验证操作以非零退出状态退出。 (C720144) 在节点 phys-schost 上验证资源组 rg 中的资源 nfsrs 失败。

如果资源类型迁移因资源处于脱机状态而失败,请使用 clsetup 实用程序来重新启用该资源,然后使与其相关的资源组联机。此后对该资源重复执行迁移过程。

Java 二进制文件位置的更改 - 如果 Java 二进制文件的位置在升级共享组件的过程中发生更改,则您可能会在尝试运行 cacaoadm start 命令或 smcwebserver start 命令时看到类似以下内容的错误消息:

# /opt/SUNWcacao/bin/cacaoadm startNo suitable Java runtime found. Java 1.4.2_03 or higher is required.Jan 3 17:10:26 ppups3 cacao: No suitable Java runtime found. Java 1.4.2_03 or higher is required.Cannot locate all the dependencies

# smcwebserver start/usr/sbin/smcwebserver: /usr/jdk/jdk1.5.0_04/bin/java: not found

这些错误是由于 start 命令无法定位 Java 二进制文件当前的位置而产生的。JAVA_HOME 属性指向的依然是旧版 Java 所在的目录,但该旧版本已在升级过程中被删除。

要更正此问题,请更改以下配置文件中的 JAVA_HOME 设置,以便使用当前的 Java 目录:

/etc/webconsole/console/config.properties/etc/opt/SUNWcacao/cacao.properties

接下来的操作

如果具有基于 SPARC 的系统并使用了 Sun Management Center 监视群集,请转到SPARC: 如何升级针对 Sun Management Center 的 Sun Cluster 模块软件

要安装 Sun Cluster Geographic Edition 3.2 软件或完成该软件的升级,请参见《Sun Cluster Geographic Edition Installation Guide》

否则,已完成群集升级。