Red Hat Training
A Red Hat training course is available for Red Hat Ceph Storage
2.11.3. 安装和配置 keepalived
在至少两个 HAProxy 节点上执行以下步骤:
先决条件
- 至少两个 HAProxy 节点。
- 至少两个对象网关节点。
流程
安装
keepalived
:[root@haproxy]# yum install -y keepalived
配置
keepalived
在两个 HAProxy 节点上:[root@haproxy]# vim /etc/keepalived/keepalived.conf
在配置文件中,有一个用于检查
haproxy
进程脚本:vrrp_script chk_haproxy { script "killall -0 haproxy" # check the haproxy process interval 2 # every 2 seconds weight 2 # add 2 points if OK }
接下来,主负载平衡器和备份负载平衡器上的实例使用
eno1
作为网络接口。它还分配虚拟 IP 地址,即192.168.1.20
。Master 负载均衡器节点
vrrp_instance RGW { state MASTER # might not be necessary. This is on the Master LB node. @main interface eno1 priority 100 advert_int 1 interface eno1 virtual_router_id 50 @main unicast_src_ip 10.8.128.43 80 unicast_peer { 10.8.128.53 } authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.1.20 } track_script { chk_haproxy } } virtual_server 192.168.1.20 80 eno1 { #populate correct interface delay_loop 6 lb_algo wlc lb_kind dr persistence_timeout 600 protocol TCP real_server 10.8.128.43 80 { # ip address of rgw2 on physical interface, haproxy listens here, rgw listens to localhost:8080 or similar weight 100 TCP_CHECK { # perhaps change these to a HTTP/SSL GET? connect_timeout 3 } } real_server 10.8.128.53 80 { # ip address of rgw3 on physical interface, haproxy listens here, rgw listens to localhost:8080 or similar weight 100 TCP_CHECK { # perhaps change these to a HTTP/SSL GET? connect_timeout 3 } } }
备份负载均衡器节点
vrrp_instance RGW { state BACKUP # might not be necessary? priority 99 advert_int 1 interface eno1 virtual_router_id 50 unicast_src_ip 10.8.128.53 80 unicast_peer { 10.8.128.43 } authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.1.20 } track_script { chk_haproxy } } virtual_server 192.168.1.20 80 eno1 { #populate correct interface delay_loop 6 lb_algo wlc lb_kind dr persistence_timeout 600 protocol TCP real_server 10.8.128.43 80 { # ip address of rgw2 on physical interface, haproxy listens here, rgw listens to localhost:8080 or similar weight 100 TCP_CHECK { # perhaps change these to a HTTP/SSL GET? connect_timeout 3 } } real_server 10.8.128.53 80 { # ip address of rgw3 on physical interface, haproxy listens here, rgw listens to localhost:8080 or similar weight 100 TCP_CHECK { # perhaps change these to a HTTP/SSL GET? connect_timeout 3 } } }
启用并启动
keepalived
服务:[root@haproxy]# systemctl enable keepalived [root@haproxy]# systemctl start keepalived
其它资源
-
有关配置
keepalived
的详细讨论,请参阅 Keepalived 初始负载平衡器配置。