본문 바로가기
IT/Proxmox

[Proxmox] 2대는 장난감, 3대부터가 진짜다: HA(High Availability) 설정 정석 가이드

by 수누다 2026. 1. 22.

들어가며: 드디어 '삼각 편대' 완성

안녕하세요. 13년 차 시스템 엔지니어 수누다입니다.

지난번까지 서버 2대로 "쿼럼이 깨지네 마네" 하며 고생했던 기억은 잊으십시오. 드디어 3번째 노드를 영입하여 완벽한 3노드 클러스터를 구축했습니다.

이제야 비로소 엔지니어들이 말하는 '클러스터링의 정석'이 갖춰졌습니다.

  • 별도의 투표기(QDevice) 따위 필요 없음.
  • 한 대가 죽어도 나머지 두 대가 과반수(66%)를 차지해 즉시 방어 가능.

오늘은 이 완벽한 환경에서 전원 코드를 뽑아도 서비스가 죽지 않는 HA(고가용성) 설정을 해보겠습니다.


1. 필수 준비물 (3노드라 편안하다)

HA 설정을 시작하기 전에 딱 2가지만 체크하면 됩니다.

① Quorum (정족수) 확인
서버가 3대면 과반수는 2대입니다. 즉, 한 대가 죽어도 아무 문제 없이 투표가 성립됩니다.

# 아무 노드에서나 확인
pvecm status

Total votes: 3, Quorum: 2라고 떠 있다면 준비 끝입니다. (라즈베리파이 같은 거 안 달아도 됩니다. 이게 돈 쓴 보람이죠.)

② 스토리지 동기화 (ZFS Replication) [핵심!]
서버가 3대라도 데이터가 없으면 옆 서버에서 VM을 켤 수 없습니다.
NAS(공유 스토리지)가 없다면, 각 서버의 로컬 디스크를 서로 복제해 줘야 합니다.


2. ZFS Replication: '이중 보험' 들기

2노드일 땐 선택지가 하나뿐이었지만, 3노드에서는 하나의 VM을 두 군데로 동시에 복제할 수 있습니다. 1번이 죽었을 때 2번으로 갈 수도, 3번으로 갈 수도 있는 거죠. (생존성 2배)

[설정 방법]
Web GUI에서 진행합니다.

  1. Datacenter 클릭 -> Replication 탭 이동.
  2. Add 클릭.
  3. Target: pve-02 (첫 번째 복제 타겟).
  4. Schedule: */1 (1분마다).
  5. Create.

하나 더 추가!

  1. Add 클릭.
  2. Target: pve-03 (두 번째 복제 타겟).
  3. Schedule: */1.

이제 1번 서버의 데이터는 1분마다 2번, 3번 서버로 쫙 뿌려집니다.


3. HA 그룹 만들기 (우선순위 정하기)

이제 3대의 서버에 역할을 분담해 줍니다. "평소엔 1번에서 놀고, 비상시엔 2번, 정 안되면 3번으로 가라"는 식입니다.

엔지니어라면 CLI로:

# ha-manager groupadd [그룹명] --nodes [우선순위]
# 예: pve-01(주인), pve-02(대기1), pve-03(대기2)
ha-manager groupadd my-ha-group --nodes pve-01:10,pve-02:5,pve-03:5
  • pve-01:10: 점수가 제일 높으니 여기서 우선 실행.
  • pve-02:5, pve-03:5: 점수가 같으면 부하 적은 곳으로 자동 이동.

4. VM을 HA 리소스에 등록

이제 100번 VM을 HA 그룹에 넣습니다.

# ha-manager add [VMID] --group [그룹명]
ha-manager add 100 --group my-ha-group --max_restart 1 --state started

상태 확인:

root@pve-01:~# ha-manager status
quorum: OK
master: pve-01 (active, ...)
lrm:
  pve-01 (active, ...)
  pve-02 (active, ...)
  pve-03 (active, ...)
service_status:
  vm:100 (pve-01, started)

lrm(로컬 리소스 매니저)에 3대 모두 active로 떠 있다면 완벽합니다.


5. 실전 테스트: "플러그를 뽑아라"

가장 짜릿한 순간입니다. 1번 서버(pve-01, 192.168.20.151)의 전원을 강제로 내립니다.

예상 시나리오:

  1. pve-01 사망 (Offline).
  2. 약 2분(Deadtime) 후, 클러스터가 "1번 죽었네?" 판단.
  3. pve-02 또는 pve-03 중 하나에서 VM 100번이 자동으로 부팅됨.

만약 ZFS Replication을 양쪽 다 걸어놨다면, 2번이든 3번이든 가장 컨디션 좋은 녀석이 바로 이어받습니다. 이것이 3노드의 위엄입니다.


마무리: 홈랩의 완성은 3노드다

2노드에서 3노드로 넘어오니 쿼럼 걱정도 없고, 마음이 훨씬 편안해집니다.
"서버 한 대 더 살까 말까" 고민 중이시라면, 그냥 사세요. 정신 건강 값으로 충분합니다.

이제 HA 구성은 마스터했습니다. 다음 단계는 "Ceph(분산 스토리지)"를 도입해서 ZFS의 '1분 데이터 손실'조차 없는 '제로 다운타임'에 도전하는 것입니다. (물론 10G 네트워크 카드부터 사셔야 합니다. ㅎㅎ)