zhoudaiyu
V2EX  ›  DevOps

有没有用 LVS+apache 做正想代理的大佬,有个很难排查的问题

  •  
  •   zhoudaiyu ·
    PRO
    · Jan 13, 2020 via iPhone · 3057 views
    This topic created in 2336 days ago, the information mentioned may be changed or developed.
    现在用两台配置了 LVS(DR)模式做端口转发+高可用,后端是两台 apache http server 做正向代理。最近有个奇怪得问题,apache 代理的某个 URL 变慢了,导致了 Client 端访问 LVS 提供的虚 IP+端口出现了大量的 Connection Timeout 和 Connection Refused 错误,我用 telnet 测试是瞬间 Connection Refused。把 LVS APACHE 和这四台机器的内核参数查了一遍,好像也没什么问题。大佬能提供一个排查的思路吗?
    3 replies    2020-01-14 13:53:50 +08:00
    znood
        1
    znood  
       Jan 14, 2020   ❤️ 1
    DR 模式只做两层转发,先测试 LB 到 RS 通不通,然后 tcpdump 抓包看错误从哪返回的,Connection Refused 是端口未开启的错误。另 IPVS(LVS)没有健康检查做不了高可用。
    zhoudaiyu
        2
    zhoudaiyu  
    OP
    PRO
       Jan 14, 2020 via iPhone
    @znood 谢谢您!其实我说的 LVS 是 keepalived...所以可以做后端检查。但是您说的 REFUSED 是端口未开启我觉得不太可能吧,apache 会跑着跑着突然少了几个端口吗?而且 REFUSED 的时候,我看 IPVS 上没有路由规则了,很奇怪
    znood
        3
    znood  
       Jan 14, 2020
    IPVS 中没有规则了说明两台服务的健康都有问题,Keepalived 去掉了不健康的服务后端( Keepalived 我不太熟),所以导致了 IPVS 直接 reset connection。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3023 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 13:20 · PVG 21:20 · LAX 06:20 · JFK 09:20
    ♥ Do have faith in what you're doing.