Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

2장. keepalived 개요

keepalived는 활성 LVS 라우터 와 하나 이상의 선택적 백업 LVS 라우터에서 실행됩니다. 활성 LVS 라우터는 다음 두 가지 역할을 합니다.
  • 실제 서버에서 부하를 분산합니다.
  • 각 실제 서버에서 서비스의 무결성을 확인하려면 다음을 수행하십시오.
활성(마스터) 라우터는 VRRP( Virtual Router Redundancy Protocol )를 사용하여 백업 라우터에 활성 상태를 알립니다. 이 경우 마스터 라우터가 정기적으로 알림을 보내야 합니다. 활성 라우터가 알림 전송을 중지하면 새 마스터가 선택됩니다.
참고
Red Hat은 구성이 사용할 VRRP 버전을 변경하는 keepalived의 롤링 업데이트를 지원하지 않습니다. 모든 라우터는 keepalived 로드 밸런서 구성에서 동일한 버전의 VRRP를 실행해야 합니다. VRRP 버전이 일치하지 않으면 다음과 같은 메시지가 표시됩니다.
Aug  3 17:07:19 hostname Keepalived_vrrp[123]: receive an invalid ip number count associated with VRID!
Aug  3 17:07:19 hostname Keepalived_vrrp[123]: bogus VRRP packet received on em2 !!!
Aug  3 17:07:19 hostname Keepalived_vrrp[123]: VRRP_Instance(vrrp_ipv6) ignoring received advertisment...
Red Hat은 모든 시스템에서 동일한 keepalived 버전을 실행해야 하며 호환성 문제를 방지하려면 가능한 경우 keepalived 설정이 동일해야 합니다.

2.1. 기본 Keepalived Load Balancer 구성

그림 2.1. “기본 로드 밸런서 구성” 두 계층으로 구성된 간단한 Keepalived Load Balancer 구성이 표시됩니다. 첫 번째 계층에서는 활성 상태이며 여러 백업 LVS 라우터가 있습니다. 각 LVS 라우터에는 인터넷상의 하나의 인터페이스와 개인 네트워크에 있는 하나의 인터페이스가 있으므로 두 개의 네트워크 간 트래픽을 규제할 수 있습니다. 이 예에서 활성 라우터는 네트워크 주소 변환 또는 NAT 를 사용하여 인터넷에서 트래픽을 두 번째 계층의 다양한 실제 서버로 보내어 필요한 서비스를 제공합니다. 따라서 이 예제의 실제 서버는 전용 사설 네트워크 세그먼트에 연결되어 모든 공용 트래픽을 활성 LVS 라우터를 통해 전달합니다. 외부 세계에는 서버가 하나의 엔티티로 표시됩니다.

그림 2.1. 기본 로드 밸런서 구성

기본 로드 밸런서 구성
LVS 라우터에 도달하는 서비스 요청은 가상 IP 주소 또는 VIP 로 주소가 지정됩니다. 이는 www.example.com와 같이 정규화된 도메인 이름과 연결하는 사이트 관리자가 공개적으로 라우팅 가능한 주소이며 하나 이상의 가상 서버에 할당됩니다. 가상 서버는 특정 가상 IP에서 수신 대기하도록 구성된 서비스입니다. VIP 주소는 장애 조치 중에 하나의 LVS 라우터에서 다른 LVS 라우터로 마이그레이션하므로 해당 IP 주소에 존재함을 유지합니다. VIP는 유동 IP 주소라고도 합니다.
VIP 주소는 LVS 라우터를 인터넷에 연결하는 동일한 장치에 할당할 수 있습니다. 예를 들어 eth0 이 인터넷에 연결된 경우 여러 가상 서버를 eth0 에 할당할 수 있습니다. 또는 각 가상 서버를 서비스당 별도의 장치와 연결할 수 있습니다. 예를 들어, HTTP 트래픽은 192.168.1.111의 eth0 에서 처리할 수 있지만 FTP 트래픽을 192.168.1.222의 eth0 에서 처리할 수 있습니다.
하나의 활성 라우터와 하나의 수동 라우터가 포함된 배포 시나리오에서는 활성 라우터의 역할은 가상 IP 주소에서 실제 서버로 서비스 요청을 리디렉션하는 것입니다. 리디렉션은 2.3절. “keepalived 스케줄링 개요” 에서 추가로 설명된 8개의 로드 밸런싱 알고리즘 중 하나를 기반으로 합니다.
또한 활성 라우터는 간단한 TCP 연결, HTTP 및 HTTPS의 세 가지 기본 제공 상태 점검을 통해 실제 서버에서 특정 서비스의 전반적인 상태를 동적으로 모니터링합니다. TCP 연결의 경우 활성 라우터는 주기적으로 특정 포트의 실제 서버에 연결할 수 있는지 확인합니다. HTTP 및 HTTPS의 경우 활성 라우터는 주기적으로 실제 서버에서 URL을 가져오고 해당 콘텐츠를 확인합니다.
백업 라우터는 대기 시스템의 역할을 수행합니다. 라우터 페일오버는 VRRP에 의해 처리됩니다. 시작 시 모든 라우터가 멀티 캐스트 그룹에 참여합니다. 이 멀티 캐스트 그룹은 VRRP 알림을 보내고 수신하는 데 사용됩니다. VRRP는 우선 순위 기반 프로토콜이므로 우선 순위가 가장 높은 라우터가 마스터로 선택됩니다. 라우터가 마스터 선택되면 주기적으로 멀티 캐스트 그룹에 VRRP 알림을 보낼 책임이 있습니다.
백업 라우터가 특정 기간 내에 알림을 수신하지 못하면 광고 간격에 따라 새 마스터가 선택됩니다. 새 마스터는 VIP를 인수하고 ARP( Address Resolution Protocol ) 메시지를 보냅니다. 라우터가 활성 서비스로 돌아가면 백업 또는 마스터가 될 수 있습니다. 동작은 라우터의 우선 순위에 따라 결정됩니다.
그림 2.1. “기본 로드 밸런서 구성” 에서 사용되는 간단한 2계층 구성은 정적 웹 페이지와 같이 자주 변경되지 않는 데이터를 제공하는 데 가장 적합합니다. 개별 실제 서버는 각 노드 간에 데이터를 자동으로 동기화하지 않기 때문입니다.