들어가며: 서버가 하나일 땐 평화로웠다
안녕하세요. 13년 차 시스템 엔지니어 수누다입니다.
Proxmox를 쓰다 보면 자연스럽게 이런 욕심이 생깁니다. "남는 PC 하나 더 있는데, 두 개 묶어서 HA(고가용성) 구성해 볼까?" "서버 1 죽으면 서버 2에서 자동으로 VM 살아나게(Online) 하고 싶은데?"
그래서 호기롭게 클러스터 구성을 시작하지만, 의외로 네트워크 설정이나 쿼럼(Quorum) 개념 때문에 낭패를 보는 경우가 많습니다.
오늘은 Proxmox 클러스터 구축의 정석과, 실무에서 꼭 챙겨야 할 체크리스트를 정리해 드립니다.
- 준비 작업 (이거 안 하면 나중에 꼬임)
클러스터 명령어 치기 전에, 아래 3가지는 무조건 맞추고 시작해야 합니다. 안 그러면 나중에 인증서 에러 나고 통신 안 돼서 처음부터 다시 설치해야 할 수도 있습니다.
① 모든 노드의 시간 동기화 (NTP) 클러스터는 시간이 생명입니다. 시간이 틀어지면 로그가 꼬이고 데이터가 깨집니다.
Bash
모든 노드에서 시간 확인
date
[실무 팁] chrony를 이용한 설정 예시
Bash
chrony 소스 설정 (한국이나 공용 풀 사용)
echo "server pool.ntp.org iburst" > /etc/chrony/sources.d/pool.ntp.sources
서비스 재시작
systemctl restart chronyd
동기화 상태 확인
chronyc sources
② 호스트네임 & /etc/hosts 정리 DNS 서버가 따로 없다면, 각 노드의 /etc/hosts 파일에 서로의 IP와 이름을 등록해 줘야 합니다.
Bash
예시: 1번 노드와 2번 노드의 /etc/hosts 파일에 동일하게 추가
192.168.20.151 pve-01
192.168.20.152 pve-02
③ SSH 접속 확인 서로 비밀번호 없이 SSH 통신이 가능해야 합니다(클러스터 생성 시 자동 설정되지만, 기본 네트워크 통신은 뚫려 있어야 함).
- 메인 노드에서 클러스터 생성 (Master)
가장 중심이 될 1번 서버(Master)에서 작업을 시작합니다. Web GUI로도 가능하지만, 엔지니어라면 CLI가 더 직관적이고 빠릅니다.
터미널 접속 후 명령어 입력:
Bash
pvecm create [클러스터이름]
pvecm create my-cluster
생성이 완료되면 상태를 확인해 봅시다.
Bash
pvecm status
Quorum: 1 이라고 뜨면 정상입니다. (아직 나 혼자니까요)
Bash
(예시 로그)
root@pve-01:~# pvecm status
Cluster information
Name: my-cluster
Config Version: 1
Transport: knet
Secure auth: on
Quorum information
Date: Tue Jan 20 20:31:00 2026
Quorum provider: corosync_votequorum
Nodes: 1
Node ID: 0x00000001
Ring ID: 1.1a
Quorum: 1
3. 서브 노드 추가하기 (Join)
이제 2번 서버(Slave)로 가서 1번 서버에 합류시킵니다. 이때 주의할 점! 합류하는 노드(2번)에는 VM이나 컨테이너가 하나도 없어야 합니다. (깔끔한 상태여야 함)
2번 서버 터미널에서 입력:
Bash
pvecm add [1번서버IP]
pvecm add 192.168.20.151
비밀번호를 물어보면 1번 서버의 root 비밀번호를 입력해 줍니다. 잠시 후 "Cluster join seen!" 메시지가 뜨면 성공입니다.
=>전 여기서 오류가 나와서 ip말고 host 이름으로 등록했어요
- 주의! "2노드 클러스터"의 함정 (Quorum)
여기서부터가 오늘의 핵심입니다. 서버 2대로 클러스터를 묶고 나서, 한 대를 끄면 어떻게 될까요? 나머지 한 대가 살아있으니 괜찮을까요? 아니요, 클러스터 전체가 멈춥니다.
이유는 'Quorum(정족수)' 때문입니다.
Proxmox 클러스터는 과반수 이상의 투표가 있어야 정상 동작합니다.
총 2대인 경우: 과반수는 2 / 2 + 1 = 2대입니다.
즉, 2대 중 1대만 죽어도 과반수가 깨져서(1 < 2) 남은 서버가 "어? 나 혼자네? 내가 뇌사 상태인지 네트워크 단절인지 모르니까 일단 멈추자(Read-only)" 상태가 됩니다.
[해결책]
서버를 3대로 늘린다: 가장 이상적인 정석 (홀수 구성)
QDevice(Quorum Device) 추가: 라즈베리파이나 남는 노트북을 '투표권 행사용'으로만 추가해서 3표를 만듭니다.
[추가 팁] QDevice 설치 방법 홈랩에서는 라즈베리파이나 별도 VM에 corosync-qdevice를 설치해 “3번째 투표권”을 만들어줍니다.
Bash
QDevice 설정 명령 (Master 노드에서 실행)
pvecm qdevice setup
상세 설치 가이드는 공식 문서에서 'corosync-qdevice'를 검색해 보세요.
집에서 서버 2대로 운영하실 거라면, 이 Quorum 개념을 모르면 "왜 한 대 껐는데 다 죽지?" 하며 당황하게 됩니다.
- 마무리하며
클러스터링은 Proxmox의 꽃입니다. 성공적으로 묶였다면 이제 Web GUI의 'Datacenter' 탭에서 두 서버를 한눈에 관리할 수 있습니다. 한쪽 서버에서 다른 쪽으로 VM을 마우스 드래그로 옮기는(Migration) 쾌감을 느껴보세요.
Plaintext
================================================================================
Proxmox Virtual Environment 9.1.1 (Datacenter: my-cluster)
================================================================================
[Datacenter]
│
├─ [pve-01] (Master, 192.168.20.151)
│ │ Status: Online (Uptime: 14 days)
│ │ CPU: 12% | RAM: 32% (10GB/32GB)
│ │
│ ├─ 100 (Win10-Pro) [Running]
│ └─ 101 (Ubuntu-Server) [Running]
│
└─ [pve-02] (Slave, 192.168.20.152)
│ Status: Online (Uptime: 2 hours)
│ CPU: 5% | RAM: 15% (4GB/32GB)
│
└─ (No VMs - Ready for Migration)
Cluster Log:
[OK] Quorum: 2/2 (Vote: 2)
[OK] Corosync: Active
================================================================================

