IPVS 将数据包传输到错误的后端

IPVS 将数据包传输到错误的后端

我们正在使用ipvsL4 负载平衡,它以 ipip 隧道模式将数据包传输到 L7 后端。

有三个 ipvs 系统配置了源散列以实现持久性。有时,ipvs 会将数据包传输到错误的后端。

例如,ipvs 1 从客户端 1.1.1.1 接收数据包,并将该数据包发送到后端 realserver 1,同一客户端的下一个数据包由 ipvs 2 接收,然后发送到后端 realserver 2。现在,后端 2 不知道这个数据包,因为连接实际上是由 realserver 1 发起的,因此 realserver 2 使用 RST 数据包结束连接。

这不仅发生在特定客户端上,所有客户端都具有相同的行为。

据我了解,由于源散列算法,所有 L4 ipv 都应该选择相同的真实服务器。

我在实验室中建立了相同的设置,但无法重现。有问题的设置是生产设置,因此我无法出于调试目的对其进行任何重大更改。

Keepalived用于管理ipvs。

关于如何以最小的影响调试此问题的任何指导都将非常有帮助。

PS - 我知道源散列不太一致,但发送到错误真实服务器的数据包太多了。我们还有其他集群,从未见过此问题。

IPVS 1

Prot LocalAddress:Port               Conns   InPkts  OutPkts  InBytes OutBytes
  -> RemoteAddress:Port
TCP  x.x.x.26:443              401541  3620595        0  458422K        0
  -> x.x.x.1:443                401234  3618511        0  458239K        0
  -> x.x.x.2:443                    15      126        0    12341        0
  -> x.x.x.3:443                    35      213        0    20832        0
  -> x.x.x.4:443                    16      113        0    10980        0
  -> x.x.x.5:443                    19      132        0    12113        0
  -> x.x.x.6:443                    18      140        0    13616        0
  -> x.x.x.7:443                    12       97        0     9262        0
  -> x.x.x.8:443                    19      120        0    10448        0
  -> x.x.x.9:443                   164     1083        0    88618        0
  -> x.x.x.15:443                    9       60        0     5498        0


IPVS 2

  Prot LocalAddress:Port               Conns   InPkts  OutPkts  InBytes OutBytes
  -> RemoteAddress:Port
TCP  x.x.x.26:443              402903  3626029        0  459621K        0
  -> x.x.x.1:443                    12       56        0     4150        0
  -> x.x.x.2:443                    21      132        0    12967        0
  -> x.x.x.3:443                   168     1084        0    89908        0
  -> x.x.x.4:443                    14      122        0    11005        0
  -> x.x.x.5:443                    12       79        0     7045        0
  -> x.x.x.6:443                402584  3623968        0  459444K        0
  -> x.x.x.7:443                    29      146        0    12899        0
  -> x.x.x.8:443                    22      190        0    17336        0
  -> x.x.x.9:443                    10       66        0     6049        0
  -> x.x.x.15:443                   31      186        0    15724        0

谢谢 !

相关内容