Sun Cluster 3.0 12/01 系统管理指南

第 7 章 修补 Sun Cluster 软件和固件

本章讲述了向 Sun Cluster 配置添加修补程序或从中删除修补程序的过程。

以下是本章中包含的过程的列表。

7.1 Sun Cluster 修补概述

鉴于群集的特性,所有群集成员节点的修补程序必须处于同一级别,这样才可保证群集能正常工作。 使用特定于 Sun Cluster 的修补程序修补节点时,可能需要先暂时取消该节点的群集成员资格或停止整个群集,然后再安装修补程序。本节对这些步骤进行了说明。

在应用 Sun Cluster 修补程序之前,请先查阅 Sun Cluster Web 页,看是否有任何特殊的说明;有关该页的当前 URL,请参阅《Sun Cluster 3.0 12/01 Release Notes》或与 Enterprise Services 部门联系。 如果没有任何特殊说明,请查阅修补程序的 README 文件。


注意:

对于特定于 Sun Cluster 的修补程序,请始终查阅修补程序的 README 文件,看其中是否有些说明需要取代本章中的有关过程。


在所有群集节点上安装修补程序分以下几种情况:


注意:

基础群集协议不会因修补程序而更改。


使用 patchadd 命令将修补程序应用到群集中,使用 patchrm 命令删除修补程序(如果可能)。

7.1.1 Sun Cluster 修补程序提示

利用下列提示可帮助您更有效地管理 Sun Cluster 修补程序:

7.2 修补 Sun Cluster

表 7-1 任务表:修补群集

任务 

有关说明,请转到... 

每次将一个不需重新引导的 Sun Cluster 修补程序应用于一个节点,同时不必停止该节点 

"7.2.3 如何应用不需重新引导的 Sun Cluster 修补程序"

使群集成员进入非群集模式后应用需重新引导的 Sun Cluster 修补程序 

"7.2.1 如何应用需重新引导的修补程序(节点)"

 

"7.2.2 如何应用需重新引导的修补程序(群集和固件)"

删除 Sun Cluster 修补程序 

- 如有必要,可以撤出该修补程序 

"7.2.4 如何删除 Sun Cluster 修补程序"

7.2.1 如何应用需重新引导的修补程序(节点)

每次将修补程序应用于群集中的一个节点,使群集本身在修补进程中保持运行状态。 在此过程中,您必须先关闭该节点并使用 boot -sx 命令将其引导到单用户模式,然后再应用修补程序。

  1. 在应用修补程序之前,查阅 Sun Cluster 产品的 Web 页中是否有关于安装前或安装后的特殊说明。

  2. 成为要应用修补程序的那个节点的超级用户。

  3. 列出所要修补的节点上的资源组和设备组。


    # scrgadm -pv
    # scstat
    

  4. 将所有资源组、资源和设备组从要修补的节点切换到其他群集成员。


    # scswitch -S -h nodelist
    

    -S

    从指定的节点中清出所有的设备组和资源组。

    -h nodelist

    指定要将其资源组和设备组进行切换的节点。

  5. 关闭节点。


    # shutdown -g0 [-y] [-i0]

  6. 将该节点引导到非群集单用户模式。


    ok boot -sx
    

  7. 应用修补程序。


    # patchadd -M patch-dir patch-id
    

    patch-dir

    指定修补程序的目录位置。

    patch-id

    指定给定修补程序的修补程序号。


    注意:

    每次都要按照修补程序目录中的、可替代本章中的过程的说明操作。


  8. 将该节点重新引导到群集中。


    # reboot
    

  9. 检验是否已成功安装修补程序。


    # showrev -p | grep patch-id
    

  10. 检验修补程序是否有效,以及该节点和群集是否正常运行。

  11. 对于其余所有群集节点,重复从步骤 2步骤 10 的操作。

  12. 根据需要,切换资源组、资源和设备组。

    在重新引导所有的节点后,最后重新引导的那个节点的资源组和设备组不会联机。


    # scswitch -z -h nodelist -D device-group
    # scswitch -z -h nodelist -g resource-group
    

    -z

    指定对资源组或设备组的控制方面的更改。

    -h nodelist

    指定将资源组和设备组切换到哪些节点。

    -D

    将指定的设备组切换到使用 -h 选项确定的节点。

    -g

    将指定的资源组切换到使用 -h 选项确定的节点。 如果未指定 -h,这些资源组将脱机。

7.2.1.1 示例 - 应用需重新引导的修补程序(节点)

以下示例显示了将一个需重新引导的 Sun Cluster 修补程序应用到一个节点的过程。


# scrgadm -pv
...
RG Name: schost-sa-1
...
# scstat
...
Device Group Name:																dg-schost-1
...
# scswitch -S -h phys-schost-2
# shutdown -g0 -y -i0
...
ok boot -sx
...
# patchadd -M /tmp/patches 234567-05
...
# reboot
...
# showrev -p | grep 234567-05
# scswitch -z -h phys-schost-1 -D dg-schost-1
# scswitch -z -h phys-schost-1 -g schost-sa-1

7.2.1.2 从此处可转到何处

如果需要撤出一个修补程序,请参阅"7.2.4 如何删除 Sun Cluster 修补程序"

7.2.2 如何应用需重新引导的修补程序(群集和固件)

