群集服务启动失败问题排查指南

故障排除清单

检查群集服务使用的端口

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

  • 端口 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

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