2026. 1. 21. 10:53ㆍProxmox VE/IV. 클러스터 및 고가용성 (HA) 구축
🗳️ 클러스터의 민주주의, 정족수(Quorum)란 무엇인가?
우리는 지난 강좌에서 노드들이 서로 대화하는 방식인 Corosync에 대해 배웠습니다
하지만 단순히 대화를 나누는 것만으로는 부족합니다
네트워크 장애로 인해 노드들 사이의 연결이 끊어졌을 때, 어떤 노드가 '진짜' 클러스터의 권한을 가질지 결정해야 하기 때문입니다
이번 #강좌에서는 클러스터의 생존을 결정하는 가장 중요한 원칙인 'Quorum(정족수)'의 개념과 왜 반드시 홀수 노드로 구성해야 하는지에 대한 기술적 이유를 상세히 파헤쳐 보겠습니다
1. 정족수(Quorum)의 정의와 작동 원리

정족수는 클러스터가 정상적인 의사결정을 내리기 위해 필요한 '최소 투표수'를 의미합니다
A. 다수결의 원칙
- Proxmox 클러스터는 각 노드에 투표권(Vote)을 부여합니다
- 전체 투표권의 과반수($n/2 + 1$)가 확보되어야만 클러스터는 'Quorate(정족수 충족)' 상태가 되며, 이 상태에서만 가상 머신을 켜거나 설정을 변경하는 등의 #방법이 허용됩니다
B. 서비스의 연속성 보장
- 정족수가 확보되지 않은 노드는 스스로 서비스를 중단하거나 읽기 전용 모드로 전환됩니다
- 이는 잘못된 정보로 인해 데이터가 파괴되는 것을 막기 위한 보호 장치이자 시스템 #안정성의 핵심입니다
C. 실시간 투표 시스템
- Corosync를 통해 실시간으로 노드들의 온라인 상태를 체크하며 투표수를 계산합니다
- 하나의 노드가 죽더라도 나머지 노드들이 과반수를 유지한다면 서비스는 중단 없이 계속되는 #소프트웨어적 지능을 발휘합니다
2. 왜 '홀수 노드' 구성이 골든 룰인가?
클러스터 설계 시 전문가들이 입을 모아 '3, 5, 7...'과 같은 홀수 구성을 강조하는 데에는 명확한 이유가 있습니다
A. 2노드 클러스터의 함정 (Split-Brain)
- 노드가 2개뿐인 경우, 네트워크 장애로 둘 사이가 끊어지면 각각 1표씩만 갖게 됩니다
- 과반수(2표 중 2표)를 채우지 못해 양쪽 노드 모두 서비스가 중단되는 상황이 발생합니다
B. 의사결정의 명확성
- 3개 노드로 구성하면 하나가 죽어도 남은 2개가 과반수를 형성해 클러스터를 유지할 수 있습니다
- 이처럼 홀수 구성은 장애 발생 시 누가 '살아있는 다수'인지를 가장 명확하고 경제적으로 판별할 수 있는 #인프라 설계 방식입니다
C. 비용 대비 효율성
- 노드를 무한정 늘릴 수는 없기에, 3노드는 고가용성(HA)을 구현하기 위한 가장 완벽하고 #최적화된 시작점입니다
- 이를 통해 하드웨어 결함에도 끄떡없는 가상화 환경을 구축할 수 있습니다
3. 2노드 구성에서의 대안: QDevice (Quorum Device)

상황에 따라 노드를 3개까지 구비하기 어려울 수 있습니다
이럴 때 사용하는 기술이 바로 QDevice입니다
A. 가벼운 중재자의 도입
- 사양이 낮은 미니 PC나 라즈베리 파이 등을 투표 전용 노드로 추가할 수 있습니다
- 이 장치는 실제 #데이터를 처리하지는 않지만, 투표권 1표를 행사하여 전체 투표수를 홀수로 만들어줍니다
B. 네트워크 파티션 방지
- QDevice는 클러스터 외부의 독립적인 위치에서 각 노드의 상태를 확인합니다
- 덕분에 2대의 메인 서버 중 하나가 죽더라도 정족수를 유지할 수 있는 유연한 #자원 관리가 가능해집니다
C. 구축의 간편함
- corosync-qnetd와 같은 패키지를 통해 간편하게 설정할 수 있으며, 이는 비용 효율적인 #네트워크 구성의 핵심 팁입니다
4. 정족수 부족(No Quorum) 상황에서의 대처법
만약 장애가 겹쳐 정족수가 깨졌다면 관리자는 어떻게 대응해야 할까요?
A. 현상 파악
- 정족수가 깨지면 pvecm status 명령에서 Quorate: No로 표시됩니다
- 이 상태에서는 웹 GUI에서 대부분의 조작이 불가능해지며 #성능 지표 확인도 어려워집니다
B. 임시 조치: Expected Votes 수정
- 긴급하게 서비스를 복구해야 한다면 pvecm expected 1 명령어를 통해 기대 투표수를 강제로 낮출 수 있습니다
- 하지만 이는 임시 방편일 뿐이며, 근본적인 #가상화 환경의 안정성을 위해 노드를 복구하는 것이 최우선입니다
C. 데이터 정합성 주의
- 정족수가 깨진 상태에서 강제로 노드를 조작할 때는 데이터가 오염되지 않도록 각별히 주의해야 합니다
- 항상 #IP 연결 상태와 스토리지 마운트 여부를 먼저 점검하는 습관이 중요합니다
정족수는 단순히 숫자를 채우는 게임이 아니라, 클러스터의 생존 본능입니다
홀수 노드 구성이라는 원칙만 잘 지켜도 여러분의 데이터센터는 예상치 못한 하드웨어 장애로부터 완벽하게 보호될 수 있습니다
다음 강좌에서는 이러한 정족수 기반 위에 꽃을 피우는 'HA(고가용성)'의 실제 설정법에 대해 알아보겠습니다
강좌, 방법, 안정성, 소프트웨어, 인프라, 최적화, 데이터, 자원, 네트워크, 가상화
최적의 성능, 최고의 비용 효율성! 당신의 프로젝트에 딱 맞는 Proxmox VE 기반 호스팅을 경험해 보세요. 루젠호스팅 바로가기
'Proxmox VE > IV. 클러스터 및 고가용성 (HA) 구축' 카테고리의 다른 글
| 💻 Proxmox VE 강좌 IV-A-7. 노드 제거 (Remove Node) 및 재생성 (0) | 2026.01.23 |
|---|---|
| 💻 Proxmox VE 강좌 IV-A-6. Corosync Link 설정: 이중화된 클러스터 네트워크 (Ring0, Ring1) (1) | 2026.01.22 |
| 💻 Proxmox VE 강좌 IV-A-4. Corosync 통신 이해: 클러스터 노드 간 통신 프로토콜 (0) | 2026.01.20 |
| 💻 Proxmox VE 강좌 IV-A-3. Cluster Join: 두 번째 노드 이상 클러스터에 합류 (0) | 2026.01.19 |
| 💻 Proxmox VE 강좌 IV-A-2. Cluster Creation: 첫 번째 노드에서 클러스터 생성 (0) | 2026.01.18 |