월. 7월 21st, 2025

안녕하세요, 가상화의 세계에 오신 것을 환영합니다! 🚀 Proxmox VE(Virtual Environment)는 강력하고 유연한 오픈 소스 가상화 플랫폼으로, KVM(Kernel-based Virtual Machine) 기반의 가상 머신과 LXC(Linux Containers) 컨테이너를 통합하여 효율적인 서버 가상화를 제공합니다.

Proxmox는 직관적인 웹 인터페이스를 제공하지만, 진정한 마스터가 되기 위해서는 강력한 CLI(Command Line Interface) 명령어를 숙지하는 것이 필수적입니다. CLI는 작업을 더 빠르고 효율적으로 처리하며, 스크립팅을 통한 자동화, 그리고 웹 인터페이스로는 접근하기 어려운 깊은 문제 해결에 강력한 도구가 됩니다.

이 글에서는 Proxmox VE를 운영하며 가장 자주 사용하게 될 핵심 명령어 30가지를 엄선하여 상세한 설명과 함께 제공합니다. 각 명령어는 카테고리별로 분류하여 찾아보기 쉽게 구성했으며, 실제 사용 예시와 유용한 팁을 함께 담았습니다. 이 가이드가 여러분의 Proxmox 여정에 든든한 동반자가 되기를 바랍니다!


I. Proxmox 시스템 및 상태 관리 🖥️

Proxmox 자체의 상태를 확인하고 유지보수하는 데 필요한 명령어들입니다.

1. pveversion

  • 설명: Proxmox VE 시스템의 버전 정보를 확인합니다. 설치된 Proxmox 버전, 커널 버전, PVE 패키지 버전 등을 보여줍니다.
  • 예시:
    pveversion
    pve-manager/7.4-16/aa409c95 (running kernel: 5.15.107-1-pve)
  • 💡 팁: 문제 발생 시 버그 보고나 지원 요청 시 가장 먼저 알려줘야 하는 정보입니다.

2. apt update && apt upgrade -y

  • 설명: Debian 기반의 Proxmox 시스템의 패키지 목록을 업데이트하고, 설치된 모든 패키지를 최신 버전으로 업그레이드합니다. -y 옵션은 모든 질문에 자동으로 ‘예’라고 응답합니다.
  • 예시:
    apt update && apt upgrade -y
  • 💡 팁: 정기적인 업데이트는 보안 취약점을 해결하고 최신 기능을 적용하는 데 중요합니다. 커널 업데이트 후에는 재부팅이 필요할 수 있습니다.

3. pveam update

  • 설명: Proxmox Appliance Manager(PVEAM)에서 사용 가능한 템플릿 목록을 업데이트합니다. 컨테이너(LXC)를 생성하기 위한 템플릿을 다운로드하기 전에 항상 실행해야 합니다.
  • 예시:
    pveam update
  • 💡 팁: 새로운 LXC 컨테이너 템플릿을 찾을 수 없을 때 이 명령어를 실행해보세요.

4. systemctl restart pveproxy.service

  • 설명: Proxmox 웹 인터페이스를 담당하는 pveproxy 서비스를 재시작합니다. 웹 UI에 문제가 있거나 변경 사항이 즉시 반영되지 않을 때 유용합니다.
  • 예시:
    systemctl restart pveproxy.service
  • 💡 팁: 이 명령어를 실행하면 잠시 동안 웹 UI에 접근할 수 없게 됩니다.

5. systemctl status pveproxy.service

  • 설명: pveproxy 서비스의 현재 상태를 확인합니다. 서비스가 실행 중인지, 비활성화되었는지, 또는 오류가 발생했는지 등을 알 수 있습니다.
  • 예시:
    systemctl status pveproxy.service
  • 💡 팁: 웹 UI 접속이 안 될 때 가장 먼저 확인해야 할 명령어 중 하나입니다.

