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

文档信息

前言

1.  Oracle Solaris Cluster 管理介绍

2.  Oracle Solaris Cluster 和 RBAC

3.  关闭和引导群集

4.  数据复制方法

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

6.  管理法定

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

8.  添加和删除节点

9.  管理群集

管理群集概述

如何更改群集名称

如何将节点 ID 映射到节点名称

如何使用对新群集节点的认证

如何在群集中重置时间

SPARC: 如何在节点上显示 OpenBoot PROM (OBP)

如何更改节点专用主机名

如何重命名节点

如何更改现有 Oracle Solaris Cluster 逻辑主机名资源使用的逻辑主机名

如何使节点进入维护状态

如何使节点脱离维护状态

如何从群集节点卸载 Oracle Solaris Cluster 软件

对节点卸载进行故障排除

未删除的群集文件系统条目

设备组中列出的未删除项

创建、设置和管理 Oracle Solaris Cluster SNMP 事件 MIB

如何启用 SNMP 事件 MIB

如何禁用 SNMP 事件 MIB

如何更改 SNMP 事件 MIB

如何在节点上使 SNMP 主机能够接收 SNMP 陷阱

如何在节点上禁止 SNMP 主机接收 SNMP 陷阱

如何在节点上添加 SNMP 用户

如何从节点中删除 SNMP 用户

配置负载限制

如何在节点上配置负载限制

更改服务或管理代理的端口号

如何使用 Common Agent Container 更改服务或管理代理的端口号

执行区域群集管理任务

如何向区域群集添加网络地址

如何删除区域群集

如何从区域群集中删除文件系统

如何从区域群集中删除存储设备

故障排除

在全局群集外部运行应用程序

如何从在非群集模式下引导的节点中获取 Solaris Volume Manager 元集

恢复损坏的磁盘组

如何保存 Solaris Volume Manager 软件配置

如何清除损坏的磁盘集

如何重新创建 Solaris Volume Manager 软件配置

10.  对 CPU 使用控制的配置

11.  更新您的软件

12.  备份和恢复群集

A.  示例

索引

故障排除

本节包含故障排除过程,您可以使用该过程进行测试。

在全局群集外部运行应用程序

如何从在非群集模式下引导的节点中获取 Solaris Volume Manager 元集

使用此过程可出于测试目的在全局群集外部运行一个应用程序。

  1. 确定 Solaris Volume Manager 元集中是否使用了法定设备,并确定法定设备是否使用了 SCSI2 或 SCSI3 预留空间。
    phys-schost# clquorum show
    1. 如果法定设备位于 Solaris Volume Manager 元集中,请添加一个新的法定设备,这个新的法定设备不属于稍后要在非群集模式下获取的元集的一部分。
      phys-schost# clquorum add did
    2. 删除旧的法定设备。
      phys-schost# clqorum remove did
    3. 如果法定设备使用 SCSI2 预留空间,请从旧的法定设备中清理 SCSI2 预留空间,并确认没有留下任何 SCSI2 预留空间。

      以下命令可查找持久组保留仿真 (PGRE) 密钥。如果磁盘上没有密钥,将显示 errno=22 消息。

      # /usr/cluster/lib/sc/pgre -c pgre_inkeys -d /dev/did/rdsk/d29s2

      找到密钥后,将清理 PGRE 密钥。

      # /usr/cluster/lib/sc/pgre -c pgre_scrub -d /dev/did/rdsk/d29s2

      注意

      注意 - 如果从磁盘中清理活动法定设备密钥,群集将在下次重新配置时出现紧急情况,并显示 Lost operational quorum 消息。


  2. 清除要在非群集模式下引导的全局群集节点。
    phys-schost# clresourcegroup evacuate -n targetnode
  3. 使任一或多个资源组脱机,这些资源组包含 HAStorage 或 HAStoragePlus 资源并包含受您稍后要在非群集模式下获取的元集影响的设备或文件系统。
    phys-schost# clresourcegroup offline resourcegroupname
  4. 禁用已使其脱机的资源组中的所有资源。
    phys-schost# clresource disable resourcename
  5. 取消管理资源组。
    phys-schost# clresourcegroup unmanage resourcegroupname
  6. 使对应的设备组脱机。
    phys-schost# cldevicegroup offline devicegroupname
  7. 禁用设备组。
    phys-schost# cldevicegroup disable devicegroupname
  8. 将被动节点引导至非群集模式。
    phys-schost# reboot -x
  9. 在继续之前,检验被动节点上的引导过程是否已完成。
    phys-schost# svcs -x
  10. 确定元集中的磁盘上是否存在任何 SCSI3 预留空间。

    在元集中的所有磁盘上运行以下命令。

    phys-schost# /usr/cluster/lib/sc/scsi -c inkeys -d /dev/did/rdsk/dids2
  11. 如果磁盘上存在任何 SCSI3 预留空间,请清理预留空间。
    phys-schost# /usr/cluster/lib/sc/scsi -c scrub -d /dev/did/rdsk/dids2
  12. 获取已清除的节点上的元集。
    phys-schost# metaset -s name -C take -f
  13. 挂载包含元集上定义的设备的文件系统。
    phys-schost# mount device mountpoint
  14. 启动应用程序并执行所需的测试。完成测试后,停止应用程序。
  15. 重新引导节点并等待,直到引导过程结束。
    phys-schost# reboot
  16. 使设备组联机。
    phys-schost# cldevicegroup online -e devicegroupname
  17. 启动资源组。
    phys-schost# clresourcegroup online -eM resourcegroupname 

恢复损坏的磁盘组

