LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Problem with real servers in latest CVS ldirectord 1.87 2004/05/07 08:53

To: lvs-users@xxxxxxxxxxxxxxxxxxxxxx
Subject: Problem with real servers in latest CVS ldirectord 1.87 2004/05/07 08:53:33 -- repost sorry about the signature
From: Jonathan Trott <jtrott@xxxxxxxxxxx>
Date: Wed, 26 May 2004 16:29:54 +1000
I have downloaded the latest ldirectord from CVS (1.87 2004/05/07 08:53:33) to try and fix a problem we have been having with the fallback server remaining in the pool after a real server comes back online. According to this post <http://marc.theaimsgroup.com/?l=linux-virtual- server&m=106508659022945&w=2> in the mailing list that problem has been fixed in CVS. I haven't got around to testing the fallback code however, as the CVS version does not activate all of our server pools. Reverting back to 1.77 successfully added all real servers to all our pools. The procedure I used to update ldirectord was to copy the new ldirectord file over the top of the existing /usr/sbin/ldirectord and issuing a "service ldirectord restart".

ldirectord.cf config file:

checktimeout=6
checkinterval=2
#fallback=127.0.0.1:8000
autoreload=yes
#logfile="/var/log/ldirectord.log"
logfile="local0"
quiescent=no

virtual=192.168.100.1:80
        real=192.168.11.11:80 masq
        real=192.168.11.12:80 masq
        real=192.168.11.13:80 masq
        real=192.168.11.14:80 masq
        service=http
        request="/serverstate/"
        receive="server up"
        scheduler=lc
        persistent=7200
        #netmask=255.255.255.255
        protocol=tcp

virtual=192.168.0.1:80
        real=192.168.11.11:80 masq
        real=192.168.11.12:80 masq
        real=192.168.11.13:80 masq
        real=192.168.11.14:80 masq
        service=http
        request="/serverstate/"
        receive="server up"
        scheduler=lc
        persistent=7200
        #netmask=255.255.255.255
        protocol=tcp

virtual=192.168.100.1:443
        real=192.168.11.11:443 masq
        real=192.168.11.12:443 masq
        real=192.168.11.13:443 masq
        real=192.168.11.14:443 masq
        service=https
        request="/serverstate/"
        receive="server up"
        scheduler=lc
        persistent=7200
        #netmask=255.255.255.255
        protocol=tcp

virtual=192.168.0.1:443
        real=192.168.11.11:443 masq
        real=192.168.11.12:443 masq
        real=192.168.11.13:443 masq
        real=192.168.11.14:443 masq
        service=https
        request="/serverstate/"
        receive="server up"
        scheduler=lc
        persistent=7200
        #netmask=255.255.255.255
        protocol=tcp

/var/log/messages: -- comments to show what I was doing when then log entries occured

