标签: keepalived

如何使用 Hetzner Online 配置故障转移 IP 以实现高可用性

我有一个由 3 个 Ubuntu 节点组成的集群,在实验室的 VM 中运行,现在想将其投入生产。Hetzner Online hetzner.de 提供了一些物有所值的专用服务器,所以我租了 3 台机器,连接了一个千兆交换机。

我的目的是在 2 个 HAProxy 服务器前创建一个带有两个 keepalived 的 HA-Setup。Keepalived 在我的设置中配置了一个 VIP。不幸的是,这不适用于 Hetzner。然而,他们提供了一个称为故障转移 IP 的系统,可以在脚本的帮助下切换到另一台服务器:http : //wiki.hetzner.de/index.php/Failover_Skript

我的 keepalived 配置如下所示:

vrrp_script chk_haproxy {
        script "killall -0 haproxy"     # cheaper than pidof
        interval 2                      # check every 2 seconds
        weight 2                        # add 2 points of prio if OK
}

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 101
    virtual_ipaddress {
        192.168.56.101/24 # this is the shared IP …
Run Code Online (Sandbox Code Playgroud)

failover high-availability keepalived

2
推荐指数
1
解决办法
5387
查看次数

不同子网上的 KeepAlived

我正在尝试在基于 ESXi 的设置上设置 keepalived,其中 2 个物理盒安装了 ESXi,并且每个物理盒都有一个使用 HAProxy 作为负载均衡器的节点。现在为了实现高可用性,我想使用 KeepAlived,这样两个 HAProxy 实例都可以共享虚拟 IP,并且我可以将物理 IP 地址指向虚拟 IP 地址。我的实现面临的挑战是它有 2 个子网。

子网 A 上的 HAProxy:1.1.10.101 子网 B 上的 HAProxy:1.2.10.101

现在,当我尝试在两个实例上分配虚拟 IP 1.1.10.201 时,它如何指向两个服务器上的本地实例。

我使用带有 HAProxy 和 KeepAlived 的 CentOS 7.x,主要是为了负载平衡 HTTP 流量,也可能用于数据库。

我不会发布配置文件,因为问题本身非常简单,但如果需要,我可以这样做。

subnet centos keepalived

2
推荐指数
1
解决办法
8555
查看次数

keepalived - 随机重选

我们已经设置了 3 个运行keepalived 的服务器。我们开始注意到一些我们无法解释的随机连任发生,所以我来到这里寻求建议。

这是我们的配置:

掌握:

global_defs {
  notification_email {
    webops@example.com
  }
  notification_email_from keepalived@hostname
  smtp_server example.com:587
  smtp_connect_timeout 30
  router_id some_rate
}


vrrp_script chk_nginx {
  script "killall -0 nginx"
  interval 2
  weight 2
}

vrrp_instance VIP_61 {
  interface bond0
  virtual_router_id 61
  state MASTER
  priority 100
  advert_int 1
  authentication {
    auth_type PASS
    auth_pass PASSWORD
  }
  virtual_ipaddress {
    X.X.X.X
    X.X.X.X
    X.X.X.X
  }
  track_script {
    chk_nginx
  }
}
Run Code Online (Sandbox Code Playgroud)

备份1:

global_defs {
  notification_email {
    webops@example.com
  }
  notification_email_from keepalived@hostname
  smtp_server example.com:587
  smtp_connect_timeout 30
  router_id …
Run Code Online (Sandbox Code Playgroud)

failover high-availability vrrp keepalived

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

具有故障转移功能的 Softlayer HAProxy

我在 Softlayer 上有 2 个虚拟服务器,都运行 HAProxy。我正在尝试使用 keepalived 设置故障转移。每个服务器都有一个私有IP和一个公共IP,它们在同一个VLAN上。我已经为 keepalived 尝试了许多不同的设置,但是在 master 上停止 HAProxy,它不会故障转移到 BACKUP。

我读到不支持多播,因此我已将设置更改为单播。现在,备份/主服务器上的设置基本上是这样的:

vrrp_script chk_haproxy {
  script "pidof haproxy"
  interval 2
}

vrrp_instance VI_1 {
  debug 2
  interface eth1
  state MASTER
  virtual_router_id 51
  priority 101
  unicast_src_ip 1.2.3.4        # My IP
  unicast_peer {
    5.6.7.8                   # peer IP
  }
  track_script {
    chk_haproxy
  }
}
Run Code Online (Sandbox Code Playgroud)

其中 MYIP 是 conf 文件所在服务器的公共 IP 地址,PEERIP 是对等方的公共 IP 地址。它仍然不起作用。在 master 上停止 HAProxy,它不会故障转移到备份。

我想知道是否有人在 Softlayer 上设置了带故障转移的 HAProxy,他们是如何实现的?

failover haproxy keepalived

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

是不是不能在EC2中使用keepalived

问题是如果我想使用keepalived,我的两个 EC2 实例(ha 代理)需要绑定一个虚拟 IP ,但它们在 EC2 中是不可能的,因为在给定时间只有一个实例可以使用弹性 IP,所以它是不可能吧?

high-availability amazon-ec2 amazon-web-services amazon-elastic-ip keepalived

0
推荐指数
1
解决办法
4267
查看次数

keepalived BACKUP 无明显原因地过渡到 MASTER

出于测试目的,我提出了 2 个 Debian jessie VM(使用 vagrant 和 virtualbox),并让它们都运行一个迷你 Web 服务器并配置了 keepalived。

问题是 BACKUP 服务器在几秒钟后service keepalived restart无缘无故地转换到 MASTER。

我还看到 VRRP 多播数据包到达两台服务器,它们看起来符合预期。(这似乎意味着Keepalived 不需要的过渡到 master 中建议的解决方案无关)

配置文件如下:

主服务器:

global_defs {
        lvs_id tom_lvs
}

vrrp_instance tom_lvs {
        state MASTER
        interface eth1
    virtual_router_id 1
    lvs_sync_daemon_interface eth1
    priority 100
    preempt
        authentication {
                auth_type PASS
                auth_pass 1234
        }

    advert_int 1
    virtual_ipaddress {
        172.28.128.10/24
    }

        virtual_server 172.28.128.10 3000 {
                delay_loop 10
                lb_algo wlc
                lb_kind DR
                protocol TCP
                persistence_timeout 1800
                sorry_server 172.28.128.3 3000
                real_server …
Run Code Online (Sandbox Code Playgroud)

virtualbox keepalived debian-jessie

0
推荐指数
1
解决办法
1654
查看次数