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

第 8 章 升级 Sun Cluster 软件

本章提供了以下将 Sun Cluster 3.0 或 3.1 配置升级到 Sun Cluster 3.2 软件的相关信息和过程:

升级要求和软件支持指导信息

升级到 Sun Cluster 3.2 软件时,请遵照以下要求和软件支持指导:

选择 Sun Cluster 升级方法

选择以下方法将群集升级到 Sun Cluster 3.2 软件:

有关规划 Sun Cluster 3.2 配置的概要信息,请参见第 1 章,规划 Sun Cluster 配置

进行到 Sun Cluster 3.2 软件的标准升级

本节提供了以下使用标准升级方法升级到 Sun Cluster 3.2 软件的信息:

下表列出了从 Sun Cluster 3.1 软件升级为 Sun Cluster 3.2 软件所需执行的各项任务。仅需升级 Solaris OS 的版本时,也应执行这些任务。如果要将 Solaris OS 从 Solaris 9 升级到 Solaris 10 软件,还必须将 Sun Cluster 软件及从属软件升级到与新版 Solaris OS 兼容的版本。

表 8–1 任务表:进行到 Sun Cluster 3.2 软件的标准升级

任务 

参考 

1. 阅读升级要求和限制。根据您的配置和需要确定适当的升级方法。 

升级要求和软件支持指导信息

选择 Sun Cluster 升级方法

2. 在产品中解除群集并备份共享数据。 

如何为群集做好升级(标准)准备

3. 如果需要,将 Solaris 软件升级到支持的 Solaris 更新版。如果群集使用用于 Solaris Volume Manager 软件的双串调解器,则取消配置调解器。根据需要升级 VERITAS Volume Manager (VxVM) 和 VERITAS 文件系统 (VxFS)。Solaris Volume Manager 软件会随着 Solaris OS 自动升级。 

如何升级 Solaris OS 和卷管理器软件(标准)

4. 升级到 Sun Cluster 3.2 框架和数据服务软件。如果需要,升级应用程序。如果群集使用双串调解器并且您升级了 Solaris OS,则应重新配置这些调解器。如果升级了 VxVM,应升级磁盘组。 

如何升级 Sun Cluster 3.2 软件(标准)

5. 检验是否成功完成到 Sun Cluster 3.2 软件的升级。 

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

6. 启用资源并使资源组联机。将现有资源迁移到新资源类型。 

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

7.(可选)SPARC:如果需要,升级用于 Sun Management Center 的 Sun Cluster 模块。

SPARC: 如何升级针对 Sun Management Center 的 Sun Cluster 模块软件

Procedure如何为群集做好升级(标准)准备

在进行标准升级之前,请执行以下过程使群集停止运行。在 Solaris 10 OS 上,所有步骤只应在全局区域中执行。

开始之前

请执行以下任务:

  1. 确保群集运行正常。

    1. 从任一节点上运行以下命令,以查看群集的当前状态。


      phys-schost% scstat
      

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

    2. 在位于同一节点的 /var/adm/messages 日志中搜索未解决的错误消息或警告消息。

    3. 检查卷管理器的状态。

  2. 通知用户群集服务在升级期间将不可用。

  3. 成为群集中一个节点上的超级用户。

  4. 使每个资源组均脱机并禁用所有资源。

    使群集中的所有资源组(包括那些处于非全局区域中的资源组)脱机。然后禁用所有资源,以防止当某个节点被错误地重新引导至群集模式时,群集自动使资源联机。

    • 如果要从 Sun Cluster 3.1 软件进行升级并且希望使用 scsetup 实用程序,请执行以下步骤:

      1. 启动 scsetup 实用程序。


        phys-schost# scsetup
        

        将显示 scsetup 的“主菜单”。

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

        将显示“资源组”菜单。

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

      4. 按照提示使所有资源组脱机并将其置于不受管理状态。

      5. 所有资源组都脱机后,键入 q 返回到“资源组”菜单。

      6. 退出 scsetup 实用程序。

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

    • 要使用命令行,请执行以下步骤:

      1. 使每个资源均脱机。


        phys-schost# scswitch -F -g resource-group
        
        -F

        将资源组切换为脱机状态。

        -g resource-group

        指定要脱机的资源组的名称。

      2. 从任何节点,列出群集中所有启用的资源。


        phys-schost# scrgadm -pv | grep "Res enabled"
        (resource-group:resource) Res enabled: True
      3. 找出依赖于其他资源的那些资源。

        必须先禁用资源的相关资源。

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


        phys-schost# scswitch -n -j resource
        
        -n

        禁用。

        -j resource

        指定资源。

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

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


        phys-schost# scrgadm -pv | grep "Res enabled"
        (resource-group:resource) Res enabled: False
      6. 使每个资源组都处于不受管状态。


        phys-schost# scswitch -u -g resource-group
        
        -u

        使指定的资源组处于不受管理状态。

        -g resource-group

        指定要转入不受管理状态的资源组的名称。

  5. 检验所有节点上的所有资源是否都处于脱机状态,所有资源组是否都处于不受管理状态。


    phys-schost# scstat
    
  6. 对于使用 Sun StorEdge Availability Suite 软件或 Sun StorageTekTM Availability Suite 软件的双节点群集,请确保可用性服务的配置数据驻留在法定磁盘上。

    配置数据必须驻留在法定磁盘上,以确保 Availability Suite 能够在您升级群集软件后正常运行。

    1. 在运行 Availability Suite 软件的群集中,成为某一节点上的超级用户。

    2. 确定 Availability Suite 配置文件所使用的设备 ID 和分片。


      phys-schost# /usr/opt/SUNWscm/sbin/dscfg
      /dev/did/rdsk/dNsS
      

      在此输出示例中,N 为设备 ID,S 为设备 N 的片。

    3. 确定现有的法定设备。


      phys-schost# scstat -q
      -- 按设备计算的法定选票 --
                           设备名称                 现有的    可能的    状态
                           -----------         ------- -------- ------
         设备选票:     /dev/did/rdsk/dQsS  1       1        联机

      在此输出示例中,dQsS 为现有的法定设备。

    4. 如果法定设备与 Availability Suite 配置数据所在设备不是同一设备,请将配置数据移到法定设备的某个可用分片上。


      phys-schost# dd if=`/usr/opt/SUNWesm/sbin/dscfg` of=/dev/did/rdsk/dQsS
      

      注 –

      必须使用原始 DID 设备的名称 /dev/did/rdsk/,而不能使用块 DID 设备的名称 /dev/did/dsk/


    5. 如果移动了配置数据,请配置 Availability Suite 软件以使用新位置。

      在运行 Availability Suite 软件的每个节点上,以超级用户的身份发出以下命令。


      phys-schost# /usr/opt/SUNWesm/sbin/dscfg -s /dev/did/rdsk/dQsS
      
  7. (可选的)如果要从 Sun Cluster 3.0 软件版本进行升级,并且不希望 ntp.conf 文件被重命名为 ntp.conf.cluster,请创建一个 ntp.conf.cluster 文件。

    在每个节点上,将 /etc/inet/ntp.cluster 复制为 ntp.conf.cluster


    phys-schost# cp /etc/inet/ntp.cluster /etc/inet/ntp.conf.cluster
    

    ntp.conf.cluster 文件的存在可阻止升级过程对 ntp.conf 文件的重命名。各群集节点之间仍将使用 ntp.conf 文件来同步 NTP。

  8. 停止群集中每个节点上运行的所有应用程序。

  9. 确保备份了所有共享数据。

  10. 如果将升级 Solaris OS,并且群集为 Solaris Volume Manager 软件使用了双串调解器,请取消这些调解器的配置。

    有关调解器的更多信息,请参见配置双串调解器

    1. 运行以下命令来检验不存在任何调解器数据问题。


      phys-schost# medstat -s setname
      
      -s setname

      指定磁盘集名称。

      如果“状态”字段中的值为 Bad,则修复受影响的调解器主机。请按照如何修正错误的调解器数据中的过程执行。

    2. 列出所有调解器。

      请保存此信息,以便在执行如何完成到 Sun Cluster 3.2 软件的升级过程期间用来恢复调解器。

    3. 对于使用调解器的磁盘组,如果任何节点都不具有拥有权,请获取磁盘组的拥有权。


      phys-schost# scswitch -z -D setname -h node
      
      -z

      更改控制权。

      -D devicegroup

      指定磁盘集的名称。

      -h node

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

    4. 取消配置用于磁盘集的所有调解器。


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

      指定磁盘集名称。

      -d

      从磁盘集删除。

      -m mediator-host-list

      指定要作为磁盘集的调解器主机进行删除的节点的名称。

      有关 metaset 命令特定于调解器的选项的详细信息,请参见 mediator(7D) 手册页。

    5. 对其余每个使用调解器的磁盘集重复执行步骤 c 至步骤 d。

  11. 从一个节点,关闭群集。


    # scshutdown -g0 -y
    

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

  12. 将各个节点都引导成非群集模式。

    • 在基于 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 进行引导的更多信息,请参见《System Administration Guide: Basic Administration》中的第 11  章 “GRUB Based Booting (Tasks)”

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


  13. 确保备份了每个系统磁盘。

接下来的操作

在每个节点上升级软件。

Procedure如何升级 Solaris OS 和卷管理器软件(标准)

请在群集中的每个节点上执行以下过程来升级 Solaris OS。在 Solaris 10 OS 上,所有步骤只应在全局区域中执行。如果群集已经是在支持 Sun Cluster 3.2 软件的 Solaris OS 版本上运行,则进一步升级 Solaris OS 为可选操作。如果不打算升级 Solaris OS,请继续执行如何升级 Sun Cluster 3.2 软件(标准)


注 –

为了支持到 Sun Cluster 3.2 软件的升级,群集已运行的或将升级到的 Solaris OS 版本决不能低于所要求的最低级别。有关更多信息,请参见《Sun Cluster 3.2 发行说明(适用于 Solaris OS)》中的 "Supported Products"。


开始之前

