*** From dhcp-server -- To unsubscribe, see the end of
this message. ***
On Tue, Feb 21, 2006 at 01:23:48PM -0600, Ben Beuchler
wrote:
> Is there any documentation describing the various
failover-related log entries?
Sure, RTC (Read The Code). :(
> Specifically, I'm curious about the meaning of the
"lease imbalance"
> entries and the "backup" and
"lts" values from the "pool"
entries.
There are two 'pool' loglines. They look the same.
They're supposed to
be. They're executed in opposing conditions.
Can you tell the difference between these two:
log_info ("pool %lx %s total %d free %d
backup %d lts %d",
log_info ("pool %lx %s total %d free %d
backup %d lts %d",
The first is logged by dhcp_failover_pool_check(), which is
called
whenever the system allocates an address...it wants to know
if it is
running out of leases and should ask for more (send a
POOLREQ to the
peer, or steal leases back, depending on secondary/primary).
The second is dhcp_failover_pool_rebalance(), which is
called when a
system wants to give leases to its peer (eg, always the
primary). This
is either due to the system discovering a misbalance on its
own, or in
response to receiving a POOLREQ message.
In this second case, LTS means 'leases to send'. If the
server were to
send this many leases to the peer, then the pool would be
50/50 balanced.
But in the first case, LTS actually is calculated as
'leases to request'.
Leases that would need to be transferred from the peer to
yourself in
order to balance the pool 50/50.
And the only way to tell the difference is that extra space
in the second
logline.
Right nasty of us, isn't it.
This is why:
> Feb 21 13:09:42 swozzle dhcpd: pool 8157fc8
150.253.90/24 total 181
> free 33 backup 20 lts -6
> Feb 21 13:09:42 swozzle dhcpd: pool 8157fc8
150.253.90/24 total 181
> free 33 backup 20 lts 6
-6 leases to request, means the same thing as 6 leases to
send.
> Feb 21 13:09:42 swozzle dhcpd: lease imbalance - lts =
4
But somehow your server only sent 2! This is an error
condition that
really shouldn't happen, I don't think.
I'm not sure how it's possible.
Might have a look at your dhcpd.leases file to see if the
leases in these
states match these log lines:
awk 'BEGIN { curlease = ""; } /^lease / {
curlease = $2; } /^ binding state / { leases[curlease] =
$3; } END { for(lease in leases) { states[leases[lease]]++;
} for(state in states) { print state, states[state]; } }'
/var/db/dhcpd.leases
Also, what version are you running?
--
David W. Hankins "If you don't do it right the first
time,
Software Engineer you'll just have to do it again."
Internet Systems Consortium, Inc. -- Jack T. Hankins
------------------------------------------------------------
-----------
List Archives : http://www.isc.org/ops/
lists/
Unsubscribe : http://www.
isc.org/sw/dhcp/dhcp-lists.php
-or- : mailto:dhcp-server-request isc.org?Subject=unsubscribe
------------------------------------------------------------
-----------
|