DHCP 故障转移是什么?

 

适用对象:Windows Server 2012 R2, Windows Server 2012

DHCP 故障转移 Windows Server® 2012 是一项新功能,使两个 Microsoft DHCP 服务器提供 DHCP 的高可用性与彼此、 共享服务可用性信息。 DHCP 故障转移的工作原理是将从主 DHCP 服务器的 IP 地址租用和一个或多个 DHCP 作用域中的设置复制到故障转移伙伴服务器。

DHCP Failover

两台 DHCP 服务器,包括活动租约之间共享所有的作用域信息。 这使任意一台 DHCP 服务器来承担责任 DHCP 客户端,如果另一台服务器变为不可用。

请参阅以下各节概述本主题中的 DHCP 故障转移︰

  • DHCP 故障转移的简介

  • DHCP 故障转移规范

  • DHCP 故障转移和 IPv6

  • DHCP 故障转移和 Windows 故障转移群集

  • DHCP 故障转移和 DNS 动态更新

本指南中的下列主题提供有关 DHCP 故障转移的概念、 示例和故障排除的更多详细的信息︰

DHCP 故障转移的简介

通过 DHCP 故障转移,DHCPv4 作用域可以从主 DHCP 服务器复制到合作伙伴 DHCP 服务器,使冗余和负载平衡的 DHCP 服务。 共享已启用故障转移的 DHCP 作用域的 DHCP 服务器被称为故障转移伙伴。 Microsoft 的 DHCP 故障转移的实现基于 Internet 工程任务组 (IETF) DHCP 故障转移协议 草稿。

当两个 DHCP 服务器被配置为故障转移时,它们将共享作用域信息,包括所有活动租约。 这使这两个 DHCP 服务器负载平衡或冗余目的而提供的同一子网的租约。 当你第一次配置 DHCP 故障转移,而可以稍后再复制,如果进行了配置更改复制作用域设置。

下图说明了如何两台 DHCP 服务器之间共享组件和为已启用故障转移的 DHCP 作用域的设置。

Failover Scope

使用一个名为 DHCP 故障转移关系的新对象共享的作用域和设置与配置的 DHCP 服务器用于 DHCP 故障转移。 有关详细信息,请参阅 DHCP 故障转移关系

多个配置选项是适用于 DHCP 故障转移。 您可以在 DHCP 服务器上,或仅在某些作用域上存在的所有作用域上配置故障转移。 此外可以轻松可以通过将它们添加到同一个故障转移关系的多个作用域使用相同的 DHCP 故障转移设置。 故障转移关系始终是只有两个 DHCP 服务器之间。 但是,一个服务器可以有多个故障转移关系,并且每个故障转移关系可以与另一个 DHCP 服务器。

重要

如果在已启用故障转移的范围内进行了更改,您必须手动将这些更改复制到伙伴服务器以便进行同步两个 DHCP 服务器上的作用域。 复制到伙伴服务器,从而覆盖与合作伙伴服务器上的设置从启动复制其中的 DHCP 服务器会将作用域设置。 因此,务必始终启动了您想要使用的 DHCP 作用域设置的服务器中的复制。

DHCP 故障转移规范

下面的规范适用于 DHCP 故障转移︰

  • 无法在 DHCP 作用域以包括两个以上的 DHCP 服务器上配置 DHCP 故障转移。

  • DHCP 故障转移支持 DHCPv4 作用域。 DHCPv6 作用域不能为已启用故障转移的。

  • DHCP 故障转移伙伴必须都运行 Windows Server 2012 或更高版本的操作系统。

  • 可以配置 DHCP 故障转移,并且可以修改设置,而无需暂停、 停止或重新启动 DHCP 服务器服务。

  • 如果修改已启用故障转移的作用域参数,则必须手动将这些设置复制到伙伴 DHCP 服务器。 注意︰ 自动进行复制的作用域设置之后,方可中使用 IP 地址管理 (IPAM) Windows Server 2012 R2 修改已启用故障转移的作用域设置。

  • 复制作用域设置可以从任意一台 DHCP 服务器启动到其故障转移伙伴服务器。

  • 群集的 DHCP 结合 DHCP 故障转移支持。 为了进行故障转移,DHCP 群集被视为单个 DHCP 服务器。 有关详细信息,请参阅DHCP 故障转移和 Windows 故障转移群集。

  • DHCP 客户端必须能够直接与进行通信这两个 DHCP 故障转移伙伴的服务器,或者也可以使用 DHCP 中继。

  • DHCP 服务器配置为故障转移伙伴可以位于不同子网上,但这不是必需。

  • 在 DHCP 作用域上启用 DHCP 故障转移时,可以不同于最初授予租约的 DHCP 服务器续订 DHCP 客户端租约的 DHCP 服务器。

  • 配置为故障转移伙伴的两个 DHCP 服务器将尝试维护一个持续的 TCP/IP 连接。

  • 每个 DHCP 故障转移合作伙伴服务器独立维护两个单独的、 已同步的客户端租约数据库。

  • DHCP 服务器配置为故障转移伙伴都知道的其他服务器上的 DHCP 服务的状态和通知的最小的延迟与该状态中的任何更改。

  • 如果两个 DHCP 服务器配置为故障转移伙伴无法进行通信,采取的预防措施以避免颁发给两个不同的 DHCP 客户端相同的 IP 地址租约。

  • 如果能够成功地使其故障转移伙伴同步所有 DHCP 客户端信息之前,DHCP 服务器变为不可用,会采取预防措施以确保 DHCP 客户端的 DHCP 租约连续性。