确保已完成了如何为群集做好升级(标准)准备包含的所有步骤。

  1. 成为要进行升级的群集节点上的超级用户。

    如果进行的是双分区升级,则此节点必须是处于非群集模式的那个分区中的成员。

  2. 如果安装了 Sun Cluster Geographic Edition 软件,请将其卸载。

    有关卸载过程,请参见您的 Sun Cluster Geographic Edition 软件版本所对应的文档。

  3. 确定以下 Apache 运行控制脚本是否存在,以及如果存在,是处于启用状态还是禁用状态:


    /etc/rc0.d/K16apache
    /etc/rc1.d/K16apache
    /etc/rc2.d/K16apache
    /etc/rc3.d/S50apache
    /etc/rcS.d/K16apache

    某些应用程序(例如 Sun Cluster HA for Apache)要求禁用 Apache 运行控制脚本。

    • 如果这些脚本存在,并且文件名中包含一个大写的 KS,则说明它们已启用。不需要对这些脚本进行进一步的操作。

    • 如果这些脚本不存在,在步骤 8 中必须确保禁用在 Solaris 操作系统升级期间安装的所有 Apache 运行控制脚本。

    • 如果这些脚本存在,但文件名中包含一个小写的 ks,则说明它们已禁用。在步骤 8 中必须确保禁用在 Solaris 操作系统升级期间安装的所有 Apache 运行控制脚本。

  4. 在节点的 /etc/vfstab 文件中注释掉全局挂载文件系统的所有条目。

    1. 为供以后参考,请记录已注释掉的所有条目。

    2. 暂时将 /etc/vfstab 文件中有关全局挂载文件系统的所有条目注释掉。

      全局装载的文件系统的条目包括 global 装载选项。注释掉这些条目可防止 Solaris 升级程序装载全局设备。

  5. 确定升级 Solaris OS 要遵循的过程。

    卷管理器 

    过程 

    说明的位置 

    Solaris Volume Manager 

    动态升级方法之外的任一 Solaris 升级方法

    Solaris 安装文档 

    VERITAS Volume Manager 

    “升级 VxVM 和 Solaris” 

    VERITAS Volume Manager 安装文档 


    注 –

    如果群集中安装了 VxVM,则作为 Solaris 升级过程的一部分,必须重新安装现有的 VxVM 软件或升级到 Solaris 9 或 10 版本的 VxVM 软件。


  6. 升级 Solaris 软件,按照步骤 5 中所选的过程执行。


    注 –

    请勿在 Solaris 软件升级时执行最终重新引导指令。而是可以按照下述步骤进行操作:

    1. 返回至该过程以执行步骤 7步骤 8

    2. 步骤 9 中重新引导为非群集模式以完成 Solaris 软件升级。


    • 出现提示时,选择手动重新引导选项。

    • 当升级过程指示您重新引导节点时,务必要将其重新引导到非群集模式下。运行 bootreboot 命令时,请在命令中添加 -x 选项。-x 选项确保节点重新引导到非群集模式。例如,以下两条命令中的任意一条都可以将节点引导到单用户非群集模式:

    • 在基于 SPARC 的系统上,执行以下命令中的任何一个:


      phys-schost# reboot -- -xs
      
      ok boot -xs
      

      如果指示您运行 init S 命令,请使用 reboot -- -xs 命令。

    • 在运行 Solaris 9 OS 的基于 x86 的系统上,执行以下任一命令:


      phys-schost# reboot -- -xs
      
      ...
                            <<< Current Boot Parameters >>>
      Boot path: /pci@0,0/pci-ide@7,1/ata@1/cmdk@0,0:b
      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 -xs
      
    • 在运行 Solaris 10 OS 的基于 x86 的系统上,执行以下命令:


      phys-schost# shutdown -g -y -i0Press 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. 在引导参数屏幕中,使用方向键选择 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 选项添加到 kernel 引导参数命令中。


      如果指示您运行 init S 命令,请关闭系统,然后将 GRUB kernel 引导命令改为 /platform/i86pc/multiboot -sx

  7. /a/etc/vfstab 文件中,取消注释您在步骤 4 中注释出的全局安装文件系统的那些条目。

  8. 如果升级 Solaris OS 之前 Apache 运行控制脚本已禁用或者根本不存在,请确保禁用在 Solaris 升级过程中安装的所有脚本。

    要禁用 Apache 运行控制脚本,请运行以下命令用小写的 ks 来重命名各文件。


    phys-schost# mv /a/etc/rc0.d/K16apache /a/etc/rc0.d/k16apache 
    phys-schost# mv /a/etc/rc1.d/K16apache /a/etc/rc1.d/k16apache
    phys-schost# mv /a/etc/rc2.d/K16apache /a/etc/rc2.d/k16apache
    phys-schost# mv /a/etc/rc3.d/S50apache /a/etc/rc3.d/s50apache
    phys-schost# mv /a/etc/rcS.d/K16apache /a/etc/rcS.d/k16apache
    

    或者,可以按照正常的管理做法重命名这些脚本以使其一致。

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

    在以下命令中加入双破折号 (--):


    phys-schost# reboot -- -x
    
  10. 如果群集运行 VxVM,请执行“升级 VxVM 和 Solaris”过程中的其余步骤来重新安装或升级 VxVM。

    对该过程进行以下更改:

    • 在完成 VxVM 升级之后、重新引导之前,请检验 /etc/vfstab 文件中的条目。

      如果在步骤 7 中取消注释的任何条目又注释出来,请再次取消对这些条目的注释。

    • 当 VxVM 过程提示您执行最终重新配置重新引导时,请勿使用 -r 选项。请使用 -rx 选项重新引导为非群集模式。

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


        phys-schost# reboot -- -rx
        
      • 在基于 x86 的系统上,执行步骤 6 中介绍的关机过程和引导过程,但要在 kernel 引导命令中添加 -rx,而不是 -sx


    注 –

    如果您看到类似以下内容的消息,请键入 root 用户口令来继续执行升级进程。不要运行 fsck 命令,也不要按 Ctrl-D


    WARNING - Unable to repair the /global/.devices/node@1 filesystem. 
    Run fsck manually (fsck -F ufs /dev/vx/rdsk/rootdisk_13vol). Exit the 
    shell when done to continue the boot process.
    
    Type control-d to proceed with normal startup,
    (or give root password for system maintenance):  Type the root password
    

  11. (可选的)SPARC:升级 VxFS。

    按照 VxFS 文档中提供的过程进行操作。

  12. 安装任何所需的 Solaris 软件修补程序和与硬件相关的修补程序,并下载硬件修补程序中所包含的任何所需固件。


    注 –

    在添加了修补程序之后不要重新引导。等待到升级 Sun Cluster 软件之后重新引导节点。


    有关修补程序和安装说明所在的位置,请参见《Sun Cluster 3.2 发行说明(适用于 Solaris OS)》中的“修补程序和所需的固件级别”

接下来的操作

升级到 Sun Cluster 3.2 软件。请转至如何升级 Sun Cluster 3.2 软件(标准)


注 –

要完成到新的 Solaris OS 销售发行版的升级(如从 Solaris 8 升级到 Solaris 10 软件),还必须将 Sun Cluster 软件和从属软件升级到与新版 Solaris OS 兼容的版本。


Procedure如何升级 Sun Cluster 3.2 软件(标准)

执行此过程将群集的每个节点都升级到 Sun Cluster 3.2 软件。此过程还会升级所需的 Sun Java Enterprise System 共享组件。

升级到其他的 Solaris OS 销售发行版(如从 Solaris 8 升级到 Solaris 10 软件)后,也必须执行此过程。

在 Solaris 10 OS 上,所有步骤只应在全局区域中执行。


提示 –

可以同时在多个节点上执行该过程。


开始之前

