More DHCP Failover
Earlier I wrote about DHCP failover, but there's another thing I thought I might mention that could be useful to others....
I had a problem in that one of my servers' CMOS clocks tends to be a bit off, maybe 90 seconds. When dhcpd
starts up, it is unable to enter a normal failover state because of the time difference between it and the other dhcpd
server.
I have
ntpdate_enable="YES"
ntpdate_flags="-b x.x.x.x"
in my /etc/rc.conf
, along with running openntpd
, but for some reason ntpdate
wasn't setting the clock at boot time, and by the time openntpd
got the clock tuned up, dhcpd
had given up on trying to re-establish failover. Restarting dhcpd
by hand later on always worked OK.
I think what was happening was that the network jack this server was plugged into wasn't coming alive quick enough to be up and running when ntpdate
tried to do its thing. Something to do with the Cisco switch not having portfast enabled.
I don't have access to do anything about the switches, so I came up with the workaround of adding a simple script /usr/local/etc/rc.d/000.afterboot.sh
to schedule a job to run a few minutes after the machine boots - to adjust the clock and restart dhcpd
. It looks something like:
#!/bin/sh at now + 5 minutes <<EOF /etc/rc.d/ntpdate restart /usr/local/etc/rc.d/isc-dhcpd restart EOF
It's a bit of a kludge, but seems to do the trick.