본문 바로가기

vrrp

High Availability 를 위한 VRRP와 keepalived (2) - keepalived https://springboot.cloud/23 의 글에서 고가용성(HA)의 개념과 이를 달성하기 위한 프로토콜인 VRRP 에 대해서 살펴보았다. 운영 중인 장비에서 문제가 생겼을 때, 자동으로 예비 장비로 전환하여 서비스의 지속성을 유지 시켜주는 기능을 장애극복(failover)라고 한다. 이번 글에서는 리눅스에서 failover 를 위해서 사용하는 keepalived 에 대해서 살펴볼 것이다. keepalived란? 공식 홈페이지의 설명에 따르면 keepalived는 C로 작성된 로드밸런싱 및 고가용성을 제공하는 프레임워크이다. 로드밸런싱을 하기 위해서는 LVS(Linux Virtual Server)의 구성 요소인 IPVS를 사용한다. keepalived와 조합하여 HAPROXY 와 같은 로드밸런서.. 더보기
High Availability 를 위한 VRRP와 keepalived (1) - VRRP 웹서비스를 운영하면 부하 분산을 위해서 nginx 로 reverse proxy를 사용하거나 HAPROXY 같은 로드밸런서를 널리 사용한다. 물론 이러한 부하 분산은 서비스의 안정적인 운영을 위해서 좋은 방법이다. 그런데, nginx 나 HAPROXY가 설치된 서버가 죽거나 해당 서비스가 다운된다면? 그 뒤에서 웹 서버들은 멀쩡히 돌아가고 있는데, 안정적인 운영을 위해 올려놓은 녀석 하나 때문에 모든 서비스가 불능에 빠져버리는 결과를 초래한다. 로드밸런서 뿐 아니라 라우터와 같이 통신을 위해 꼭 통과해야하는 지점도 불능이 되면, 해당 지점의 전후가 살아 있더라도 전체적인 불능 상태를 초래할 수 있다. 위의 그림과 같이 한 지점이 동작하지 않으면 전체를 불능에 빠트릴 수 있는 요소가 될 수 있는 지점을 sp.. 더보기