리눅스

keepalived 를 이용한 haproxy VIP 이중화 로드밸런싱 구성

나뭇빛자루 2021. 6. 17. 13:41
반응형

keepalived 와 haproxy VIP 이중화 로드밸런싱 구성하기 
 
위 다이어 그램처럼 동작함
VIP : 가상 IP 
VRRP : 하나 이상 standby 라우터를 가질 수 있는 방법을 제공 하는 인터넷 프로토콜
문제시 마스터가 스텐바이로 되고 스텐바이가 마스터로 되며 VIP를 넘겨 받는다.
이 작업이 될 때 Active와 standby 장비는 인증절차 없이 양방향 ssh접속이 필요 키갠 -t rsa

 

참조)
http://blog.naver.com/PostView.nhn?blogId=hanajava&logNo=221626055915&categoryNo=40&parentCategoryNo=40&viewDate=&currentPage=1&postListTopCurrentPage=1&from=postList



keepalived 구조


 
C로 작성된 로드밸런싱 및 고가용성을 제공하는 프레임워크

일반적으로 OSI 레이어 별로 장애 판단하기
1. ICMP(L3) ping 명령어로 확인가능
2. TCP 요청 (L4) telnet [host] [port]로 대충이나마 확인 가능
3. HTTP 요청 (L7) curl 등으로 확인 가능

대충 yum install keepalived -y 이런식으로 다운로드 하자

etc에 conf파일이 위치한다. 없으면 저런 예시 파일을 복사 하는것도 방법임 cp 쳐서
cp  /usr/share/doc/keepalived/samples/keepalived.conf.vrrp /etc/keepalived/keepalived.conf
문서 위치 찾는 방법은 find 써서 잘 찾아내면됨 



위에 설정영역이다.

global_defs 은 전반적인 글로벌 설정 함수 대체적으로 메일 정도? 정보입력이 나온다.
여기에 router_id 는 각 노드 들과 다르게 설정해야 한다 

그 이후 vrrp_instance 이름{} 은 이제 버추얼 라우터에 관한 설정이다
state MASTER|BACKUP 선택하여 쓸 수 있따.
interface는 현제 이더넷 포트를 의미하며 
smtp_alert은 응급시  이멩리 발송? 같은 인자값
virtual_router_id 버추얼 라우터 id고 같은 그룹이라면 이가 같아야함
priority 이것은 마스터가 다운되었을 시 크기가 큰 순번대로 마스터가 된다.

대충 설정하면 
! Configuration File for keepalived
global_defs {
    router_id ROUTER_VM1
}

vrrp_instance VI_1 {
    state MASTER
    interface enp2s0
    virtual_router_id 99
    priority 150
    virtual_ipaddress {
        192.168.4.222
    }
}
이런식으로 간단히 사용 가능하다
그 다음에 재시작하면 IP에 버츄어 ip가 생성된게 보일것임
 



0. 서로 통신 가능한 대역폭에 있어야함
1. 서로 호스트 네임과 IP주소를 /etc/hosts에 입력해 준다.
2. 그리고 위같이 설정해줌 매인가 서브 합쳐서 


Virtual_router_id 99 여기서 같은 클러스터 들은 전부다 id가 99이여야함
advert_int 1  #광고 시간설정
 authentication { #각 서버별 인증 절차이다.
    auth_type PASS
    auth_pass 4416 #이부분은 다 같아야함 
  }


백업 설정 변경
Backup은 priority가 마스터 보다 낮게 설정 되어있어야함
! Configuration File for keepalived
global_defs {
    router_id ROUTER_VM1
}

vrrp_instance VI_1 {
    state BACKUP
    interface enp2s0
    virtual_router_id 99
    priority 149   #이 값이 낮아야함 마스터보다 무조건~~ 실행 순서임
    virtual_ipaddress {
        192.168.4.222
    }
}


반응형

'리눅스' 카테고리의 다른 글

[오픈소스] redis-cli 이란? 간단 정리!  (0) 2021.07.08
커널 움직임 찾기  (0) 2021.06.24
HAproxy 수동 설치와 설정 공부 내용  (0) 2021.06.17
rsyslog 설정 및 값  (0) 2021.06.17
LVM 스냅샷 생성 및 복원  (0) 2021.06.17