Skip Headers
StorageTek Automated Cartridge System Library Software High Availability 8.3 Cluster 安装、配置和运行
发行版 8.3
E54100-01
  转到目录
目录
转到索引
索引

上一页
上一页
 
下一页
下一页
 

11 群集日志记录、诊断和测试

本章介绍了可用于测试您的 ACSLS-HA 安装、以及可用于诊断和解决系统上可能会出现的问题的各种资源。

Solaris Cluster 日志记录

故障转移事件期间的 Solaris Cluster 消息将被写入到 /var/adm/messages 文件中。此文件包含关于 Cluster 功能、ACSLS 错误的消息和信息消息。只有活动节点才可以将群集消息写入到 /var/adm/messages 文件中。

Solaris Cluster 使用探测器每六十秒监视一次 ACSLS 的运行状况。您可以在以下位置查看此探测器活动的日志:

/var/cluster/logs/DS/acsls-rg/acsls-rs/probe_log.txt

在同一目录中还有一个文件用于记录执行故障转移序列时发生的每个启动和停止事件。

/var/cluster/logs/DS/acsls-rg/acsls-rs/start_stop_log.txt

ACSLS 事件日志

ACSLS 事件日志是 $ACS_HOME/log/acsss_event.log。此日志包括从 ACSLS 软件的角度看到的启动和停止事件的相关消息。此日志会报告磁带库资源的运行状态变化,并且它会记录 ACSLS 软件检测到的所有错误。acsss_event.log 是通过 acsss_config 选项 2 中定义的参数自动管理和归档的。

群集监视实用程序

Solaris Cluster 实用程序位于 /usr/cluster/bin 目录中。

  • 查看 ACSLS 资源组的当前状态: clrg list -v

  • 查看两个群集节点的当前状态:clrg status

  • 查看资源组的状态:clrs status

  • 获取关于节点、法定设备和群集资源的详细状态:cluster status

  • 获取群集配置中的详细组件列表:cluster show

  • 查看资源组中每个以太网节点的状态:clnode status -m

  • 查看资源组状态:scstat -g

  • 查看设备组状态:scstat -D

  • 查看心跳网络链路的运行状况:scstat -Dclintr status

  • 查看 IPMP 状态:scstat -i

  • 查看节点状态:scstat -n

  • 查看法定配置和状态:scstat -qclq status

  • 显示详细的群集资源,包括超时值:clresource show -v

恢复和故障转移测试

本节介绍了关于恢复和故障转移测试的状况、监视和测试。

恢复状况

有许多致命的系统状况无需执行系统故障转移即可恢复。例如,使用 IPMP 时,每个组中的一个以太网连接可能会因某种原因失败,但是通信应当通过备用路径无中断地继续。

共享磁盘阵列应当通过每台服务器上的两个不同端口连接到服务器。如果一条路径中断,磁盘 I/O 操作应当通过备用路径无中断地继续进行。

ACSLS 包括由 Solaris 服务管理工具 (Service Management Facility, SMF) 监视的多项软件“服务”。作为用户 acsss,您可以通过命令 acsss status 列出每项 acsss 服务。这些服务包括 PostgreSQL 数据库、WebLogic Web 应用服务器和 ACSLS 应用程序软件。如果任意给定服务在 Solaris 系统上失败,则 SMF 应当自动重新引导该服务且不需要执行系统故障转移。

acsls 服务本身包括由父进程 acsss_daemon 监视的许多子进程。要列出 ACSLS 子进程,请使用 psacs 命令(以 acsss 用户身份)。如果任何子进程因任何原因而中止,则父进程应当立即重新引导该子进程并恢复正常运行。

恢复监视

查看系统资源(例如磁盘 I/O 和以太网连接)的恢复的最佳位置是系统日志 /var/adm/messages

SMF 为它监视的每项软件服务维护着一个特定的日志。此日志显示启动、重新启动和关闭事件。要获取服务日志的完整路径,请运行命令 svcs -l service-name。可以使用 acsss 命令 $ acsss status 列出 ACSLS 服务。可以使用命令 $ acsss p-status 列出子进程。

要查看任何 ACSLS 子进程的恢复,可以监视 acsss_event.log ($ACS_HOME/ACSSS/log/acsss_event.log)。此日志显示涉及任何 ACSLS 子进程的所有恢复事件。

恢复测试

冗余网络连接应当由 Solaris 多路径 IP 逻辑 (multi-path IP, IPMP) 自动重新引导。与共享磁盘阵列之间的任何中断的数据连接都应当由 Solaris 在冗余数据路径上自动重新引导。由 Solaris 服务管理工具 (Service Management Facility, SMF) 控制的服务应当由 SMF 自动重新引导。

对于涉及实际故障转移事件的测试,您应当知道文件 $ACS_HOME/acslsha/pingpong_interval 中定义的属性设置。不管可能触发故障转移事件的状况是什么,如果在指定的 pingpong_interval 内已发生了一次故障转移事件,则 Solaris Cluster 将不会启动故障转移操作。请参见"设置故障转移 Pingpong_interval."

要检验当前的 Pingpong_interval 设置,请使用以下 Cluster 命令:

clrg show -p Pingpong_interval

