排除资源故障
在对资源故障进行故障排除时,管理员可以采取许多步骤:
- 检查受影响资源的日志文件。
- 检查集群日志文件。
- 验证资源配置。
- 验证配置文件。
- 尝试使用 debug-start 手动启动资源。
检查日志文件
管理员可能会采取的第一个操作之一是检查集群本身的日志文件,以及受影响资源可能生成的任何日志文件。
阅读这些日志文件时要小心,因为实际错误可能是一个小警告,而在第一个错误 mi9ht 之后产生的故障级联会生成更多的日志记录。
验证资源配置
使用命令 pcs resource show -full 或者 pcs resource show [RESOURCE] 检查故障资源的集群配置。
此处的小错别字或者遗漏选项可能会产生严重影响。
验证配置文件
如果受影响的资源有自己的配置文件,比如 apache 资源,它也可能有自己的配置文件验证工具,比如 apacectl configtest。
确保资源可以启动可以消除大量潜在的故障。
使用 debug-start 手动启动资源
当资源在所有节点上的失败计数达到 INFINITY 时,就无法再尝试自动启动该资源。
管理员仍然可以尝试使用命令 pcs resource debug-start [RESOURCE] 启动资源。
这将导致关于失败和成功的简短状态输出。
添加 -full 选项也将生成完整的调试输出,这有助于故障排除。
资源故障
资源可能因多种原因而失败。
管理员可能在定义资源时使用了不正确的设置,配置文件可能有错误,系统可能正在尝试启动不存在的资源,或者可能发生其他一些不可预见的问题。
每当资源发生故障时,集群都会增加资源的故障计数。
可以使用以下命令查看此计数:
# pcs resource failcount show [RESOURCE]
启动或者停止失败将立即将资源的失败计数设置为 INFINITY ,迫使它移动到不同的节点。
如果启用了防护,则无法停止资源的节点也将被防护。
通过在创建或者修改资源时设置选项 meta migration-threshold=N,可以将资源配置为在出现 N 次故障后重新定位到不同的节点。
默认情况下。
资源不会迁移,除非它们的失败计数达到 INFINITY。
修复资源故障
更新集群资源定义将自动重置该资源的失败计数,使其再次在集群上使用。
当在集群配置之外执行修复时——例如,通过更新服务配置文件,失败计数将保留,从而阻止资源启动。
在这些情况下,管理员可以运行命令 pcs resource failcount reset [RESOURCE] 手动重置失败计数,启用资源。
# pcs resource failcount reset [RESOURCE]