6. journalctl -f

  • 설명: 시스템의 실시간 로그를 추적하여 보여줍니다. -f는 “follow”의 약자로, 새로운 로그가 기록될 때마다 터미널에 출력됩니다. 문제 발생 시 실시간으로 어떤 일이 벌어지는지 파악하는 데 매우 유용합니다.
  • 예시:
    journalctl -f
  • 💡 팁: 특정 VM/CT 작업 중 오류 메시지를 확인하거나 시스템의 비정상적인 동작을 모니터링할 때 사용합니다. Ctrl+C로 종료합니다.

II. VM (KVM) 가상 머신 관리 💻

Proxmox의 핵심인 KVM 가상 머신을 생성, 관리, 제어하는 명령어들입니다.

7. qm list

  • 설명: 현재 Proxmox 서버에 존재하는 모든 KVM 가상 머신의 목록과 그 상태(ID, 이름, 상태, CPU/RAM 사용량 등)를 보여줍니다.
  • 예시:
    qm list
  • 💡 팁: 가상 머신 관리의 시작점으로, 실행 중인 VM들을 한눈에 파악할 수 있습니다.

8. qm create --name --memory --cores --net0 virtio,bridge=vmbr0

  • 설명: 새로운 KVM 가상 머신을 생성합니다. 필수적인 인자를 포함하여 기본 구성을 설정할 수 있습니다.
  • 예시:
    qm create 101 --name my-ubuntu-server --memory 2048 --cores 2 --net0 virtio,bridge=vmbr0 --scsi0 local-lvm:100G,cache=writeback --ide2 local:iso/ubuntu-22.04-live-server-amd64.iso,media=cdrom
  • 💡 팁: --scsi0은 스토리지, --ide2는 ISO 이미지 경로를 지정하는 예시입니다. 더 많은 옵션은 man qm create를 참조하세요.

9. qm start

  • 설명: 지정된 VMID의 가상 머신을 시작합니다.
  • 예시:
    qm start 101
  • 💡 팁: VM을 시작하기 전에 필요한 모든 설정이 완료되었는지 확인하세요.

10. qm stop

  • 설명: 지정된 VMID의 가상 머신을 즉시 정지시킵니다. 이는 강제 종료에 해당하며, 데이터 손실 위험이 있습니다.
  • 예시:
    qm stop 101
  • 💡 팁: 긴급 상황에만 사용하고, 데이터 보존을 위해서는 qm shutdown을 먼저 시도하는 것이 좋습니다.

11. qm shutdown

  • 설명: 지정된 VMID의 가상 머신에 ACPI 종료 신호를 보내 운영체제가 정상적으로 종료되도록 유도합니다.
  • 예시:
    qm shutdown 101
  • 💡 팁: 가장 안전한 VM 종료 방법입니다. 운영체제가 응답하지 않으면 타임아웃 후 qm stop처럼 강제 종료될 수 있습니다.

12. qm reset

  • 설명: 지정된 VMID의 가상 머신을 재시작(리셋)합니다. 시스템 재부팅과 유사하며, 응답하지 않는 VM을 강제로 재시작할 때 유용합니다.
  • 예시:
    qm reset 101
  • 💡 팁: qm shutdown이 작동하지 않을 때 시도할 수 있는 다음 단계입니다.

13. qm destroy

  • 설명: 지정된 VMID의 가상 머신을 영구적으로 삭제합니다. 관련 디스크 이미지도 함께 삭제될 수 있으므로 매우 신중하게 사용해야 합니다.
  • 예시:
    qm destroy 101
  • 💡 팁: 삭제하기 전에 항상 백업 유무를 확인하고, 올바른 VMID를 입력했는지 다시 확인하세요.

14. qm config

  • 설명: 지정된 VMID의 가상 머신에 대한 현재 구성을 상세하게 출력합니다.
  • 예시:
    qm config 101
  • 💡 팁: VM의 설정(CPU, 메모리, 네트워크, 디스크 등)을 확인하는 데 필수적인 명령어입니다.

