JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris Cluster 系统管理指南     Oracle Solaris Cluster (简体中文)
search filter icon
search icon

文档信息

前言

1.  Oracle Solaris Cluster 管理简介

2.  Oracle Solaris Cluster 和 RBAC

3.  关闭和引导群集

4.  数据复制方法

5.  管理全局设备、磁盘路径监视和群集文件系统

6.  管理法定

7.  管理群集互连和公共网络

8.  添加和删除节点

9.  管理群集

10.  对 CPU 使用控制的配置

11.  修补 Oracle Solaris Cluster 软件和固件

修补 Oracle Solaris Cluster 概述

Oracle Solaris Cluster 修补程序提示

修补Oracle Solaris Cluster 软件

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

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

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

如何以单用户模式将修补程序应用到具有故障转移区域的节点

更改 Oracle Solaris Cluster 修补程序

如何删除不需要重新引导的 Oracle Solaris Cluster 修补程序

如何删除需重新引导的 Oracle Solaris Cluster 修补程序

12.  备份和恢复群集

13.  使用图形用户界面管理 Oracle Solaris Cluster

A.  示例

索引

修补Oracle Solaris Cluster 软件

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

任务
指导
在不停止节点的情况下,一次将一个非重新引导 Oracle Solaris Cluster 修补程序应用到一个节点
将群集成员带入非群集模式后应用一个重新引导 Oracle Solaris Cluster 修补程序
以单用户模式将修补程序应用到具有故障转移区域的节点
删除 Oracle Solaris Cluster 修补程序

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

每次将修补程序应用到群集中的一个节点上,可以在修补过程中保持群集自身正常工作。执行此过程时,您必须先关闭节点,使用 boot -sx shutdown -g -y -i0 命令将节点引导至单用户模式,然后再应用修补程序。

phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。

此过程提供了 Oracle Solaris Cluster 命令的长格式。此外,大多数命令还有简短格式。这些命令除了名称长短的不同以外,其功能都是相同的。

  1. 在应用修补程序之前,请查看 Oracle Solaris Cluster 产品 Web 站点中是否有关于安装前或安装后的特殊说明。
  2. 在要应用修补程序的节点上,成为超级用户或成为可提供 solaris.cluster.admin RBAC 授权的角色。
  3. 列出所要修补的节点上的资源组和设备组。
    # clresourcegroup status -Z all -n node[,...]
    node

    驻留在要修补的节点上的全局群集节点或区域群集节点的名称。

    # cldevicegroup status -n node
    node

    要修补的全局群集节点的名称。


    注 - 设备组与区域群集没有关联。


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

    撤离所有设备组和资源组,包括所有全局群集非投票节点。

    -nnode

    指定切换资源组和设备组所在的节点。

  5. 关闭该节点。
    # shutdown -g0 [-y]
     [-i0]
  6. 将节点引导到非群集单用户模式。
    • 在基于 SPARC 的系统上,运行以下命令。

      ok boot -sx
    • 在基于 x86 的系统上,运行以下命令。

      phys-schost# shutdown -g -y -i0
      
      Press any key to continue
    1. 在 GRUB 菜单中,使用方向键选择适当的 Oracle 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 的引导的更多信息,请参见《系统管理指南:基本管理》中的"使用 GRUB 引导基于 x86 的系统(任务图)"

    2. 在引导参数屏幕中,使用方向键选择内核条目,然后键入 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. 向命令中添加 -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 -sx
    4. 按 Enter 键接受所做更改,并返回到引导参数屏幕。

      屏幕将显示编辑后的命令。

      GNU GRUB version 0.95 (615K lower / 2095552K upper memory)
      +----------------------------------------------------------------------+
      | root (hd0,0,a)                                                       |
      | kernel /platform/i86pc/multiboot -sx                                  |
      | 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 将节点引导至非群集模式。

      注 - 对内核引导参数命令所做的这一更改在系统引导后将失效。下次重新引导节点时,系统将引导至群集模式。如果希望引导至非群集模式,请重新执行上述步骤,将 -sx 选项添加到内核引导参数命令中。


  7. 应用软件或固件的修补程序。
    # patchadd -M patch-dir patch-id
    patch-dir

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

    patch-id

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


    注 - 请始终遵循修补程序目录中的说明进行操作。如果与本章介绍的过程不符,应以修补程序目录中的说明为准。


  8. 检验该修补程序是否已成功安装。
    # showrev -p | grep patch-id
  9. 重新引导节点,进入群集。
    # reboot
  10. 检验修补程序是否有效,以及该节点和群集是否正常运行。
  11. 对于所有剩余群集节点,重复从步骤 2步骤 10 的操作。
  12. 根据需要切换资源组和设备组。

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

    # cldevicegroup switch -n node + | devicegroup ...
    # clresourcegroup switch -n node[:zone][,...] + | resource-group ...
    node

    正在将资源组和设备组切换到的节点的名称。

    zone

    可控制资源组的全局群集非投票节点 (node) 的名称。只有在创建资源组时指定了非投票节点的情况下,才能指定 zone。

    # clresourcegroup switch -Z zoneclustername -n zcnode[,...] + | resource-group ...
    zoneclustername

    要将资源组切换到的区域群集的名称。

    zcnode

    可控制资源组的区域群集节点的名称。


    注 - 设备组与区域群集没有关联。


  13. 查看是否需要使用 scversions 命令来升级修补程序软件。
    # /usr/cluster/bin/scversions

    您将会看见以下结果之一:

    Upgrade commit is needed.
    
    Upgrade commit is NOT needed. All versions match.
  14. 如果需要升级,请升级修补程序软件。
    # scversions -c

    注 - 运行 scversions 将导致 CMM 进行一次或多次重新配置,这取决于具体情况。


