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
반응형