[HAPROXY] 설치 관련

HA프록시는 
여러 서버에 요청을 분산시키는 TCP 및 HTTP 기반 응용 프로그램 및
네트워크 스위치에서 제공하는 L4, L7의 기능 및 로드 밸런싱 기능 일부 제공
한다고 합니다.

------------------------------------------------------------------------------------------
로드 배런싱 환경

HAPROXY Server - 192.168.0.56(centos7)
Mysql(MariaDB)DB Server1 - 192.168.0.32(centos7)
Mysql(MariaDB)DB Server2 - 192.168.0.69(centos7)
------------------------------------------------------------------------------------------

[HAPROXY 설치]
설치하는 방법은 크게 두가지 방법이 있습니다.
- yum을 이용한 방법(yum install haproxy)
- 다운로드 파일을 직접 가져오는 방법(wget ~)

여기서는 다운로드 파일을 직접 가져와서 설치하는 방법을 설명하겠습니다.

1. http://www.haproxy.org/ 사이트에서 HAPROXY 다운로드링크 주소 복사합니다.
3. ~]# tar -xvzf haproxy-1.8.14.tar.gz
4. ~]# uname -r
을 통해서, 시스템 정보를 확인.
(예시 : 3.10.0-1062.1.2.el7.x86_64)
5. 이전에 확인한 시스템 정보를 가지고, vi haproxy-1.8.14/README 에서 TARGET 값 확인
(예시 : - linux2628   for Linux 2.6.28, 3.x, and above (enables splice and tproxy) )
6. 압축푼 후 생성된 HAPROXY 디렉토리 접근 : cd haproxy-1.8.14
7. TARGET값 확인 후, make 명령어 실행(실행 후 동작이 끝나는 데 시간 소요) :
   make TARGET=linux2628 USE_OPENSSL=1
+ 컴파일 진행중 오류가 발생한다면 HAProxy과 의존성이 있는 라이브러리가설치가되어있지 않아서 발생할 경우가 많음(yum install openssl-devel -> 다시 make TARGET~ 실행)
○ gcc: 명령을 찾지 못했음 -> yum install gcc
8. make install
실행 결과 예시 :
install -d "/usr/local/sbin" 
install haproxy  "/usr/local/sbin" 
install -d "/usr/local/share/man"/man1 
install -m 644 doc/haproxy.1 "/usr/local/share/man"/man1 
install -d "/usr/local/doc/haproxy" 
for x in configuration management architecture peers-v2.0 cookie-options lua WURFL-device-detection proxy-protocol linux-syn-cookies network-namespaces DeviceAtlas-device-detection 51Degrees-device-detection netscaler-client-ip-insertion-protocol peers close-options SPOE intro; do \ 
install -m 644 doc/$x.txt "/usr/local/doc/haproxy" ; \ 
done
9. HAPROXY 관련 디렉토리 확인 : whereis haproxy
10. HAPROXY 버전 확인 : haproxy -version

[서비스 등록]
1. /etc/init.d 디렉토리는 서비스 데몬 제어파일을 저장하는 디렉토리 이므로, 서비스 등록을 위해 init.d 디렉토리 내에
haproxy-1.8.14/example/haproxy.init 파일을 복사한 후 퍼미션을 변경해주어야 합니다.

~]# cp examples/haproxy.init /etc/init.d/haproxy
~]# chmod 755 /etc/init.d/haproxy

[명령어 등록(서비스 하기 위함)]
1. /user/sbin 디렉토리는 명령어가 저장되는 디렉토리이므로 haproxy 명령어를 사용할 수 있도록
   /usr/sbin 디렉토리에 링크를 설정
~]# ln -s /usr/local/sbin/haproxy /usr/sbin/haproxy

2. 해당 서비스(haproxy)를 사용할 수 있는 개별적인 사용자 등록
~]# useradd -r haproxy

[서비스 설정 값들을 적용시키기 위해 서버 재시작 진행]
~]# reboot
~]# systemctl status haproxy <- 서비스 확인

[부팅할 때, 자동 실행 설정]
~]# systemctl enable haproxy

[사용할 포트 열기 및 방화벽 설정]
~]# systemctl status firewalld <- 방화벽 서비스(데몬) 사용 유무 조회
~]# firewall-cmd --zone=public --permanent --add-port=8001/tcp <- 방화벽 포트 허용 예시, 포트 8001/tcp
~]# firewall-cmd --reload
~]# firewall-cmd --zone=public --ilst-all <- 리스트 보기

[보안 관련 설정]
~]# setsebool -P haproxy_connect_any 1

댓글