On 11-05-19 04:41 PM, Ariel wrote: > I'm starting a new LVS-DR setup with ldirectord but am unable to get it > working. I started with trying to set up a single director server with a > single real server. > > My ldirectord.cf: > ------------------ > checktimeout=8 > checkinterval=5 > autoreload=yes > logfile="/var/log/ldirectord.log" > quiescent=no > fork=yes > > virtual = xx.xx.xx.xx:80 > fallback = 127.0.0.1:80 gate # if no real servers are available > real = 10.0.0.2:80 gate 10 # weight of 10 > scheduler = wrr # weighted round robin > persistent = 7200 > protocol = tcp > service = http > request = "test.php" > receive = "Success" > checktype = negotiate > ------------------ > > The director starts up fine, I see no errors in the logfile: > ------------------ > [Thu May 19 15:24:37 2011|ldirectord.cf|21532] Killing child > tcp:xx.xx.xx.xx:80 (PID=21538) > [Thu May 19 15:24:37 2011|ldirectord.cf|21532] Changed virtual server: > xx.xx.xx.xx:80 > [Thu May 19 15:24:37 2011|ldirectord.cf|21532] Restored real server: > 10.0.0.2:80 (xx.xx.xx.xx:80) (Weight set to 10) > [Thu May 19 15:24:38 2011|ldirectord.cf|21532] Child not running for > tcp:xx.xx.xx.xx:80, spawning > [Thu May 19 15:24:38 2011|ldirectord.cf|21532] Spawned child > tcp:xx.xx.xx.xx:80 PID=22592 > [Thu May 19 15:24:46 2011|ldirectord.cf|22593] Invoking ldirectord invoked > as: /usr/sbin/ldirectord /etc/ldirectord.cf restart > [Thu May 19 15:24:46 2011|ldirectord.cf|21532] Killing child > tcp:xx.xx.xx.xx:80 PID=22592 > [Thu May 19 15:24:46 2011|ldirectord.cf|21532] Purged real server (stop): > 10.0.0.2:80 (xx.xx.xx.xx:80) > [Thu May 19 15:24:46 2011|ldirectord.cf|21532] Purged virtual server (stop): > xx.xx.xx.xx:80 > [Thu May 19 15:24:46 2011|ldirectord.cf|21532] Linux Director Daemon > terminated on signal: TERM > [Thu May 19 15:24:47 2011|ldirectord.cf|22593] Starting Linux Director > v1.186-ha as daemon > [Thu May 19 15:24:47 2011|ldirectord.cf|22601] Added virtual server: > xx.xx.xx.xx:80 > [Thu May 19 15:24:47 2011|ldirectord.cf|22601] Added fallback server: > 127.0.0.1:80 (xx.xx.xx.xx:80) (Weight set to 1) > [Thu May 19 15:24:47 2011|ldirectord.cf|22601] Child not running for > tcp:xx.xx.xx.xx:80, spawning > [Thu May 19 15:24:47 2011|ldirectord.cf|22601] Spawned child > tcp:xx.xx.xx.xx:80 PID=22607 > [Thu May 19 15:24:47 2011|ldirectord.cf|22607] Resetting soft failure count: > 10.0.0.2:80 (tcp:xx.xx.xx.xx:80) > [Thu May 19 15:24:47 2011|ldirectord.cf|22607] Added real server: 10.0.0.2:80 > (xx.xx.xx.xx:80) (Weight set to 10) > [Thu May 19 15:24:47 2011|ldirectord.cf|22607] Deleted fallback server: > 127.0.0.1:80 (xx.xx.xx.xx:80) > ------------------ > > When why I try to send any traffic to the xx.xx.xx.xx IP address, it seems to > go nowhere. My real server never sees the incoming traffic (using tcpdump). > Using tcpdump on the ldirectord server shows that it is polling the > "test.php" file successfully very often, but no further traffic is going out. > > Results of: ipvsadm -L > ------------------ > IP Virtual Server version 1.2.1 (size=4096) > Prot LocalAddress:Port Scheduler Flags > -> RemoteAddress:Port Forward Weight ActiveConn InActConn > TCP xx.xx.xx.xx wrr persistent 7200 > -> 10.0.0.2:www Route 10 0 0 > ------------------ > > When I try to curl xx.xx.xx.xx from anywhere else on the network, the > InActConn increments (if I try it 12 times within a minute, it goes up to 12 > InActConn's), but nothing is getting served, not even so much as an ACK-SYN > comes back. > > I am really stuck at this point and have no idea what to try, there seems to > be very little documentation anywhere on how ldirectord actually works except > the manpage. All documentation online seems to be only about setting up > clustering services like heartbeat/pacemaker/keepalived to manage director > failover and nothing about actually setting up a working director. > > Any suggestions for what to try next would be very welcome. > _______________________________________________ > Linux-HA mailing list > Linux-HA@lists.linux-ha.org > http://lists.linux-ha.org/mailman/listinfo/linux-ha > See also: http://linux-ha.org/ReportingProblems > > You may be suffering from the arp problem. Put these entries in your /etc/sysctl.conf file on the guest that is supposed to be accepting the traffic - not the LVS server but the back end server.
net.ipv4.conf.eth0.arp_ignore = 1 net.ipv4.conf.eth0.arp_announce = 2 net.ipv4.conf.eth1.arp_ignore = 1 net.ipv4.conf.eth1.arp_announce = 2 #net.ipv4.conf.hsi0.arp_ignore = 1 #net.ipv4.conf.hsi0.arp_announce = 2 net.ipv4.conf.all.arp_ignore = 1 net.ipv4.conf.all.arp_announce = 2 _______________________________________________ Linux-HA mailing list Linux-HA@lists.linux-ha.org http://lists.linux-ha.org/mailman/listinfo/linux-ha See also: http://linux-ha.org/ReportingProblems