나의 잡다한 노트 및 메모
Keepalived 란? 본문
Keepalived는 주로 Linux 환경에서 고가용성(High Availability, HA) 환경을 구축하기 위해 사용되는 소프트웨어입니다. 원래는 LVS(Linux Virtual Server)와 함께 로드밸런서를 구성하기 위해 개발되었지만, 현재는 **VRRP(Virtual Router Redundancy Protocol)**를 활용하여 서버 또는 네트워크 노드 간에 가상 IP 주소를 공유함으로써 장애 발생 시 즉시 다른 노드가 서비스를 이어받도록 할 수 있습니다.
Keepalived의 주요 기능
- VRRP(Virtual Router Redundancy Protocol) 지원
- VRRP는 여러 네트워크 장비(또는 서버)들이 하나의 가상 IP(Virtual IP)를 공유하고, 마스터(액티브) 노드에 장애가 발생하면 백업(스탠바이) 노드가 자동으로 IP를 가져가 서비스가 끊기지 않도록 하는 프로토콜입니다.
- Keepalived는 VRRP 프로토콜을 구현하여, IP 장애 조치(Failover)를 빠르고 안정적으로 수행합니다.
- 고가용성(High Availability, HA) 보장
- 장애 발생 시, 설정된 우선순위(또는 가중치)에 의해 자동으로 다른 노드에게 서비스가 승계되어 서비스 중단 시간을 최소화할 수 있습니다.
- LVS(Linux Virtual Server) 연동
- Keepalived는 원래 LVS 로드밸런싱을 위한 설정 파트도 제공합니다.
- LVS 기반 로드밸런서 구성을 같이 사용할 때, Keepalived의 VRRP 기능과 결합하여 다양한 로드밸런싱 + 고가용성 시나리오를 구현할 수 있습니다.
- 헬스 체크(Health Check) 스크립트 지원
- 서버나 서비스가 정상 동작하는지 모니터링하기 위한 스크립트를 동작시켜, 상태에 따라 우선순위를 변경한다든가 Failover를 수행하도록 할 수 있습니다.
Keepalived 활용 시나리오
- HA Proxy 등 로드밸런서의 이중화
- 로드밸런서가 장애나면 전체 트래픽이 멈춰버리는 치명적인 상황을 피하기 위해 Keepalived로 마스터/백업 로드밸런서를 구성하는 경우가 많습니다.
- 예) HAProxy가 설치된 두 서버(서버 A, 서버 B)에 Keepalived 설정을 하여, A가 장애 시 B가 즉시 가상 IP를 가져가 요청을 처리.
- 데이터베이스 서버의 이중화
- PostgreSQL, MySQL 등의 DB 서버를 액티브/스탠바이 형태로 운영할 때, Keepalived를 사용해 가상 IP를 통해 접속이 끊기지 않도록 설정할 수 있습니다.
- DB 자체의 복제나 Clustering 기능과 결합해, 장애 시 클라이언트는 동일 IP로 접속을 유지하도록 해줍니다.
- NFS, Samba 등의 파일 서버 이중화
- 파일 서버가 멈추면 업무에 심각한 영향이 있으므로, Keepalived를 이용해 IP Failover를 빠르게 처리하여 무중단에 가깝게 서비스 유지 가능.
- 기타 네트워크 서비스(방화벽, 프록시 등)의 이중화
- 방화벽, 프록시 서버, 게이트웨이 등 네트워크 트래픽을 처리하는 서버에서도 Keepalived의 VRRP 기능을 활용해 가상 IP 기반 이중화를 구성할 수 있습니다.
'DevOps > 리눅스' 카테고리의 다른 글
fsck 란? (0) | 2025.02.23 |
---|---|
bash 쉘 환경 및 동작을 설정하는 파일들 (0) | 2025.02.19 |
Alias 란? (0) | 2025.02.19 |
리눅스에서 라우팅 테이블 (0) | 2025.01.25 |
Umask 란? (0) | 2025.01.13 |