LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

[lvs-users] feedback loop

To: lvs-users@xxxxxxxxxxxxxxxxxxxxxx
Subject: [lvs-users] feedback loop
From: Zetan Drableg <zetan.drableg@xxxxxxxxx>
Date: Fri, 3 Feb 2017 17:40:39 -0800
Hi, I have two nodes running ipvs/keepalived and syslog-ng for the load
balanced service. Both nodes have a single network interface in production,
but two in my local test kitchen. (eth0 for vagrant, eth1 for the multi
node comms).

I have discovered a feedback loop between both directors causing 100%
network utilization. The same packets are being played over and over again
(verified by packet contents timestamp).

I have read this, but the solution is not clear.
http://www.austintek.com/LVS/LVS-HOWTO/HOWTO/LVS-HOWTO.localnode.html

When running both the ipvs director and the real server on the same box, do
I need to use firewall marks and -t mangle based on mac-source of the other
box?

lo:1 has the vip.
sysctl.d
net.ipv4.conf.eth1.arp_ignore = 1
net.ipv4.conf.eth1.arp_announce = 2

I disabled lvs synch daemon, but did not improve the problem.

real servers are .41 and .42. vip is .31

[root@local-v-test-log-02 vagrant]# ipvsadm --save -n
-A -t 192.168.11.31:601 -s rr -p 60
-a -t 192.168.11.31:601 -r 192.168.11.41:601 -g -w 100
-a -t 192.168.11.31:601 -r 192.168.11.42:601 -g -w 100
-A -t 192.168.11.31:6514 -s rr -p 60
-a -t 192.168.11.31:6514 -r 192.168.11.41:6514 -g -w 100
-a -t 192.168.11.31:6514 -r 192.168.11.42:6514 -g -w 100
-A -u 192.168.11.31:514 -s rr
-a -u 192.168.11.31:514 -r 192.168.11.41:514 -g -w 100
-a -u 192.168.11.31:514 -r 192.168.11.41:5141 -g -w 100
-a -u 192.168.11.31:514 -r 192.168.11.41:5142 -g -w 100
-a -u 192.168.11.31:514 -r 192.168.11.41:5143 -g -w 100
-a -u 192.168.11.31:514 -r 192.168.11.42:514 -g -w 100
-a -u 192.168.11.31:514 -r 192.168.11.42:5141 -g -w 100
-a -u 192.168.11.31:514 -r 192.168.11.42:5142 -g -w 100
-a -u 192.168.11.31:514 -r 192.168.11.42:5143 -g -w 100


global_defs {
    router_id LVS_LOG
}

vrrp_instance VI_1 {
    state BACKUP
    interface eth1
!   lvs_sync_daemon_interface eth1
    virtual_router_id 101
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
      192.168.11.31
    }
}

! tcp 6514 for syslog-tls
virtual_server 192.168.11.31 6514 {
    delay_loop 6
    lb_algo rr
    lb_kind DR
    persistence_timeout 60
    protocol TCP

  real_server 192.168.11.41 6514 {
    weight 100
    MISC_CHECK {
       misc_path "/usr/libexec/keepalived/chk-syslog.sh 192.168.11.41"
       misc_timeout 5
      }
    }
  real_server 192.168.11.42 6514 {
    weight 100
    MISC_CHECK {
       misc_path "/usr/libexec/keepalived/chk-syslog.sh 192.168.11.42"
       misc_timeout 5
      }
    }
}

! tcp 601 for syslog-tcp
virtual_server 192.168.11.31 601 {
    delay_loop 6
    lb_algo rr
    lb_kind DR
    persistence_timeout 60
    protocol TCP

  real_server 192.168.11.41 601 {
    weight 100
    MISC_CHECK {
       misc_path "/usr/libexec/keepalived/chk-syslog.sh 192.168.11.41"
       misc_timeout 5
      }
    }
  real_server 192.168.11.42 601 {
    weight 100
    MISC_CHECK {
       misc_path "/usr/libexec/keepalived/chk-syslog.sh 192.168.11.42"
       misc_timeout 5
      }
    }
}

! udp 514 for syslog-udp
  virtual_server 192.168.11.31 514 {
    delay_loop 6
    lb_algo rr
    lb_kind DR
    protocol UDP

  real_server 192.168.11.41 514 {
    weight 100
    MISC_CHECK {
       misc_path "/usr/libexec/keepalived/chk-syslog.sh 192.168.11.41"
       misc_timeout 5
      }
    }
  real_server 192.168.11.42 514 {
    weight 100
    MISC_CHECK {
       misc_path "/usr/libexec/keepalived/chk-syslog.sh 192.168.11.42"
       misc_timeout 5
      }
    }
  real_server 192.168.11.41 5141 {
    weight 100
    MISC_CHECK {
       misc_path "/usr/libexec/keepalived/chk-syslog.sh 192.168.11.41"
       misc_timeout 5
      }
    }
  real_server 192.168.11.42 5141 {
    weight 100
    MISC_CHECK {
       misc_path "/usr/libexec/keepalived/chk-syslog.sh 192.168.11.42"
       misc_timeout 5
      }
    }
  real_server 192.168.11.41 5142 {
    weight 100
    MISC_CHECK {
       misc_path "/usr/libexec/keepalived/chk-syslog.sh 192.168.11.41"
       misc_timeout 5
      }
    }
  real_server 192.168.11.42 5142 {
    weight 100
    MISC_CHECK {
       misc_path "/usr/libexec/keepalived/chk-syslog.sh 192.168.11.42"
       misc_timeout 5
      }
    }
  real_server 192.168.11.41 5143 {
    weight 100
    MISC_CHECK {
       misc_path "/usr/libexec/keepalived/chk-syslog.sh 192.168.11.41"
       misc_timeout 5
      }
    }
  real_server 192.168.11.42 5143 {
    weight 100
    MISC_CHECK {
       misc_path "/usr/libexec/keepalived/chk-syslog.sh 192.168.11.42"
       misc_timeout 5
      }
    }
}
_______________________________________________
Please read the documentation before posting - it's available at:
http://www.linuxvirtualserver.org/

LinuxVirtualServer.org mailing list - lvs-users@xxxxxxxxxxxxxxxxxxxxxx
Send requests to lvs-users-request@xxxxxxxxxxxxxxxxxxxxxx
or go to http://lists.graemef.net/mailman/listinfo/lvs-users

<Prev in Thread] Current Thread [Next in Thread>