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

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. 确保备份了每个系统磁盘。

接下来的操作

在每个节点上升级软件。