proxmox 이미지 가져오기는 이미지 크기에 관계없이 50GB 디스크를 생성합니다.

proxmox 이미지 가져오기는 이미지 크기에 관계없이 50GB 디스크를 생성합니다.

원시 이미지에서 vm 101의 디스크 이미지를 가져오면 50GB 디스크 이미지가 생성됩니다.

# qm importdisk 101  disk.img local-zfs
importing disk '446-jenkinsmite.img' to VM 101 ...
transferred 0.0 B of 50.0 GiB (0.00%)
transferred 512.0 MiB of 50.0 GiB (1.00%)
transferred 1.0 GiB of 50.0 GiB (2.00%)
transferred 1.5 GiB of 50.0 GiB (3.00%)
...
transferred 49.9 GiB of 50.0 GiB (99.76%)
transferred 50.0 GiB of 50.0 GiB (100.00%)
transferred 50.0 GiB of 50.0 GiB (100.00%)
Successfully imported disk as 'unused0:local-zfs:vm-101-disk-0'

명령

qm create 101 --scsi0 local-zfs:0,import-from=/root/disk.img,size=13G

여전히 50GiB 디스크를 생성합니다.

이미지가 (아직) 50GB를 차지하지 않으며 희소 파일처럼 동작해야 한다는 것을 알고 있습니다.

# zfs list rpool/data/vm-101-disk-0
NAME                       USED  AVAIL     REFER  MOUNTPOINT
rpool/data/vm-101-disk-0  12.2G  2.50T     12.2G  -

그러나 VM은 디스크 크기를 50GB로 인식하며 일부 클라우드 게스트 도구가 설치된 경우 파티션과 파일 시스템의 크기를 조정하여 사용 가능한 공간을 모두 사용하게 되며 시간이 지나면 해당 공간을 모두 사용할 수 있습니다.

아직 50GiB보다 큰 디스크 이미지를 가져오려고 시도하지 않았지만 이로 인해 문제가 발생할 수도 있습니다...

이미지를 가져오는 동안 대상 디스크의 크기를 어떻게 설정합니까?

답변1

해결 방법을 꽤 빨리 찾았습니다. 다음과 같이 실행하여 ZFS 하위 볼륨 크기를 설정할 수 있습니다.

zfs set volsize=1GiB rpool/data/vm-101-disk-0

조심하세요!

  • 원본 이미지보다 작은 크기를 설정하면 데이터가 손실됩니다!
  • 볼륨 이름을 잘못 입력하면 데이터가 손실됩니다!

경고나 확실한지 묻는 메시지가 없으므로 크기를 잘 계산하고 적절한 볼륨의 크기를 조정하는지 확인하는 것이 좋습니다.


또한 proxmox는 여전히 디스크 크기를 50GiB로 표시합니다.

# qm list
  VMID NAME                 STATUS     MEM(MB)    BOOTDISK(GB) PID       
   101 VM 101               running    512               50.00 2128896   

이로 인해 불쾌한 부작용이 발생하는지 알 수 없으므로(VM이 디스크를 ZFS 하위 볼륨 크기로 인식하는 것 같음) 더 나은 솔루션, 바람직하게는 적절한 크기의 하위 볼륨을 생성하는 솔루션을 갖고 싶습니다.

관련 정보