示例 11-1 应用需重新引导节点的修补程序

以下示例说明了将一个需重新引导的 Oracle Solaris 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
...

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

# 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

另请参见

如果需要取消修补程序,请参见更改 Oracle Solaris Cluster 修补程序

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

执行此过程时,您必须先停止群集,使用 boot -sxshtudown -g -y -i0 命令将每个节点引导至单用户模式,然后再应用修补程序。

  1. 在应用修补程序之前,请查看 Oracle Solaris Cluster 产品 Web 站点中是否有关于安装前或安装后的特殊说明。
  2. 成为群集中任一节点上的超级用户。
  3. 关闭群集。
    # cluster shutdown -y -g grace-period message
    -y

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

    -ggrace-period

    指定关闭前等待的时间,以秒为单位。默认宽限期为 60 秒。

    message

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

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

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

    • 在基于 SPARC 的系统上,运行以下命令。

      ok boot -sx
    • 在基于 x86 的系统上,运行以下命令。

      phys-schost# shutdown -g -y -i0
      
      Press any key to continue
    1. 在 GRUB 菜单中,使用方向键选择适当的 Oracle 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 的引导的更多信息,请参见《系统管理指南:基本管理》中的"使用 GRUB 引导基于 x86 的系统(任务图)"

    2. 在引导参数屏幕中,使用方向键选择内核条目,然后键入 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. 向命令中添加 -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 -sx
    4. 按 Enter 键接受所做更改,并返回到引导参数屏幕。

      屏幕将显示编辑后的命令。

      GNU GRUB version 0.95 (615K lower / 2095552K upper memory)
      +----------------------------------------------------------------------+
      | root (hd0,0,a)                                                       |
      | kernel /platform/i86pc/multiboot -sx                                  |
      | 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 将节点引导至非群集模式。

      注 - 对内核引导参数命令所做的这一更改在系统引导后将失效。下次重新引导节点时,系统将引导至群集模式。如果希望引导至非群集模式,请重新执行上述步骤,将 -sx 选项添加到内核引导参数命令中。


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

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

    # patchadd -M patch-dir patch-id
    patch-dir

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

    patch-id

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


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


  6. 检验是否已成功地在每个节点上安装了修补程序。
    # showrev -p | grep patch-id
  7. 在将修补程序应用到所有节点后,重新将节点引导到群集中。

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

    # reboot
  8. 查看是否需要使用 scversions 命令来升级修补程序软件。
    # /usr/cluster/bin/scversions

    您将会看见以下结果之一:

    Upgrade commit is needed.
    
    Upgrade commit is NOT needed. All versions match.
  9. 如果需要升级,请升级修补程序软件。
    # scversions -c

    注 - 运行 scversions 将导致 CMM 进行一次或多次重新配置,这取决于具体情况。


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

示例 11-2 应用需重新引导群集的修补程序

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

# cluster shutdown -g0 -y
...

将群集引导到非群集单用户模式。

...
# patchadd -M /var/tmp/patches 234567-05
(Apply patch to other cluster nodes)
...
# showrev -p | grep 234567-05
# reboot
# scversions
Upgrade commit is needed.
# scversions -c

