HAProxy로 DB 서버 부하분산
준비
- haproxy 서버 1대 (haproxy 설치)
- DB 서버 2대 (mariadb 설치, user 생성 후 권한 부여)
haproxy 서버
vi /etc/haproxy/haproxy.cfg
맨 밑줄에 다음 내용 추가
DB 서버이기 때문에 포트 번호는 3306번으로 하고,
server에는 만들어둔 DB 서버 두 개의 IP 주소를 추가한다.
listen stats
bind *:9000
mode http
option dontlog-normal
stats enable
stats realm Haproxy\ Statistics
stats uri /stats
listen mariadb
bind :3306
mode tcp
balance roundrobin
server db1 10.10.10.30:3306 check
server db2 10.10.10.124:3306 check
haproxy 재시작
systemctl restart haproxy
http://10.10.10.100:9000/stats 으로 가보면 Haproxy 화면이 잘 떠있는 걸 확인할 수 있다
HAProxy - MySQL Workbench 연동
새 커넥션에서 haproxy 서버 IP 입력 후 연동
JMeter 테스트
HAProxy 서버 IP 주소로 설정
💡 haproxy - Failed to start HAProxy Load Balancer
이상하게 haproxy 서버를 껐다가 다시 키면 에러가 났었다.
왜 그런지 찾아보다가 설정 파일을 보니
listen stats bind \*:9000 mode http option dontlog-normal stats enable stats realm Haproxy\\ Statistics stats uri /stats
위에처럼 bind 주소 앞에 \가 붙어있고, Haproxy 뒤에 \ 가 하나 더 붙어있는 걸 확인해서
\ 를 지우고 다시 restart 를 눌렀더니 해결됐다.
'CS > DB' 카테고리의 다른 글
[DB] 3계층 아키텍처 - 다중화 실습 (1) (0) | 2024.12.03 |
---|---|
[DB] DB 서버 핫 사이트 구성 실습 (Active - Standby) (0) | 2024.12.03 |
[DB] 재해 복구(DR) / DB 서버 Replication 설정 / 미러 사이트 구성 실습 (0) | 2024.12.03 |
[DB] JMeter 부하 테스트 (1) | 2024.12.02 |
[DB] SQL 성능 개선 (0) | 2024.12.02 |