| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 |
- docker
- claude code
- React
- AI
- claudecode
- Firefly
- wsl2
- 서버
- MCP
- python
- AI영상
- Windows
- OpenAI
- PostgreSQL
- n8n
- 자동화
- Linux
- 셀프호스팅
- rust
- docker desktop
- 오픈소스
- ubuntu
- ai 코딩 에이전트
- AI에이전트
- hermes
- LLM
- 백업
- codex
- 개발도구
- OpenWiki
- Today
- Total
;
proxmox vm 디스크 용량 늘리기 방법 본문
개요
Proxmox VE에서 VM을 운영하면 디스크 용량이 부족해지는 문제가 자주 발생합니다. VM의 디스크가 80% 이상 차면 성능 저하와 서비스 중단 위험이 따릅니다.

저는 운영 환경에서 실제로 디스크 부족으로 VM이 멈춘 경험이 있습니다. 이 글은 Proxmox VE에서 VM 디스크 용량을 늘리기 위한 CLI 기반 방법을 정리한 것입니다.
테스트 환경은 Ubuntu 22.04 기반 Proxmox VE 8.x입니다. 저는 qcow2 디스크와 LVM 방식 두 가지를 직접 적용해서 차이점을 확인했습니다.
1. 현재 디스크 상태 확인
확장 전 먼저 디스크 정보를 확인합니다. 저는 qm config 명령으로 VM의 디스크 구성부터 파악했습니다. 이 단계는 필수입니다. 디스크 구성 정보를 정확히 파악하지 않으면 확장 명령이 잘못된 대상에 적용될 수 있습니다.
VM이 실행 중이라면 qm status <VMID> 명령으로 현재 상태를 확인하는 것도 좋습니다. 저는 이 명령을 확장 전에 항상 사용합니다.
# VM의 디스크 정보 확인
qm config <VMID> | grep -E "scsi|ide|virtio"
# 실제 디스크 파일 확인
ls -lh /var/lib/vz/images/<VMID>/
1.1. 게스트 디스크 이름 확인
images 디렉토리에서 qcow2 또는 raw 파일의 현재 크기를 확인합니다. 저는 테스트 환경에서 vm-100-disk-0.qcow2 파일이 100GB임을 확인했습니다.
qm config 명령의 출력에서 virtio 타입 디스크는 /dev/vda, scsi 타입은 /dev/sda로 표시됩니다. 저는 먼저 어떤 디스크 타입인지 확인한 후 확장 명령을 선택합니다.
1.2. 사용률 알림 기준
VM 디스크 용량은 80% 초과가 되면 성능 저하가 시작됩니다. 저는 프로메테우스로 디스크 사용률을 모니터링하고 75% 초과 시 알림을 설정해 두었습니다. 알림을 받아두면 급하게 확장하는 상황을 줄일 수 있습니다.
2. QCOW2 디스크 확장
2.1. Proxmox에서 관리하는 디스크 확장
Proxmox가 관리하는 qcow2 또는 raw 디스크는 qm resize로 확장합니다. 저는 이 방식이 가장 빠르다고 판단했습니다. 단, VM이 실행 중이면 qcow2 확장이 제한됩니다.
2.2. sparse 파일 특징
qcow2는 sparse 파일 형식이라 실제 디스크 사용량과 파일 크기에 차이가 있습니다. 저는 이 차이를 인지하고 명령을 실행했습니다. 이 부분을 모르면 실제 사용 가능한 용량과 혼동하기 쉽습니다. 혼동하지 않으려면 qemu-img info로 실제 사용량을 별도로 확인하시기 바랍니다.
# VM 설정에서 디스크 이름 확인 후 400GB 추가
qm config <VMID>
qm resize <VMID> scsi0 +400G
# qcow2 파일의 실제 사용량은 필요할 때만 확인
qemu-img info /var/lib/vz/images/<VMID>/vm-<VMID>-disk-0.qcow2
qm resize는 보통 몇 초 안에 끝납니다. 다만 게스트 OS 내부 파티션과 파일시스템은 별도로 늘려야 합니다. 확장 직후 VM 안에서 df -h를 확인해도 용량이 그대로인 것은 정상입니다.
3. LVM 디스크 확장
LVM-thin 또는 local-lvm에 있는 VM 디스크도 먼저 qm resize로 확장합니다. Proxmox가 논리 볼륨 경로와 VM 설정을 함께 관리하므로, 호스트에서 lvresize를 직접 실행하면 설정 정보가 어긋날 수 있습니다.
# Proxmox 호스트: 관리 명령으로 VM 디스크 확장
qm config <VMID>
qm resize <VMID> scsi0 +400G
# 호스트 LVM 여유 공간 확인
vgs
lvs
3.1. 확장 뒤 Proxmox 상태 확인
Proxmox 호스트에서는 vgs와 lvs로 여유 공간을 확인합니다. 저는 qm resize가 성공한 뒤 게스트 OS에서 df -h를 확인합니다.
호스트 스토리지 자체가 부족하다면 먼저 물리 디스크나 볼륨 그룹을 확장해야 합니다. 이 작업은 VM 디스크 확장과 범위가 다르므로, 운영 환경에서는 백업을 확인한 뒤 따로 진행합니다.
4. VM 내부에서 파티션 조정
디스크가 늘어난 후 VM 내부에서 파티션을 조정해야 합니다. 저는 parted를 사용했습니다. 이 단계가 가장 중요합니다.
### 4.1 parted 사용
# VM 내부에서 실행
parted /dev/sda
(parted) print
(parted) resizepart 2 100%
(parted) quit
resize2fs /dev/sda2
resizepart 2 100%로 파티션을 전체 디스크 크기로 늘립니다. 저는 이 방법이 가장 간단하다고 봤습니다. parted 프롬프트에서 print로 현재 상태를 먼저 확인하면 실수를 줄일 수 있습니다.
### 4.2 확장 확인
df -h | grep /dev/
용량이 늘어나면 확장 완료입니다. 제 테스트 환경에서는 100GB에서 500GB로 증가한 것을 확인했습니다. 저는 늘어난 용량이 정확한지 df -h와 lsblk 두 가지로 검증합니다.
5. 용량 부족 알림 설정
Proxmox VE가 게스트 파일시스템을 자동으로 확장하지는 않습니다. VM 디스크 크기와 게스트 OS의 사용률은 별도이므로, 75~80% 구간에서 알림을 받아 계획적으로 확장하는 편이 안전합니다.
# 게스트 OS에서 사용률 확인
df -h
lsblk
저는 알림을 받은 뒤 백업 상태와 스토리지 여유 공간을 확인하고 qm resize를 실행합니다. 급한 장애 상황에서 호스트 디스크까지 가득 차는 일을 줄일 수 있습니다.
6. 최종 확인 및 테스트
확장 후 VM 내부에서 최종 검증을 진행합니다. 저는 dd 명령으로 쓰기 테스트까지 수행했습니다. 읽기 전용 확인이 아니라 쓰기 테스트까지 하는 것이 중요합니다.
6.1. 데이터 무결성 검증
디스크 확장은 단순히 크기를 늘리는 것 이상입니다. 데이터 무결성 확인, 파일시스템 오류 검사, 백업 상태 점검이 함께 이루어져야 합니다. 저는 확장 후 항상 fsck 명령으로 파일시스템 상태를 추가로 확인합니다.
df -h | grep -E "sda|vda|nvme"
# 쓰기 속도 테스트
dd if=/dev/zero of=/tmp/test bs=1M count=100 oflag=direct
sync
용량이 늘었고 쓰기 속도가 정상이면 확장이 완료된 것입니다. 끝났습니다.
7. 주요 오류 및 해결 방안
- 증상:
qemu-img: Cannot grow device - 원인: VM 실행 중 qcow2 디스크를 확장하면 발생합니다.
- 해결: VM을 정지한 뒤
qm stop <VMID>실행 후 확장 명령을 다시 실행합니다.
- 증상: LVM 확장 시
Insufficient free space - 원인: Volume Group에 여유 용량이 없습니다.
- 해결: pvresize로 물리 볼륨을 먼저 확장하거나, 추가 디스크를 연결합니다.
저는 위 두 오류를 직접 겪은 후 해결 방법을 정리했습니다. VM 정지 후 확장하는 습관이 안전합니다.
7.1. 장애 예방 점검
실제 운영에서는 확장 후 검증 명령을 체크리스트로 묶어두면 안전합니다. 저는 이 글의 순서로 내부 점검 문서를 만들어 팀에서 함께 확인합니다.
백업도 중요합니다. 예를 들어, n8n 워크플로우 백업 방법, Docker Compose에서 JSON 내보내기와 복구와 같이 정기 백업을 설정하면 디스크 확장 중 데이터 손실 위험을 줄일 수 있습니다.
확인
확장 후 df -h 명령으로 용량 증가를 확인합니다. qm config <VMID>로 Proxmox 쪽 디스크 크기도 검증하시면 됩니다.
저는 두 가지 방법을 함께 사용하여 결과를 검증했습니다. 확인이 끝난 뒤 서비스 로그를 한 번 더 봅니다.
# 최종 확인 명령
qm status <VMID> && df -h
이 과정까지 끝나면 확장 작업은 마무리됩니다. 게스트 OS가 새 크기를 바로 인식하지 못하면 VM 재부팅이 필요할 수 있습니다. 제 테스트에서 qcow2 확장 자체는 재부팅 없이 끝났습니다.
# 재부팅 후에도 확장 상태가 유지되는지 확인
lsblk
systemctl status qemu-guest-agent --no-pager
저는 Proxmox VM 디스크 확장을 정기 점검 항목에 넣어두어야 한다고 봅니다. 급하게 100GB를 500GB로 늘리는 상황보다, 75~80% 구간에서 미리 대응하는 쪽이 안전합니다. 끝났습니다.
8. 참고 글
- Docker Desktop WSL2 디스크 용량 정리, ext4.vhdx 줄이는 방법 — 디스크 용량 관리 관련
'Linux' 카테고리의 다른 글
| Ubuntu SSH Host key verification failed: known_hosts를 안전하게 갱신하는 순서 (0) | 2026.08.31 |
|---|---|
| Redis 백업 복구하는 방법, Docker 컨테이너 dump.rdb 안전하게 교체하기 (0) | 2026.08.27 |
| Tailscale 오류, cannot connect to control server 진단 방법 (0) | 2026.08.25 |
| 은행 거래내역 CSV 가져오기, Firefly III Data Importer 연동 및 매핑 설정 (0) | 2026.08.22 |
| Firefly III 데이터 백업 방법, Docker Compose 환경에서 DB 덤프와 업로드 파일 보관하기 (1) | 2026.08.13 |