另请参见

如果需要取消修补程序,请参见更改 Oracle Solaris Cluster 修补程序

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

将修补程序一次应用于群集中的一个节点。在应用不需要重新引导的修补程序时,您无需先停止要接收该修补程序的节点。

  1. 在应用修补程序之前,请查看 Oracle Solaris Cluster 产品 Web 页中是否有关于安装前或安装后的特殊说明。
  2. 在单个节点上应用修补程序。
    # patchadd -M patch-dir patch-id
    patch-dir

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

    patch-id

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

  3. 检验该修补程序是否已成功安装。
    # showrev -p | grep patch-id
  4. 检验修补程序是否有效,以及该节点和群集是否正常运行。
  5. 对于其余群集节点,重复执行从步骤 2步骤 4 的操作。
  6. 查看是否需要使用 scversions 命令来升级修补程序软件。
    # /usr/cluster/bin/scversions

    您将会看见以下结果之一:

    Upgrade commit is needed.
    
    Upgrade commit is NOT needed. All versions match.
  7. 如果需要升级,请升级修补程序软件。
    # scversions -c

    注 - 运行 scversions 将导致 CMM 进行一次或多次重新配置,这取决于具体情况。


示例 11-3 应用不需重新引导的 Oracle Solaris Cluster 修补程序

# patchadd -M /tmp/patches 234567-05
...
# showrev -p | grep 234567-05
# scversions
Upgrade commit is needed.
# scversions -c

另请参见

如果需要取消修补程序,请参见更改 Oracle Solaris Cluster 修补程序

如何以单用户模式将修补程序应用到具有故障转移区域的节点

