0. 상황
- Power Outage 발생 및 iDRAC 세팅 진행 시 몇 개의 서버 즉, 몇 개의 Proxmox cluster의 node 가 down 되며 전체 클러스터의 VM 시작이 불가.
- 더 상세하게는 전원 복구 이후 서버가 재시작되며 자동시작이 설정되어있던 vm들은 시작되었지만, 순서 보장 등을 위해 자동시작을 설정하지 않았던 VM들을 시작하는 것이 불가능해졌음.
1. 에러코드 전문
Proxmox Cluster not ready - no quorum?
2. 원인
- Proxmox 클러스터에서 작업을 수행하기위해 분산트랜잭션이 획득해야 하는 최소 투표수가 보장되지 않았기 때문에 발생한 상황.
3. 해결방안
- Ref: https://pve.proxmox.com/pve-docs/chapter-pvecm.html
Cluster Manager
The cluster network is the core of a cluster. All messages sent over it have to be delivered reliably to all nodes in their respective order. In Proxmox VE this part is done by corosync, an implementation of a high performance, low overhead, high availabil
pve.proxmox.com
pvecm expected [현재 구동 가능한 vm 수]
4. 결과
- VM 실행 가능
5. 추후 고민
kafka, k8s 등 노드와 일련의 클러스터링되는 서비스들에서는 정족수에 대해 계속 염려하고 있었으면서 Proxmox Clustering에서는 정족수에 대해서 깊게 생각해보지 못한 것 같다. 조만간 시간을 내서 Proxmox의 클러스터링과 최소 투표수 설정, 그리고 외부 기기를 추가하는 QDevice에 대해서 한번 알아보고 우리에게 적용 가능한 부분이 있을지 검토해보고자 한다.
Proxmox 의 no quorum에 대해서 검색하면 많은 게시글에서 pve expected 1로 설정하는 것을 안내한다. 하지만 Proxmox의 공식 문서를 살펴보면 이러한 proxmox cluster quorum 관리는 분산 스토리지 시스템을 통해 데이터를 관리하는 경우 데이터의 일관성을 보장하기 위해 이러한 정족수 관리를 하는 것으로 보이는데, 우리의 경우엔 특정 서버에서는 zfs 풀을 사용하기는 하지만 대부분의 서버에서는 local storage 로써 각 노드에 종속적인 저장소로 사용 중이다. 이러한 우리의 상황에 가장 적합한 설정은 없을지, 만약 이러한 자동화가 가능할지 혹은 이러한 부분까지 자동화하는 것이 과연 맞는 선택일지 고민해보아야 할 것 같다.
야나의 코딩 일기장 :) #코딩블로그 #기술블로그 #코딩 #조금씩,꾸준히
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!