如何解决 Windows Server 2003 中的群集服务启动问题

本文介绍了可用于通过 Windows Server 2003 诊断群集服务启动问题的基本故障排除步骤。

原始产品版本:  Windows Server 2003、Windows Server 2003 R2
原始 KB 数:  266274

摘要

本文介绍了可用于通过 Windows Server 2003 诊断群集服务启动问题的基本故障排除步骤。 虽然这并不是可能导致群集服务无法启动的所有问题的完整列表,但它确实解决了多数 Windows Server 2003 启动问题。 本文的内容不适用于 Windows Server 2008 或更高版本。

更多信息

当群集服务最初启动时,它会尝试加入现有的群集。 为此,群集服务必须能够联系现有的群集节点。 如果 join 过程不成功,群集将继续执行表单阶段;此阶段的主要要求是能够装入仲裁设备。

以下是启动过程中的步骤:

  • 对服务帐户进行身份验证。
  • 加载群集数据库的本地副本。
  • 使用本地数据库中的信息尝试联系其他节点以开始加入过程。 如果已联系节点并成功进行身份验证,则 join 过程成功。
  • 如果没有其他节点可用,群集服务将使用本地数据库中的信息来装入仲裁设备,并通过加载最新的检查点文件并重播仲裁日志来更新数据库的本地副本。

解决群集服务启动问题

重要

此部分(或称方法或任务)介绍了修改注册表的步骤。 但是,注册表修改不当可能会出现严重问题。 因此,请务必严格按照这些步骤操作。 为了加强保护,应先备份注册表,再进行修改。 如果出现问题,可以还原注册表。 有关如何备份和还原注册表的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 322756 如何在 Windows 中备份和还原注册表

  1. 验证有问题的群集节点是否能够正确地对服务帐户进行身份验证。 您可以通过使用群集服务帐户登录计算机,或通过检查群集服务登录问题事件消息的系统事件日志来确定这一点。

  2. 确认%SystemRoot%\Cluster 文件夹包含有效的 Clusdb 文件,并且群集服务尝试启动。 启动注册表编辑器 (Regedt 32.3 xe) 并验证以下注册表项是否有效和加载: HKEY_LOCAL_MACHINE \Cluster

    群集配置单元应具有与群集管理员非常相似的结构。 请记下网络和仲裁密钥。 如果数据库无效,则可以从活动节点复制并使用群集数据库。

  3. 如果节点不是群集中的第一个节点,请检查在所有可用网络中与其他群集节点的连接。 使用 Ping.exe 工具验证 TCP/IP 连接,并使用群集管理器验证是否可以联系群集服务。 在 "群集管理器" 的 " 连接到 " 对话框中的其他节点中使用网络适配器的 tcp/ip 地址。

  4. 如果无法联系任何其他节点,该服务将继续使用窗体阶段。 它尝试在本地群集数据库中查找有关仲裁的信息,然后尝试装入该磁盘。 如果无法装入仲裁磁盘,服务将不会启动。 如果另一个节点已成功启动,并且拥有仲裁的所有权,则该服务不会启动。 这通常是由连接或身份验证问题导致的。 如果不是这种情况,可以通过使用-fixquorum 开关启动服务,并尝试将仲裁磁盘设为联机,或更改服务的仲裁位置,来检查仲裁设备的状态。 此外,请检查系统事件日志中是否有磁盘错误。 如果仲裁磁盘成功进入联机状态,则可能是仲裁已损坏。 若要更正此问题,请参阅以下 Microsoft 知识库文章: Windows NT 4.0: 172951 如何从损坏的仲裁日志中恢复
    Windows 2000: 245762 从丢失或损坏的仲裁日志中恢复

  5. 检查 Cluster 文件的属性,以确保它不是 只读的,并确保没有策略生效,从而无法修改 Cluster. 日志文件。 如果满足上述任一条件,则无法启动群集服务。

如果这些步骤不能解决问题,则应采取其他故障排除步骤。 群集日志文件在其他故障排除中可能非常有用。 默认情况下,群集日志记录在运行群集服务的基于 Windows 2000 的计算机上启用。 若要在基于 Windows NT 4.0 的计算机上启用群集日志记录,请参阅以下 Microsoft 知识库文章:

168801 如何在 Microsoft 群集服务器中启用群集日志记录