▲ 우여곡절 끝에 완성된 2노드 클러스터 현황. 하단 로그를 보시면 Error 500으로 3번 실패했다가, hosts 설정 후 Join Cluster에 성공(OK)한 처절한 흔적이 보입니다. 여러분은 저 빨간 줄 보지 마시고 한 번에 성공하세요.
다음 편에서는 "죽지 않는 좀비 서버 만들기: HA(High Availability) 설정 실전"을 다뤄보겠습니다.
'IT > Proxmox' 카테고리의 다른 글
| [Infra] Broadcom이 쏘아 올린 공: VMware 버리고 Proxmox로 갈아타기 (feat. 네이티브 임포트 마법사) (2) | 2026.01.26 |
|---|---|
| [HomeLab] 10G 네트워크 구축, 아직도 비싸다고 생각하시나요? (3노드 풀메쉬 가성비 세팅법) (3) | 2026.01.22 |
| [Proxmox] 2대는 장난감, 3대부터가 진짜다: HA(High Availability) 설정 정석 가이드 (0) | 2026.01.22 |
| XCP-ng → Proxmox 마이그레이션 3편: 성능을 200% 끌어올리는 필수 최적화 가이드 (0) | 2026.01.21 |
| XCP-ng → Proxmox 마이그레이션 2편: 서비스 중단을 최소화하는 '대량 VM' 자동화 전략 (5) | 2026.01.19 |
| XCP-ng 8.3 → Proxmox VE 9.1: 실무 엔지니어를 위한 VM 마이그레이션 가이드 (0) | 2026.01.18 |