请执行以下任务:

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

  2. 确保 /usr/java/ 目录为指向最低或最新版本的 Java 软件的符号链接。

    Sun Cluster 软件要求 Java 软件的版本不低于 1.5.0_06。如果升级后的 Solaris 版本安装的是较低的 Java 版本,则升级过程可能已将符号链接更改为指向不符合 Sun Cluster 3.2 软件最低要求的 Java 版本。

    1. 确定 /usr/java/ 目录的符号链接指向的目录。


      phys-schost# ls -l /usr/java
      lrwxrwxrwx   1 root   other    9 Apr 19 14:05 /usr/java -> /usr/j2se/
    2. 确定安装了哪个或哪些版本的 Java 软件。

      下面是一些命令示例,这些命令可用于显示相关 Java 软件的版本。


      phys-schost# /usr/j2se/bin/java -version
      phys-schost# /usr/java1.2/bin/java -version
      phys-schost# /usr/jdk/jdk1.5.0_06/bin/java -version
      
    3. 如果未将 /usr/java/ 目录符号链接到受支持的 Java 软件版本,请重新创建链接到受支持的 Java 软件版本的符号链接。

      以下示例显示了为包含 Java 1.5.0_06 软件的 /usr/j2se/ 目录创建符号链接的过程。


      phys-schost# rm /usr/java
      phys-schost# ln -s /usr/j2se /usr/java
      
  3. 将 Sun Java Availability Suite DVD-ROM 放入 DVD-ROM 驱动器。

    如果卷管理守护进程 vold(1M) 正在运行并且被配置为管理 CD-ROM 或 DVD 设备,则此守护进程会自动在 /cdrom/cdrom0/ 目录中挂载相应的介质。

  4. 更改到 DVD-ROM 的 安装向导 目录。

    • 如果是在 SPARC 平台上安装软件包,请键入以下命令:


      phys-schost# cd /cdrom/cdrom0//Solaris_sparc
      
    • 如果是在 x86 平台上安装软件包,请键入以下命令:


      phys-schost# cd /cdrom/cdrom0//Solaris_x86
      
  5. 启动 安装向导 程序。


    phys-schost# ./installer
    
  6. 按照屏幕上的说明在节点上选择并升级共享组件软件包。


    注 –

    不要使用安装向导程序来升级 Sun Cluster 软件包。


    安装向导 程序将显示安装的状态。当安装完成时,程序会显示安装摘要和安装日志。

  7. 退出 安装向导 程序。

  8. 切换到 Solaris_arch/Product/sun_cluster/Solaris_ver/Tools/ 目录,其中 archsparcx86 (仅用于 Solaris 10)以及 ver9 代表 Solaris 9 或 10 代表 Solaris 10。


    phys-schost# cd /cdrom/cdrom0/Solaris_arch/Product/sun_cluster/Solaris_ver/Tools
    
  9. 启动 scinstall 实用程序。


    phys-schost# ./scinstall
    

    注 –

    请不要使用节点上已安装的 /usr/cluster/bin/scinstall 命令。必须使用 Sun Java Availability Suite DVD-ROM 中的 scinstall 命令。


    将显示 scinstall 的“主菜单”。

  10. 键入与“升级此群集节点”选项对应的编号,然后按 Return 键。


     *** 主菜单 ***
    
        请选择以下某一带 (*) 的选项:
    
          * 1) 创建新群集或添加群集节点
            2) 将群集配置为从此安装服务器中快速启动
            3) 管理双分区升级
            4) 升级此群集节点
          * 5) 打印此群集节点的发行信息
     
          * ?) 菜单选项中的帮助
          * q) 退出
    
        选项: 4
    

    将显示“升级菜单”。

  11. 键入与“升级此节点上的 Sun Cluster 框架”选项对应的编号,然后按 Return 键。

  12. 按照菜单提示升级群集框架。

    在 Sun Cluster 的升级过程中,scinstall 可能会进行以下一项或多项配置更改:

    当系统显示“完成 Sun Cluster 框架升级”消息并提示您按 Enter 键继续时,即表示升级过程已完成。

  13. 退出 scinstall 实用程序。

  14. 从 DVD-ROM 驱动器中取出 Sun Java Availability Suite DVD-ROM。

    1. 要确保 DVD-ROM 不在使用,更改到属于 DVD-ROM 的目录。

    2. 弹出 DVD-ROM。


      phys-schost# eject cdrom
      
  15. 升级数据服务软件包。

    必须将所有数据服务升级为 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》


    1. 启动升级后的交互式 scinstall 实用程序。


      phys-schost# /usr/cluster/bin/scinstall
      

      注 –

      请不要使用安装介质上的 scinstall 实用程序来升级数据服务软件包。


      将显示 scinstall 的“主菜单”。

    2. 键入与“升级此群集节点”选项对应的编号,然后按 Return 键。

      将显示“升级菜单”。

    3. 键入与“升级此节点上的 Sun Cluster 数据服务代理”选项对应的编号,然后按 Return 键。

    4. 按照菜单提示升级节点上安装的 Sun Cluster 数据服务代理。

      可以从可用于升级的数据服务列表中选择要升级的数据服务或者选择升级所有已安装的数据服务。

      当系统显示“已完成 Sun Cluster 数据服务代理升级”消息并提示您按 Enter 键继续时,即表示升级过程已完成。

    5. 请按 Enter 键。

      将显示“升级菜单”。

  16. 退出 scinstall 实用程序。

  17. 如果在具有高可用性的本地文件系统上配置了 Sun Cluster HA for NFS,请确保禁用回送文件系统 (Loopback File System, LOFS)。


    注 –

    如果配置了非全局区域,则 LOFS 必须保持启用状态。有关使用 LOFS 的指导信息以及它的各种禁用方法,请参见群集文件系统


    从 Sun Cluster 3.2 发行版开始,默认情况下进行 Sun Cluster 软件的安装或升级过程中将不再禁用 LOFS。要禁用 LOFS,请确保 /etc/system 文件中包含以下条目:


    exclude:lofs

    下次重新引导系统时,此更改将生效。

  18. 如果需要,手动升级不是产品介质上提供的任何定制数据服务。

  19. 检验是否已成功安装每个数据服务更新。

    查看在升级输出消息结束时提到的升级日志文件。

  20. 安装所有的 Sun Cluster 3.2 框架和数据服务软件修补程序。

    有关修补程序和安装说明所在的位置,请参见《Sun Cluster 3.2 发行说明(适用于 Solaris OS)》中的“修补程序和所需的固件级别”

  21. 升级群集上安装的软件应用程序。

    确保应用程序的级别与当前版本的 Sun Cluster 和 Solaris 软件兼容。有关安装说明,请参阅您的应用程序文档。

  22. (可选的)重新配置专用网络地址范围。

    如果要扩大或缩小专用互连所用的 IP 地址范围的大小,请执行以下步骤。所配置的 IP 地址范围至少应能支持群集中的节点数和专用网络数。有关更多信息,请参见专用网络

    1. 从一个节点启动 clsetup 实用程序。

      在非群集模式下运行时,clsetup 实用程序会为非群集模式操作显示“主菜单”。

    2. 键入“更改 IP 地址范围”选项所对应的编号,然后按 Return 键。

      clsetup 实用程序显示当前专用网络配置,然后询问您是否要更改此配置。

    3. 要更改专用网络 IP 地址或 IP 地址范围,请键入 yes,然后按 Return 键。

      clsetup 实用程序将显示默认专用网络 IP 地址 172.16.0.0,并询问您是否接受此默认值。

    4. 更改或接受此专用网络 IP 地址。

      • 要接受默认专用网络 IP 地址并进行 IP 地址范围更改,请键入 yes,然后按 Return 键。

        clsetup 实用程序将询问您是否接受默认网络掩码。请跳到下一步输入您的响应。

      • 要更改默认专用网络 IP 地址,请执行以下子步骤。

        1. 对于 clsetup 实用程序询问的是否接受默认地址的问题,键入 no 作为响应,然后按 Return 键。

          clsetup 实用程序将提示您输入新的专用网络 IP 地址。

        2. 键入新的 IP 地址,然后按 Return 键。

          clsetup 实用程序显示默认网络掩码,然后询问您是否接受该默认网络掩码。

    5. 更改或接受默认专用网络 IP 地址范围。

      默认网络掩码为 255.255.248.0。此默认 IP 地址范围支持在群集中包含最多 64 个节点和最多 10 个专用网络。

      • 要接受该默认 IP 地址范围,请键入 yes,然后按 Return 键。

        然后跳到下一步。

      • 要更改该 IP 地址范围,请执行以下子步骤。

        1. 对于 clsetup 实用程序询问的是否接受默认地址范围的问题,键入 no 作为响应,然后按 Return 键。

          如果您拒绝默认网络掩码,clsetup 实用程序将提示您输入期望在群集中配置的节点数目和专用网络数目。

        2. 输入您期望在群集中配置的节点数目和专用网络数目。

          clsetup 实用程序将根据这些数值计算出两个网络掩码供选择:

          • 第一个网络掩码是支持指定节点数目和专用网络数目的最小网络掩码。

          • 第二个网络掩码可支持两倍于指定值的节点数目和专用网络数目,从而适应未来可能出现的增长情况。

        3. 指定上述任一网络掩码,或另外指定一个可支持预期节点数目和专用网络数目的网络掩码。

    6. 对于 clsetup 实用程序询问的是否继续进行更新的问题,键入 yes 作为响应。

    7. 完成后,退出 clsetup 实用程序。

  23. 完成对群集中所有节点的升级后,重新引导已升级的各节点。

    1. 关闭各个节点。


      phys-schost# shutdown -g0 -y
      
    2. 将每个节点都引导到群集模式下。

      • 在基于 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.

        有关基于 GRUB 进行引导的更多信息,请参见《System Administration Guide: Basic Administration》中的第 11  章 “GRUB Based Booting (Tasks)”

接下来的操作

请转至如何检验 Sun Cluster 3.2 软件的升级

进行到 Sun Cluster 3.2 软件的双分区升级

本节提供了以下使用双分区升级方法从 Sun Cluster 3.1 发行版升级到 Sun Cluster 3.2 软件的信息:

下表列出了从 Sun Cluster 3.1 软件升级为 Sun Cluster 3.2 软件所需执行的各项任务。仅需升级 Solaris OS 的版本时,也应执行这些任务。如果要将 Solaris OS 从 Solaris 9 升级到 Solaris 10 软件,还必须将 Sun Cluster 软件及从属软件升级到与新版 Solaris OS 兼容的版本。

表 8–2 任务表:进行到 Sun Cluster 3.2 软件的双分区升级

任务 

参考 

1. 阅读升级要求和限制。根据您的配置和需要确定适当的升级方法。 

升级要求和软件支持指导信息

选择 Sun Cluster 升级方法

2. 将群集划分为两组节点。 

如何为群集做好升级(双分区)准备

3. 如果需要,将 Solaris 软件升级到支持的 Solaris 更新版。如果群集使用用于 Solaris Volume Manager 软件的双串调解器,则取消配置调解器。根据需要升级 VERITAS Volume Manager (VxVM) 和 VERITAS 文件系统 (VxFS)。Solaris Volume Manager 软件会随着 Solaris OS 自动升级。 

如何升级 Solaris OS 和卷管理器软件(双分区)

4. 升级到 Sun Cluster 3.2 框架和数据服务软件。如果需要,升级应用程序。如果群集使用双串调解器并且您升级了 Solaris OS,则应重新配置这些调解器。如果升级了 VxVM,应升级磁盘组。 

如何升级 Sun Cluster 3.2 软件(双分区)

5. 检验是否成功完成到 Sun Cluster 3.2 软件的升级。 

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

6. 启用资源并使资源组联机。将现有资源移植到新的资源类型(此操作可选)。 

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

7.(可选)SPARC:如果需要,升级用于 Sun Management Center 的 Sun Cluster 模块。

SPARC: 如何升级针对 Sun Management Center 的 Sun Cluster 模块软件

Procedure如何为群集做好升级(双分区)准备

要使群集做好进行双分区升级的准备,请执行以下过程。此过程将两组节点分别称为第一分区和第二分区。升级第一分区中的节点时,分配给第二分区的节点将继续运行群集服务。第一分区中的所有节点升级完成后,需将群集服务切换到第一分区,然后升级第二分区。第二分区中的所有节点升级完成后,应引导这些节点进入群集模式,使其重新加入第一分区中的节点。


注 –

如果要升级单节点群集,请不要使用此升级方法。而应转至如何为群集做好升级(标准)准备如何为群集做好升级(动态升级)准备


在 Solaris 10 OS 上,所有步骤只应在全局区域中执行。

开始之前

