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

从未完成的升级中恢复

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

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