在此过程中,您必须先关闭群集,并使用 boot -sx 命令将每个节点引导到单用户模式,然后才能应用修补程序。

  1. 在应用修补程序之前,查阅 Sun Cluster 产品的 Web 页,看是否有关于安装前或安装后的特殊说明。

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

  3. 关闭群集。


    # scshutdown -y -g grace-period "message"
    

    -y

    指定在出现确认提示时回答 yes

    -g grace-period

    指定关闭前等待的时间,以秒为单位。 缺省宽延期为 60 秒。

    message

    指定要广播的警告消息。 如果 message 中包含多个词,请使用引号。

  4. 将每个节点引导到非群集单用户模式。

    在每个节点的控制台上,运行以下命令。


    ok boot -sx
    

  5. 应用软件或固件的修补程序。

    每次在一个节点上运行以下命令。


    # patchadd -M patch-dir patch-id
    

    patch-dir

    指定修补程序的目录位置。

    patch-id

    指定给定修补程序的修补程序号。


    注意:

    每次都要按照修补程序目录中的、可替代本章中的过程的说明操作。


  6. 检验是否已成功地在每个节点上安装了修补程序。


    # showrev -p | grep patch-id
    

  7. 在将修补程序应用到所有节点后,将它们重新引导到群集中。

    在每个节点上运行以下命令。


    # reboot
    

  8. 检验修补程序是否有效,以及该节点和群集是否正常运行。

7.2.2.1 示例 - 应用需重新引导的修补程序(群集)

以下示例显示将一个需重新引导的 Sun Cluster 修补程序应用到一个群集的过程。


# scshutdown -g 0 -y
...
ok boot -sx
...
# patchadd -M /tmp/patches 234567-05
(Apply patch to other cluster nodes)
...
# showrev -p | grep 234567-05
# reboot

7.2.2.2 从此处可转到何处

如果需要撤出一个修补程序,请参阅"7.2.4 如何删除 Sun Cluster 修补程序"

7.2.3 如何应用不需重新引导的 Sun Cluster 修补程序

每次将修补程序应用到群集中的一个节点。 应用一个不需重新引导的修补程序时,不必首先关闭将接收此修补程序的节点。

  1. 在应用修补程序前,查阅 Sun Cluster 产品的 Web 页,看是否有关于安装前或安装后的特殊说明。

  2. 如果是数据服务修补程序,则在应用此修补程序之前先将会受到影响的数据服务从要修补的节点切换到备份节点。


    # scswitch -z -g resource-group -h node
    
  3. 在单个节点上应用修补程序。

    如果步骤 2 中切换了数据服务,则在已切换数据服务的节点上安装修补程序。


    # patchadd -M patch-dir patch-id
    

    patch-dir

    指定修补程序的目录位置。

    patch-id

    指定给定修补程序的修补程序号。

  4. 检验该修补程序是否已成功安装。


    # showrev -p | grep patch-id
    

  5. 检验修补程序是否有效,以及该节点和群集是否正常运行。

    如果步骤 2 中将数据服务切换到了备份节点上,则现在就可以将它切换回初始主节点。

  6. 对于其余所有群集节点,重复从步骤 3步骤 5 的操作。

7.2.3.1 示例 - 应用不需重新引导的 Sun Cluster 修补程序


# patchadd -M /tmp/patches 234567-05
...
# showrev -p | grep 234567-05

7.2.3.2 从此处可转到何处

如果需要撤出一个修补程序,请参阅"7.2.4 如何删除 Sun Cluster 修补程序"

7.2.4 如何删除 Sun Cluster 修补程序

在必要时,您可以撤出(删除)一个 Sun Cluster 修补程序。

  1. 成为您要从其中删除修补程序的节点的超级用户。

  2. 列出要从中删除修补程序的节点上的资源组和设备组。


    # scrgadm -pv
    # scstat
    

  3. 将要删除修补程序的节点上的所有资源组、资源和设备组切换到其他群集成员。


    # scswitch -S -h nodelist
    

    -S

    从指定的节点中清出所有的设备服务和资源组。

    -h nodelist

    指定正要从中切换资源组和设备组的节点。

  4. 关闭该节点。


    # shutdown -g0 -y -i0 "message"
    

    -g0

    指定关闭前等待的时间,以秒为单位。 缺省宽延期为 60 秒。

    -y

    指定在出现确认提示时回答 yes

    -i0

    指定初始状态 0。 这将关闭该节点并使其转到 OBP 提示符下。

    message

    指定要广播的警告消息。 如果 message 中包含多个词,请使用引号。

  5. 将该节点引导到非群集单用户模式。


    ok boot -sx
    

  6. 删除修补程序。


    # patchrm patch-id
    

    patch-id

    指定给定修补程序的修补程序号。

  7. 重新引导该节点。


    # reboot
    

  8. 检验是否已成功删除修补程序。


    # showrev -p | grep patch-id
    

  9. 检验该节点和群集是否正常运行。

  10. 对于其余所有群集节点,重复从步骤 1步骤 9 的操作。

  11. (可选)根据需要,切换资源组、资源和设备组。

    在重新引导所有的节点后,最后重新引导的那个节点的资源组和设备组不会联机。


    # scswitch -z -h nodelist -D device-group
    # scswitch -z -h nodelist -g resource-group
    

    -z

    指定对资源组或设备组的控制方面的更改。

    -h nodelist

    指定将资源组和设备组切换到哪些节点。

    -D

    将指定的设备组切换到使用 -h 选项确定的节点。

    -g

    将指定的资源组切换到使用 -h 选项确定的节点。 如果未指定 -h,这些资源组将脱机。

7.2.4.1 示例 - 删除 Sun Cluster 修补程序

以下示例显示删除一个 Sun Cluster 修补程序的过程。


# scrgadm -pv
...
RG Name: schost-sa-1
...
# scstat
...
Device Group Name:																	dg-schost-1
...
# scswitch -S -h phys-schost-2
# shutdown -g0 -y -i0 "Rebooting down node for maintenance"
...
ok boot -x
...
# patchrm 234567-05
...
# reboot
...
# pkgchk -v 234567-05
...
# scswitch -z -h phys-schost-1 -D dg-schost-1
# scswitch -z -h phys-schost-1 -g schost-sa-1