고가용성(HA)은 서버, 네트워크, 애플리케이션 등 정보 시스템의 구성 요소에 장애가 발생하더라도 서비스의 중단 시간을 최소화하고, 사전에 정의된 수준의 서비스 연속성을 보장하는 특성 및 목표를 의미합니다. 즉, 시스템이 오랜 기간 동안 지속적으로 정상 운영될 수 있는 능력을 극대화하는 것을 목표로 합니다.
| 구분 | 내용 |
|---|---|
| 정의 | 정보 시스템이 장애 상황에서도 중단 없이 지속적으로 서비스를 제공할 수 있는 능력 |
| 핵심 목표 | 다운타임(Downtime) 최소화를 통한 비즈니스 연속성(Business Continuity) 확보 |
| 관련 개념 | 내결함성(Fault Tolerance): 시스템의 일부 구성 요소에 장애가 발생하더라도 기능을 중단 없이 지속할 수 있는 능력 (더 강력한 HA 개념) |
| 재해 복구(Disaster Recovery, DR): 광범위한 재해(자연재해, 데이터센터 전체 마비 등) 발생 시 서비스를 복구하는 전략 (HA는 국소적/부분적 장애에 대응) |
가용성(Availability)은 시스템이 정상적으로 작동한 시간을 전체 시간으로 나눈 백분율로 측정하며, 일반적으로 '9'의 개수로 표현됩니다.
| 가용성 | 다운타임/년 (Downtime per year) |
|---|---|
| 99% (2-Nines) | 3.65일 (87.6시간) |
| 99.9% (3-Nines) | 8.76시간 |
| 99.99% (4-Nines) | 52.6분 |
| 99.999% (5-Nines) | 5분 15초 (일반적인 고가용성 시스템의 목표) |
HA는 주로 클러스터링(Clustering) 기술을 통해 구현되며, 여러 개의 서버(노드)를 논리적으로 묶어 하나의 시스템처럼 동작하게 합니다.
HA 클러스터는 서비스 중단 없이 장애를 극복(Failover)하고 트래픽을 처리하는 방식에 따라 크게 두 가지로 나뉩니다.
HA 시스템을 구현하기 위해서는 다음과 같은 핵심 기술들이 필수적으로 적용됩니다.
| 기술 요소 | 설명 | HA 역할 |
|---|---|---|
| 이중화/중복성 (Redundancy) | 서버, NIC(Network Interface Card), 전원 장치(Power Supply Unit, PSU), 스토리지 등 모든 구성 요소를 이중으로 준비 | SPOF(단일 장애점, Single Point of Failure) 제거 |
| 장애 감지 및 페일오버 (Failover) | Heartbeat나 Health Check를 통해 Active 노드의 상태를 실시간으로 모니터링하고, 장애 발생 시 대기 노드로 서비스 자동 전환 | 서비스 중단 시간 최소화 |
| 데이터 복제 (Data Replication) | Active 노드와 Standby 노드 간에 데이터를 실시간으로 동기화 (동기식/비동기식) | 데이터의 일관성(Consistency) 및 무결성(Integrity) 보장 |
| 공유 스토리지 (Shared Storage) | 클러스터의 모든 노드가 접근 가능한 중앙 집중식 저장 공간 (SAN, NAS 등) | 노드 장애 시 데이터 손실 없이 즉시 서비스 인계 가능 |
| 로드 밸런싱 (Load Balancing, LB) | 다수의 서버에 트래픽을 균등하게 분산시켜 특정 서버 과부하 방지 | A-A 구성에서 필수적, 시스템 확장성 확보 |
HA는 높은 가용성을 제공하지만, 다음과 같은 한계와 고려사항을 가집니다.
따라서 실제 시스템 설계 시에는 요구되는 가용성 수준(SLA)과 예산, 기술적 제약을 종합적으로 고려하여 HA-DR 전략을 수립해야 합니다.