1장. 로드 밸런서 개요
로드 밸런서는 실제 서버 집합에서 IP 트래픽의 균형을 조정하는 통합 소프트웨어 구성 요소입니다. 클러스터 멤버 및 클러스터 서비스를 모니터링하는 두 가지 주요 기술인 Keepalived 및 HAProxy로 구성됩니다. keepalived는 Linux 가상 서버 (LVS)를 사용하여 활성 및 수동 라우터에서 부하 분산 및 페일오버 작업을 수행하는 반면 HAProxy는 TCP 및 HTTP 애플리케이션에 대한 부하 분산 및 고가용성 서비스를 수행합니다.
1.1. keepalived
keepalived 데몬은 활성 및 수동 LVS 라우터 모두에서 실행됩니다. keepalived 를 실행하는 모든 라우터는 VRRP( Virtual Redundancy Routing Protocol )를 사용합니다. 활성 라우터는 주기적으로 VRRP 알림을 보냅니다. 백업 라우터가 이러한 알림을 수신하지 못하면 새로운 활성 라우터가 선택됩니다.
활성 라우터에서 keepalived 는 실제 서버에 대한 부하 분산 작업도 수행할 수 있습니다.
keepalived는 LVS 라우터와 관련된 제어 프로세스입니다. 부팅 시 데몬은 구성 파일
/etc/keepalived/keepalived.conf
를 읽는 systemctl 명령으로 시작됩니다. 활성 라우터에서 keepalived 데몬은 LVS 서비스를 시작하고 구성된 토폴로지를 기반으로 서비스 상태를 모니터링합니다. VRRP를 사용하여 활성 라우터는 주기적인 알림을 백업 라우터에 보냅니다. 백업 라우터에서 VRRP 인스턴스는 활성 라우터의 실행 상태를 결정합니다. 사용자 구성 가능 간격 후 활성 라우터가 알리지 않으면 Keepalived에서 페일오버를 시작합니다. 장애 조치 중에 가상 서버가 지워집니다. 새로운 활성 라우터는 가상 IP 주소 (VIP)를 제어하고, ARP 메시지를 보내고, IPVS 테이블 항목(가상 서버)을 설정하고, 상태 점검을 시작하고, VRRP 알림 전송을 시작합니다.
Keepalived는 TCP가 연결 기반 데이터 전송을 수행하는 계층 4 또는 전송 계층에서 페일오버를 수행합니다. 실제 서버가 간단한 시간 초과 TCP 연결에 응답하지 못하면 keepalived 는 서버가 실패했음을 감지하고 서버 풀에서 제거합니다.