Good news, I finally found the crap source, it's keepalived. I tested several times without keepalived in runlevel 3, after kernel boots I add the ipvs service by hand: ./ipvsadm -C # Clear previous log > /var/log/kern.log sleep 1 # Start debug echo 20 > /proc/sys/net/ipv4/vs/debug_level ./ipvsadm -R < /etc/keepalived/rules-with-ops usleep 30000 # Stop debug echo 0 > /proc/sys/net/ipv4/vs/debug_level Then add VIP manually, then do ARP announce manually: vs3 ~/pkgs # ip a add 150.164.100.120/32 dev eno1 vs3 ~/pkgs # arp-sk -i eno1 -S 150.164.100.120:90:b1:1c:1a:59:46 -d 150.164.100.126 After these actions, traffic starts come in. and all ipvsadm checks are fine, OPS is fine too. So I figured that maybe outdated libipvs in keepalived broke the ipvs in kernel. I'll try to report this to upstream. On the other hand, ipvs didn't recovery from ipvsadm -C, rmmod ip_vs && ./ipvsadm -R < rules-with-ops is needed (I tested, reload ip_vs module could make OPS work). So robustness of IPVS needs improvement. Thanks for all your help and kindness :-) -- To unsubscribe from this list: send the line "unsubscribe lvs-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html