Proxmox VE 에서 VM 고가용성 (HA) 설정하기
사전 준비가 필요합니다.
- PVE 3대 : 최소 세 대 이상의 노드로 구성된 클러스터가 필요
- 공유 스토리지 설정 : VM 의 디스크가 공유 스토리지에 있어야 합니다. 이 스토리지는 클러스터 내의 모든 노드에서 접근 가능해야 합니다.
- NFS 공유 스토리지 추가하기 : https://sysdocu.tistory.com/1941
1. 고가용성 그룹 구성
HA 그룹을 구성하면 특정 노드 그룹에 리소스를 할당할 수 있습니다.
- 데이터센터 > HA > '추가' 버튼 > HA > '그룹' 에서 '생성' 버튼을 누릅니다.
새로운 ID 값 (ha-test / 영문으로 시작해야 함) 과 각 노드 앞에 체크박스를 체크하고 (테스트 노드가 3개 이므로 모두 체크), 우선순위를 설정 (순서대로 1, 2, 3) 합니다.
옵션은 nofailback 만 체크합니다.
- restricted 옵션 : HA 리소스가 특정 노드에서만 실행되도록 제한하는 설정입니다.
- nofailback 옵션 : HA 클러스터에서 장애가 발생한 후, 장애가 복구되었을 때 리소스가 원래 노드로 자동으로 이동하지 않도록 합니다.
* 주의 : 운용 중인 VM 에 HA 그룹을 설정하면 장애가 없어도 우선순위에 따라 VM 이 자동으로 마이그레이션 될 수 있습니다.
2. 공유 스토리지를 기반으로 한 VM 생성
디스크가 노드에 존재하면 해당 노드 다운시 데이터를 옮기지 못합니다.
그러므로 공유 스토리지에 디스크를 생성해야하는데, 방법은 간단하므로 여기에서는 생략하고 넘어가겠습니다.
3. 고가용성 대상 선택
아래 메뉴에서 고가용성 구성을 원하는 대상을 선택합니다.
- 데이터센터 > HA > '추가' 버튼 > HA 구성을 원하는 VM (124 / test-private-124 / 192.168.142.124) 을 선택, 그룹은 먼저 생성한 것 (ha-test) 을 선택합니다.
* 옵션 설명
최대 재시작 (Max Restart) : 동일한 노드에서 VM 이나 컨테이너를 다시 시작할 최대 횟수. 오류에 의한 중단일 수 있으므로 같은 노드에서 부팅 시도를 해봅니다.
최대 재배치 (Max Relocate) : 다른 노드로 이동하여 VM 이나 컨테이너를 다시 시작할 최대 횟수.
- 일반적인 업무 : Max Restart = 3, Max Relocate = 1
- 중요한 업무 : Max Restart = 5, Max Relocate = 2
- 고가용성이 필요한 업무 : Max Restart = 3, Max Relocate = 2
Max Restart 회수가 다 소진되면 마이그레이션을 시도 (Relocate) 하게 됩니다.
CLI 에서 동일하게 옵션을 설정하는 방법입니다.
# ha-manager set vm:124 --max_restart 3 --max_relocate 2
상단 상태 창에서 출력되는 내용이 CLI 에서도 확인 가능합니다.
# ha-manager status
quorum OK
master pve3 (active, Mon Jul 1 13:42:47 2024)
lrm pve1 (active, Mon Jul 1 13:42:50 2024)
lrm pve2 (idle, Mon Jul 1 13:42:47 2024)
lrm pve3 (idle, Mon Jul 1 13:42:47 2024)
service vm:124 (pve1, started)
현재 pve1 에서 Active 상태인 것을 확인할 수 있습니다.
VM의 HA 상태를 enabled 로 변경하여 자동 재시작 및 이동이 가능하도록 설정합니다.
이 부분은 원래 웹 UI 에서 HA 리소스 선택할때 '상태 요청' 옵션에서 선택할 수 있어야 하는데, Started, Stoped 등은 있지만 이상하게 Enabled 는 표시되지 않습니다. 그래서 CLI 에서 적용해 줍니다.
# ha-manager set vm:124 --state enabled
설정을 확인합니다.
참고로, max_relocate 와 max_restart 는 기본값 (1) 을 사용할 경우 출력되지 않습니다.
# ha-manager config
vm:124
group HA888
max_relocate 3
max_restart 3
state enabled
3. 테스트
1) VM 정지
pve1 에서 실행중인 VM (ID: 124) 을 정지 시킵니다.
Proxmox HA 는 VM 이 정지되었음을 감지하고, 설정된 최대 재시작 (Max Restart) 회수만큼 동일한 노드에서 재시작을 시도합니다.
2) 노드 정지
VM 이 가동되는 노드 (pve1) 를 셧다운 합니다.
Proxmox HA 는 노드의 장애를 감지하고, 해당 노드에서 실행 중이던 VM 들을 다른 노드로 자동으로 이동하여 재시작합니다.
'리눅스 > OS 일반' 카테고리의 다른 글
Ubuntu 24.04 에서 MinIO (Object storage service) 설치 및 설정 (0) | 2024.07.01 |
---|---|
Proxmox NFS 공유 스토리지 추가하기 (0) | 2024.06.28 |
pm2 포트 모니터링 (0) | 2024.06.27 |
Proxmox VE 에서 LXC (LinuX Containers) 사용하기 (0) | 2024.06.25 |
리눅스 시스템에서 shred 명령으로 파일 완전히 삭제하기 (복구 불가능하게 하기) (0) | 2024.06.24 |