-- "cp ldirectord /usr/sbin/ldirectord"
-- "service ldirectord restart"
May 26 12:27:55 osacon2 ldirectord: Stopping ldirectord succeeded
May 26 12:27:55 osacon2 ldirectord[24978]: Removed real server: 192.168.11.11:80 (-1 x 192.168.100.1:80 May 26 12:27:55 osacon2 ldirectord[24978]: Removed real server: 192.168.11.13:80 (-2 x 192.168.100.1:80 May 26 12:27:55 osacon2 ldirectord[24978]: Removed virtual server: 192.168.100.1:80 May 26 12:27:55 osacon2 ldirectord[24978]: Removed virtual server: 192.168.0.1:80 May 26 12:27:55 osacon2 ldirectord[24978]: Removed real server: 192.168.11.11:443 (-1 x 192.168.100.1:443 May 26 12:27:55 osacon2 ldirectord[24978]: Removed real server: 192.168.11.13:443 (-2 x 192.168.100.1:443 May 26 12:27:55 osacon2 ldirectord[24978]: Removed virtual server: 192.168.100.1:443 May 26 12:27:55 osacon2 ldirectord[24978]: Removed virtual server: 192.168.0.1:443 May 26 12:27:55 osacon2 ldirectord[24978]: Linux Director Daemon terminated on signal: TERM May 26 12:27:57 osacon2 ldirectord[26708]: Starting Linux Director v1.87 as daemon
May 26 12:27:57 osacon2 ldirectord: Starting ldirectord succeeded
May 26 12:27:57 osacon2 ldirectord[26710]: Added virtual server: 192.168.100.1:80 May 26 12:27:57 osacon2 ldirectord[26710]: Added virtual server: 192.168.0.1:80 May 26 12:27:57 osacon2 ldirectord[26710]: Added virtual server: 192.168.100.1:443 May 26 12:27:57 osacon2 ldirectord[26710]: Added virtual server: 192.168.0.1:443 May 26 12:27:57 osacon2 ldirectord[26710]: Added real server: 192.168.11.11:80 (0 x 192.168.100.1:80) (Weight set to 1) May 26 12:27:58 osacon2 ldirectord[26710]: Added real server: 192.168.11.13:80 (1 x 192.168.100.1:80) (Weight set to 1) May 26 12:28:01 osacon2 ldirectord[26710]: Added real server: 192.168.11.11:443 (0 x 192.168.100.1:443) (Weight set to 1) May 26 12:28:04 osacon2 ldirectord[26710]: Added real server: 192.168.11.13:443 (1 x 192.168.100.1:443) (Weight set to 1)
-- "ipvsadm -L -n" to check the vs table, see below
-- rsync the old version of ldirectord from the other cluster member to the active cluster member May 26 12:28:16 osacon2 rsyncd[26733]: rsync to root/usr/sbin/ldirectord from osacon1.osa.int (10.127.0.2) May 26 12:28:16 osacon2 rsyncd[26734]: wrote 32 bytes read 19085 bytes total size 80982
-- "service ldirectord restart"
May 26 12:28:20 osacon2 ldirectord[26710]: Removed real server: 192.168.11.11:80 (1 x 192.168.100.1:80 May 26 12:28:20 osacon2 ldirectord[26710]: Removed real server: 192.168.11.13:80 (0 x 192.168.100.1:80 May 26 12:28:20 osacon2 ldirectord[26710]: Removed virtual server: 192.168.100.1:80 May 26 12:28:20 osacon2 ldirectord[26710]: Removed virtual server: 192.168.0.1:80 May 26 12:28:20 osacon2 ldirectord[26710]: Removed real server: 192.168.11.11:443 (1 x 192.168.100.1:443 May 26 12:28:20 osacon2 ldirectord[26710]: Removed real server: 192.168.11.13:443 (0 x 192.168.100.1:443 May 26 12:28:20 osacon2 ldirectord[26710]: Removed virtual server: 192.168.100.1:443 May 26 12:28:20 osacon2 ldirectord[26710]: Removed virtual server: 192.168.0.1:443 May 26 12:28:20 osacon2 ldirectord[26710]: Linux Director Daemon terminated on signal: TERM
May 26 12:28:20 osacon2 ldirectord: Stopping ldirectord succeeded
May 26 12:28:21 osacon2 ldirectord[26760]: Starting Linux Director v1.77 as daemon
May 26 12:28:21 osacon2 ldirectord: Starting ldirectord succeeded
May 26 12:28:21 osacon2 ldirectord[26762]: Added virtual server: 192.168.100.1:80 May 26 12:28:21 osacon2 ldirectord[26762]: Added virtual server: 192.168.0.1:80 May 26 12:28:21 osacon2 ldirectord[26762]: Added virtual server: 192.168.100.1:443 May 26 12:28:21 osacon2 ldirectord[26762]: Added virtual server: 192.168.0.1:443 May 26 12:28:21 osacon2 ldirectord[26762]: Added real server: 192.168.11.11:80 (0 x 192.168.100.1:80) (Weight set to 1) May 26 12:28:21 osacon2 ldirectord[26762]: Added real server: 192.168.11.11:80 (0 x 192.168.0.1:80) (Weight set to 1) May 26 12:28:22 osacon2 ldirectord[26762]: Added real server: 192.168.11.13:80 (0 x 192.168.100.1:80) (Weight set to 1) May 26 12:28:22 osacon2 ldirectord[26762]: Added real server: 192.168.11.13:80 (0 x 192.168.0.1:80) (Weight set to 1) May 26 12:28:25 osacon2 ldirectord[26762]: Added real server: 192.168.11.11:443 (0 x 192.168.100.1:443) (Weight set to 1) May 26 12:28:25 osacon2 ldirectord[26762]: Added real server: 192.168.11.11:443 (0 x 192.168.0.1:443) (Weight set to 1) May 26 12:28:28 osacon2 ldirectord[26762]: Added real server: 192.168.11.13:443 (0 x 192.168.100.1:443) (Weight set to 1) May 26 12:28:28 osacon2 ldirectord[26762]: Added real server: 192.168.11.13:443 (0 x 192.168.0.1:443) (Weight set to 1)
-- "ipvsadm -L -n" to check the vs tables

Virtual Server tables at different points:

Running 1.87:

[root@osacon2 ldirectord]# ipvsadm -L -n
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.0.1:80 lc persistent 7200
TCP  192.168.100.1:80 lc persistent 7200
  -> 192.168.11.13:80             Masq    1      0          0
  -> 192.168.11.11:80             Masq    1      0          0
TCP  192.168.0.1:443 lc persistent 7200
TCP  192.168.100.1:443 lc persistent 7200
  -> 192.168.11.13:443            Masq    1      0          0
  -> 192.168.11.11:443            Masq    1      0          2

Running 1.77:

IP Virtual Server version 1.0.11 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.0.1:80 lc persistent 7200
  -> 192.168.11.13:80             Masq    1      0          0
  -> 192.168.11.11:80             Masq    1      0          0
TCP  192.168.100.1:80 lc persistent 7200
  -> 192.168.11.13:80             Masq    1      0          0
  -> 192.168.11.11:80             Masq    1      0          0
TCP  192.168.0.1:443 lc persistent 7200
  -> 192.168.11.13:443            Masq    1      0          0
  -> 192.168.11.11:443            Masq    1      0          0
TCP  192.168.100.1:443 lc persistent 7200
  -> 192.168.11.13:443            Masq    1      0          0
  -> 192.168.11.11:443            Masq    1      0          2

Are there any known problems with 1.87 I should be wary of? Is there another version with the fallback fix but without this new bug? Can anyone supply a patch so that I can fix this problem in 1.87? Unfortunately I don't have the time to come to grips with the ldirectord perl code :(
Thanks,
JT

<Prev in Thread] Current Thread [Next in Thread>
  • Problem with real servers in latest CVS ldirectord 1.87 2004/05/07 08:53:33 -- repost sorry about the signature, Jonathan Trott <=