小编and*_*rew的帖子

HAproxy 循环平衡似乎没有均匀分布

我知道在加载服务器的情况下,HAproxy (1.4.4) 中的 roundrobin 不会均匀分布,但我的服务器目前没有流量(测试设置),并且 roundrobin 平衡做了 www1,www1,www1,www1,www1,... www2,www2,www2,...,www1...

我通过在每台服务器 cat /etc/HOSTNAME (slackware) 上运行脚本来验证这一点。我每次都需要让它来回切换以测试一些会话内容(存储在共享的 memcached 中),但是在每次请求时让它在我的两个 Web 服务器之间切换时遇到问题。

global
    log     127.0.0.1 local0 warning
    maxconn     4096
    chroot      /usr/share/haproxy
    pidfile     /var/run/haproxy.pid
    uid     99
    gid     99
    daemon

defaults
    balance     roundrobin
    fullconn    100
    maxconn     4096
    mode        http
    option      dontlognull
    option      http-server-close
    option      forwardfor
    option      redispatch
    retries     3
    timeout     connect 5000
    timeout     client  20000
    timeout     server  60000
    timeout     queue   60000
    stats       enable
    stats       uri /haproxy
    stats       auth ***:***

frontend www *:80
    log     global
    acl     is_upload …
Run Code Online (Sandbox Code Playgroud)

configuration load-balancing haproxy

6
推荐指数
1
解决办法
6731
查看次数

Keepalived over GRE 隧道,用于 VPS 环境中的故障​​转移

我正在 Linode 上运行一个应用程序。他们的网络不支持多播。许多用于故障转移的工具(keepalived、spread/wackamole、heartbeat)需要多播才能工作(据我所知)。我已经阅读了所有这些的文档,即使在“单播”模式下(如果有的话)它仍然通过多播发送。

我知道通过 GRE 隧道,我可以在路由器不知道的情况下有效地发送多播,这将使我能够使用其中一种工具(现在我想使用 keepalived)。

我在设备“gretun”上设置了我的隧道,如下所示:
10.0.0.1 是指向 www1
的隧道接口点 10.0.0.2 是指向 www2 的隧道接口点
我可以nc 10.0.0.2 80从 www1 和nc 10.0.0.1 80www2,所以它似乎正在工作。假设我要共享的公共 IP 是 69.164.69.69。

我有两个问题:
配置keepalived监控隧道(gretun)后,两台机器还是看不到对方。这是我的配置:

global_defs {
    notification_email {
             info@app.com
    }

    notification_email_from alerts@app.com
    smtp_server localhost
    smtp_connect_timeout 30
    router_id www1.app.com
}

vrrp_script chk_haproxy {
    script "killall -0 haproxy"
    interval 2
    weight 2
}

vrrp_instance VI_1 {
    state MASTER
    interface gretun
    virtual_router_id 51
    priority 100

    advert_int 1
    garp_master_delay 2

    smtp_alert

    authentication {
            auth_type PASS
            auth_pass …
Run Code Online (Sandbox Code Playgroud)

tunneling failover high-availability keepalived

3
推荐指数
1
解决办法
3459
查看次数