15. qm set --

  • 설명: 지정된 VMID의 가상 머신 설정을 변경합니다. 다양한 옵션을 통해 디스크, 네트워크, CPU, 메모리 등 거의 모든 설정을 수정할 수 있습니다.
  • 예시:
    • 메모리 변경: qm set 101 --memory 4096
    • CPU 코어 변경: qm set 101 --cores 4
    • 새로운 디스크 추가: qm set 101 --scsi1 local-lvm:50G
  • 💡 팁: 변경하려는 옵션에 따라 VM을 종료해야 할 수도 있습니다. man qm set으로 모든 옵션을 확인하세요.

III. CT (LXC) 컨테이너 관리 📦

Proxmox의 경량 가상화 기술인 LXC 컨테이너를 관리하는 명령어들입니다.

16. pct list

  • 설명: 현재 Proxmox 서버에 존재하는 모든 LXC 컨테이너의 목록과 그 상태를 보여줍니다.
  • 예시:
    pct list
  • 💡 팁: qm list와 유사하게, 컨테이너 환경을 한눈에 파악할 수 있습니다.

17. pct create --name --memory --rootfs : --net0 name=eth0,bridge=vmbr0,ip=dhcp

  • 설명: 새로운 LXC 컨테이너를 생성합니다. 템플릿 경로를 반드시 지정해야 합니다.
  • 예시:
    pct create 201 local:vztmpl/ubuntu-22.04-standard_22.04-1_amd64.tar.zst --hostname my-lxc-web --memory 512 --rootfs local-lvm:8G --net0 name=eth0,bridge=vmbr0,ip=192.168.1.100/24,gw=192.168.1.1
  • 💡 팁: 템플릿 경로는 pveam list로 확인 가능합니다. LXC는 VM보다 훨씬 가볍고 빠릅니다.

18. pct start

  • 설명: 지정된 CTID의 LXC 컨테이너를 시작합니다.
  • 예시:
    pct start 201

19. pct stop

  • 설명: 지정된 CTID의 LXC 컨테이너를 즉시 정지시킵니다. VM의 qm stop과 유사하게 강제 종료입니다.
  • 예시:
    pct stop 201

20. pct shutdown

  • 설명: 지정된 CTID의 LXC 컨테이너에 정상 종료 신호를 보냅니다.
  • 예시:
    pct shutdown 201
  • 💡 팁: 컨테이너 내 프로세스가 정상적으로 종료될 시간을 줍니다.

21. pct destroy

  • 설명: 지정된 CTID의 LXC 컨테이너를 영구적으로 삭제합니다. VM의 qm destroy와 마찬가지로 매우 신중하게 사용해야 합니다.
  • 예시:
    pct destroy 201

22. pct config

  • 설명: 지정된 CTID의 LXC 컨테이너에 대한 현재 구성을 상세하게 출력합니다.
  • 예시:
    pct config 201

23. pct set --

  • 설명: 지정된 CTID의 LXC 컨테이너 설정을 변경합니다.
  • 예시:
    • 메모리 변경: pct set 201 --memory 1024
    • CPU 코어 변경: pct set 201 --cores 2
    • 마운트 포인트 추가: pct set 201 --mp0 /mnt/data,mp=/data
  • 💡 팁: VM과 마찬가지로, man pct set을 통해 모든 옵션을 확인하세요.

IV. 스토리지 관리 💾

Proxmox의 다양한 스토리지 자원을 확인하고 관리하는 명령어들입니다.

24. pvesm status

  • 설명: Proxmox에 구성된 모든 스토리지의 목록과 현재 상태(타입, 상태, 사용량 등)를 보여줍니다.
  • 예시:
    pvesm status
  • 💡 팁: 새로운 가상 디스크를 생성하거나 백업을 저장할 공간을 확인할 때 유용합니다.