请执行以下任务:

  1. 确保群集运行正常。

    1. 从任一节点上运行以下命令,以查看群集的当前状态。


      % scstat
      

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

    2. 在位于同一节点的 /var/adm/messages 日志中搜索未解决的错误消息或警告消息。

    3. 检查卷管理器的状态。

  2. 如有必要,请通知用户群集服务在升级过程中可能会暂时中断。

    服务中断时间与正常情况下群集将服务切换至其他节点所花费的时间大致相当。

  3. 成为群集中一个节点上的超级用户。

  4. 对于使用 Sun StorEdge Availability Suite 软件或 Sun StorageTek Availability Suite 软件的双节点群集,请确保可用性服务的配置数据驻留在法定磁盘上。

    配置数据必须驻留在法定磁盘上,以确保 Availability Suite 能够在您升级群集软件后正常运行。

    1. 在运行 Availability Suite 软件的群集中,成为某一节点上的超级用户。

    2. 确定 Availability Suite 配置文件所使用的设备 ID 和分片。


      phys-schost# /usr/opt/SUNWscm/sbin/dscfg
      /dev/did/rdsk/dNsS
      

      在此输出示例中,N 为设备 ID,S 为设备 N 的片。

    3. 确定现有的法定设备。


      phys-schost# scstat -q
      -- 按设备计算的法定选票 --
                           设备名称                 现有的    可能的    状态
                           -----------         ------- -------- ------
         设备选票:     /dev/did/rdsk/dQsS  1       1        联机

      在此输出示例中,dQsS 为现有的法定设备。

    4. 如果法定设备与 Availability Suite 配置数据所在设备不是同一设备,请将配置数据移到法定设备的某个可用分片上。


      phys-schost# dd if=`/usr/opt/SUNWesm/sbin/dscfg` of=/dev/did/rdsk/dQsS
      

      注 –

      必须使用原始 DID 设备的名称 /dev/did/rdsk/,而不能使用块 DID 设备的名称 /dev/did/dsk/


    5. 如果移动了配置数据,请配置 Availability Suite 软件以使用新位置。

      在运行 Availability Suite 软件的每个节点上,以超级用户的身份发出以下命令。


      phys-schost# /usr/opt/SUNWesm/sbin/dscfg -s /dev/did/rdsk/dQsS
      
  5. 如果将升级 Solaris OS,并且群集为 Solaris Volume Manager 软件使用了双串调解器,请取消这些调解器的配置。

    有关调解器的更多信息,请参见配置双串调解器

    1. 运行以下命令来检验不存在任何调解器数据问题。


      phys-schost# medstat -s setname
      
      -s setname

      指定磁盘集名称。

      如果“状态”字段中的值为 Bad,则修复受影响的调解器主机。请按照如何修正错误的调解器数据中的过程执行。

    2. 列出所有调解器。

      请保存此信息,以便在执行如何完成到 Sun Cluster 3.2 软件的升级过程期间用来恢复调解器。

    3. 对于使用调解器的磁盘组,如果任何节点都不具有拥有权,请获取磁盘组的拥有权。


      phys-schost# scswitch -z -D setname -h node
      
      -z

      更改控制权。

      -D devicegroup

      指定磁盘集的名称。

      -h node

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

    4. 取消配置用于磁盘集的所有调解器。


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

      指定磁盘集名称。

      -d

      从磁盘集删除。

      -m mediator-host-list

      指定要作为磁盘集的调解器主机进行删除的节点的名称。

      有关 metaset 命令特定于调解器的选项的详细信息,请参见 mediator(7D) 手册页。

    5. 对其余每个使用调解器的磁盘集重复执行步骤 c 至步骤 d。

  6. 如果正在通过版本不低于 4.4 的 Sun Java System Application Server EE (HADB) 软件运行 Sun Cluster HA for Sun Java System Application Server EE (HADB) 数据服务,请禁用 HADB 资源并关闭 HADB 数据库。

    如果正在运行的 Sun Java System Application Server EE (HADB) 软件版本低于 4.4,则可跳过此步骤。

    由于某个群集分区在升级过程中停止运行时,活动分区中的节点数不足以满足 HADB 的成员要求;因此,开始对群集进行分区之前,必须先停止 HADB 数据库并禁用 HADB 资源。


    phys-schost# hadbm stop database-name
    phys-schost# scswitch -n -j hadb-resource
    

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

  7. 如果要升级双节点群集,请跳至步骤 16

    否则,请继续执行步骤 8 以确定要使用的分区方案。首先确定每个分区将包含哪些节点,虽然这会中断分区进程。然后将所有资源组的节点列表与将使用的方案中各分区的节点成员进行比较。如果有任何资源组未包含各分区中的某一成员,则必须更改其节点列表。

  8. 将 Sun Java Availability Suite DVD-ROM 放入 DVD-ROM 驱动器。

    如果卷管理守护进程 vold(1M) 正在运行并且被配置为管理 CD-ROM 或 DVD 设备,则此守护进程会自动在 /cdrom/cdrom0/ 目录中挂载相应的介质。

  9. 切换到 Solaris_arch/Product/sun_cluster/Solaris_ver/Tools/ 目录,其中 archsparcx86 (仅用于 Solaris 10)以及 ver9 代表 Solaris 9 或 10 代表 Solaris 10。


    phys-schost# cd /cdrom/cdrom0/Solaris_arch/Product/sun_cluster/Solaris_ver/Tools
    
  10. 在交互模式下启动 scinstall 实用程序。


    phys-schost# ./scinstall
    

    注 –

    请不要使用节点上已安装的 /usr/cluster/bin/scinstall 命令。必须使用 Sun Java Availability Suite DVD-ROM 上的 scinstall 命令。


    将显示 scinstall 的“主菜单”。

  11. 键入与“管理双分区升级”选项对应的编号,然后按 Return 键。


    *** 主菜单 ***
    
        请选择以下某一带 (*) 的选项:
    
            1) 创建新群集或添加群集节点
            2) 将群集配置为从此安装服务器中快速启动
          * 3) 管理双分区升级
          * 4) 升级此群集节点
          * 5) 打印此群集节点的发行信息
     
          * ?) 菜单选项中的帮助
          * q) 退出
    
        选项:3
    

    将显示“管理双分区升级”菜单。

  12. 键入与“显示并选择可能的分区方案”选项对应的编号,然后按 Return 键。

  13. 根据提示执行以下任务:

    1. 显示可用于您的群集的分区方案。

    2. 选择一个分区方案。

    3. 选择要首先升级哪个分区。


      注 –

      当出现“是否要开始进行双分区升级?”的提示时,请停在此处暂响应,但也不要退出 scinstall 实用程序。将在此过程的步骤 18 中响应该提示。


  14. 记录分区方案中各分区所含的节点。

  15. 在群集中的其他节点上,成为超级用户。

  16. 确保所有重要的数据服务均可在分区之间进行切换。

    对于双节点群集,各节点将成为其分区中的唯一节点。

    当关闭某一分区中的节点以准备进行双分区升级时,在这些节点上托管的资源组将切换到另一分区中的某个节点上。如果一个资源组的节点列表中未包含各分区中的任何节点,则该资源组将无法进行切换。要确保成功切换所有重要的数据服务,请检验相关资源组的节点列表中是否包含各升级分区中的成员。

    1. 对于需要在整个升级过程中一直处于运行状态的每个资源组,显示其节点列表。


      phys-schost# scrgadm -pv -g resourcegroup | grep "Res Group Nodelist"
      
      -p

      显示配置信息。

      -v

      以详细模式显示。

      -g resourcegroup

      指定资源组的名称。

    2. 如果资源组的节点列表内未包含各分区中的成员(每个分区至少一个),请重新定义节点列表,以将各分区的成员作为潜在主节点包含在内。


      phys-schost# scrgadm -a -g resourcegroup -h nodelist
      
      -a

      添加新配置。

      -h

      指定以逗号分隔的节点名称列表。

  17. 确定下一步的操作。

    • 如果要升级双节点群集,请返回步骤 8步骤 13 以指定分区方案和升级顺序。

      当看到提示“是否要开始进行双分区升级?”时,请跳至步骤 18

    • 如果要升级具有三个或更多节点的群集,请返回到正在运行交互式 scinstall 实用程序的节点。

      继续执行步骤 18

  18. 当交互式 scinstall 显示“是否要开始进行双分区升级?”的提示时,请键入 Yes

    该命令将检验远程安装方法是否可用。

  19. 当出现提示时,请按 Enter 键继续进行双分区升级的各阶段准备工作。

    该命令会将资源组切换到第二分区中的节点上,然后关闭第一分区中的各个节点。

  20. 关闭第一分区中的所有节点之后,将该分区中的各节点引导进入非群集模式。

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


      ok boot -x
      
    • 在运行 Solaris 9 OS 的基于 x86 的系统上,执行以下任一命令:


      phys-schost# reboot -- -xs
      
      ...
                            <<< Current Boot Parameters >>>
      Boot path: /pci@0,0/pci-ide@7,1/ata@1/cmdk@0,0:b
      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 -xs
      
    • 在基于 x86 且正在运行 Solaris 10 OS 的系统中,执行以下命令:

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


  21. 如果第二分区中正在运行的任何应用程序不受 资源组管理器 (RGM) 的控制,则在开始升级该分区的节点之前,请先创建脚本来停止这些应用程序。

    在进行双分区升级的过程中,应先调用这些脚本来停止诸如 Oracle RAC 之类的应用程序,然后再停止第二分区中的节点。

    1. 创建用于停止不受 RGM 控制的应用程序所需的脚本。

      • 对于受 RGM 控制的应用程序,请依据它们的停止时间,分别为要在此前停止的那些应用程序和要在此后停止的那些应用程序创建不同的脚本。

      • 要停止分区中多个节点上正在运行的应用程序,请编写相应的脚本。

      • 可根据个人意愿为脚本使用任何名称和目录路径。

    2. 确保群集中的每个节点本地上都有脚本副本。

    3. 在每个节点上,修改以下 Sun Cluster 脚本来调用在该节点上放置的脚本。

      • /etc/cluster/ql/cluster_pre_halt_apps - 此文件用于调用您希望在关闭受 RGM 控制的应用程序之前运行的那些脚本。

      • /etc/cluster/ql/cluster_post_halt_apps - 此文件用于调用您希望在关闭受 RGM 控制的应用程序之后运行的那些脚本。

      由于 Sun Cluster 脚本将在分区的升级后处理过程中从分区内的任意一个节点上发出,因此,必须确保分区中任一节点上的脚本都可以为分区中的所有节点执行必要的操作。

接下来的操作

升级第一分区中各节点上的软件。

Procedure如何升级 Solaris OS 和卷管理器软件(双分区)

请在群集中的每个节点上执行以下过程来升级 Solaris OS。在 Solaris 10 OS 上,所有步骤只应在全局区域中执行。如果群集已经是在支持 Sun Cluster 3.2 软件的 Solaris OS 版本上运行,则进一步升级 Solaris OS 为可选操作。如果不打算升级 Solaris OS,请继续执行如何升级 Sun Cluster 3.2 软件(标准)


注 –

为了支持到 Sun Cluster 3.2 软件的升级,群集已运行的或将升级到的 Solaris OS 版本决不能低于所要求的最低级别。有关更多信息,请参见《Sun Cluster 3.2 发行说明(适用于 Solaris OS)》中的 "Supported Products"。


开始之前

