尽pipe应该有可用的IP,DHCP服务器给出“没有免费租约”的错误

我们拥有一台运行Rocks Linux Distro 6.2(基于Centos 6.6)的大约40台机器的小型HPC集群。 在过去的几天里,我一直试图在系统中添加6台以上的机器。 前3个是成功的,但我不能pxe启动其他3台机器。 /var/log/messages显示如下“无空闲租约”错误:

 [root@topaz ~]# tail -n3 /var/log/messages Jun 29 17:56:00 topaz dhcpd: DHCPDISCOVER from d0:bf:9c:03:3b:40 via eth0: network 10.1.0.0/16: no free leases Jun 29 17:56:03 topaz dhcpd: DHCPDISCOVER from d0:bf:9c:03:3b:40 via eth0: network 10.1.0.0/16: no free leases Jun 29 17:56:07 topaz dhcpd: DHCPDISCOVER from d0:bf:9c:03:3b:40 via eth0: network 10.1.0.0/16: no free leases 

所有机器只有前端以外的本地IP。 应该有足够的IP可以分配给这些新机器。 似乎没有任何连接到networking的意外机器:

 [root@topaz ~]# arp -a | awk '{ print $2 }' | sort (10.1.255.215) (10.1.255.216) (10.1.255.217) (10.1.255.218) (10.1.255.219) (10.1.255.220) (10.1.255.221) (10.1.255.222) (10.1.255.223) (10.1.255.224) (10.1.255.225) (10.1.255.226) (10.1.255.227) (10.1.255.228) (10.1.255.229) (10.1.255.230) (10.1.255.231) (10.1.255.232) (10.1.255.233) (10.1.255.234) (10.1.255.235) (10.1.255.236) (10.1.255.237) (10.1.255.238) (10.1.255.239) (10.1.255.240) (10.1.255.241) (10.1.255.242) (10.1.255.243) (10.1.255.244) (10.1.255.245) (10.1.255.246) (10.1.255.247) (10.1.255.248) (10.1.255.249) (10.1.255.250) (10.1.255.251) (10.1.255.252) (10.1.255.253) (10.1.255.254) (193.140.197.1) (193.140.197.110) (193.140.197.160) (193.140.197.30) (193.140.197.36) 

我们的租赁文件不显示任何条目:

 [root@topaz ~]# cat /var/lib/dhcpd/dhcpd.leases # The format of this file is documented in the dhcpd.leases(5) manual page. # This lease file was written by isc-dhcp-4.1.1-P1 server-duid "\000\001\000\001\037\006r\351x\347\321\350\031\006"; 

我们的configuration文件如下所示:

 [root@topaz ~]# cat /etc/dhcp/dhcpd.conf ddns-update-style none; subnet 10.1.0.0 netmask 255.255.0.0 { default-lease-time 1200; max-lease-time 1200; option routers 10.1.1.1; option subnet-mask 255.255.0.0; option domain-name "local"; option domain-name-servers 10.1.1.1; option broadcast-address 10.1.255.255; option interface-mtu 1500; group "local" { host topaz-eth0 { hardware ethernet 78:E7:D1:E8:19:06; option host-name "topaz"; fixed-address 10.1.1.1; filename "pxelinux.0"; next-server 10.1.1.1; } host topaz-eth2 { hardware ethernet 78:E7:D1:E8:19:0A; option host-name "topaz"; fixed-address 10.1.1.1; filename "pxelinux.0"; next-server 10.1.1.1; } host topaz-eth3 { hardware ethernet 78:E7:D1:E8:19:0C; option host-name "topaz"; fixed-address 10.1.1.1; filename "pxelinux.0"; next-server 10.1.1.1; } host compute-2-0-eth0 { hardware ethernet 00:23:7d:9f:6f:ca; option host-name "compute-2-0"; fixed-address 10.1.255.254; filename "pxelinux.0"; next-server 10.1.1.1; } host compute-2-0-eth1 { hardware ethernet 00:23:7d:a0:20:e4; option host-name "compute-2-0"; fixed-address 10.1.255.254; filename "pxelinux.0"; next-server 10.1.1.1; } host compute-0-0-eth0 { hardware ethernet 1c:c1:de:76:6f:40; option host-name "compute-0-0"; fixed-address 10.1.255.253; filename "pxelinux.0"; next-server 10.1.1.1; } host compute-0-0-eth1 { hardware ethernet 1c:c1:de:76:6f:44; option host-name "compute-0-0"; fixed-address 10.1.255.253; filename "pxelinux.0"; next-server 10.1.1.1; } (goes on like this) } 

我不明白为什么我得到这个错误。 任何帮助表示赞赏。

它看起来像你错过了range定义或这些盒子的特定host条目,匹配他们的MAC。 除非你的失败的箱子在“这样下去”的名单上,他们将没有任何地址分配。

您的ISC dhcpdconfiguration文件(2016年6月发布)没有范围说明。 没有租约是免费的,因为服务器无法在定义的范围内find分配的IP地址。 你需要一个像

 range 10.1.42.0 10.1.49.255; 

在您的子网{}块内。 该子网内的任何范围,没有别的已经使用,将工作。 如果您有多个子网块,则每个子网都需要一个范围定义。

我只是有一个奇怪的例子,这个错误,我会在这里提到,以防万一有人帮助。

我的dhcp3绑定在两个适配器上。 我无法让DHCP在其中一个上工作。 事实certificate,我已经为客户端计算机预留了一个旧的MAC地址。 由于这个预留是针对另一个子网的,所以DHCP只能find一个预定义的IP地址,这个地址超出了这个适配器的范围,所以no free leases这个no free leases错误。