25. pvesm scan

  • 설명: 특정 타입의 스토리지를 스캔하여 Proxmox에 추가 가능한 자원 목록을 보여줍니다. 예를 들어, nfscifs 스토리지를 스캔할 수 있습니다.
  • 예시:
    pvesm scan nfs 
  • 💡 팁: 네트워크 스토리지를 Proxmox에 연결하기 전에 사용 가능한 공유 폴더를 탐색할 때 사용됩니다.

26. df -h

  • 설명: Proxmox 서버의 디스크 사용량을 사람이 읽기 쉬운 형태로 보여줍니다. 파일 시스템별로 사용 가능한 공간, 총 공간, 사용률 등을 확인할 수 있습니다.
  • 예시:
    df -h
  • 💡 팁: 시스템 디스크 또는 특정 스토리지 볼륨의 공간 부족 문제를 진단할 때 필수적인 명령어입니다.

V. 네트워크 및 백업/복원 🌐💾

네트워크 구성을 확인하고, 중요한 데이터를 백업하고 복원하는 데 사용되는 명령어들입니다.

27. ip a (또는 ip addr show)

  • 설명: Proxmox 서버의 네트워크 인터페이스 목록과 할당된 IP 주소, MAC 주소 등의 상세 정보를 보여줍니다.
  • 예시:
    ip a
  • 💡 팁: 네트워크 문제 해결의 시작점입니다. vmbr0와 같은 브리지 인터페이스의 상태를 확인하는 데 특히 중요합니다.

28. vzdump

  • 설명: 지정된 VM 또는 컨테이너를 백업합니다. 기본적으로 Proxmox 웹 UI에서 설정된 백업 스토리지로 백업 이미지를 생성합니다.
  • 예시:
    • VM 백업: vzdump 101
    • 컨테이너 백업: vzdump 201
    • 특정 스토리지에 백업: vzdump 101 --storage local --mode snapshot
  • 💡 팁: mode=snapshot은 실행 중인 VM을 백업할 때 유용하며, mode=suspend는 일시 중단 후 백업, mode=stop은 정지 후 백업합니다.

29. qmrestore

  • 설명: vzdump로 생성된 KVM 가상 머신 백업 파일을 지정된 VMID로 복원합니다.
  • 예시:
    qmrestore /var/lib/vz/dump/vzdump-qemu-101-2023_10_26-10_00_00.vma 102
  • 💡 팁: 기존 VMID에 덮어쓸 수도 있고, 새로운 VMID로 복원하여 복제본을 만들 수도 있습니다.

30. pctrestore

  • 설명: vzdump로 생성된 LXC 컨테이너 백업 파일을 지정된 CTID로 복원합니다.
  • 예시:
    pctrestore /var/lib/vz/dump/vzdump-lxc-201-2023_10_26-10_00_00.tar 202
  • 💡 팁: qmrestore와 유사하게, 기존 CTID에 덮어쓰거나 새로운 CTID로 복원할 수 있습니다.

결론: CLI로 Proxmox 마스터하기! 🏆

지금까지 Proxmox VE를 운영하며 가장 핵심적으로 활용될 수 있는 30가지 CLI 명령어를 자세히 살펴보았습니다. 이 명령어들을 숙지하고 연습하면 웹 인터페이스만으로는 얻을 수 없는 깊이와 속도를 가지고 Proxmox 환경을 제어하고 관리할 수 있게 됩니다.

CLI는 단순한 입력 도구가 아니라, 복잡한 작업을 자동화하고, 문제 발생 시 신속하게 진단하며, 시스템의 깊숙한 곳까지 탐험할 수 있는 강력한 무기입니다. 처음에는 낯설고 어렵게 느껴질 수 있지만, 꾸준히 사용하다 보면 어느새 Proxmox를 자유자재로 다루는 전문가가 되어 있을 것입니다.

이 가이드가 여러분의 Proxmox 여정에 큰 도움이 되기를 바라며, 궁금한 점이 있다면 언제든지 관련 문서를 찾아보거나 커뮤니티에 질문해보세요. Happy Virtualization! ✨ G

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다