如果磁盘集损坏,或者群集中的节点无法获得磁盘集的所有权,请使用此过程。如果清除该状态的尝试失败,可使用此过程作为修复磁盘集的最后措施。

这些过程适用于 Solaris Volume Manager 元集和多所有者 Solaris Volume Manager 元集。

如何保存 Solaris Volume Manager 软件配置

从头开始恢复磁盘集可能非常耗时,而且容易出错。一种更好的替代方法是使用 metastat 命令定期备份副本,或使用 Oracle Explorer (SUNWexplo) 创建备份。然后,可以使用保存的配置来重新创建磁盘集。应该将当前配置保存到文件中(使用 prtvtocmetastat 命令),然后重新创建磁盘集及其组件。请参见如何重新创建 Solaris Volume Manager 软件配置

  1. 保存磁盘集中每个磁盘的分区表。
    # /usr/sbin/prtvtoc /dev/global/rdsk/diskname > /etc/lvm/diskname.vtoc
  2. 保存 Solaris Volume Manager 软件配置。
    # /bin/cp /etc/lvm/md.tab /etc/lvm/md.tab_ORIGINAL
    # /usr/sbin/metastat -p -s setname >> /etc/lvm/md.tab

    注 - 其他配置文件,例如 /etc/vfstab 文件,可能引用 Solaris Volume Manager 软件。此过程假设重新构建了完全等同的 Solaris Volume Manager 软件配置,因此挂载信息相同。如果 Oracle Explorer (SUNWexplo) 在拥有磁盘集的节点上运行,它会检索 prtvtocmetaset —p 信息。


如何清除损坏的磁盘集

从一个或所有节点清除磁盘集会删除配置。要从一个节点清除磁盘集,该节点不能具有该磁盘集的所有权。

  1. 在所有节点上运行清除命令。
    # /usr/sbin/metaset -s setname -P

    运行此命令会从数据库副本以及 Oracle Solaris Cluster 系统信息库中删除磁盘集信息。-P-C 选项允许在无需完全重建 Solaris Volume Manager 环境的情况下清除磁盘集。


    注 - 如果在节点引导至非群集模式的情况下清除多所有者磁盘集,则可能需要从 dcs 配置文件中删除相关信息。

    # /usr/cluster/lib/sc/dcs_config -c remove -s setname

    有关更多信息,请参见 dcs_config(1M) 手册页。


  2. 如果只想删除数据库副本中的磁盘集信息,请使用以下命令。
    # /usr/sbin/metaset -s setname -C purge

    通常应使用 -P 选项而不是 -C 选项。使用 -C 选项可能导致重新创建磁盘集时发生问题,因为 Oracle Solaris Cluster 软件仍会识别该磁盘集。

    1. 如果在 metaset 命令中使用 -C 选项,请首先创建磁盘集,查看是否发生问题。
    2. 如果存在问题,请从 dcs 配置文件中删除相关信息。
      # /usr/cluster/lib/sc/dcs_config -c remove -s setname

      如果 purge 选项失败,请确认您已经安装了最新的内核和元设备更新,然后联系 My Oracle Support

如何重新创建 Solaris Volume Manager 软件配置

只有在发生完全丢失 Solaris Volume Manager 软件配置的情况下才应使用此过程。这些步骤假设您已经保存了当前的 Solaris Volume Manager 配置及其组件,并清除了损坏的磁盘集。


注 - 只应在双节点群集中使用中介。


  1. 创建新磁盘集。
    # /usr/sbin/metaset -s setname -a -h nodename1 nodename2

    如果该磁盘集是多所有者磁盘集,请使用以下命令创建新磁盘集。

     /usr/sbin/metaset -s setname -aM -h nodename1 nodename2
  2. 在创建了磁盘集的同一主机上,根据需要添加中介主机(仅限双节点)。
     /usr/sbin/metaset -s setname -a -m nodename1 nodename2
  3. 从该主机将相同磁盘添加回磁盘集。
     /usr/sbin/metaset -s setname -a /dev/did/rdsk/diskname /dev/did/rdsk/diskname
  4. 如果清除了磁盘集并要重新创建该磁盘集,卷目录 (Volume Table of Contents, VTOC) 应该保留在磁盘上,使您可以跳过此步骤。

    但是,如果正在重新创建要恢复的磁盘集,应根据 /etc/lvm/diskname.vtoc 文件中保存的配置格式化磁盘。例如:

    # /usr/sbin/fmthard -s /etc/lvm/d4.vtoc /dev/global/rdsk/d4s2
    # /usr/sbin/fmthard -s /etc/lvm/d8.vtoc /dev/global/rdsk/d8s2

    您可以在任何节点上运行此命令。

  5. 在现有 /etc/lvm/md.tab 文件中检查每个元设备的语法。
    # /usr/sbin/metainit -s setname -n -a metadevice
  6. 根据保存的配置创建每个元设备。
    # /usr/sbin/metainit -s setname -a metadevice
  7. 如果元设备上存在文件系统,请运行 fsck 命令。
    # /usr/sbin/fsck -n /dev/md/setname/rdsk/metadevice

    如果 fsck 命令仅显示几个错误,例如超级块计数,则表明设备很可能已经正确重建。然后您可以运行不带 -n 选项的 fsck 命令。如果出现多个错误,请检验您是否正确重建了元设备。如果是,则查看 fsck 错误,确定是否能够恢复文件系统。如果不能,您应该从备份中恢复数据。

  8. 将所有群集节点上的所有其他元集串联到 /etc/lvm/md.tab 文件,然后串联本地磁盘集。
    # /usr/sbin/metastat -p >> /etc/lvm/md.tab