确保已完成了如何为群集做好升级(标准)准备包含的所有步骤。

  1. 成为要进行升级的群集节点上的超级用户。

    此节点必须是处于非群集模式的分区中的成员。

  2. 如果安装了 Sun Cluster Geographic Edition 软件,请将其卸载。

    有关卸载过程,请参见您的 Sun Cluster Geographic Edition 软件版本所对应的文档。

  3. 确定以下 Apache 运行控制脚本是否存在,以及如果存在,是处于启用状态还是禁用状态:


    /etc/rc0.d/K16apache
    /etc/rc1.d/K16apache
    /etc/rc2.d/K16apache
    /etc/rc3.d/S50apache
    /etc/rcS.d/K16apache

    某些应用程序(例如 Sun Cluster HA for Apache)要求禁用 Apache 运行控制脚本。

    • 如果这些脚本存在,并且文件名中包含一个大写的 KS,则说明它们已启用。不需要对这些脚本进行进一步的操作。

    • 如果这些脚本不存在,则执行步骤 8 时必须确保禁用在 Solaris OS 升级过程中安装的所有 Apache 运行控制脚本。

    • 如果这些脚本存在,但文件名中包含一个小写的 ks,则说明它们已禁用。执行步骤 8 时必须确保禁用在 Solaris OS 升级过程中安装的所有 Apache 运行控制脚本。

  4. 在节点的 /etc/vfstab 文件中注释掉全局挂载文件系统的所有条目。

    1. 为供以后参考,请记录已注释掉的所有条目。

    2. 暂时将 /etc/vfstab 文件中有关全局挂载文件系统的所有条目注释掉。

      全局装载的文件系统的条目包括 global 装载选项。注释掉这些条目可防止 Solaris 升级程序装载全局设备。

  5. 确定升级 Solaris OS 要遵循的过程。

    卷管理器 

    过程 

    说明的位置 

    Solaris Volume Manager 

    动态升级方法之外的任一 Solaris 升级方法

    Solaris 安装文档 

    VERITAS Volume Manager 

    “升级 VxVM 和 Solaris” 

    VERITAS Volume Manager 安装文档 


    注 –

    如果群集中安装了 VxVM,则作为 Solaris 升级过程的一部分,必须重新安装现有的 VxVM 软件或升级到 Solaris 9 或 10 版本的 VxVM 软件。


  6. 按照在步骤 5 中选择的过程升级 Solaris 软件。

    1. 出现提示时,选择手动重新引导选项。

    2. 提示您重新引导时,务必要重新引导到非群集模式下。


      注 –

      请勿在 Solaris 软件升级时执行最终重新引导指令。而是可以按照下述步骤进行操作:

      1. 返回到此过程,执行步骤 7步骤 8

      2. 步骤 9 中重新引导进入非群集模式,以完成 Solaris 软件升级。


      在 Solaris 升级过程中,执行以下命令将节点引导进入非群集模式:

      • 在基于 SPARC 的系统上,执行以下命令中的任何一个:


        phys-schost# reboot -- -xs
        
        ok boot -xs
        

        如果指示您运行 init S 命令,请使用 reboot -- -xs 命令。

      • 在基于 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. 在引导参数屏幕中,使用方向键选择 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 选项添加到 kernel 引导参数命令中。


        如果指示您运行 init S 命令,请关闭系统,然后将 GRUB kernel 引导命令改为 /platform/i86pc/multiboot -sx

  7. /a/etc/vfstab 文件中,取消注释您在步骤 4 中注释掉的那些全局挂载文件系统条目。

  8. 如果在升级 Solaris 操作系统之前已禁用 Apache 运行控制脚本或其不存在,请确保禁用在 Solaris 升级期间安装的所有脚本。

    要禁用 Apache 运行控制脚本,请运行以下命令用小写的 ks 来重命名各文件。


    phys-schost# mv /a/etc/rc0.d/K16apache /a/etc/rc0.d/k16apache 
    phys-schost# mv /a/etc/rc1.d/K16apache /a/etc/rc1.d/k16apache
    phys-schost# mv /a/etc/rc2.d/K16apache /a/etc/rc2.d/k16apache
    phys-schost# mv /a/etc/rc3.d/S50apache /a/etc/rc3.d/s50apache
    phys-schost# mv /a/etc/rcS.d/K16apache /a/etc/rcS.d/k16apache
    

    或者,可以按照正常的管理做法重命名这些脚本以使其一致。

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

    • 在基于 SPARC 的系统上,执行以下命令。

      在命令中包含长破折号 (--):


      phys-schost# reboot -- -x
      
    • 在基于 x86 的系统上,执行步骤 6 中介绍的关机过程和引导过程,但要在 kernel 引导命令中添加 -x,而不是 -sx

  10. 如果群集运行 VxVM,请执行“升级 VxVM 和 Solaris”过程中的其余步骤来重新安装或升级 VxVM。

    对该过程进行以下更改:

    • 在完成 VxVM 升级之后、重新引导之前,请检验 /etc/vfstab 文件中的条目。

      如果在步骤 7 中取消注释的任何条目又被注释掉,请再次取消对这些条目的注释。

    • 当 VxVM 过程提示您执行最终重新配置重新引导时,请勿使用 -r 选项。请使用 -rx 选项重新引导为非群集模式。

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


        phys-schost# reboot -- -rx
        
      • 在基于 x86 的系统上,执行步骤 6 中介绍的关机过程和引导过程,但要在 kernel 引导命令中添加 -rx,而不是 -sx


    注 –

    如果您看到类似以下内容的消息,请键入 root 用户口令来继续执行升级进程。不要运行 fsck 命令,也不要按 Ctrl-D


    WARNING - Unable to repair the /global/.devices/node@1 filesystem. 
    Run fsck manually (fsck -F ufs /dev/vx/rdsk/rootdisk_13vol). Exit the 
    shell when done to continue the boot process.
    
    Type control-d to proceed with normal startup,
    (or give root password for system maintenance):  Type the root password
    

  11. (可选的)SPARC:升级 VxFS。

    按照 VxFS 文档中提供的过程进行操作。

  12. 安装任何所需的 Solaris 软件修补程序和与硬件相关的修补程序,并下载硬件修补程序中所包含的任何所需固件。


    注 –

    在添加了修补程序之后不要重新引导。等待到升级 Sun Cluster 软件之后重新引导节点。


    有关修补程序和安装说明所在的位置,请参见《Sun Cluster 3.2 发行说明(适用于 Solaris OS)》中的“修补程序和所需的固件级别”

接下来的操作

升级到 Sun Cluster 3.2 软件。请转至如何升级 Sun Cluster 3.2 软件(双分区)


注 –

要完成到新的 Solaris OS 销售发行版的升级(如从 Solaris 9 升级到 Solaris 10 软件),还必须将 Sun Cluster 软件和从属软件升级到与新版 Solaris OS 兼容的版本。


Procedure如何升级 Sun Cluster 3.2 软件(双分区)

执行此过程将群集的每个节点都升级到 Sun Cluster 3.2 软件。此过程还会升级所需的 Sun Java Enterprise System 共享组件。升级到其他的 Solaris OS 销售发行版(如从 Solaris 9 升级到 Solaris 10 软件)后,也必须执行此过程。

在 Solaris 10 OS 上,所有步骤只应在全局区域中执行。


提示 –

可以同时在分区中的多个节点上执行此过程。


开始之前

请执行以下任务:

  1. 在一节点上成为超级用户,该节点应该是处于非群集模式的分区中的成员。

  2. 确保 /usr/java/ 目录为指向最低或最新版本的 Java 软件的符号链接。

    Sun Cluster 软件要求 Java 软件的版本不低于 1.5.0_06。如果升级后的 Solaris 版本安装的是较低的 Java 版本,则升级过程可能已将符号链接更改为指向不符合 Sun Cluster 3.2 软件最低要求的 Java 版本。

    1. 确定 /usr/java/ 目录的符号链接指向的目录。


      phys-schost# ls -l /usr/java
      lrwxrwxrwx   1 root   other    9 Apr 19 14:05 /usr/java -> /usr/j2se/
    2. 确定安装了哪个或哪些版本的 Java 软件。

      下面是一些命令示例,这些命令可用于显示相关 Java 软件的版本。


      phys-schost# /usr/j2se/bin/java -version
      phys-schost# /usr/java1.2/bin/java -version
      phys-schost# /usr/jdk/jdk1.5.0_06/bin/java -version
      
    3. 如果未将 /usr/java/ 目录符号链接到受支持的 Java 软件版本,请重新创建链接到受支持的 Java 软件版本的符号链接。

      以下示例显示了为包含 Java 1.5.0_06 软件的 /usr/j2se/ 目录创建符号链接的过程。


      phys-schost# rm /usr/java
      phys-schost# ln -s /usr/j2se /usr/java
      
  3. 将 Sun Java Availability Suite DVD-ROM 放入 DVD-ROM 驱动器。

    如果卷管理守护进程 vold(1M) 正在运行并且被配置为管理 CD-ROM 或 DVD 设备,则此守护进程会自动在 /cdrom/cdrom0/ 目录中挂载相应的介质。

  4. 更改到 DVD-ROM 的 安装向导 目录。

    • 如果是在 SPARC 平台上安装软件包,请键入以下命令:


      phys-schost# cd /cdrom/cdrom0//Solaris_sparc
      
    • 如果是在 x86 平台上安装软件包,请键入以下命令:


      phys-schost# cd /cdrom/cdrom0//Solaris_x86
      
  5. 启动 安装向导 程序。


    phys-schost# ./installer
    
  6. 按照屏幕上的说明在节点上选择并升级共享组件软件包。


    注 –

    不要使用安装向导程序来升级 Sun Cluster 软件包。


    安装向导 程序将显示安装的状态。当安装完成时,程序会显示安装摘要和安装日志。

  7. 退出 安装向导 程序。

  8. 切换到 Solaris_arch/Product/sun_cluster/Solaris_ver/Tools/ 目录,其中 archsparcx86 (仅用于 Solaris 10)以及 ver9 代表 Solaris 9 或 10 代表 Solaris 10。


    phys-schost# cd /cdrom/cdrom0/Solaris_arch/Product/sun_cluster/Solaris_ver/Tools
    
  9. 启动 scinstall 实用程序。


    phys-schost# ./scinstall
    

    注 –

    请不要使用节点上已安装的 /usr/cluster/bin/scinstall 命令。必须使用 Sun Java Availability Suite DVD-ROM 中的 scinstall 命令。


    将显示 scinstall 的“主菜单”。

  10. 键入与“升级此群集节点”选项对应的编号,然后按 Return 键。


     *** 主菜单 ***
    
        请选择以下某一带 (*) 的选项:
    
          * 1) 创建新群集或添加群集节点
            2) 将群集配置为从此安装服务器中快速启动
            3) 管理双分区升级
            4) 升级此群集节点
          * 5) 打印此群集节点的发行信息
     
          * ?) 菜单选项中的帮助
          * q) 退出
    
        选项: 4
    

    将显示“升级菜单”。

  11. 键入与“升级此节点上的 Sun Cluster 框架”选项对应的编号,然后按 Return 键。

  12. 按照菜单提示升级群集框架。

    在 Sun Cluster 的升级过程中,scinstall 可能会进行以下一项或多项配置更改:

    当系统显示“完成 Sun Cluster 框架升级”消息并提示您按 Enter 键继续时,即表示升级过程已完成。

  13. 退出 scinstall 实用程序。

  14. 从 DVD-ROM 驱动器中取出 Sun Java Availability Suite DVD-ROM。

    1. 要确保 DVD-ROM 不在使用,更改到属于 DVD-ROM 的目录。

    2. 弹出 DVD-ROM。


      phys-schost# eject cdrom
      
  15. 升级数据服务软件包。

    必须将所有数据服务升级为 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》


    1. 启动升级后的交互式 scinstall 实用程序。


      phys-schost# /usr/cluster/bin/scinstall
      

      注 –

      请不要使用安装介质上的 scinstall 实用程序来升级数据服务软件包。


      将显示 scinstall 的“主菜单”。

    2. 键入与“升级此群集节点”选项对应的编号,然后按 Return 键。

      将显示“升级菜单”。

    3. 键入与“升级此节点上的 Sun Cluster 数据服务代理”选项对应的编号,然后按 Return 键。

    4. 按照菜单提示升级节点上安装的 Sun Cluster 数据服务代理。

      可以从可用于升级的数据服务列表中选择要升级的数据服务或者选择升级所有已安装的数据服务。

      当系统显示“已完成 Sun Cluster 数据服务代理升级”消息并提示您按 Enter 键继续时,即表示升级过程已完成。

    5. 请按 Enter 键。

      将显示“升级菜单”。

  16. 退出 scinstall 实用程序。

  17. 如果在具有高可用性的本地文件系统上配置了 Sun Cluster HA for NFS,请确保禁用回送文件系统 (Loopback File System, LOFS)。


    注 –

    如果配置了非全局区域,则 LOFS 必须保持启用状态。有关使用 LOFS 的指导信息以及它的各种禁用方法,请参见群集文件系统


    从 Sun Cluster 3.2 发行版开始,默认情况下进行 Sun Cluster 软件的安装或升级过程中将不再禁用 LOFS。要禁用 LOFS,请确保 /etc/system 文件中包含以下条目:


    exclude:lofs

    下次重新引导系统时,此更改将生效。

  18. 如果需要,手动升级不是产品介质上提供的任何定制数据服务。

  19. 检验是否已成功安装每个数据服务更新。

    查看在升级输出消息结束时提到的升级日志文件。

  20. 安装所有的 Sun Cluster 3.2 框架和数据服务软件修补程序。

    有关修补程序和安装说明所在的位置,请参见《Sun Cluster 3.2 发行说明(适用于 Solaris OS)》中的“修补程序和所需的固件级别”

  21. 升级群集上安装的软件应用程序。

    确保应用程序的级别与当前版本的 Sun Cluster 和 Solaris 软件兼容。有关安装说明,请参阅您的应用程序文档。

  22. 完成对分区中所有节点的升级之后,应用升级更改。

    1. 从正在进行升级的分区中的某一节点上,启动交互式 scinstall 实用程序。


      phys-schost# /usr/cluster/bin/scinstall
      

      注 –

      不要使用安装介质中的 scinstall 命令。只应使用群集节点上的 scinstall 命令。


      将显示 scinstall 的“主菜单”。

    2. 键入与“将双分区升级更改应用到该分区”选项对应的编号,然后按 Return 键。

    3. 按照提示继续进行各阶段的升级处理过程。

      该命令将根据运行它的具体分区执行以下任务:

      • 第一分区 - 该命令将停止第二分区中的每个节点(每次停止一个节点)。停止一个节点时,如果相关资源组的节点列表中包含第一分区内的节点,则该节点上的所有服务都将自动切换到第一分区中的节点上。待停止第二分区中的所有节点后,第一分区中的节点会被引导进入群集模式,并接管已有的群集服务。

      • 第二分区 - 该命令会将第二分区中的节点引导进入群集模式,以加入由第一分区组成的活动群集。待所有节点均重新加入群集后,该命令将执行最终处理过程,并报告升级的状态。

    4. 如果 scinstall 实用程序仍在运行,请退出该程序。

    5. 如果完成了对第一分区的升级,请执行以下子步骤以使第二分区做好升级前的准备。

      反之,如果完成了对第二分区的升级,请继续执行如何检验 Sun Cluster 3.2 软件的升级

      1. 将第二分区中的各节点引导进入非群集模式。

        • 在基于 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 进行引导的更多信息,请参见《System Administration Guide: Basic Administration》中的第 11  章 “GRUB Based Booting (Tasks)”

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


      2. 升级第二分区中的节点。

        如果进行 Sun Cluster 软件的升级之前要升级 Solaris 软件,请转至如何升级 Solaris OS 和卷管理器软件(双分区)

        否则,升级第二分区中的 Sun Cluster 软件。返回到步骤 1