可通过执行此任务来以单用户模式对故障转移区域应用 修补程序。如果要将故障转移配置中的 Oracle Solaris Cluster Data Service for Solaris Containers 与 Oracle Solaris Cluster 软件一起使用,就需要采用这种修补方法。

  1. 确认并没有为任何一个用作磁盘集(包含此过程中手动实施的区域路径)共享存储的 LUN 配置法定设备。
    1. 确定包含区域路径的磁盘集中是否使用了法定设备,并确定法定设备是否使用了 SCSI2 或 SCSI3 预留空间。
      # clquorum show
    2. 如果法定设备位于磁盘集的某个 LUN 中,请添加一个新的 LUN 作为法定设备,并且不要让这个新的法定设备成为包含区域路径的任何磁盘集的一部分。
      # clquorum add new-didname
    3. 删除旧的法定设备。
      # clquorum remove old-didname
    4. 如果旧的法定设备使用了 SCSI2 预留空间,请从旧的法定设备中清除 SCSI2 预留空间,然后确认没有遗留下任何 SCSI2 预留空间。

      要了解如何运行 pgre 命令,需要安装并使用 Oracle 支持部门提供的诊断工具包 (SUNWscdtk) 软件包。


      注 - 如果无意中清除了活动法定设备上的保留关键字,则必须删除并重新添加法定设备,以便将新的保留关键字放置到法定设备上。


  2. 撤出要修补的节点。
    # clresourcegroup evacuate -n node1
  3. 使包含 HA Solaris Container 资源的一个或多个资源组脱机。
    # clresourcegroup offline resourcegroupname
  4. 禁用已脱机的资源组中的所有资源。
    # clresource disable resourcename
  5. 取消对已脱机的资源组的管理。
    # clresourcegroup unmanage resourcegroupname
  6. 使相应的一个或多个设备组脱机。
    # cldevicegroup offline cldevicegroupname

    注 - 如果要修补区域路径中具有 zpool 的故障转移区域,请跳过此步骤和步骤 7


  7. 禁用已脱机的设备组。
    # cldevicegroup disable devicegroupname
  8. 将非活动节点引导出群集。
    # reboot -- -x

    注 - 如果要修补区域路径中具有 zpool 的故障转移区域,请使用以下命令。

    # reboot -- -xs

  9. 继续执行操作之前,检验非活动节点上的所有 SMF 启动方法是否均已完成。
    # svcs -x

    注 - 如果要修补区域路径中具有 zpool 的故障转移区域,请跳过此步骤。


  10. 检验活动节点上的各种重新配置进程是否均已完成。
    # cluster status
  11. 确定磁盘集中的磁盘上是否存在 SCSI-2 预留空间,如果是,则释放这些项。按照以下说明操作,以确定是否存在 SCSI-2 保留项,如果存在,则将其释放。
    • 对于磁盘集中的所有磁盘,运行以下命令:/usr/cluster/lib/sc/scsi -c disfailfast -d /dev/did/rdsk/d#s2

    • 如果列出了项,请通过运行以下命令将其释放:/usr/cluster/lib/sc/scsi -c release -d /dev/did/rdsk/d#s2

    在完成释放保留项的操作之后,请跳过步骤 #12 并继续执行步骤 #13。

  12. 确定磁盘集中的磁盘上是否有 SCSI-3 保留项。
    1. 在磁盘集包含的所有磁盘上运行以下命令。
      # /usr/cluster/lib/sc/scsi -c inkeys -d /dev/did/rdsk/didnames2
    2. 如果系统列出了关键字,请将其清除。
      # /usr/cluster/lib/sc/scsi -c scrub -d /dev/did/rdsk/didnames2
  13. 获取非活动节点上元集的所有权。
    # metaset -s disksetname -C take -f

    注 - 如果要修补区域路径中具有 zpool 的故障转移区域,请使用以下命令。

    # zpool import -R / pool_name

  14. 在非活动节点上挂载包含区域路径的一个或多个文件系统。
    # mount device mountpoint

    注 - 如果要修补区域路径中具有 zpool 的故障转移区域,请跳过此步骤和步骤 15


  15. 在非活动节点上切换到单用户模式。
    # init s
  16. 停止所有可能已引导且不在 Oracle Solaris Cluster Data Service for Solaris Container 控制下的区域。
    # zoneadm -z zonename halt
  17. 可选如果要安装多个修补程序,出于性能考虑,您可以选择以单用户模式引导所有已配置的区域。
    # zoneadm -z zonename boot -s
  18. 应用修补程序。
  19. 重新引导节点,等待所有 SMF 启动方法完成。只有在节点重新引导完毕之后,才能执行 svcs -a 命令。
    # reboot
    # svcs -a

    第一个节点现已准备就绪。

  20. 撤出要修补的第二个节点。
    # clresourcegroup evacuate -n node2
  21. 对第二个节点重复执行步骤 8 至步骤 13。
  22. 拆离修补过的区域。如果不拆离已修补过的区域,修补过程将失败。
    # zoneadm -z zonename detach
  23. 在非活动节点上切换到单用户模式。
    # init s
  24. 停止所有可能已引导且不在 Oracle Solaris Cluster Data Service for Solaris Containers 控制下的区域。
    # zoneadm -z zonename halt
  25. 可选如果要安装多个修补程序,出于性能考虑,您可以选择以单用户模式引导所有已配置的区域。
    # zoneadm -z zonename boot -s
  26. 应用修补程序。
  27. 连接被拆离的区域。
    # zoneadm -z zonename attach -F
  28. 将节点重新引导至群集模式。
    # reboot
  29. 使一个或多个设备组联机。
  30. 启动资源组。
  31. 查看是否需要使用 scversions 命令来升级修补程序软件。
    # /usr/cluster/bin/scversions

    您将会看见以下结果之一:

    Upgrade commit is needed.
    
    Upgrade commit is NOT needed. All versions match.
  32. 如果需要升级,请升级修补程序软件。
    # scversions -c

    注 - 运行 scversions 将导致 CMM 进行一次或多次重新配置,这取决于具体情况。


更改 Oracle Solaris Cluster 修补程序

要删除已应用到群集中的 Oracle Solaris Cluster 修补程序,必须先删除新的 Oracle Solaris Cluster 修补程序,然后重新应用以前的修补程序或更新版本。要删除新的 Oracle Solaris Cluster 修补程序,请参见以下过程。要重新应用以前的 Oracle Solaris Cluster 修补程序,请参见以下过程之一:


注 - 应用某个 Oracle Solaris Cluster 修补程序之前,请先阅读该修补程序的 README 文件。


如何删除不需要重新引导的 Oracle Solaris Cluster 修补程序

  1. 成为群集中任一节点上的超级用户。
  2. 删除不需重新引导的修补程序。
    # patchrm patchid

如何删除需重新引导的 Oracle Solaris Cluster 修补程序

  1. 成为群集中任一节点上的超级用户。
  2. 将群集节点引导至非群集模式。有关将节点引导至非群集模式的信息,请参见如何以非群集模式引导节点
  3. 删除需重新引导的修补程序。
    # patchrm patchid
  4. 将群集节点重新引导回群集模式。
    # reboot
  5. 对每个群集节点重复执行步骤 2 到 4。