在谷歌搜索和搜索了几个小时却无果后,我不得不回到 StackExchange 找我的老朋友。我的问题与在两个 Windows Server 2008 R2 Enterprise Node 上运行的 Microsoft Failover Cluster 故障有关。
简而言之:网络名称资源无法联机。每次我尝试这样做(通过右键单击网络名称并选择“使此资源联机”)时,我都会失败。事件查看器记录此条目:
EventID: 1207
Source: Failover Clustering
Cluster network name resource 'SQL Network Name (DMT-1NETNAME)' cannot be brought online. The computer object associated with the resource could not be updated in domain 'DMTDevOps.com' for the following reason:
Unable to obtain the Primary Cluster Name Identity token.
The text for the associated error code is: An attempt has been made to operate on an impersonation token by a thread that is not currently impersonating a client.
The cluster identity 'DMT-SQLCLUSTER1$' may lack permissions required to update the object. Please work with your domain administrator to ensure that the cluster identity can update computer objects in the domain.
我到处查找 EventID 和在这里找到的描述,并不是说网上没有关于如何修复它的文档,问题在于解决方案与为服务或应用程序的计算机对象赋予某些权限有关(我已经这样做了)但什么都没有改变。
我完全控制该域(它是一个测试环境)并且我是唯一使用它的人,因此“某人”无意中更改了某些内容(例如破坏计算机帐户或更改 Active Directory 以防止创建新的计算机对象(许多与此错误相关的博客上都建议这样做)。
当我尝试“验证此集群”时,报告显示没有错误...所以在这方面一切正常。此外,计算机可以正常连接到域。
自上次成功以来,唯一的变化是这些节点是 VMS,我使用了它们的先前快照(当时集群运行良好)。出于某种原因,加载这些快照后的信任关系被破坏了,我不得不运行netdom 重置密码使其再次工作,但除此之外,一切都与集群正常时完全相同。
这是由集群生成的日志,希望它能为知识渊博并愿意提供帮助的人提供一些额外的帮助: 群集日志。请注意该日志的尾部(在 15:54),这正是我尝试使资源(服务器名称)联机的时间。
非常感谢所有帮助!
答案1
我在回答我自己的问题,因为经过几个小时的调查,我终于找到了解决办法。我会尽量记录我所做的事情,以便其他遇到同样问题的人可以参考。
我做了一系列的操作,不完全确定是什么修复了这个问题,但我假设是故障转移群集管理器上的“修复 Active Directory 对象”
首先,我以本地管理员身份登录并发出以下命令,在 Active Directory 中重新组合了两个 SQL ClusterNode(DMT-AClusNode 和 DMT-BClusNode)的计算机网络帐户:netdom resetpwd /s:dmtdevops.com /ud:dmtdevops.com\admnistrator /pd:*
然后我转到 Active Directory 域控制器(Active Directory 用户和计算机)并使用“委派控制...”(右键单击左侧面板上的域名)将尽可能多的控制权委派给节点上的计算机帐户(DMT-ACLUSNODE 和 DMT-BCLUSNODE)以及群集名称对象(DMT-SQLCLUSTER1)和虚拟计算机对象(DMT-1NETNAME)的计算机帐户。
我还在组策略管理中进行了更改(DMTDevOps.com --> 组策略对象 --> 默认域策略 --> 右键单击 --> 编辑...),然后(默认域策略 --> 计算机配置 --> 策略 --> Windows 设置 --> 安全设置 --> 本地策略 --> 用户权限分配 --> 将工作站添加到域策略)在该策略上,我添加了上一步中提到的所有计算机帐户(DMT-ACLUSNODE、DMT-BCLUSNODE、DMT-SQLCLUSTER1 和 DMT-1NETNAME)
最后(我认为这解决了问题)我在故障转移群集管理器上选择了“修复 Active Directory 对象”