接下来的操作

请转至如何检验 Sun Cluster 3.2 软件的升级

故障排除

如果在双分区升级过程中遇到不可修复的错误,请执行如何从失败的双分区升级中恢复中介绍的恢复过程。

进行到 Sun Cluster 3.2 软件的动态升级

本节提供了以下使用动态升级方法从 Sun Cluster 3.1 软件升级到 Sun Cluster 3.2 软件的信息:

下表列出了从 Sun Cluster 3.1 软件升级为 Sun Cluster 3.2 软件所需执行的各项任务。仅需升级 Solaris OS 的版本时,也应执行这些任务。如果要将 Solaris OS 从 Solaris 9 升级到 Solaris 10 软件,还必须将 Sun Cluster 软件及从属软件升级到与新版 Solaris OS 兼容的版本。

表 8–3 任务表:进行到 Sun Cluster 3.2 软件的动态升级

任务 

参考 

1. 阅读升级要求和限制。根据您的配置和需要确定适当的升级方法。 

升级要求和软件支持指导信息

选择 Sun Cluster 升级方法

2. 从生产中删除群集、禁用资源并备份共享数据和系统磁盘。如果群集使用用于 Solaris Volume Manager 软件的双串调解器,则取消配置调解器。 

如何为群集做好升级(动态升级)准备

3. 如果需要,将 Solaris 软件升级到支持的 Solaris 更新版。升级到 Sun Cluster 3.2 框架和数据服务软件。如果需要,升级应用程序。如果群集使用双串调解器,则重新配置调解器。根据需要,升级 VERITAS Volume Manager (VxVM) 软件、磁盘组和 VERITAS 文件系统 (VxFS)。 

如何升级 Solaris OS 和 Sun Cluster 3.2 软件(动态升级)

4. 检验是否成功完成到 Sun Cluster 3.2 软件的升级。 

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

5. 启用资源并使资源组联机。将现有资源迁移到新资源类型。 

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

6.(可选)SPARC:如果需要,升级 Sun Management Center 的 Sun Cluster 模块。

SPARC: 如何升级针对 Sun Management Center 的 Sun Cluster 模块软件

Procedure如何为群集做好升级(动态升级)准备

要使群集做好进行动态升级的准备,请执行以下过程。

开始之前

请执行以下任务:

  1. 确保群集运行正常。

    1. 从任一节点上运行以下命令,以查看群集的当前状态。


      phys-schost% scstat
      

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

    2. 在位于同一节点的 /var/adm/messages 日志中搜索未解决的错误消息或警告消息。

    3. 检查卷管理器的状态。

  2. 如有必要,请通知用户群集服务将在升级过程中暂时中断。

    服务中断时间与正常情况下群集将服务切换至其他节点所花费的时间大致相当。

  3. 成为群集中一个节点上的超级用户。

  4. 如果安装了 Sun Cluster Geographic Edition 软件,请将其卸载。

    有关卸载过程,请参见您的 Sun Cluster Geographic Edition 软件版本所对应的文档。

  5. 对于使用 Sun StorEdge Availability Suite 软件或 Sun StorageTek Availability Suite 软件的双节点群集,请确保可用性服务的配置数据驻留在法定磁盘上。

    配置数据必须驻留在法定磁盘上,以确保 Availability Suite 能够在您升级群集软件后正常运行。

    1. 在运行 Availability Suite 软件的群集中,成为某一节点上的超级用户。

    2. 确定 Availability Suite 配置文件所使用的设备 ID 和分片。


      phys-schost# /usr/opt/SUNWscm/sbin/dscfg
      /dev/did/rdsk/dNsS
      

      在此输出示例中,N 为设备 ID,S 为设备 N 的片。

    3. 确定现有的法定设备。


      phys-schost# scstat -q
      -- 按设备计算的法定选票 --
                           设备名称                 现有的    可能的    状态
                           -----------         ------- -------- ------
         设备选票:     /dev/did/rdsk/dQsS  1       1        联机

      在此输出示例中,dQsS 为现有的法定设备。

    4. 如果法定设备与 Availability Suite 配置数据所在设备不是同一设备,请将配置数据移到法定设备的某个可用分片上。


      phys-schost# dd if=`/usr/opt/SUNWesm/sbin/dscfg` of=/dev/did/rdsk/dQsS
      

      注 –

      必须使用原始 DID 设备的名称 /dev/did/rdsk/,而不能使用块 DID 设备的名称 /dev/did/dsk/


    5. 如果移动了配置数据,请配置 Availability Suite 软件以使用新位置。

      在运行 Availability Suite 软件的每个节点上,以超级用户的身份发出以下命令。


      phys-schost# /usr/opt/SUNWesm/sbin/dscfg -s /dev/did/rdsk/dQsS
      
  6. 确保备份了所有共享数据。

  7. 确保备份了每个系统磁盘。

接下来的操作

对 Solaris OS、Sun Cluster 3.2 软件和其他软件进行动态升级。请转至如何升级 Solaris OS 和 Sun Cluster 3.2 软件(动态升级)

Procedure如何升级 Solaris OS 和 Sun Cluster 3.2 软件(动态升级)

要使用动态升级方法升级 Solaris OS、Java ES 共享组件、卷管理器软件和 Sun Cluster 软件,请执行以下过程。Sun Cluster 动态升级方法使用 Solaris Live Upgrade 功能。有关动态升级 Solaris OS 的信息,请参见您所用 Solaris 版本所对应的文档:


注 –

为了支持到 Sun Cluster 3.2 软件的升级,群集已运行的或将升级到的 Solaris OS 版本决不能低于所要求的最低级别。有关更多信息,请参见《Sun Cluster 3.2 发行说明(适用于 Solaris OS)》中的 "Supported Products"。


对群集中的每个节点执行该过程。


提示 –

可以使用 cconsole 实用程序在所有节点上同时执行此过程。有关更多信息,请参见如何在管理控制台上安装群集控制面板软件


开始之前