重要

当具有不同的操作系统版本的 DHCP 故障转移合作伙伴服务器之间复制设置 (ex: Windows Server 2012 和 Windows Server 2012 R2)、 始终修改设置和启动复制从 DHCP 服务器的较新的操作系统版本。 这可以确保设置是由两个故障转移伙伴识别,一致地复制。

使用 Windows PowerShell 或使用 DHCP 控制台中,可以配置 DHCP 故障转移。 有关使用 Windows PowerShell 的信息,请参阅 Windows PowerShell 中的 DHCP 服务器 Cmdlet (https://technet.microsoft.com/library/jj590751.aspx)。 有关配置 DHCP 故障转移的详细指南,请参阅 部署 DHCP 故障转移

DHCP 故障转移和 IPv6

为 Internet 协议版本 6 (IPv6) 不支持 DHCP 故障转移作用域。 通常使用 IPv6 的网络适配器确定自己使用无状态的 IP 自动配置的 IPv6 地址。 在这种模式中,DHCP 服务器只提供 DHCP 选项配置,而不能保持任何租用状态信息。 对无状态 DHCPv6 进行的高可用性部署,仅通过简单地设立两个有标识选项配置的服务器就可以实现。 即使在监控状态的 DHCPv6 部署中,作用域也不在高地址利用率的情形下运行,这使得拆分作用域成为高可用性的一个可行方案。

DHCP 故障转移和 Windows 故障转移群集

使用以下配置中的群集 DHCP 支持 DHCP 故障转移︰

  • 一台 DHCP 服务器可以与 DHCP 故障转移群集的故障转移关系。

  • DHCP 故障转移群集可以与另一个 DHCP 故障转移群集的故障转移关系。

在这两种情况下,您必须配置要使用的名称或群集,不是名称或 IP 地址的群集节点的 IP 地址的 DHCP 故障转移。 如果各个群集节点配置为故障转移伙伴时,主服务器将进入中断的通信的状态,如果 DHCP 服务器服务将移动到群集中的其他节点。

重要

如果您使用共享的机密,必须手动到所有群集节点中复制的共享的机密。 请参阅下面的过程的详细信息。

复制 DHCP 故障转移群集节点上的共享的机密

  1. 在服务器管理器菜单上单击 工具 ,然后单击 故障转移群集管理器

  2. 在故障转移群集管理器中,确定当前处于活动状态的节点。 若要确定活动的节点,可以单击在每个节点上 节点 直到您看到 DHCP 服务器 角色状态为 运行。 你还可以在 Windows PowerShell 提示符下键入以下命令︰

    Get-ClusterResource –Name DHCPMCSDhcp | select OwnerNode
    

    在此示例中,群集名称是 DHCPMCSDhcp。 此命令的输出将为当前处于活动状态的节点的名称。

  3. 当前处于活动状态的群集节点上,在提升的 Windows PowerShell 提示符处,键入以下命令,然后按 ENTER。

    Set-DhcpServerv4Failover –Name ”DHCPMCSDhcp”  -SharedSecret “123”
    

    在此示例中,群集名称是 DHCPMCSDhcp 和共享的机密是 123

  4. 接下来,将 DHCP 服务器角色移到另一个节点。 若要移动某个角色,请单击 操作 在故障转移群集管理器菜单上,依次指向 移动, ,然后单击 选择节点

  5. 移动群集角色 对话框中,单击下的一个节点上 群集节点 ,然后单击 确定

  6. 重复步骤 3-5,直到在群集中的所有节点上设置共享的机密。

必须将复制的共享的机密的原因是因为 Windows 注册表中对其进行加密。

Windows 故障转移群集将自动复制相关的 DHCP 服务器服务,当它移到新的节点,但共享密钥的加密是特定于每个节点的注册表参数。 因此,每个节点仅可以解密共享的机密,如果它已在同一个节点上配置。

DHCP 故障转移和 DNS 动态更新

如果 DHCP 服务器配置为执行代表客户端计算机的 DNS 动态更新,这两个 DHCP 故障转移关系中的 DHCP 服务器必须使用相同的 DNS 凭据来更新 DNS 记录。 如果故障转移伙伴尝试使用不同的凭据来更新 DNS 资源记录,此更新将失败。

以下步骤描述如何当客户端计算机使用不同的 DHCP 服务器时,DNS 动态更新可能会失败︰

  1. Windows DHCP 服务器进行动态更新代表 DHCP 客户端。

  2. DHCP 服务器创建客户端的 DNS 名称,并将成为该名称的所有者。

  3. 现在只有 DHCP 服务器本身可以更新客户端的名称的 DNS 记录。

  4. 原始服务器出现故障,并且第二个备份的 DHCP 服务器处于联机状态。现在该名称的所有者,因此第二台服务器,就无法更新客户端名称。

另请参阅 DNS 记录的所有权和 DnsUpdateProxy 组 有关此方案的讨论。

另请参阅

部署 DHCP 故障转移

循序渐进:针对故障转移配置 DHCP