4.7.3. keepalived 설치 및 구성
두 개 이상의 HAProxy 노드에서 다음 절차를 수행합니다.
사전 요구 사항
- 최소 2개의 HAProxy 노드.
- 최소 두 개의 Object Gateway 노드.
절차
keepalived
설치 :[root@haproxy]# yum install -y keepalived
두 HAProxy 노드 모두에서
keepalived
를 구성합니다.[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
을 할당합니다.기본 로드 밸런서 노드
vrrp_instance RGW { state MASTER # might not be necessary. This is on the primary 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로 Linux 클러스터 설정을 참조하십시오. Red Hat 고객 포털의 기본 구성 문서.