适用于:SQL Server
本主题说明如何在无仲裁情况下强制启动 Windows Server 故障转移群集 (WSFC) 群集节点。 在灾难恢复和多子网方案中,可能需要它来为 Always On 可用性组 和 SQL Server 故障转移群集实例恢复数据和完全重建高可用性。
- 若要在无仲裁情况下使用以下方法强制启动群集: 使用故障转移群集管理器、使用 Powershell、使用 Net.exe 
开始之前
建议
除了明确指出的情况外,从 WSFC 群集中的任意节点执行时,本主题中的步骤都应适用。 但是,通过从要在无仲裁情况下强制启动的节点执行这些步骤,可能获得更好的效果并避免网络问题。
安全性
用户必须是一个域帐户,该帐户是每个 WSFC 群集节点上本地 Administrators 组的成员。
使用故障转移群集管理器
在无仲裁情况下强制启动群集
- 打开故障转移群集管理器并连接到所需的群集节点,以强制联机。 
- 在“操作”窗格中,单击“强制启动群集”,然后单击“是 - 强制启动我的群集” 。 
- 在左窗格中,在 “故障转移群集管理器” 树中单击该群集名称。 
- 在摘要窗格中,确认当前“仲裁配置”值为:“警告: 群集正在 ForceQuorum 状态下运行”。 
使用 Powershell
在无仲裁情况下强制启动群集
- 通过 “以管理员身份运行” 启动提升的 Windows PowerShell。 
- 导入 - FailoverClusters模块以启用群集 commandlet。
- 使用 - Stop-ClusterNode以确保群集服务已停止。
- 将 - Start-ClusterNode和- -FixQuorum结合使用以强制启动群集服务。
- 将 - Get-ClusterNode和- -Property NodeWeight = 1结合使用以设置确保节点是仲裁的投票成员的值。
- 以可读格式输出群集节点属性。 
示例 (PowerShell)
下面的示例在无仲裁情况下强制启动 AlwaysOnSrv02 节点群集服务,设置 NodeWeight = 1,然后枚举新强制的节点的群集节点状态。
Import-Module FailoverClusters  
  
$node = "Always OnSrv02"  
Stop-ClusterNode -Name $node  
Start-ClusterNode -Name $node -FixQuorum  
  
(Get-ClusterNode $node).NodeWeight = 1  
  
$nodes = Get-ClusterNode -Cluster $node  
$nodes | Format-Table -property NodeName, State, NodeWeight  
  
使用 Net.exe
在无仲裁情况下强制启动群集
- 使用远程桌面连接到所需的群集节点,以强制联机。 
- 通过 “以管理员身份运行” 启动提升的命令提示符。 
- 使用 net.exe 以确保本地群集服务已停止。 
- 将 net.exe 和 - /forcequorum结合使用以强制启动本地群集服务。
示例 (Net.exe)
下面的示例在无仲裁情况下强制启动一个节点群集服务,设置 NodeWeight = 1,然后枚举新强制的节点的群集节点状态。
net.exe stop clussvc  
net.exe start clussvc /forcequorum  
跟进:在无仲裁情况下强制启动群集后
- 在使其他节点重新联机前,必须重新计算和重新配置 NodeWeight 值以正确构造新的仲裁。 否则,该群集可能再次脱机。 - 有关详细信息,请参阅 WSFC 仲裁模式和投票配置 (SQL Server)。 
- 如果出现意外的仲裁失败,本主题所述的步骤仅仅是使 WSFC 群集重新联机中的一个步骤。 您可能还要执行其他步骤来阻止其他 WSFC 群集节点干扰新的仲裁配置。 
- 其他 SQL Server 功能(如 Always On 可用性组、数据库镜像和日志传送)可能也需要执行后续操作来恢复数据和完全重建高可用性。 - 详细信息: 
相关内容
另请参阅
通过强制仲裁进行 WSFC 灾难恢复 (SQL Server)
配置群集仲裁 NodeWeight 设置
Windows PowerShell 中按任务焦点列出的故障转移群集 Cmdlet