1. DHCP 故障转移概述
DHCP 故障转移是 Windows Server 2012+ 引入的高可用功能,两台 DHCP 服务器共享同一个作用域的地址池,一台宕机时另一台自动接管。
两种模式对比
| 特性 | Hot Standby | Load Balance |
|---|---|---|
| 工作方式 | 主服务器响应,备用待命 | 两台同时响应,按比例分配 |
| 负载分担 | 否(100%/0%) | 是(可配置比例) |
| 适用场景 | 主数据中心 + 灾备 | 单数据中心双机 |
| 故障切换 | 自动切换到备用 | 自动承担全部负载 |
2. 部署前置条件
- 两台服务器运行 Windows Server 2012 或更高版本
- 两台都已安装并授权 DHCP 服务器角色
- 两台服务器之间网络互通(TCP 647 端口用于状态同步)
- DC02(192.168.10.253)已安装 DHCP 角色并授权
⚠️ 注意
故障转移的服务器不要求加入同一个域,但在 AD 域环境中推荐都加入域并授权。
3. 配置 Hot Standby 模式
1
DHCP 管理器(DC01)→ 右键作用域 「LAN-Subnet」 → 「配置故障转移」
2
点击「添加服务器」,输入 DC02.iehang.cn 或 192.168.10.253 → 确定
3
选择 Hot Standby 模式
4
设置共享密钥(两台服务器之间的认证密码),如 P@ssw0rd2024
5
主服务器(DC01)状态切分为 100%,备用 0%
6
取消勾选「启用关系后立即启动」(先验证再启用)→ 下一步 → 完成
PowerShell - Hot Standby
# DC01 上配置 Hot Standby 故障转移
Add-DhcpServerv4Failover -ComputerName "DC01.iehang.cn" `
-ScopeId 192.168.10.0 `
-PartnerServer "DC02.iehang.cn" `
-SharedSecret "P@ssw0rd2024" `
-Mode HotStandby `
-ServerRole Primary `
-ReservePercent 10
# 验证故障转移关系
Get-DhcpServerv4Failover -ComputerName "DC01.iehang.cn"
# 查看 DC02 上的状态
Get-DhcpServerv4Failover -ComputerName "DC02.iehang.cn"
4. 配置 Load Balance 模式
1
与 Hot Standby 类似,但在第 3 步选择 Load Balance
2
设置负载比例:DC01 50%,DC02 50%(或 60/40 按性能分配)
3
最大客户端前导时间设为 1 小时(故障切换时旧租约仍有效的时间)
PowerShell - Load Balance
# 配置 Load Balance(50/50)
Add-DhcpServerv4Failover -ComputerName "DC01.iehang.cn" `
-ScopeId 192.168.10.0 `
-PartnerServer "DC02.iehang.cn" `
-SharedSecret "P@ssw0rd2024" `
-Mode LoadBalance `
-LoadBalancePercent 50 `
-MaxClientLeadTime 1:00:00
# 修改负载比例
Set-DhcpServerv4Failover -ComputerName "DC01.iehang.cn" `
-LoadBalancePercent 60
5. 验证故障转移
1
DHCP 管理器 → 展开 IPv4 → 双击故障转移
2
确认显示 DC01 和 DC02 的关系及状态为「正常」
3
在 DC02 上刷新 IPv4,确认 LAN-Subnet 作用域已自动创建并处于「正在同步」状态
PowerShell - 验证
# 强制同步
Invoke-DhcpServerv4FailoverReplication -ComputerName "DC01.iehang.cn"
# 模拟故障切换(测试用)
Set-DhcpServerv4Failover -ComputerName "DC01.iehang.cn" `
-ForceSwitch
# 查看两台的租约数量
Get-DhcpServerv4Lease -ComputerName "DC01.iehang.cn" -ScopeId 192.168.10.0 | Measure-Object
Get-DhcpServerv4Lease -ComputerName "DC02.iehang.cn" -ScopeId 192.168.10.0 | Measure-Object
6. 常见问题
Q1:两台服务器的地址池重叠?
Hot Standby 模式下,备用服务器默认预留 10% 地址。Load Balance 模式下两台共享同一池。
Q2:TCP 647 端口不通?
检查防火墙规则:Get-NetFirewallRule -DisplayGroup "DHCP*" | Enable-NetFirewallRule
Q3:如何删除故障转移关系?
在 DHCP 管理器右键故障转移关系 →「删除关系」,或在 DC02 上删除复制的作用域。