我在两台服务器上使用Debian GNU / Linux上的ISC DHCP版本4.1.1。 我试图解决以下问题使用不同版本的ISC DHCP,但仍保持不变。
我在不同子网上的两台服务器之间进行故障转移的configuration是:
#----------------------------------------------- # Primary Server #----------------------------------------------- authoritative; default-lease-time 900; max-lease-time 1800; option domain-name "foo.com"; option domain-name-servers 10.12.0.254; failover peer "foo" { primary; address 10.12.0.254; port 647; peer address 10.10.10.12; peer port 647; max-response-delay 30; max-unacked-updates 10; load balance max seconds 3; mclt 1800; split 128; } subnet 10.12.0.0 netmask 255.255.0.0 { pool { failover peer "foo"; range 10.12.10.0 10.12.112.0; range 10.12.112.12 10.12.255.254; deny dynamic bootp clients; } option routers 10.12.0.254; option subnet-mask 255.255.0.0; option broadcast-address 10.12.255.255; } #----------------------------------------------- # Secondary Server #----------------------------------------------- authoritative; default-lease-time 900; max-lease-time 1800; option domain-name "foo.com"; option domain-name-servers 10.12.0.254; failover peer "foo" { secondary; address 10.10.10.12; port 647; peer address 10.12.0.254; peer port 647; max-response-delay 30; max-unacked-updates 10; load balance max seconds 3; } subnet 10.12.0.0 netmask 255.255.0.0 { pool { failover peer "foo"; range 10.12.10.0 10.12.112.0; range 10.12.112.12 10.12.255.254; deny dynamic bootp clients; } option routers 10.12.0.254; option subnet-mask 255.255.0.0; option broadcast-address 10.12.255.255; } subnet 10.10.10.0 netmask 255.255.255.240 { }
在主服务器的networking与辅助服务器的networking相连的路由器上启用了IP帮助程序(又称UDP帮助程序)和DHCP中继。我可以从一台服务器ping到另一台服务器,然后从另一台服务器ping到另一台服务器。
当我在两台服务器上启动dhcpd服务时,他们都无法平衡租约。
我粘贴两台服务器的日志样本
主服务器
Sep 19 10:31:11 primary dhcpd: failover peer foo: I move from recover to startup Sep 19 10:31:11 primary dhcpd: failover peer foo: I move from startup to recover Sep 19 10:31:11 primary dhcpd: Sent update request all message to foo Sep 19 10:31:20 primary dhcpd: peer foo: disconnected Sep 19 10:31:22 primary dhcpd: failover peer foo: peer moves from recover-done to recover-done Sep 19 10:31:22 primary dhcpd: failover peer foo: peer moves from recover-done to recover-done Sep 19 10:31:45 primary dhcpd: DHCPINFORM from 10.12.181.177 via eth1 Sep 19 10:31:45 primary dhcpd: DHCPACK to 10.12.181.177 (00:17:42:c0:e3:ce) via eth1 Sep 19 10:32:45 primary dhcpd: DHCPDISCOVER from 00:16:d3:e5:3a:3c (PC1) via eth1: not responding (recovering) Sep 19 10:32:46 primary dhcpd: DHCPINFORM from 10.12.181.177 via eth1 Sep 19 10:32:46 primary dhcpd: DHCPACK to 10.12.181.177 (00:17:42:c0:e3:ce) via eth1 Sep 19 10:32:49 primary dhcpd: DHCPDISCOVER from 00:16:d3:e5:3a:3c (PC1) via eth1: not responding (recovering) Sep 19 10:32:57 primary dhcpd: DHCPDISCOVER from 00:16:d3:e5:3a:3c (PC1) via eth1: not responding (recovering) Sep 19 10:33:13 primary dhcpd: DHCPDISCOVER from 00:19:99:95:41:99 (PC2) via eth1: not responding (recovering) Sep 19 10:33:13 primary dhcpd: DHCPDISCOVER from 00:16:d3:e5:3a:3c (PC1) via eth1: not responding (recovering) Sep 19 10:33:17 primary dhcpd: DHCPDISCOVER from 00:19:99:95:41:99 (PC2) via eth1: not responding (recovering) Sep 19 10:33:25 primary dhcpd: DHCPDISCOVER from 00:19:99:95:41:99 (PC2) via eth1: not responding (recovering) Sep 19 10:33:41 primary dhcpd: DHCPDISCOVER from 00:19:99:95:41:99 (PC2) via eth1: not responding (recovering)
辅助服务器
Sep 19 10:31:11 secondary dhcpd: Update request all from foo: sending update Sep 19 10:31:23 secondary dhcpd: Wrote 22 leases to leases file. Sep 19 10:31:23 secondary dhcpd: failover peer foo: I move from recover-done to startup Sep 19 10:31:23 secondary dhcpd: failover peer foo: I move from startup to recover-done Sep 19 10:31:45 secondary dhcpd: DHCPINFORM from 10.12.181.177 via 10.12.0.1 Sep 19 10:31:45 secondary dhcpd: DHCPACK to 10.12.181.177 (00:17:42:c0:e3:ce) via eth0 Sep 19 10:32:45 secondary dhcpd: DHCPDISCOVER from 00:16:d3:e5:3a:3c via 10.12.0.1: not responding (recover done) Sep 19 10:32:46 secondary dhcpd: DHCPINFORM from 10.12.181.177 via 10.12.0.1 Sep 19 10:32:46 secondary dhcpd: DHCPACK to 10.12.181.177 (00:17:42:c0:e3:ce) via eth0 Sep 19 10:32:49 secondary dhcpd: DHCPDISCOVER from 00:16:d3:e5:3a:3c via 10.12.0.1: not responding (recover done) Sep 19 10:32:57 secondary dhcpd: DHCPDISCOVER from 00:16:d3:e5:3a:3c via 10.12.0.1: not responding (recover done) Sep 19 10:33:13 secondary dhcpd: DHCPDISCOVER from 00:19:99:95:41:99 via 10.12.0.1: not responding (recover done) Sep 19 10:33:13 secondary dhcpd: DHCPDISCOVER from 00:16:d3:e5:3a:3c via 10.12.0.1: not responding (recover done) Sep 19 10:33:17 secondary dhcpd: DHCPDISCOVER from 00:19:99:95:41:99 via 10.12.0.1: not responding (recover done) Sep 19 10:33:25 secondary dhcpd: DHCPDISCOVER from 00:19:99:95:41:99 via 10.12.0.1: not responding (recover done) Sep 19 10:33:41 secondary dhcpd: DHCPDISCOVER from 00:19:99:95:41:99 via 10.12.0.1: not responding (recover done) Sep 19 10:34:46 secondary dhcpd: DHCPDISCOVER from 00:1a:4b:45:3a:2f via 10.12.0.1: peer holds all free leases Sep 19 10:34:51 secondary dhcpd: DHCPDISCOVER from 00:1a:4b:45:3a:2f via 10.12.0.1: peer holds all free leases Sep 19 10:34:59 secondary dhcpd: DHCPDISCOVER from 00:1a:4b:45:3a:2f via 10.12.0.1: peer holds all free leases Sep 19 10:35:16 secondary dhcpd: DHCPDISCOVER from 00:1a:4b:45:3a:2f via 10.12.0.1: peer holds all free leases Sep 19 10:38:28 secondary dhcpd: DHCPDISCOVER from 00:16:d3:e5:3a:3c via 10.12.0.1: not responding (recover done) Sep 19 10:38:32 secondary dhcpd: DHCPDISCOVER from 00:16:d3:e5:3a:3c via 10.12.0.1: not responding (recover done)
我似乎没有负载平衡日志行,所以我不认为租赁平衡正在发生…
Sent update request all message to foo Update request all from foo: sending update
平衡过程似乎停留在上面的两条线上
如果我在一台服务器上closures了DHCPD守护程序,那么即使它检测到其他对等设备已closures,对等设备似乎也无法接pipe
我该如何解决这个问题?
预先感谢(对不起我英文不好):-)
消息not responding (recovering)表明服务器没有响应,因为它正在从故障转移(或初始启动)恢复。 而且可能仍然使用您游泳池中的所有免费租赁填充租赁数据库,如果您拥有大型游泳池,则可能需要一段时间。
尝试使用较小的池来validation您的故障转移是否正常工作,然后重新调整。 你的范围是非常大的,可能是为什么它似乎挂在更新的原因。
错误消息peer holds all free leases也可能意味着请求已经在错误的networking接口上被接收,例如,如果计算机只configuration为在eth0上获得IP,而在eth1上收到DHCP请求。 deny dynamic bootp clients是典型的这种设置。 在我的情况下,一个接口用于工作站networking,另一个用于打印机,有人将工作站插入打印机networking。
看到我的博客文章,当我遇到这个错误信息,也发现在Debian上没有明显的原因 。
我不记得当时看到的消息not responding (recovering) ,但我也有peer holds all free leases两个DHCP服务器上的peer holds all free leases 。