V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zhoudaiyu
V2EX  ›  DevOps

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

  •  
  •   zhoudaiyu · 2020-01-13 22:09:45 +08:00 via iPhone · 2269 次点击
    这是一个创建于 1804 天前的主题,其中的信息可能已经有所发展或是发生改变。
    现在用两台配置了 LVS(DR)模式做端口转发+高可用,后端是两台 apache http server 做正向代理。最近有个奇怪得问题,apache 代理的某个 URL 变慢了,导致了 Client 端访问 LVS 提供的虚 IP+端口出现了大量的 Connection Timeout 和 Connection Refused 错误,我用 telnet 测试是瞬间 Connection Refused。把 LVS APACHE 和这四台机器的内核参数查了一遍,好像也没什么问题。大佬能提供一个排查的思路吗?
    3 条回复    2020-01-14 13:53:50 +08:00
    znood
        1
    znood  
       2020-01-14 11:36:50 +08:00   ❤️ 1
    DR 模式只做两层转发,先测试 LB 到 RS 通不通,然后 tcpdump 抓包看错误从哪返回的,Connection Refused 是端口未开启的错误。另 IPVS(LVS)没有健康检查做不了高可用。
    zhoudaiyu
        2
    zhoudaiyu  
    OP
       2020-01-14 12:40:25 +08:00 via iPhone
    @znood 谢谢您!其实我说的 LVS 是 keepalived...所以可以做后端检查。但是您说的 REFUSED 是端口未开启我觉得不太可能吧,apache 会跑着跑着突然少了几个端口吗?而且 REFUSED 的时候,我看 IPVS 上没有路由规则了,很奇怪
    znood
        3
    znood  
       2020-01-14 13:53:50 +08:00
    IPVS 中没有规则了说明两台服务的健康都有问题,Keepalived 去掉了不健康的服务后端( Keepalived 我不太熟),所以导致了 IPVS 直接 reset connection。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2579 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 11:02 · PVG 19:02 · LAX 03:02 · JFK 06:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.