[lvs-users] Dead servers not being removed from pool, ldirectord

Terry Burton tez at terryburton.co.uk
Thu May 22 18:46:21 BST 2008

On Thu, May 22, 2008 at 6:20 PM, Michael S. Moody <michael at gsc.cc> wrote:
> (remember that this was working up until recently). In all times past,
> here's what happened:
> A server went dead
> Ldirectord realized the server was dead (generally in 10 seconds or less)
> Ldirectord used ipvsadm to remove it from the table completely (as in,
> running ipvsadm -Ln did not show the server anymore)
> All current and all new requests went to the remaining servers
> Ldirectord no longer seems to be removing servers from the ipvs table.

Hi Michael,

It is possible that ldirectord has hung whist checking the status of
some service and is therefore not updating the kernel tables.

Determine the PID of the ldirectord process using ps, then take a look
to see whether the socket identifier in the highest file descriptor in
/proc/$PID/fd/ is updating, as it should be. Alternatively, strace -p
$PID should show you against which FD a system call has wedged
(assuming this is the case).

If it is stuck then you should be able to determine on which host and
service it has hung by looking for the stuck socket identifier in the
TCP connections in netstat. I have seen issues with IMAP status checks

Hope this helps,


More information about the lvs-users mailing list