Xen - Master Node 변경
XenServer/XCP-ng pool master node 변경 가이드입니다. 정상 master 지정과 emergency 전환, 전환 전후 점검, split-brain 주의사항을 정리했습니다.
XenServer/XCP-ng pool에서 master node는 pool metadata와 관리 작업의 기준점입니다. master 변경은 VM 이동보다 운영 영향이 크므로, 정상 전환과 장애 상황의 emergency 전환을 구분해야 합니다.
예시처럼 password를 명령어에 직접 쓰는 방식은 shell history와 로그에 남을 수 있어 피합니다. 가능한 Xen Orchestra나 공식 절차를 사용하고, CLI를 쓸 때도 작업 기록과 콘솔 접근 경로를 확보합니다.
작업 전 확인
xe host-list params=uuid,name-label,enabled
xe pool-list params=uuid,name-label,master
xe vm-list is-control-domain=false params=name-label,power-state,resident-on
xe sr-list params=name-label,shared,type
현재 master, 후보 host, VM 상주 위치, shared storage 여부를 먼저 확인합니다. master 후보 host가 안정적이고 management network가 정상이어야 합니다.
정상 상태에서 master 지정
기존 master가 살아 있고 pool 통신이 정상이라면 emergency 명령이 아니라 정상 master 전환 명령을 검토합니다.
xe host-list
xe pool-designate-new-master host-uuid=<new-master-host-uuid>
xe pool-list params=master
전환 후 Xen Orchestra/XenCenter/API 접속 대상이 새 master를 바라보는지 확인합니다.
기존 master 장애 시 emergency 전환
기존 master가 완전히 down되어 pool 관리가 불가능한 경우, 살아 있는 slave host의 console에서 emergency master 전환을 수행할 수 있습니다. 이 작업은 상황에 따라 pool metadata 정합성에 영향을 줄 수 있으므로 마지막 수단으로 사용합니다.
xe pool-emergency-transition-to-master
xe pool-list params=uuid,name-label,master
xe host-list params=uuid,name-label,enabled
다른 slave host는 새 master를 바라보도록 정리해야 할 수 있습니다. 정확한 절차는 현재 제품 버전과 상태에 맞춰 공식 CLI reference와 운영 문서를 확인합니다.
전환 후 점검
xe host-list params=name-label,enabled
xe vm-list is-control-domain=false params=name-label,power-state,resident-on
xe task-list
xe pool-sync-database
tail -n 100 /var/log/xensource.log
주의할 점
- master 변경은 pool 관리면에 영향을 주므로 VM 백업/스냅샷 정책과 별개로 변경 창을 잡습니다.
- management IP, DNS, 인증서, Xen Orchestra 연결 정보를 같이 갱신해야 할 수 있습니다.
- old master가 복구된 뒤 바로 pool에 붙이면 split-brain 위험이 있으므로 상태를 확인한 뒤 재가입 절차를 따릅니다.
- 명령어에 password를 직접 넣지 않습니다.
- local SR에만 있는 VM이 있는지 반드시 확인합니다.