在故障转移群集中配置一个域控制器?还是两个 DC,每个群集节点一个?

在故障转移群集中配置一个域控制器?还是两个 DC,每个群集节点一个?

我目前正在规划一个具有两个节点的 Hyper-V 群集中的高可用性 Windows Server 2012 R2 环境。我不确定如何为工作域部署虚拟域控制器,以便在节点发生故障时保持林可用。

我看到两个选择:

  1. 使用域服务创建一个虚拟机,并将该虚拟机配置为故障转移群集中的群集资源。让群集负责虚拟机(域控制器)的可用性。

  2. 在 Hyper-V 节点 1 上创建一个 VM。在 Hyper-V 节点 2 上创建第二个 VM。VM 未配置为群集资源(每个 VM 没有冗余)。在两个 VM 上安装域服务。如果某个节点(因此是某个 VM)发生故障,则让域控制器负责提供域服务。

我的问题是:

  • 是否有一个优选的方法?
  • 这两种方法各有什么优点和缺点?

我欣赏高质量的答案,请提供来源作为您回答的依据。

答案1

创建单个集群域控制器并不是创建高可用性 AD 服务。而是创建高可用性 VM,无论 VM 提供什么服务。如果您丢失 VM(操作系统故障、数据损坏等),那么您就丢失了 VM 提供的服务,因此这些服务从一开始就不是高可用性的。

不要将集群化、高可用性 VM 与集群化、高可用性服务相混淆。集群化、高可用性 VM 使 VM 具有高可用性,并间接使 VM 上的服务具有高可用性只有在虚拟机本身正常运行的情况下才会发生这种情况。如果虚拟机本身发生故障,它提供的服务也会发生故障。群集虚拟机可防止主持人故障,而不是虚拟机或服务级别故障。

正确的做法是创建两个域控制器。将它们放置在您想要的位置,并根据需要将它们集群化。如果是我,我会创建两个域控制器并按照您的建议放置它们(每个主机上一个 DC),并且我也会将它们集群化。如果其中一个主机发生故障,则没有理由让其中一个不可用。将它们集群化允许两者继续为客户端提供服务,无论哪个主机处于启动或关闭状态。

答案2

域控制器和故障转移群集是互斥的。

“不支持在 Windows Server 2012 上结合使用 Active Directory 域服务角色和故障转移群集功能”

“不建议在 Windows Server 2003、Windows Server 2008 或 Windows Server 2008 R2 上结合使用 Active Directory 域服务角色和故障转移群集功能”

http://support.microsoft.com/kb/281662

无论您使用 Active Directory 做什么,它都需要执行 Windows 客户端会执行的操作。查找可用的域控制器并使用它,如果域控制器出现问题,则查找下一个可用的域控制器并使用它。

假设你真的读了整篇文章,这确实是一个警示故事。信息是“不要这样做”。

答案3

我建议创建两个域控制器,每个主机上一个。不要将它们作为集群的一部分。Windows 集群需要通过域控制器进行身份验证才能启动。如果两个域控制器都是集群的一部分,并且集群由于某种原因处于离线状态,则无法启动集群,因为验证集群所需的域控制器不在线。

相关内容