Centos

使用 HAproxy 和 keepalived 的連接同步建議

  • August 12, 2012

我設法讓HAproxy按照architecture.txt文件中的建議使用keepalived在故障轉移配置中工作。

我使用了 CentOS 5.5、來自 epel repo 的 HAproxy rpm (haproxy-1.3.25-1.el5) 和來自 CentOS testing repo 的 keepalived rpm (keepalived-1.1.15-0.el5.centos)。

這是我的keepalived配置

vrrp_script chk_haproxy {           # Requires keepalived-1.1.13
   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 {
   interface eth0
   state MASTER
   virtual_router_id 51
   priority 101                    # 101 on master, 100 on backup
   virtual_ipaddress {
   10.0.0.30            
   10.0.0.31            
   }
   track_script {
       chk_haproxy
   }
}

我現在想要的是讓我的備份節點能夠在主節點出現故障時接管實際打開的連接。

我聽說這可以通過多種方式完成(conntrackd),使用 LVS 功能等……我想對實現它的最簡單和更強大的方式提出建議,最好使用可用的 rpm。

謝謝G

lvs_sync_daemon_inteface選項使 MASTER 能夠保存連接狀態並將其與 BACKUP 同步。嘗試這個:

vrrp_instance VI_1 {
   state MASTER
   interface eth0
   lvs_sync_daemon_interface eth0
   virtual_router_id 51
   priority 101                    # 101 on master, 100 on backup
   virtual_ipaddress {
   10.0.0.30            
   10.0.0.31            
   }
   track_script {
       chk_haproxy
   }
}

引用自:https://serverfault.com/questions/170515