본문 바로가기
IT/서버

서버 한 대가 고장 나도 끄떡없는 이유, "클러스터(Cluster)" 완벽 이해

by 아이럽스토리지 2026. 2. 13.
반응형

"네이버 서버는 고장이 안 나나요?"
어떤 기계든 무조건 고장 납니다. 메인보드가 나가든, 파워가 터지든 물리적인 장비는 언젠가는 멈추게 되어 있죠. 그런데도 우리가 매일 쓰는 포털 사이트나 은행 앱은 365일 24시간 멈추지 않습니다.
서버 한 대가 갑자기 퍽 하고 꺼져도, 마치 아무 일도 없었다는 듯이 서비스가 돌아가게 만드는 마법.

그게 바로 오늘 이야기할 "클러스터(Cluster)" 기술 덕분입니다. 

 


1. 개념 정의: "유명 맛집의 주방 시스템"

클러스터를 이해하려면 동네 분식집과 "대형 프랜차이즈 식당"을 비교해 보면 됩니다.


동네 분식집 (단일 서버)

주방장 한 명이 요리를 다 합니다. 만약 주방장이 아파서 출근을 못 하면? 그날 식당은 문을 닫아야 합니다. (서비스 장애 발생)


대형 식당 (클러스터)

주방장이 3명 있습니다. 1번 주방장이 갑자기 쓰러져도, 2번과 3번 주방장이 그 자리를 바로 메꿔서 밀려드는 주문을 계속 쳐냅니다. 손님들은 주방에 무슨 일이 있는지 모른 채 맛있게 밥을 먹죠.


즉, 클러스터란 "여러 대의 독립된 컴퓨터를 네트워크로 묶어서, 마치 한 대의 거대한 컴퓨터처럼 작동하게 만드는 기술"입니다. 

하나가 죽어도 다른 놈이 업무를 이어받아 "무중단(고가용성)"을 보장하는 것이 핵심 목표입니다.

 


2. 작동 원리 및 구조: 죽었는지 어떻게 알고 살려낼까?

그럼 서버 A가 죽었을 때, 서버 B가 어떻게 알고 잽싸게 자리를 이어받을까요? 여기에는 3가지 핵심 메커니즘이 물려 돌아갑니다.


1단계 "공유 저장소(Shared Storage)"

요리사들이 각자 개인 냉장고를 쓰면 안 되겠죠? 똑같은 재료(데이터)를 꺼내 써야 하므로,

서버 A와 B는 하나의 거대한 외부 저장소(SAN이나 NAS)를 같이 바라보게 연결해 둡니다.


2단계 "하트비트(Heartbeat)"

서버 A와 B는 전용 랜선으로 서로 연결되어 1초에 한 번씩 "너 살아있니?"라고 심장 박동 신호를 주고받습니다.


3단계 "페일오버(Failover)"

만약 서버 A에서 하트비트 응답이 오지 않으면, 서버 B는 "아, A가 죽었구나!"라고 판단합니다. 그 즉시 A가 가지고 있던 "IP 주소"와 "서비스 권한"을 자기가 뺏어와서 구동합니다. 이 전환 과정이 불과 몇 초 만에 일어나기 때문에 일반 사용자는 눈치채지 못합니다.

 


3. 비교 : HA 클러스터 vs HPC 클러스터

서버들을 묶는 목적에 따라 종류가 나뉩니다. 실무와 면접에서 가장 많이 비교되는 두 가지를 표로 정리해 드립니다.

비교 항목 HA (고가용성) 클러스터 HPC (고성능 연산) 클러스터
"주요 목적" "절대 멈추면 안 돼!" (서비스 안정성) "최대한 빨리 계산해!" (성능 극대화)
"작동 방식" 평소엔 한 놈만 일하고, 죽으면 교대 (Active-Standby) 여러 대가 동시에 하나의 복잡한 문제를 나눠서 품
"비유" 주전 선수가 다치면 대기 선수가 투입됨 100명이 동시에 하나의 퍼즐을 맞춤
"주요 용도" 데이터베이스(DB), 결제 서버, 웹 서버 기상 예측, AI 딥러닝, 빅데이터 분석


일반적으로 기업의 IT 인프라에서 "우리 클러스터 구성합시다"라고 말할 때는 99% "HA 클러스터"를 의미한다고 보시면 됩니다.


4. "스플릿 브레인(Split-Brain)"을 조심

클러스터를 구축할 때 가장 무서워하고 조심하는 장애가 있습니다.

바로 "스플릿 브레인" 현상입니다.


"무엇이 문제인가요?" 

하트비트를 주고받는 통신 선(랜선)만 똑 끊어졌을 때 발생합니다. 

서버 A와 B는 둘 다 멀쩡히 살아있는데, 서로 통신만 안 되는 상황이죠. 이때 B는 "A가 죽었네? 내가 띄워야지!" 하고, A는 "나 살아있는데?" 하면서 둘 다 동시에 공유 저장소에 데이터를 쓰려고 덤벼듭니다.


"결과:" 

양쪽에서 데이터를 동시에 수정해 버리니, 데이터가 심각하게 꼬이고 깨져버립니다. 클러스터를 안 하느니만 못한 최악의 상황이 옵니다.


"해결책 (Quorum):" 

그래서 현업에서는 서버를 딱 2대만 두지 않고, 투표권(Quorum)을 가진 제3의 감시자 서버(또는 특수 디스크)를 둡니다. 

"홀수" 구성을 만들어서, 네트워크가 끊기더라도 과반수의 표를 얻은 서버 한 대만 스토리지에 접근할 수 있게 락(Lock)을 거는 것이 안전한 클러스터 설계의 핵심입니다.


요약


1. "클러스터"는 여러 대의 서버를 네트워크로 묶어 하나처럼 동작하게 만들며, 장비 고장 시에도 "무중단 서비스"를 제공

2. 서버들은 "하트비트" 라인을 통해 서로의 생사를 확인하며, 메인 서버가 죽었을 때 대기 서버가 권한을 뺏어오는 과정을 "페일오버(Failover)".
3. 네트워크 단절 시 두 서버가 동시에 데이터를 건드려 시스템이 망가지는 "스플릿 브레인" 현상을 막기 위해, 과반수 투표 방식인 "쿼럼(Quorum)" 설계가 반드시 필요하다.

반응형