在修补过程中,每次将修补程序应用于群集中的一个节点,以保持群集自身的可操作。执行此过程时,您必须先关闭节点,并使用 boot -sx 或 shutdown -g -y -i0 命令将节点引导至单用户模式,然后再应用修补程序。
此过程提供了 Sun Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。有关命令及其简短格式的列表,请参见附录 A,Sun Cluster 面向对象的命令。
在应用修补程序之前,请查看 Sun Cluster 产品 Web 站点中是否有关于安装前或安装后的特殊说明。
在要应用修补程序的节点上,成为超级用户或使用一个可提供 solaris.cluster.admin RBAC 授权的角色。
列出所要修补的节点上的资源组和设备组。
# clresourcegroup status -n node # cldevicegroup status -n node |
将所有资源组、资源和设备组从要修补的节点切换到其他群集成员。
# clnode evacuate -n node |
将所有设备组和资源组(包括所有非全局区域)从指定节点中清除。
指定切换资源组和设备组所在的节点。
关闭该节点。
# shutdown -g0 [-y] [-i0] |
将节点引导到非群集单用户模式。
在基于 SPARC 的系统中,执行以下命令:
ok boot -sx |
在基于 x86 的系统中,执行以下命令:
phys-schost# shutdown -g -y -i0 Press any key to continue |
在 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)”。
在引导参数屏幕中,使用方向键选择内核条目,然后键入 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. |
向命令中添加 -sx 以指定将系统引导至非群集模式。
[ 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 |
按 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.- |
键入 b 以将节点引导至非群集模式。
对内核引导参数命令所做的这一更改在系统引导后将失效。下次重新引导节点时,系统将引导至群集模式。如果希望引导至非群集模式,请重新执行上述步骤,将 -sx 选项添加到内核引导参数命令中。
应用软件或固件的修补程序。
# patchadd -M patch-dir patch-id |
指定修补程序的目录位置。
指定给定修补程序的修补程序号。
请始终遵循修补程序目录中的说明进行操作。如果与本章介绍的过程不符,应以修补程序目录中的说明为准。
检验该修补程序是否已成功安装。
# showrev -p | grep patch-id |
重新引导节点,进入群集。
# reboot |
检验修补程序是否有效,以及该节点和群集是否正常运行。
重新引导所有节点后,最后一个重新引导的节点的资源组和设备组不会联机。
# cldevicegroup switch -n node + | devicegroup ... # clresourcegroup switch -n node[:zone][,...] + | resource-group ... |
正在将资源组和设备组切换到的节点的名称。
node 上可控制资源组的非全局区域的名称。只有在创建资源组时指定了非全局区域的情况下,才应指定区域。
查看是否需要使用 scversions 命令来升级修补程序软件。
# /usr/cluster/bin/scversions |
您将会看见以下结果之一:
Upgrade commit is needed. Upgrade commit is NOT needed. All versions match. |
如果需要升级,请升级修补程序软件。
# scversions -c |
运行 scversions 将导致 CMM 进行一次或多次重新配置,这取决于具体情况。
以下示例说明了将一个需重新引导的 Sun Cluster 修补程序应用到一个节点的过程。
# clresourcegroup status -n rg1 ...Resource Group Resource -------------- -------- rg1 rs-2 rg1 rs-3 ... # cldevicegroup status -n nodedg-schost-1 ... Device Group Name: dg-schost-1 ... # clnode evacuate phys-schost-2 # shutdown -g0 -y -i0 ... |
将节点引导到非群集单用户模式。
SPARC:键入以下内容:
ok boot -sx |
x86: 将节点引导到非群集单用户模式。参见以上过程中介绍的引导步骤。
# patchadd -M /var/tmp/patches 234567-05 ... # showrev -p | grep 234567-05 ... # reboot ... # cldevicegroup switch -n phys-schost-1 dg-schost-1 # clresourcegroup switch -n phys-schost-1 schost-sa-1 # scversions Upgrade commit is needed. # scversions -c |
如果需要取消修补程序,请参见更改 Sun Cluster 修补程序。