本章讲述了向 Sun Cluster 配置添加修补程序或从中删除修补程序的过程。
以下是本章中包含的过程的列表。
鉴于群集的属性,所有群集成员节点的修补程序必须处于同一级别,这样才可保证群集能正常工作。使用 Sun Cluster 的修补程序修补节点时,有时候可能需要先暂时取消该节点的群集成员资格或停止整个群集,然后再安装修补程序。本节说明这些步骤。
应用 Sun Cluster 的修补程序之前,请查看 Sun Cluster 网页中的所有特定说明;有关当前 URL 的说明,请参见《Sun Cluster 3.1 8/05 发行说明(适用于 Solaris OS)》或与 Enterprise Services 联系。如果没有任何特殊说明,请查阅修补程序的 README 文件。
对于 Sun Cluster 的修补程序,请始终查阅修补程序的 README 文件和 SunSolve,其中包含的说明优先于本章中介绍的有关过程。
所有群集节点上修补程序的安装分为以下几种情况:
重新引导修补程序(节点)— 必须先使用 boot -sx 或 b -sx 命令将节点引导至单用户模式,然后才能应用修补程序,并对其进行重新引导,以使其加入群集。在执行这些操作时,您需要使所要应用修补程序的那个节点进入“安静” 状态。具体做法是:首先将该节点的任何资源组或磁盘设备组切换到另一个群集成员上。此外,每次将此修补程序应用到一个群集节点,以避免关闭整个群集。
如果以这种方式应用修补程序,即使暂时关闭单个节点,群集本身也将一直保持可用状态。在一个节点上应用了修补程序之后,即使其他节点尚未达到该节点的修补级别,它也可以作为群集成员重新加入到群集中。
重新引导修补程序(群集和固件)— 必须关闭群集并使用 boot -sx 或 b -sx 命令将节点引导到单用户模式下,才能应用软件或固件修补程序。然后重新引导这些节点使其重新加入群集。对于这种类型的修补,群集在修补程序应用期间是不可用的。
不需重新引导的修补程序 — 在应用修补程序期间,节点不必处于“安静”状态(它仍可以继续控制资源组或设备组),也不必将其关闭或重新引导。但是,您仍然应当在将修补程序应用到一个节点后检验该修补是否有效,确认有效后再修补另一节点。
基础群集协议不会因修补程序而更改。
使用 patchadd 命令将修补程序应用到群集中,使用 patchrm 命令删除修补程序(如果可能)。
使用以下提示有助于您更有效地管理 Sun Cluster 修补程序:
查阅 Sun Cluster 网站,看是否有与修补程序或固件更新相关的特殊说明。有关当前 URL 的说明,请参见《Sun Cluster 3.1 8/05 发行说明(适用于 Solaris OS)》或与 Enterprise Services 联系。
每次应用修补程序之前都阅读该修补程序的 README 文件。
在生产环境中运行群集前应用所有的修补程序(要求并推荐如此操作)。
检查硬件固件级别并安装所要求安装的所有固件更新(以后可能需要使用它们)。
充当群集成员的所有节点必须拥有相同的修补程序。
使群集子系统的修补程序保持最新,这包括卷管理、存储设备固件和群集传输等。
定期查阅修补程序报告(比如每季度查阅一次),并使用推荐的修补程序套件来修补 Sun Cluster 配置。
应用由 Enterprise Services 部门推荐的可选择的修补程序。
在主要的修补程序更新后测试故障转移;如果群集性能下降或受损,请准备好删除修补程序。
任务 |
有关说明,请转到... |
---|---|
每次将一个不需重新引导的 Sun Cluster 修补程序应用于一个节点,同时不必停止该节点 | |
使群集成员进入非群集模式后应用需重新引导的 Sun Cluster 修补程序 |
|
删除 Sun Cluster 修补程序 - 如果需要,您可以撤回修补程序。 |
在修补过程中,每次将修补程序应用于群集中的一个节点,以保持群集自身的可操作。执行此过程时,必须先关闭节点,并使用 boot -sx 或 b -sx 命令将节点引导至单用户模式,然后才能应用修补程序。
在应用修补程序之前,查阅 Sun Cluster 产品的 Web 页中是否有关于安装前或安装后的特殊说明。
成为要应用修补程序的那个节点的超级用户。
列出所要修补的节点上的资源组和设备组。
# scrgadm -pv # scstat |
将所有资源组、资源和设备组从要修补的节点切换到其他群集成员。
# scswitch -S -h node[,...] |
从指定的节点中抽出所有的设备组和资源组。
指定切换资源组和设备组所在的节点。
关闭该节点。
# shutdown -g0 [-y] [-i0] |
将节点引导到非群集单用户模式。
SPARC:
ok boot -sx |
x86:
<<< Current Boot Parameters >>> Boot path: /pci@0,0/pci8086,2545@3/pci8086,1460@1d/pci8086,341a@7,1/ sd@0,0:a 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 -sx |
应用修补程序。
# patchadd -M patch-dir patch-id |
指定修补程序的目录位置。
指定给定修补程序的修补程序号。
每次都要按照修补程序目录中的、可替代本章中的过程的说明操作。
检验该修补程序是否已成功安装。
# showrev -p | grep patch-id |
将该节点重新引导到群集中。
# reboot |
检验修补程序是否有效,以及该节点和群集是否正常运行。
根据需要,切换资源组、资源和设备组。
在重新引导所有的节点后,最后重新引导的那个节点的资源组和设备组不会联机。
# scswitch -z -D device-group[,...] -h node[,...] # scswitch -z -g resource-group[,...] -h nod[,...]e |
指定对资源组或设备组的控制方面的更改。
指定将资源组和设备组切换到哪些节点。
将指定的设备组切换到使用 -h 选项确定的节点。
将指定的资源组切换到使用 -h 选项确定的节点。如果未指定 -h,这些资源组将脱机。
查看是否需要使用 scversions 命令来升级修补程序软件。
# /usr/cluster/bin/scversions |
您将会看见以下结果之一:
Upgrade commit is needed. Upgrade commit is NOT needed. All versions match. |
如果需要升级,请升级修补程序软件。
#/usr/cluster/bin/scversions -c |
使用 -c 选项可以使群集升级修补程序软件并运行新的修补程序软件。
运行 scversions(1m) 将导致 CMM 进行一次或多次重新配置,这取决于具体情况。
以下示例说明了将一个需重新引导的 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 ... |
将节点引导到非群集单用户模式。
SPARC:
ok boot -sx |
x86:
<<< Current Boot Parameters >>> Boot path: /pci@0,0/pci8086,2545@3/pci8086,1460@1d/pci8086,341a@7,1/ sd@0,0:a 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 -sx |
# patchadd -M /var/tmp/patches 234567-05 ... # showrev -p | grep 234567-05 ... # reboot ... # scswitch -z -D dg-schost-1 -h phys-schost-1 # scswitch -z -g schost-sa-1 -h phys-schost-1 # scversions Upgrade commit is needed. # scversions -c |
如果您需要撤回修补程序,请参见如何删除 Sun Cluster 修补程序。
执行此过程时,您必须线关闭群集并使用 boot -sx 或 b -sx 命令将每个节点引导到单用户模式,然后再应用修补程序。
在应用修补程序之前,查阅 Sun Cluster 产品的 Web 页中是否有关于安装前或安装后的特殊说明。
成为群集中任一节点上的超级用户。
关闭群集。
# scshutdown -y -g grace-period “message” |
指定在出现确认提示时回答 yes。
指定关闭前等待的时间,以秒为单位。缺省宽延期为 60 秒。
指定要广播的警告消息。如果 message 中包含多个词,请使用引号。
将每个节点引导到非群集单用户模式。
在每个节点的控制台上,运行以下命令。
SPARC:
ok boot -sx |
x86:
<<< Current Boot Parameters >>> Boot path: /pci@0,0/pci8086,2545@3/pci8086,1460@1d/pci8086,341a@7,1/ sd@0,0:a 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 -sx |
应用软件或固件的修补程序。
每次在一个节点上运行以下命令。
# patchadd -M patch-dir patch-id |
指定修补程序的目录位置。
指定给定修补程序的修补程序号。
每次都要按照修补程序目录中的、可替代本章中的过程的说明操作。
检验是否已成功地在每个节点上安装了修补程序。
# showrev -p | grep patch-id |
在将修补程序应用到所有节点后,重新将节点引导到群集中。
在每个节点上运行以下命令。
# reboot |
检验修补程序是否有效,以及该节点和群集是否正常运行。
以下示例说明将一个需重新引导的 Sun Cluster 修补程序应用到一个群集的过程。
# scshutdown -g0 -y ... |
将群集引导到非群集单用户模式。
SPARC:
ok boot -sx |
x86:
<<< Current Boot Parameters >>> Boot path: /pci@0,0/pci8086,2545@3/pci8086,1460@1d/pci8086,341a@7,1/ sd@0,0:a 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 -sx |
... # patchadd -M /var/tmp/patches 234567-05 (Apply patch to other cluster nodes) ... # showrev -p | grep 234567-05 # reboot |
如果您需要撤回修补程序,请参见如何删除 Sun Cluster 修补程序。
每次将修补程序应用于群集中的一个节点。应用一个非重新引导修补程序时,不需要首先关闭接收此修补程序的节点。
在应用修补程序前,查阅 Sun Cluster 产品的 Web 页,看是否有关于安装前或安装后的特殊说明。
在单个节点上应用修补程序。
# patchadd -M patch-dir patch-id |
指定修补程序的目录位置。
指定给定修补程序的修补程序号。
检验该修补程序是否已成功安装。
# showrev -p | grep patch-id |
检验修补程序是否有效,以及该节点和群集是否正常运行。
# patchadd -M /tmp/patches 234567-05 ... # showrev -p | grep 234567-05 |
如果您需要撤回修补程序,请参见如何删除 Sun Cluster 修补程序。
如果需要,您可以撤回(删除)Sun Cluster 修补程序。
成为您要从其中删除修补程序的节点的超级用户。
列出要从中删除修补程序的节点上的资源组和设备组。
# scrgadm -pv # scstat |
将要删除修补程序的节点上的所有资源组、资源和设备组切换到其他群集成员。
# scswitch -S -h node[,...] |
从指定的节点抽出所有的设备服务和资源组。
指定正要从中切换资源组和设备组的节点。
关闭该节点。
# shutdown -g0 -y -i0 “message” |
指定关闭前等待的时间,以秒为单位。缺省宽延期为 60 秒。
指定在出现确认提示时回答 yes。
指定初始状态为 0。使用此选项可以将节点转至基于 SPARC 的系统上的 OpenBoot PROM ok 提示符或转至基于 x86 的系统上的引导子系统。
指定要广播的警告消息。如果 message 中包含多个词,请使用引号。
将节点引导到非群集单用户模式。
SPARC:
ok boot -sx |
x86:
<<< Current Boot Parameters >>> Boot path: /pci@0,0/pci8086,2545@3/pci8086,1460@1d/pci8086,341a@7,1/ sd@0,0:a 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 -sx |
删除修补程序。
# patchrm patch-id |
指定给定修补程序的修补程序号。
检验是否已成功删除修补程序。
# showrev -p | grep patch-id |
重新引导该节点。
# reboot |
检验该节点和群集是否正常运行。
(可选)根据需要,切换资源组、资源和设备组。
在重新引导所有的节点后,最后重新引导的那个节点的资源组和设备组不会联机。
# scswitch -z -D device-group[,...] -h node # scswitch -z -g resource-group[,...] -h node |
指定对资源组或设备组的控制方面的更改。
指定将资源组和设备组切换到哪些节点。
将指定的设备组切换到使用 -h 选项确定的节点。
将指定的资源组切换到使用 -h 选项确定的节点。如果未指定 -h,这些资源组将脱机。
以下示例说明删除一个 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" ... |
将节点引导到非群集模式。
SPARC:
ok boot -x |
x86:
<<< Current Boot Parameters >>> Boot path: /pci@0,0/pci8086,2545@3/pci8086,1460@1d/pci8086,341a@7,1/ sd@0,0:a 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 -x |
... # patchrm 234567-05 ... # showrev -p | grep 234567-05 ... # reboot ... # scswitch -z -D dg-schost-1 -h phys-schost-1 # scswitch -z -g schost-sa-1 -h phys-schost-1 |