Sun Cluster 系统管理指南(适用于 Solaris OS)

Procedure如何以单用户模式对故障转移节点应用修补程序

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

  1. 确认并没有为任何一个用作磁盘集(包含此过程中手动实施的区域路径)共享存储的 LUN 配置法定设备。

    1. 确定包含区域路径的磁盘集中是否使用了法定设备,并确定法定设备是否使用了 SCSI2 或 SCSI3 预留空间。


      # clquorum show
      
    2. 如果法定设备位于磁盘集的某个 LUN 中,请添加一个新的 LUN 作为法定设备,并且不要让这个新的法定设备成为包含区域路径的任何磁盘集的一部分。


      # clquorum add new-didname
      
    3. 删除旧的法定设备。


      # clquorum remove old-didname
      
    4. 如果旧的法定设备使用了 SCSI2 预留空间,请从旧的法定设备中清除 SCSI2 预留空间,然后确认没有遗留下任何 SCSI2 预留空间。


      # /usr/cluster/lib/sc/pgre -c pgre_scrub -d /dev/did/rdsk/old-didnames2
      # /usr/cluster/lib/sc/pgre -c pgre_inkeys -d /dev/did/rdsk/old-didnames2
      

      注 –

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


  2. 撤出要修补的节点。


    # clresourcegroup evacuate -n node1
    
  3. 使包含 HA Solaris Container 资源的一个或多个资源组脱机。


    # clresourcegroup offline resourcegroupname
    
  4. 禁用已脱机的资源组中的所有资源。


    # clresource disable resourcename
    
  5. 取消对已脱机的资源组的管理。


    # clresourcegroup unmanage resourcegroupname
    
  6. 使相应的一个或多个设备组脱机。


    # cldevicegroup offline cldevicegroupname
    
  7. 禁用已脱机的设备组。


    # cldevicegroup disable devicegroupname
    
  8. 将非活动节点引导出群集。


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


    # svcs -x
    
  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
    
  14. 在非活动节点上挂载包含区域路径的一个或多个文件系统。


    # mount device mountpoint
    
  15. 在非活动节点上切换到单用户模式。


    # init s
    
  16. 停止所有可能已引导且不在 Sun 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. 停止所有可能已引导且不在 Sun Cluster Data Service for Solaris Container 控制下的区域。


    # 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 进行一次或多次重新配置,这取决于具体情况。