«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags more
Archives
Today
Total
12-28 16:41
관리 메뉴

+1-1+1-1+1-1+1-1...

HaProxy - KeepAlived 이중화 설정 본문

Linux/Haproxy

HaProxy - KeepAlived 이중화 설정

투명인간 2021. 1. 20. 20:48
728x90

테스트 환경 : RedHat Linux 3.7

※ KeepAlived 구성 정보

Master (HaProxy 서버 1번) Real IP : 192.168.60.6

Backup (HaProxy 서버 2번) Real IP : 192.168.60.7

VIP : 192.168.60.100~102

 

HaProxy 구성 내용

1) HaProxy  Statistics Report 페이지 연동 : https://192.168.60.100:8888/

2) HTTP 서비스 연동

 - 클라이언트 호스트 파일 수정 : apache.testlab.net -> 192.168.60.101

 - HaPoxy 로드밸런싱 설정 - Round Robin

              -> 192.168.60.11:80 (리얼 웹서버)

              -> 192.168.60.13:80 (리얼 웹서버)

 

1. 서버 VIP 정보 확인 (Master or Backup)

[root@localhost ~]# ip addr show enp0s8
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:c6:0b:5b brd ff:ff:ff:ff:ff:ff
    inet 192.168.60.6/24 brd 192.168.60.255 scope global enp0s8
       valid_lft forever preferred_lft forever
    inet 192.168.60.100/32 scope global enp0s8			# HaProxy Statistics Report 연결용
       valid_lft forever preferred_lft forever
    inet 192.168.60.101/32 scope global enp0s8			# apache.testlab.net 웹서비 연결용
       valid_lft forever preferred_lft forever
    inet 192.168.60.102/32 scope global enp0s8
       valid_lft forever preferred_lft forever
    inet6 fe80::a00:27ff:fec6:b5b/64 scope link
       valid_lft forever preferred_lft forever

2. Haproxy 설정 (Master and Backup)

[root@localhost ~]# vi /etc/haproxy/haproxy.cfg

....
listen stats
    bind 192.168.60.100:8888 v4v6       #Statistics Report 페이지 바인딩 : RIP -> VIP 변경
    mode http
    stats enable
    stats hide-version
    stats uri /
    stats realm Haproxy\ Statistics
    stats auth user:password  

############ WEB_Service 프론트-백엔드 설정#####################
frontend  WEB_Service
    bind 192.168.60.101:80 v4v6                 # 웹서비스 바인딩 : RIP -> VIP 변경
    option                  http-server-close
    acl apache hdr(host) -i apache.testlab.net
    use_backend backend_apache if apache
    default_backend              default

backend default

backend backend_apache
    balance roundrobin
    server  server1 192.168.60.11:80 check		# 웹서버 1번
    server  server2 192.168.60.13:80 check		# 웹서버 2번
############ WEB_Service 프론트-백엔드 설정 끝###################

3. 서비스 재시작 (Master and Backup)

[root@localhost ~]# systemctl restart haproxy

4. Master (HaProxy 서버 1번) 서버 재시작 후 자동 웹서버 자동 Failover 확인

[root@localhost ~]# reboot

#윈도우 클라이언트 접속 테스트

C:\Users\administrator>ping apache.lottelab.net -t

Ping apache.lottelab.net [192.168.60.101] 32바이트 데이터 사용:
192.168.60.101의 응답: 바이트=32 시간<1ms TTL=64
192.168.60.101의 응답: 바이트=32 시간<1ms TTL=64
192.168.60.101의 응답: 바이트=32 시간<1ms TTL=64
192.168.60.101의 응답: 바이트=32 시간<1ms TTL=64
192.168.60.101의 응답: 바이트=32 시간<1ms TTL=64
192.168.60.101의 응답: 바이트=32 시간<1ms TTL=64
192.168.60.101의 응답: 바이트=32 시간<1ms TTL=64
192.168.60.101의 응답: 바이트=32 시간<1ms TTL=64
192.168.60.101의 응답: 바이트=32 시간<1ms TTL=64
192.168.60.101의 응답: 바이트=32 시간<1ms TTL=64
192.168.60.101의 응답: 바이트=32 시간<1ms TTL=64
192.168.60.101의 응답: 바이트=32 시간<1ms TTL=64
192.168.60.101의 응답: 바이트=32 시간<1ms TTL=64
192.168.60.101의 응답: 바이트=32 시간<1ms TTL=64
요청 시간이 만료되었습니다.
요청 시간이 만료되었습니다.
192.168.60.101의 응답: 바이트=32 시간<1ms TTL=64
192.168.60.101의 응답: 바이트=32 시간<1ms TTL=64
192.168.60.101의 응답: 바이트=32 시간<1ms TTL=64
반응형

'Linux > Haproxy' 카테고리의 다른 글

Haproxy - SNI TLS 통한 Backend 분기 처리  (0) 2021.02.06
HAProxy - ssh  (0) 2021.02.05
TLS Setting with Haproxy  (0) 2021.02.05
SSL Termination vs Paththrough  (0) 2021.02.05
HaProxy 설치 - 컴파일 설치  (0) 2021.01.20