Hi all, I've a number of IPVS directors using the source hashing scheduler (sh, sh-fallback) and TUN method to load balance to a number of real servers with the same weight. All the IPVS directors are configured with the same settings and BGP is used to advertise the VIP address on to the network. All IPVS directors run independently and do not sync connections.
It is my understanding that sh is a consistent hashing algorithm that, regardless of which IPVS director traffic from the same connection (5-tuple) ends up on, the packet will be forwarded to the same real server. Is this understanding correct? Should I be moving to maglev instead? I'm on ubuntu 18.04, which is why I am using sh instead of maglev. However, very occasionally, a small number of packets from the same connection gets forwarded to a different real server when they end up on a different IPVS director. This causes the real server to send a RST since it has no idea about the connection. Why does this happen? ipvsadm -L -n looks like this: IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP a.b.c.d:443 sh (sh-fallback) -> x.y.z.1:443 Tunnel 10 0 0 -> x.y.z.2:443 Tunnel 10 0 0 -> x.y.z.3:443 Tunnel 10 0 0 -> x.y.z.4:443 Tunnel 10 0 0 I believe this issue is similar to what Philip Moore asked about in 2019-11, which led me to discover that I needed to have the real servers in the same sequence on each director. However, that didn't solve my issue, which is why I am asking for help here. Thanks in advance for any help. Regeards, Derrick _______________________________________________ Please read the documentation before posting - it's available at: http://www.linuxvirtualserver.org/ LinuxVirtualServer.org mailing list - lvs-users@LinuxVirtualServer.org Send requests to lvs-users-requ...@linuxvirtualserver.org or go to http://lists.graemef.net/mailman/listinfo/lvs-users