안녕하세요! 🚀 가상화 환경 구축과 관리에 있어서 Proxmox VE는 강력하고 유연한 오픈소스 솔루션으로 각광받고 있습니다. 웹 인터페이스만으로도 대부분의 작업을 수행할 수 있지만, 터미널 명령어를 능숙하게 다루는 것은 Proxmox 환경을 더욱 깊이 이해하고, 자동화하며, 문제 발생 시 빠르게 대처하는 데 필수적인 능력입니다.
이 글에서는 Proxmox VE 사용자라면 반드시 알아야 할 핵심 명령어 30가지를 엄선하여 자세히 설명해 드립니다. 각 명령어의 기능, 사용법, 그리고 실제 활용 예시까지 함께 살펴보면서 Proxmox 마스터로 거듭나는 데 도움을 드리겠습니다!
📚 목차
- Proxmox 시스템 관리 명령어
- VM/CT 목록 및 상태 확인 명령어
- VM/CT 제어 명령어
- VM/CT 설정 및 정보 확인 명령어
- VM/CT 고급 작업 명령어 (복제, 스냅샷, 마이그레이션)
- 스토리지 및 템플릿 관리 명령어
- 클러스터 관리 명령어
- 백업 및 복원 관련 명령어
1. Proxmox 시스템 관리 명령어 🛠️
Proxmox 노드 자체의 상태를 확인하고 유지보수하는 데 사용되는 기본적인 명령어들입니다.
-
pveversion
- 기능: 현재 Proxmox VE 버전과 커널 정보를 확인합니다. 시스템 정보를 빠르게 파악할 때 유용합니다.
- 사용법:
pveversion
- 예시:
pveversion # 결과 예시: # proxmox-ve: 7.4-1 (running kernel: 5.15.102-1-pve) # pve-manager: 7.4-3 # ... (이하 생략)
- 💡 팁: 문제 발생 시, 이 정보를 제공하면 지원을 받거나 해결책을 찾기 쉽습니다.
-
apt update && apt upgrade
- 기능: Proxmox 시스템의 패키지 목록을 최신화하고, 설치된 패키지들을 업그레이드합니다. 시스템 안정성과 보안 유지를 위해 정기적으로 실행하는 것이 좋습니다.
- 사용법:
apt update && apt upgrade -y
- 예시:
apt update && apt upgrade -y # 패키지 목록 업데이트 및 모든 패키지 자동 업그레이드
- ⚠️ 주의: 커널 업데이트 후에는 재부팅이 필요할 수 있습니다. 운영 중인 VM/CT가 없는 시간에 진행하는 것을 권장합니다.
-
systemctl status
- 기능: Proxmox의 주요 서비스(예:
pveproxy
,pve-cluster
,pvedaemon
)의 상태를 확인합니다. 서비스가 정상적으로 실행 중인지, 문제가 발생했는지 파악할 수 있습니다. - 사용법:
systemctl status pveproxy systemctl status pve-cluster
- 예시:
systemctl status pveproxy # pveproxy.service - PVE API Proxy Server # Loaded: loaded (/lib/systemd/system/pveproxy.service; enabled; vendor preset: enabled) # Active: active (running) since Tue 2023-10-24 10:00:00 KST; 1h ago # ... (이하 생략)
- 기능: Proxmox의 주요 서비스(예:
-
df -h
- 기능: 디스크 공간 사용량을 사람이 읽기 쉬운 형태로 표시합니다. Proxmox 노드의 각 스토리지 볼륨의 여유 공간을 확인할 때 필수적입니다.
- 사용법:
df -h
- 예시:
df -h # 결과 예시: # Filesystem Size Used Avail Use% Mounted on # /dev/mapper/pve-root 98G 10G 83G 11% / # udev 7.8G 0 7.8G 0% /dev # ... (이하 생략)
-
htop
- 기능: 시스템의 실시간 프로세스, CPU, 메모리 사용량 등을 대화형으로 보여주는 도구입니다. 리소스 병목 현상을 진단하고 어떤 프로세스가 많은 리소스를 소모하는지 파악할 때 유용합니다.
- 사용법:
htop
- 💡 팁:
htop
이 설치되어 있지 않다면apt install htop
으로 설치할 수 있습니다.
-
journalctl -f
- 기능: 시스템의 실시간 로그를 추적하여 보여줍니다. Proxmox 웹 인터페이스 접근 문제, VM/CT 시작 실패 등 다양한 문제 발생 시 로그를 통해 원인을 파악하는 데 매우 중요합니다.
- 사용법:
journalctl -f
- 예시:
journalctl -f # 실시간으로 시스템 로그가 출력됩니다. (Ctrl+C로 종료)
2. VM/CT 목록 및 상태 확인 명령어 📋
현재 Proxmox 노드에서 실행 중이거나 생성된 가상 머신(VM) 및 컨테이너(CT)의 목록과 상태를 빠르게 파악할 수 있습니다.
-
qm list
- 기능: 모든 KVM 가상 머신(VM)의 목록과 현재 상태를 보여줍니다.
- 사용법:
qm list
- 예시:
qm list # 결과 예시: # VMID NAME STATUS MEM(MB) SWAP(MB) BOOTDISK(GB) PID # 100 Ubuntu-Server running 2048 0 32.0 12345 # 101 Windows-VM stopped 4096 0 64.0 0
-
pct list
- 기능: 모든 LXC 컨테이너(CT)의 목록과 현재 상태를 보여줍니다.
- 사용법:
pct list
- 예시:
pct list # 결과 예시: # VMID NAME STATUS MEM(MB) SWAP(MB) ROOTFS(GB) PID # 200 Debian-CT running 512 0 8.0 67890 # 201 Alpine-CT stopped 256 0 4.0 0
-
qm status
- 기능: 특정 VM의 상세 상태를 확인합니다.
- 사용법:
qm status 100
- 예시:
qm status 100 # status: running # qmpstatus: running # ha: no # cpus: 2 # pid: 12345
-
pct status
- 기능: 특정 CT의 상세 상태를 확인합니다.
- 사용법:
pct status 200
- 예시:
pct status 200 # status: running # ha: no # cpus: 1 # pid: 67890
3. VM/CT 제어 명령어 ⏯️
가상 머신과 컨테이너를 시작, 중지, 강제 종료, 삭제하는 기본적인 제어 명령입니다.
-
qm start
- 기능: 지정된 VM을 시작합니다.
- 사용법:
qm start 100
-
qm stop
- 기능: 지정된 VM을 강제로 중지합니다. (운영체제가 갑자기 전원 공급이 끊긴 것과 같습니다. 데이터 손실 위험이 있습니다.)
- 사용법:
qm stop 100
-
qm shutdown
- 기능: 지정된 VM에 종료 신호를 보내 운영체제가 정상적으로 종료되도록 합니다. (추천)
- 사용법:
qm shutdown 100
- 💡 팁:
qm shutdown
이 응답하지 않을 경우,qm stop
을 사용해야 합니다.
-
qm destroy
- 기능: 지정된 VM과 연결된 모든 디스크 및 설정 파일을 영구적으로 삭제합니다. 매우 주의해야 합니다.
- 사용법:
qm destroy 100
- ⚠️ 경고: 이 작업은 되돌릴 수 없으므로 신중하게 사용해야 합니다.
-
pct start
- 기능: 지정된 CT를 시작합니다.
- 사용법:
pct start 200
-
pct stop
- 기능: 지정된 CT를 강제로 중지합니다.
- 사용법:
pct stop 200
-
pct shutdown
- 기능: 지정된 CT에 종료 신호를 보내 정상적으로 종료되도록 합니다. (추천)
- 사용법:
pct shutdown 200
-
pct destroy
- 기능: 지정된 CT와 연결된 모든 디스크 및 설정 파일을 영구적으로 삭제합니다. 매우 주의해야 합니다.
- 사용법:
pct destroy 200
- ⚠️ 경고: 이 작업은 되돌릴 수 없으므로 신중하게 사용해야 합니다.
4. VM/CT 설정 및 정보 확인 명령어 ⚙️
가상 머신 및 컨테이너의 현재 구성을 확인하고 필요에 따라 수정하는 데 사용합니다.
-
qm config
- 기능: 지정된 VM의 모든 구성 정보를 표시합니다. CPU, 메모리, 디스크, 네트워크 등 상세 설정을 확인할 수 있습니다.
- 사용법:
qm config 100
- 예시:
qm config 100 # arch: x86_64 # cores: 2 # memory: 2048 # net0: virtio=00:1A:2B:3C:4D:5E,bridge=vmbr0 # ostype: l26 # ... (이하 생략)
- 💡 팁:
qm set --
명령어로 설정을 변경할 수 있습니다 (예:qm set 100 --memory 4096
).
-
pct config
- 기능: 지정된 CT의 모든 구성 정보를 표시합니다.
- 사용법:
pct config 200
- 예시:
pct config 200 # arch: amd64 # cores: 1 # memory: 512 # net0: name=eth0,bridge=vmbr0,ip=192.168.1.100/24,gw=192.168.1.1 # ostype: debian # ... (이하 생략)
- 💡 팁:
pct set --
명령어로 설정을 변경할 수 있습니다 (예:pct set 200 --cores 2
).
5. VM/CT 고급 작업 명령어 (복제, 스냅샷, 마이그레이션) 💾✈️
Proxmox의 강력한 기능인 복제, 스냅샷, 그리고 클러스터 환경에서의 마이그레이션을 위한 명령어입니다.
-
qm clone
- 기능: 기존 VM을 복제하여 새로운 VM을 생성합니다. 테스트 환경 구축이나 동일한 사양의 VM을 여러 개 만들 때 유용합니다.
- 사용법:
qm clone 100 102 --name NewUbuntu --full --storage local-lvm
- 옵션:
--name
: 새로운 VM의 이름을 지정합니다.--full
: 전체 복제 (기본값은 Linked Clone, 원본에 종속됨)--storage
: 복제된 VM의 디스크를 저장할 스토리지를 지정합니다.
-
pct clone
- 기능: 기존 CT를 복제하여 새로운 CT를 생성합니다.
- 사용법:
pct clone 200 202 --name NewDebianCT --storage local-lvm
- 옵션: VM clone과 유사합니다.
-
qm snapshot
/qm rollback
- 기능:
qm snapshot
: 특정 VM의 현재 상태를 스냅샷으로 저장합니다. 시스템 변경 전 안전 지점을 만들 때 사용합니다.qm rollback
: 저장된 스냅샷 지점으로 VM을 되돌립니다.
- 사용법:
qm snapshot 100 "BeforeUpdate" qm rollback 100 "BeforeUpdate" qm listsnapshot 100 # 스냅샷 목록 확인
- 💡 팁: 스냅샷은 많은 디스크 공간을 차지할 수 있으니, 사용 후에는
qm delsnapshot
명령어로 삭제하는 것이 좋습니다.
- 기능:
-
pct snapshot
/pct rollback
- 기능: CT에 대한 스냅샷 생성 및 롤백 기능입니다. VM 스냅샷과 동일한 개념으로 사용됩니다.
- 사용법:
pct snapshot 200 "BeforeNginxInstall" pct rollback 200 "BeforeNginxInstall" pct listsnapshot 200 # 스냅샷 목록 확인
-
qm migrate
- 기능: 클러스터 환경에서 VM을 현재 노드에서 다른 노드로 이동합니다. (Live Migration 기능으로 운영 중인 상태에서도 가능)
- 사용법:
qm migrate 100 pve-node2 --online
- 옵션:
--online
(또는--live
) 옵션은 VM을 끄지 않고 마이그레이션합니다. (클러스터 및 스토리지가 공유되는 환경에서만 가능) - ⚠️ 주의: 클러스터 설정과 공유 스토리지가 올바르게 구성되어 있어야 합니다.
-
pct migrate
- 기능: 클러스터 환경에서 CT를 다른 노드로 이동합니다.
- 사용법:
pct migrate 200 pve-node2 --online
- 옵션:
--online
(또는--live
) 옵션으로 Live Migration이 가능합니다.
6. 스토리지 및 템플릿 관리 명령어 📦💾
Proxmox의 스토리지 설정과 컨테이너 템플릿 관리에 사용되는 명령어입니다.
-
pvesm status
- 기능: Proxmox에 구성된 모든 스토리지의 상태와 사용량을 표시합니다.
- 사용법:
pvesm status
- 예시:
pvesm status # Name Type Status Total Used Avail %Used # local dir active 98G 10G 83G 11.20% # local-lvm lvmthin active 200G 50G 150G 25.00% # nfs-storage nfs active 1.0T 300G 700G 30.00%
-
pveam update
/pveam download
/pveam list local
- 기능:
pveam update
: 사용 가능한 컨테이너 템플릿 목록을 업데이트합니다.pveam download
: 지정된 URL에서 컨테이너 템플릿을 다운로드합니다. (예:pveam download local debian-11-standard_11.0-1_amd64.tar.zst
)pveam list local
: 로컬에 저장된 컨테이너 템플릿 목록을 확인합니다.
- 사용법:
pveam update pveam download local:vztmpl/debian-11-standard_11.0-1_amd64.tar.zst pveam list local
- 💡 팁: 템플릿은 새로운 컨테이너를 빠르게 생성하는 데 사용됩니다.
- 기능:
7. 클러스터 관리 명령어 🤝
여러 Proxmox 노드를 하나의 클러스터로 묶었을 때 사용되는 명령어입니다.
pvecm status
/pvecm nodes
- 기능:
pvecm status
: Proxmox 클러스터의 현재 상태, 쿼럼 정보, 멤버 노드 등을 상세하게 표시합니다.pvecm nodes
: 클러스터에 속한 노드들의 목록을 간단히 보여줍니다.
- 사용법:
pvecm status pvecm nodes
- 예시:
pvecm nodes # Node UUID State IP Address # 1: pve-node1 d1b2c3d4-e5f6-7890-a1b2-c3d4e5f67890 online 192.168.1.10 # 2: pve-node2 f1e2d3c4-b5a6-9870-1234-567890abcdef online 192.168.1.11
- 💡 팁: 클러스터 문제가 발생했을 때 가장 먼저 확인해야 할 명령어 중 하나입니다.
- 기능:
8. 백업 및 복원 관련 명령어 🛡️🔄
Proxmox의 내장 백업 기능을 CLI에서 활용할 수 있는 명령어입니다.
qm backup --storage
/pct backup --storage
- 기능:
qm backup
: 지정된 VM을 백업합니다.pct backup
: 지정된 CT를 백업합니다.
- 사용법:
qm backup 100 --storage local --mode snapshot pct backup 200 --storage backup-nfs --mode stop
- 옵션:
--storage
: 백업 파일을 저장할 스토리지 ID를 지정합니다.--mode
: 백업 모드를 지정합니다. (snapshot
,suspend
,stop
중 선택)snapshot
: VM/CT 실행 중 스냅샷을 찍어 백업 (가장 일반적)suspend
: VM/CT를 일시 정지 후 백업stop
: VM/CT를 완전히 종료 후 백업 (가장 안전하지만 서비스 중단 발생)
- 💡 팁: 복원은
qmrestore
또는pctrestore
명령어를 사용하지만, 보통 백업 파일 경로와 VMID/CTID를 지정해야 하므로 웹 UI를 통해 복원하는 것이 더 편리할 수 있습니다.
- 기능:
🌟 마치며
Proxmox VE의 주요 명령어 30가지를 자세히 살펴보았습니다. 이 명령어들은 Proxmox 환경을 관리하고, 문제를 진단하며, 고급 작업을 수행하는 데 있어 여러분의 가장 강력한 도구가 될 것입니다.
처음에는 어렵게 느껴질 수 있지만, 꾸준히 연습하고 활용하다 보면 금세 익숙해질 것입니다. 웹 인터페이스와 CLI를 적절히 조합하여 사용하면 Proxmox VE의 잠재력을 최대한 끌어낼 수 있습니다.
궁금한 점이 있거나 더 깊이 탐구하고 싶은 명령어가 있다면 언제든지 찾아보고 실험해 보세요! 💪 Happy Proxmox-ing! G