;

proxmox vm 디스크 용량 늘리기 방법 본문

Linux

proxmox vm 디스크 용량 늘리기 방법

WindowsHyun 2026. 9. 3. 13:33
반응형

개요

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. 참고 글

반응형
Comments