我目前正在规划一个具有两个节点的 Hyper-V 集群中的高可用性 Windows Server 2012 R2 环境。我不确定如何为工作域部署虚拟域控制器,以在节点出现故障时保持森林可用。
我看到两个选项:
使用域服务创建一台虚拟机,并将 vm 配置为故障转移集群中的集群资源。让集群担心虚拟机(域控制器)的可用性。
在 Hyper-V 节点 1 上创建一个 VM。在 Hyper-V 节点 2 上创建第二个 VM。VM 未配置为群集资源(每个 VM 没有冗余)。在两个 VM 上安装域服务。如果一个节点和一个虚拟机出现故障,让域控制器担心提供域服务。
我的问题是:
- 有首选方法吗?
- 这两种方法有什么优点和缺点?
我很欣赏高质量的答案,请用来源备份您的回复。
创建单个集群域控制器并不是创建高可用性 AD 服务。它正在创建一个高度可用的虚拟机,而不管虚拟机提供什么服务。如果您丢失了虚拟机(操作系统故障、数据损坏等),那么您就丢失了虚拟机所提供的服务,因此这些服务一开始就不是高度可用的。
不要将集群化、高可用性 VM 与集群化、高可用性服务混淆。集群化的高可用性 VM 使 VM 具有高可用性,并间接使 VM 上的服务具有高可用性,但前提是 VM 本身已启动并运行。如果虚拟机本身停机,它提供的服务也会停机。群集 VM 可防止主机故障,而不是 VM 或服务级别故障。
正确的做法是创建两个域控制器。将它们放置在您希望的位置并根据需要将它们聚集在一起。如果是我,我会创建两个并按照您的建议放置它们(每台主机上一个 DC),我也会将它们聚集在一起。如果其中一台主机出现故障,没有理由让其中一台不可用。对它们进行集群允许两者都可以继续为客户端提供服务,无论哪个主机启动或关闭。
域控制器和故障转移集群是互斥的。
“不支持在 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 客户端可以执行的操作。找到一个可用的域控制器并使用它,如果域控制器有问题,找到下一个可用的域控制器并使用它。
假设您实际上阅读了整篇文章,这确实是一个警示故事。信息是“不要这样做”。
我建议创建两个域控制器,每个主机上一个。不要使这些成为集群的一部分。Windows 群集需要域控制器进行身份验证才能启动。如果两个域控制器都是群集的一部分,并且由于某种原因群集脱机,则无法启动您的群集,因为验证群集所需的域控制器将不在线。