确保完成如何为群集做好升级(动态升级)准备介绍的所有步骤。

  1. 确保在每个节点上都安装了受支持的 Solaris Live Upgrade 软件版本。

    如果已将操作系统升级至 Solaris 9 9/05 软件或 Solaris 10 11/06 软件,则表示您已经具有了正确的 Solaris Live Upgrade 软件。如果操作系统版本较低,请执行以下步骤:

    1. 插入 Solaris 9 9/05 软件或 Solaris 10 11/06 软件介质。

    2. 成为超级用户。

    3. 安装 SUNWluu 软件包和 SUNWlur 软件包。


      phys-schost# pkgadd -d path SUNWluu SUNWlur
      
      path

      指定软件包的绝对路径。

    4. 检验是否已安装了这些软件包。


      phys-schost# pkgchk -v SUNWluu SUNWlur
      
  2. 如果将升级 Solaris OS,并且群集为 Solaris Volume Manager 软件使用了双串调解器,请取消这些调解器的配置。

    有关调解器的更多信息,请参见配置双串调解器

    1. 运行以下命令来检验不存在任何调解器数据问题。


      phys-schost# medstat -s setname
      
      -s setname

      指定磁盘集名称。

      如果“状态”字段中的值为 Bad,则修复受影响的调解器主机。请按照如何修正错误的调解器数据中的过程执行。

    2. 列出所有调解器。

      请保存此信息,以便在执行如何完成到 Sun Cluster 3.2 软件的升级过程期间用来恢复调解器。

    3. 对于使用调解器的磁盘组,如果任何节点都不具有拥有权,请获取磁盘组的拥有权。


      phys-schost# scswitch -z -D setname -h node
      
      -z

      更改控制权。

      -D devicegroup

      指定磁盘集的名称。

      -h node

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

    4. 取消配置用于磁盘集的所有调解器。


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

      指定磁盘集名称。

      -d

      从磁盘集删除。

      -m mediator-host-list

      指定要作为磁盘集的调解器主机进行删除的节点的名称。

      有关 metaset 命令特定于调解器的选项的详细信息,请参见 mediator(7D) 手册页。

    5. 对其余每个使用调解器的磁盘集重复执行步骤 c 至步骤 d。

  3. 建立非活动引导环境 (Boot Environment, BE)。


    phys-schost# lucreate options-n BE-name
    
    -n BE-name

    指定要升级的引导环境的名称。

    有关 lucreate 命令重要选项的信息,请参见《Solaris 10 安装指南:Solaris Live Upgrade 和升级规划》lucreate(1M) 手册页。

  4. 如有必要,请升级非活动 BE 中的 Solaris OS 软件。

    如果群集已经运行在安装了正确的修补程序且支持 Sun Cluster 3.2 软件的 Solaris OS 版本上,则此步骤是可选操作。

    • 如果使用 Solaris Volume Manager 软件,请运行以下命令:


      phys-schost# luupgrade -u -n BE-name -s os-image-path
      
      -u

      在引导环境中升级操作系统映像

      -s os-image-path

      指定包含操作系统映像的目录的路径名。

    • 如果使用 VERITAS Volume Manager,请按照 VxVM 安装文档中介绍的动态升级过程进行操作。

  5. 使用 lumount 命令挂载非活动 BE。


    phys-schost# lumount -n BE-name -m BE-mount-point
    
    -m BE-mount-point

    指定 BE-name 的挂载点。

    有关更多信息,请参见《Solaris 10 安装指南:Solaris Live Upgrade 和升级规划》lumount(1M) 手册页。

  6. 确保 /BE-mount-point/usr/java/ 目录是指向 Java 软件最低或最新版本的符号链接。

    Sun Cluster 软件要求 Java 软件的版本不低于 1.5.0_06。如果升级后的 Solaris 版本安装的是较低的 Java 版本,则升级过程可能已将符号链接更改为指向不符合 Sun Cluster 3.2 软件最低要求的 Java 版本。

    1. 确定 /BE-mount-point/usr/java/ 目录是指向哪个目录的符号链接。


      phys-schost# ls -l /BE-mount-point/usr/java
      lrwxrwxrwx   1 root   other    9 Apr 19 14:05 /BE-mount-point/usr/java -> /BE-mount-point/usr/j2se/
    2. 确定安装了哪个或哪些版本的 Java 软件。

      下面是一些命令示例,这些命令可用于显示相关 Java 软件的版本。


      phys-schost# /BE-mount-point/usr/j2se/bin/java -version
      phys-schost# /BE-mount-point/usr/java1.2/bin/java -version
      phys-schost# /BE-mount-point/usr/jdk/jdk1.5.0_06/bin/java -version
      
    3. 如果作为符号链接的 /BE-mount-point/usr/java/ 目录未指向支持的 Java 软件版本,请重新创建该符号链接,以链接到支持的 Java 软件版本。

      以下示例显示了为包含 Java 1.5.0_06 软件的 /usr/j2se/ 目录创建符号链接的过程。


      phys-schost# rm /BE-mount-point/usr/java
      phys-schost# cd /mnt/usr
      phys-schost# ln -s j2se java
      
  7. 应用所有必要的 Solaris 修补程序。

    可能需要先为 Solaris 软件应用修补程序,然后才可以使用 Live Upgrade 功能。有关 Solaris OS 所需的修补程序及其下载站点的详细信息,请参见《Solaris 9 9/04 Installation Guide》中的“Managing Packages and Patches With Solaris Live Upgrade”《Solaris 10 安装指南:Solaris Live Upgrade 和升级规划》中的“使用软件包或修补程序升级系统”

  8. 如有必要并且如果所使用的 VERITAS Volume Manager (VxVM) 软件版本支持动态升级,请升级 VxVM 软件。

    要确定所使用的 VxVM 版本能否采用动态升级方法,请参阅 VxVM 软件的相关文档。

  9. (可选的)SPARC:升级 VxFS。

    按照 VxFS 文档中提供的过程进行操作。

  10. 如果群集中运行有需要升级且可以使用动态升级方法进行升级的软件应用程序,请对这些软件应用程序进行升级。

    如果群集中运行有无法使用动态升级方法的软件应用程序,则稍后将在步骤 25 中对它们进行升级。

  11. 将 Sun Java Availability Suite DVD-ROM 放入 DVD-ROM 驱动器。

    如果卷管理守护进程 vold(1M) 正在运行并且被配置为管理 CD-ROM 或 DVD 设备,则此守护进程会自动在 /cdrom/cdrom0/ 目录中挂载相应的介质。

  12. 更改到 DVD-ROM 的 安装向导 目录。

    • 如果是在 SPARC 平台上安装软件包,请键入以下命令:


      phys-schost# cd /cdrom/cdrom0/Solaris_sparc
      
    • 如果是在 x86 平台上安装软件包,请键入以下命令:


      phys-schost# cd /cdrom/cdrom0/Solaris_x86
      
  13. 启动 安装向导 程序以将输出定向到一个状态文件。

    指定要赋予该状态文件的名称以及文件创建位置的绝对或相对路径。

    • 要使用图形界面创建状态文件,请使用以下命令:


      phys-schost# ./installer -no -saveState statefile
      
    • 要使用基于文本的界面创建状态文件,请使用以下命令:


      phys-schost# ./installer -no -nodisplay -saveState statefile
      

    有关更多信息,请参见《Sun Java Enterprise System 5 Installation Guide for UNIX》中的“Generating the Initial State File”

  14. 按照屏幕上的说明在节点上选择并升级共享组件软件包。

    安装向导 程序将显示安装的状态。当安装完成时,程序会显示安装摘要和安装日志。

  15. 退出 安装向导 程序。

  16. 在无提示模式下运行 installer 程序,并将安装定向到备用引导环境。


    注 –

    installer 程序的版本必须与用来创建状态文件的那个版本相同。



    phys-schost# ./installer -nodisplay -noconsole -state statefile -altroot BE-mount-point
    

    有关更多信息,请参见《Sun Java Enterprise System 5 Installation Guide for UNIX》中的“To Run the Installer in Silent Mode”

  17. 切换到 Solaris_arch/Product/sun_cluster/Solaris_ver/Tools/ 目录,其中 archsparcx86 (仅用于 Solaris 10)以及 ver9 代表 Solaris 9 或 10 代表 Solaris 10。


    phys-schost# cd /cdrom/cdrom0/Solaris_arch/Product/sun_cluster/Solaris_ver/Tools
    
  18. 使用 scinstall 命令升级 Sun Cluster 软件。


    phys-schost# ./scinstall -u update -R BE-mount-point
    
    -u update

    指定要执行 Sun Cluster 软件的升级。

    -R BE-mount-point

    指定备用引导环境的挂载点。

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

  19. 使用 scinstall 命令升级数据服务。


    phys-schost# BE-mount-point/usr/cluster/bin/scinstall -u update -s all  \
    -d /cdrom/cdrom0/Solaris_arch/Product/sun_cluster_agents -R BE-mount-point
    
  20. 从 DVD-ROM 驱动器中取出 Sun Java Availability Suite DVD-ROM。

    1. 要确保 DVD-ROM 不在使用,更改到属于 DVD-ROM 的目录。

    2. 弹出 DVD-ROM。


      phys-schost# eject cdrom
      
  21. 卸载非活动 BE。


    phys-schost# luumount -n BE-name
    
  22. 激活升级后的非活动 BE。


    phys-schost# luactivate BE-name
    
    BE-name

    步骤 3 中建立的备用 BE 的名称。

  23. 为群集中的每个节点重复执行步骤 1步骤 22


    注 –

    在非活动 BE 上完成对群集中所有节点的升级之前,请不要重新引导任何节点。


  24. 重新引导所有节点。


    phys-schost# shutdown -y -g0 -i6
    

    注 –

    请不要使用 reboothalt 命令。这些命令不能激活新 BE。只有使用 shutdowninit 才能重新引导进入新 BE。


    节点将使用升级后的新 BE 重新引导进入群集模式。

  25. (可选的)如果群集中运行有需要升级但无法使用动态升级方法进行升级的软件应用程序,请执行以下步骤。


    注 –

    在进行软件应用程序升级的整个过程中,请始终重新引导进入非群集模式,直到完成所有升级为止。


    1. 关闭该节点。


      phys-schost# shutdown -y -g0 -i0
      
    2. 将各个节点都引导成非群集模式。

      • 在基于 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 进行引导的更多信息,请参见《System Administration Guide: Basic Administration》中的第 11  章 “GRUB Based Booting (Tasks)”

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


        如果指示您运行 init S 命令,请关闭系统,然后将 GRUB kernel 引导命令改为 /platform/i86pc/multiboot -sx

    3. 升级每个需要升级的软件应用程序。

      完成对所有应用程序的升级之前,请记住当系统指示您进行重新引导时要引导进入非群集模式。

    4. 将每个节点都引导到群集模式下。

      • 在基于 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.

示例 8–1 动态升级到 Sun Cluster 3.2 软件

以下示例显示了动态升级一个群集节点的过程。此示例在基于 SPARC 的节点上进行了到 Solaris 10 OS 和 Sun Cluster 3.2 框架的升级,还进行了到所有支持动态升级方法的 Sun Cluster 数据服务的升级。在此示例中,sc31u2 是原引导环境 (Boot Environment, BE)。而升级后的新 BE 的名称为 sc32,使用的挂载点为 /sc32/net/installmachine/export/solaris10/OS_image/ 目录中包含了一个 Solaris 10 OS 映像。Java ES 安装程序的状态文件名为 sc32state

以下命令一般都会生成许多输出信息。此示例只在有必要阐明的地方才显示此类输出信息。


phys-schost# lucreate sc31u2 -m /:/dev/dsk/c0t4d0s0:ufs -n sc32
…
lucreate: Creation of Boot Environment sc32 successful.

phys-schost# luupgrade -u -n sc32 -s /net/installmachine/export/solaris10/OS_image/
The Solaris upgrade of the boot environment sc32 is complete.
应用修补程序

phys-schost# lumount sc32 /sc32
phys-schost# ls -l /sc32/usr/java
lrwxrwxrwx   1 root   other    9 Apr 19 14:05 /sc32/usr/java -> /sc32/usr/j2se/

插入 Sun Java Availability Suite DVD-ROM。
phys-schost# cd /cdrom/cdrom0/Solaris_sparc
phys-schost# ./installer -no -saveState sc32state
phys-schost# ./installer -nodisplay -noconsole -state sc32state -altroot /sc32
phys-schost# cd /cdrom/cdrom0/Solaris_sparc/sun_cluster/Sol_9/Tools
phys-schost# ./scinstall -u update -R /sc32
phys-schost# /sc32/usr/cluster/bin/scinstall -u update -s all -d /cdrom/cdrom0 -R /sc32
phys-schost# cd /
phys-schost# eject cdrom