建议用于验证此行为的方法包括以下各项:

  1. 在 ACSLS 正常运行时,从活动节点上的每个 IPMP 组断开一个以太网连接。使用以下命令监视状态:# scstat -i

    观察 /var/adm/messages 中的反应。此过程应当不会中断 ACSLS 运行。

  2. 在 ACSLS 正常运行时,断开从活动服务器到共享磁盘资源的一个光纤或 SAS 连接。

    观察 /var/adm/messages 中的反应。此过程应当不会中断 ACSLS 运行。

    对每个冗余的 I/O 连接重复此测试。

  3. 通过停止 acsss_daemon 突然关闭 ACSLS。

    运行 svcs -l acsls 以定位服务日志。

    在停止 acsss_daemon 时,查看此日志的末尾。您应当会看到,该服务由 SMF 重新引导。如果使用 acsls shutdown 停止 acsls,应当会看到类似的操作。

  4. 使用 SMF 禁用 acsls 服务。

    这可以以 root 用户身份使用 svcadm disable acsls 来执行,也可以以 acsss 用户身份使用 acsss disable 来执行。

    因为 SMF 负责此关闭事件,所以不会尝试重新引导 acsls 服务。这是预期的行为。您必须使用 $ acsss enable# svcadm enable acsls 重新引导由 SMF 控制的 acsls 服务。

  5. 关闭 acsdb 服务。

    acsdb 用户身份使用以下命令突然禁用 PostgreSQL 数据库:

    pg_ctl stop \
         -D $installDir/acsdb/ACSDB1.0/data \
         -m immediate
    

    此操作应当会关闭数据库并且还会导致 acsls 进程关闭。运行 svcs -l acsdb 以定位 acsdb 服务日志。

    在关闭数据库时,查看 acsdb 服务日志和 acsls 服务日志的末尾。您应当会看到,当 acsdb 服务关闭时,它还会关闭 acsls 服务。这两项服务应当由 SMF 自动重新引导。

  6. 在 ACSLS 正常运行时,以 acsss 用户身份运行 psacs 来获取在 acsss_daemon 的控制下运行的子进程的列表。

    停止这些子进程中的任意一个。检查 acsss_event.log 以确认子进程已重新引导并且调用了一个恢复过程。

故障转移状况

Solaris Cluster 软件会监视 Solaris 系统,查找将导致系统故障转移事件的致命状况。这些状况包括用户启动的故障转移 (clrg switch)、活动节点的系统重新引导,或者活动节点上的任何系统挂起、致命内存故障或不可恢复的 I/O 通信。Solaris Cluster 还会监视为特定应用程序设计的 HA 代理。发生下列任一状况时,ACSLS HA Agent 将请求执行系统故障转移事件:

  • 活动节点与逻辑主机之间的 TCP/IP 通信中断。

  • 未挂载 $ACS_HOME 文件系统。

  • 未挂载 /export/backup 文件系统。

  • $ACS_HOME/acslsha/ha_acs_list.txt 文件中列出的一个 ACS 之间的通信中断,该 ACS 的预期状态为联机,否则 switch lmu 将不可行或不成功。

故障转移监视

每时每刻,您都可以使用以下命令监视各个节点的故障转移状态:# clrg status

您还可以通过查看 start_stop_log 的末尾来监视故障转移活动:

# tail -f /var/cluster/logs/DS/acsls-rg/acsls-rs/start_stop_log.txt

在执行诊断性故障转移操作时,查看 (tail -f) 两个节点上的 /var/adm/messages 文件可能比较有用。

故障转移测试

  1. 用来测试 Cluster 故障转移的规定方法是使用 clrg switch 命令:

    # clrg switch -M -e -n <standby node name> acsls-rg
    

    此操作应当会关闭 ACSLS 应用程序并将操作从活动服务器切换到备用系统。选项 -M -e 指示群集服务器在新节点上启用 SMF 服务。在每个节点上通过查看 /var/adm/messages 文件的末尾观察此事件序列。您还可以查看 start-stop 日志的末尾:

    # tail -f /var/cluster/logs/DS/acsls-rg/acsls-rs/start_stop_log.txt
    

    定期运行以下命令:# clrg status

  2. 活动节点上的系统重新引导应当启动到备用节点的即时 HA 切换。

    此操作的结果应当是 ACSLS 在新的活动节点上运行。在备用节点上,当备用系统作为活动节点承担其新角色时,观察 /var/adm/messages 文件的末尾。您还可以定期运行以下命令:# clrg status

  3. 使用 init 5 关闭活动服务器节点的电源并检验系统故障转移。

  4. 拔掉活动服务器节点与共享磁盘存储阵列之间的两条数据线,并检验到备用节点的系统切换。

  5. 假定策略文件 ha_acs_list.txt 中列出了一个给定的磁带库,请断开活动服务器节点与该磁带库之间的两条以太网通信线路。

    检验到备用节点的系统故障转移。

其他测试

如果您的镜像引导驱动器是可热插拔的,则可以禁用其中一个引导驱动器并确认系统仍然可以完全正常运行。在禁用一个引导驱动器的情况下,重新引导系统来检验节点是否可从备用引导驱动器上启动。针对两个节点上的每个引导驱动器重复此操作。

从活动节点上移除任一电源,系统应当能够使用备用电源保持完全正常运行。