Proxmox VM 관리
Proxmox에서 VM을 만들고 템플릿화하고 운영하는 기준.
Proxmox에서 VM을 만들고 템플릿화하고 운영하는 기준.
VM을 쓰는 경우
VM은 완전한 OS 격리가 필요할 때 쓴다.
- Kubernetes 노드
- Windows 서버
- 커널 실험
- 보안 격리가 필요한 서비스
- 다른 OS 배포판 테스트
- LXC로 처리하기 애매한 워크로드
가볍고 단순한 Linux 서비스는 02-04-Proxmox-LXC-컨테이너가 더 적합할 수 있다.
VM 생성 전 결정
| 항목 | 기준 |
|---|---|
| BIOS | OVMF(UEFI) 또는 SeaBIOS |
| Machine | q35 권장 케이스 많음 |
| Disk bus | VirtIO SCSI 권장 |
| Network | VirtIO 권장 |
| CPU type | host 또는 x86-64-v2 계열 검토 |
| Cloud-Init | 반복 생성할 VM이면 사용 |
| Agent | qemu-guest-agent 설치 |
기본 생성 흐름
- ISO 업로드
- VM 생성
- CPU/Memory/Disk/NIC 설정
- OS 설치
- qemu-guest-agent 설치
- 업데이트
- 템플릿으로 변환하거나 운영 VM으로 사용
CLI 예시:
qm create 9000 --name ubuntu-template --memory 2048 --cores 2 --net0 virtio,bridge=vmbr0
qm set 9000 --scsihw virtio-scsi-pci
qm set 9000 --scsi0 local-zfs:32
qm set 9000 --ide2 local:iso/ubuntu.iso,media=cdrom
qm set 9000 --boot order=scsi0
Cloud-Init 템플릿
반복 생성할 Linux VM은 Cloud-Init 템플릿으로 관리한다.
기본 흐름:
- cloud image 다운로드
- VM 생성
- cloud image를 disk로 import
- Cloud-Init drive 추가
- user, ssh key, network 설정
- template 변환
- clone으로 VM 생성
예시:
qm create 9000 --name ubuntu-cloud --memory 2048 --cores 2 --net0 virtio,bridge=vmbr0
qm importdisk 9000 ubuntu-cloud.img local-zfs
qm set 9000 --scsihw virtio-scsi-pci --scsi0 local-zfs:vm-9000-disk-0
qm set 9000 --ide2 local-zfs:cloudinit
qm set 9000 --boot c --bootdisk scsi0
qm set 9000 --serial0 socket --vga serial0
qm template 9000
Clone 전략
| 방식 | 특징 |
|---|---|
| Full clone | 독립 디스크, 안정적 |
| Linked clone | 빠르고 공간 절약, 원본 의존 |
운영 VM은 full clone이 단순하고 안전하다. 실험용 대량 생성은 linked clone도 좋다.
qm clone 9000 101 --name k8s-cp-01 --full
qm set 101 --memory 4096 --cores 2
qm start 101
리소스 배정 기준
| 워크로드 | CPU | Memory | Disk |
|---|---|---|---|
| 작은 Linux 서버 | 1-2 core | 1-2GB | 16-32GB |
| Kubernetes control plane | 2 core | 4GB+ | 32GB+ |
| Kubernetes worker | 2-4 core | 4-8GB | 32GB+ |
| Windows VM | 2-4 core | 4-8GB+ | 64GB+ |
CPU는 어느 정도 overcommit할 수 있지만, 메모리는 과하게 잡으면 host 전체가 불안정해진다.
qemu-guest-agent
VM 내부에 qemu-guest-agent를 설치하면 Proxmox가 VM 상태를 더 정확히 알 수 있다.
# Debian/Ubuntu
apt install qemu-guest-agent
systemctl enable --now qemu-guest-agent
Proxmox VM 옵션에서 QEMU Guest Agent를 활성화한다.
스냅샷 운영
스냅샷은 변경 전 안전장치로 좋다.
qm snapshot <vmid> before-upgrade
qm rollback <vmid> before-upgrade
qm delsnapshot <vmid> before-upgrade
주의:
- 장기 보관용으로 쓰지 않기
- DB VM은 application-consistent 백업 검토
- 스냅샷이 많으면 성능과 관리가 나빠질 수 있음
VM 운영 체크리스트
- Guest Agent 활성화
- SSH key 로그인
- 정기 업데이트
- 백업 정책 연결
- 디스크 사용량 모니터링
- 필요한 포트만 방화벽 허용
- 템플릿과 운영 VM 구분
장애 대응
qm list
qm status <vmid>
qm config <vmid>
journalctl -u pvedaemon -n 100
자주 보는 원인:
- ISO/boot order 문제
- disk storage full
- bridge/VLAN 설정 오류
- CPU type 호환성
- guest agent 미설치
- VM 내부 OS 문제
관련 노트
- 상위: 00-MOC-Proxmox
- LXC: 02-04-Proxmox-LXC-컨테이너
- 백업: 03-01-Proxmox-백업-복구
- 명령어: Proxmox-명령어-치트시트