phys-schost# luumount sc32
phys-schost# luactivate sc32
Activation of boot environment sc32 successful.
升级其他所有节点

引导所有节点
phys-schost# shutdown -y -g0 -i6
ok boot

可在此时升级那些无法使用动态升级方法的数据服务应用程序,然后再将节点重新引导至群集模式。


故障排除

DID 设备名称错误 - 在创建非活动 BE 的过程中,如果收到一个错误,指出您使用其 DID 设备名称 /dev/dsk/did/dNsX 指定的文件系统不存在,但此设备名称又的的确确是存在的,则您必须通过其物理设备名称来指定相应的设备。然后,将备用 BE 中的 vfstab 条目更改为使用 DID 设备名称。执行以下步骤:

挂载点错误 - 在创建非活动引导环境的过程中,如果收到一个错误指出您提供的挂载点尚未挂载,请挂载该挂载点,然后重新运行 lucreate 命令。

新 BE 引导错误 - 如果在引导新升级的环境时遇到问题,可以恢复原来的 BE。有关具体信息,请参见《Solaris 9 9/04 Installation Guide》中的“Failure Recovery: Falling Back to the Original Boot Environment (Command-Line Interface)”《Solaris 10 安装指南:Solaris Live Upgrade 和升级规划》中的第 10  章 “故障恢复:回退到初始引导环境(任务)”

全局设备文件系统错误 - 在升级已封装根磁盘的群集之后,初次重新引导升级后的 BE 时,您可能会在群集控制台上看到以下某一错误消息:

mount: /dev/vx/dsk/bootdg/node@1 is already mounted or /global/.devices/node@1 is busy Trying to remount /global/.devices/node@1 mount: /dev/vx/dsk/bootdg/node@1 is already mounted or /global/.devices/node@1 is busy

WARNING - Unable to mount one or more of the following filesystem(s):     /global/.devices/node@1 If this is not repaired, global devices will be unavailable. Run mount manually (mount filesystem...). After the problems are corrected, please clear the maintenance flag on globaldevices by running the following command: /usr/sbin/svcadm clear svc:/system/cluster/globaldevices:default

Dec 6 12:17:23 svc.startd[8]: svc:/system/cluster/globaldevices:default: Method "/usr/cluster/lib/svc/method/globaldevices start" failed with exit status 96. [ system/cluster/globaldevices:default misconfigured (see 'svcs -x' for details) ] Dec 6 12:17:25 Cluster.CCR: /usr/cluster/bin/scgdevs: Filesystem /global/.devices/node@1 is not available in /etc/mnttab. Dec 6 12:17:25 Cluster.CCR: /usr/cluster/bin/scgdevs: Filesystem /global/.devices/node@1 is not available in /etc/mnttab.

这些消息表明 vxio 从设备号在每个群集节点上都一样。重新指定每个节点上根磁盘组的从设备号,使每个编号在群集内保持唯一。请参见如何给设备组分配新的从设备号

接下来的操作

请转至如何检验 Sun Cluster 3.2 软件的升级

另请参见

只要需要,便可以选择一直保留原(现为非活动)引导环境。如果您对升级结果感到满意,则可以选择删除旧的环境,也可以选择将其保留并加以维护。

还可以维护非活动 BE。有关如何维护该环境的信息,请参见《Solaris 9 9/04 Installation Guide》中的第 37  章 “Maintaining Solaris Live Upgrade Boot Environments (Tasks)”《Solaris 10 安装指南:Solaris Live Upgrade 和升级规划》中的第 11  章 “维护 Solaris Live Upgrade 引导环境(任务)”

完成升级

本节提供了以下完成所有 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》

否则,已完成群集升级。

从未完成的升级中恢复

本节提供了以下从某些未完成的升级中进行恢复的信息:

Procedure如何从失败的双分区升级中恢复

如果在升级过程中遇到不可修复的错误,请执行以下过程来撤消升级。


注 –

当双分区升级遇到不可修复的错误后,您将无法重新启动该升级。


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

  2. 将各个节点都引导成非群集模式。

    • 在基于 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 进行引导的更多信息,请参见《System Administration Guide: Basic Administration》中的第 11  章 “GRUB Based Booting (Tasks)”

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


  3. 在每个节点上,运行安装介质上的升级恢复脚本。

    如果节点成功升级到了 Sun Cluster 3.2 软件,则也可选择运行 /usr/cluster/bin 目录中的 scinstall 命令。


    phys-schost# cd /cdrom/cdrom0/Solaris_arch/Product/sun_cluster/Solaris_ver/Tools
    phys-schost# ./scinstall -u recover
    
    -u

    指定升级。

    recover

    /etc/vfstab 文件和群集配置系统信息库 (Cluster Configuration Repository, CCR) 数据库恢复到它们开始进行双分区升级之前的初始状态。

    恢复进程将使群集节点处于非群集模式。请不要尝试将节点重新引导进入群集模式。

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

  4. 执行以下任务之一:

    • 从备份中恢复旧的软件,以使群集返回其初始状态。

    • 使用标准升级方法继续升级群集中的软件。

      此方法要求所有群集节点在升级过程中一直处于非群集模式。请参见标准升级的任务表:表 8–1。可以使升级恢复到双分区升级失败之前、已成功完成的标准升级过程中的最后一个任务或步骤所实现的状态。

ProcedureSPARC:如何从只完成了一部分的双分区升级中恢复

当双分区升级失败且群集状态符合下列所有条件时,请执行以下过程:

当您成功升级了第一个分区却希望撤消升级时,也可以执行此过程。


注 –

对第二个分区开始执行双分区升级过程后,请不要执行此过程,而应执行如何从失败的双分区升级中恢复


开始之前

开始之前,请确保第二分区的所有节点均已停止运行。第一分区的节点可以处于停止运行的状态,也可以是在非群集模式下运行。

请以超级用户的身份执行所有步骤。

  1. 将第二分区中的各节点引导进入非群集模式。


    # ok boot -x
    
  2. 在第二分区中的每个节点上运行 scinstall -u recover 命令。


    # /usr/cluster/bin/scinstall -u recover
    

    此命令可恢复原始 CCR 信息,恢复原始 /etc/vfstab 文件并删除修改,然后再启动节点。

  3. 将第二分区中的每个节点引导至群集模式。


    # shutdown -g0 -y -i6
    

    当第二分区中的节点均启动后,第二分区将恢复对群集数据服务的支持,同时使用原始配置来运行旧软件。

  4. 从备份介质中将原始软件和配置数据恢复到第一分区中的各节点上。

  5. 将第一分区中的每个节点引导至群集模式。


    # shutdown -g0 -y -i6
    

    这些节点将重新加入群集。

Procedurex86: 如何从只完成了一部分的双分区升级中恢复

当双分区升级失败且群集状态符合下列所有条件时,请执行以下过程:

当您成功升级了第一个分区却希望撤消升级时,也可以执行此过程。


注 –

对第二个分区开始执行双分区升级过程后,请不要执行此过程,而应执行如何从失败的双分区升级中恢复


开始之前

开始之前,请确保第二分区的所有节点均已停止运行。第一分区的节点可以处于停止运行的状态,也可以是在非群集模式下运行。

请以超级用户的身份执行所有步骤。

  1. 通过执行以下步骤,将第二分区中的每个节点引导至非群集模式。

  2. 在 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)”

  3. 在引导参数屏幕中,使用方向键选择内核条目,然后键入 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.
  4. 在命令中添加 -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
    
  5. 按 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.-
  6. 键入 b 以将节点引导至非群集模式。


    注 –

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


  7. 在第二分区中的每个节点上运行 scinstall -u recover 命令。


    # /usr/cluster/bin/scinstall -u recover
    

    此命令可恢复原始 CCR 信息,恢复原始 /etc/vfstab 文件并删除修改,然后再启动节点。

  8. 将第二分区中的每个节点引导至群集模式。


    # shutdown -g0 -y -i6
    

    当第二分区中的节点均启动后,第二分区将恢复对群集数据服务的支持,同时使用原始配置来运行旧软件。

  9. 从备份介质中将原始软件和配置数据恢复到第一分区中的各节点上。

  10. 将第一分区中的每个节点引导至群集模式。


    # shutdown -g0 -y -i6
    

    这些节点将重新加入群集。

恢复升级过程中的存储配置更改

对于在升级过程中无意更改了存储配置,本节提供以下修复过程:

Procedure如何在升级过程中处理存储重新配置

对存储拓扑进行的任何更改(包括运行 Sun Cluster 命令),都应该在将群集升级到 Solaris 9 或 Solaris 10 软件之前完成。但是,如果在升级过程中对存储拓扑进行了更改,请执行以下过程。此过程可确保新的存储配置正确且未错误地更改尚未重新配置的现有存储。


注 –

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


开始之前

确保存储拓扑是正确的。检查标记为可以替换的设备是否映射到实际替换的设备。如果设备尚未替换,请检查并更正可能的意外配置更改,例如错误的电缆连接。

  1. 在连接到未检验设备的节点上,成为超级用户。

  2. 手动更新未检验的设备。


    phys-schost# cldevice repair device
    

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

  3. 更新 DID 驱动程序。


    phys-schost# scdidadm -ui
    phys-schost# scdidadm -r
    
    -u

    将设备 ID 配置表装入内核。

    -i

    初始化 DID 驱动程序。

    -r

    重新配置数据库。

  4. 在连接到未检验设备的其他所有节点上,重复执行步骤 2步骤 3

接下来的操作

返回到其余的升级任务。请转至如何升级 Sun Cluster 3.2 软件(标准)所含的步骤 4

Procedure如何在升级过程中恢复错误的存储更改

如果在升级过程中意外更改了存储电缆连接,请执行以下过程将存储配置改回正确的状态。


注 –

此过程假设没有实际更改物理存储。如果更改或替换了物理或逻辑存储设备,请按照如何在升级过程中处理存储重新配置介绍的过程进行操作。


开始之前

将存储拓扑返回到其原来的配置。检查标记为可以替换的设备的配置,包括电缆连接。

  1. 在群集中的每个节点上,成为超级用户。

  2. 在群集中的每个节点上,更新 DID 驱动程序。


    phys-schost# scdidadm -ui
    phys-schost# scdidadm -r
    
    -u

    将设备 ID 配置表装入内核。

    -i

    初始化 DID 驱动程序。

    -r

    重新配置数据库。

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

  3. 如果在步骤 2 中运行的 scdidadm 命令返回了任何错误消息,请根据需要做进一步修改来更正存储配置,然后重复执行步骤 2

接下来的操作

返回到其余的升级任务。请转至如何升级 Sun Cluster 3.2 软件(标准)所含的步骤 4