群集服务无法启动故障排除指南

故障排除清单

检查群集服务使用的端口

确保以下端口已向任何防火墙上的群集流量开放:

  • 端口 135:远程过程调用 (RPC) 终结点映射程序或分布式组件对象模型 (DCOM) 。

  • 端口 135:基于用户数据报协议的 RPC 终结点映射程序 (UDP) 。

  • 端口 3343:群集网络驱动程序。

  • 端口 445:服务器消息块 (SMB) 。

  • 端口 139:NetBIOS 会话服务。

  • 5000 到 5099 范围内的端口:如果以群集管理员身份连接到群集时记录了事件 ID 1721,请尝试打开此范围内的端口 (或) RPC 流量的其他端口。 端口支持通过 RPC 进行通信,除非你只键入句点字符 (.) 。

    出现此问题的原因是群集服务至少使用 100 个端口进行 RPC 通信。 当其他服务使用某些必要的端口时,可用于群集服务的端口数可能会变得太小。 这些服务包括 Windows DNS 服务、Windows Internet 名称服务 (WINS) 或 Microsoft SQL Server 服务。

  • 8011 到 8031 范围内的端口:如果防火墙分隔群集节点,则 8011 到 8031 范围内的端口必须开放到节点间 RPC 流量。 否则,群集日志中的错误指示发起方节点不可用。 发生这些错误的原因是,尝试加入群集的节点和可以赞助该节点的节点之间没有足够的端口可用于 RPC 通信。

有关如何为群集配置网络和网络端口的详细信息,请参阅以下文章:

更改端口设置后,请先尝试使节点再次联机,然后再继续操作。

运行群集验证工具

  1. 打开 故障转移群集管理器 管理单元 (CluAdmin.msc) 。

  2. 选择左上角列中的“ 故障转移群集管理器 ”。

  3. 选择“ 验证配置”。

  4. 键入群集中每个节点的名称,并在每个节点之后选择“ 添加 ”。

  5. 将所有节点添加到 “所选服务器: ”列表中后,选择“ 下一步”。

  6. 选择“运行所有测试 (建议) >下一步>”。

  7. 允许测试完成。 完成后,选择“ 查看报表”。

  8. 查看标记为 “失败” 或“ 警告”的任何测试结果。 此信息可能有助于提供解决问题的可操作步骤。

  9. 若要获取可下载的文件,请导航到 C:\Windows\Cluster\Reports 文件夹,并打开验证报告 (。MHT) 文件。

    注意

    在 Windows Server 2016 及更高版本中,它是一个 .HTM 文件。

检查可能影响群集节点的安全策略

在组策略对象编辑器,这些策略对象位于计算机配置\Windows 设置\安全设置\本地策略\用户权限分配中。

注意

若要访问本地安全策略设置,请选择“ 开始”,键入 “本地安全策略”,然后选择“ 本地安全策略”。

更改策略设置后,请先尝试使节点再次联机,然后再继续操作。

暂时禁用防火墙

禁用节点与群集其余部分之间的防火墙,然后尝试再次使节点联机。 如果节点仍未联机,则防火墙可能是原因。

重要

完成故障排除后,请勿保留此更改。 使用此更改进行测试后,将这些设置返回到原始配置。

检查网络硬件和软件是否存在问题

  • 检查系统事件日志中是否存在与此节点上的网络适配器相关的硬件或软件错误。

  • 检查用于连接节点的网络的网络适配器、电缆和网络配置。

  • 如果要组合网络适配器,请确保组合配置正确。

  • 检查连接节点的网络中的中心、交换机或网桥。

查看日志文件

若要确定问题的根源,请查看来自多个源的日志信息。 例如:

  • 在事件查看器中,导航到“应用程序和服务日志\Microsoft\Windows\FailoverClustering-Client\Diagnostic”,并查看群集 API 调试跟踪日志。

  • 为节点生成新的群集日志。 在运行受影响节点的服务器上,打开提升的 PowerShell 提示符并运行以下 cmdlet:

    Get-ClusterLog -Node 'Local Node Name' -Destination c:\temp -UseLocalTime

若要生成更详细的跟踪,请执行以下步骤:

  1. 在提升的 PowerShell 提示符下,运行以下 cmdlet 以启动跟踪:

    logman create trace "base_cluster" -ow -o c:\base_cluster.etl -p "Microsoft-Windows-FailoverClustering-Client" 0xffffffffffffffff 0xff -nb 16 16 -bs 1024 -mode Circular -f bincirc -max 4096 -ets

  2. 重现问题。

  3. 若要停止跟踪,请运行以下 cmdlet:

    Logman stop base_cluster.etl -ets

  4. 若要转换跟踪,请运行以下 cmdlet:

    Netsh trace convert base_cluster.etl

  5. 若要从数据生成群集日志,请运行以下 cmdlet:

    Get-ClusterLog -Node 'Local Node Name' -Destination c:\temp -UseLocalTime

有关跟踪和其他需要关注的问题的详细信息,请参阅 如何排查创建群集故障