Импорт образа proxmox создает диск объемом 50 ГБ независимо от размера образа.

Импорт образа proxmox создает диск объемом 50 ГБ независимо от размера образа.

Если я импортирую образ диска для виртуальной машины 101 из необработанного образа, будет создан образ диска размером 50 ГБ:

# 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

по-прежнему создает диск объемом 50 ГиБ.

Я понимаю, что изображение (пока) не занимает 50 ГБ, оно должно вести себя как разреженный файл:

# 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  -

Однако виртуальная машина будет видеть размер диска как 50 ГБ, и если на ней установлены какие-либо гостевые облачные инструменты, она изменит размер разделов и файловой системы, чтобы использовать доступное пространство, и со временем может израсходовать это пространство.

Я пока не пробовал импортировать образ диска размером более 50 ГБ, но это тоже может вызвать проблемы...

Как задать размер целевого диска при импорте образа?

решение1

Я нашел обходной путь довольно быстро. Вы можете задать размер подтома ZFS, выполнив что-то вроде:

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

Будь осторожен!

  • Если вы установите размер меньше исходного изображения, вы БУДЕТЕ терять данные!
  • Если вы неправильно введете имя тома, данные будут потеряны!

Нет никаких предупреждений или вопросов о вашей уверенности, поэтому лучше хорошо рассчитать размер и убедиться, что вы изменяете размер соответствующего тома.


Кроме того, proxmox по-прежнему указывает размер диска 50 ГБ:

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

Я не знаю, приведет ли это к каким-либо неприятным побочным эффектам (виртуальная машина, похоже, видит диск как размер подтома ZFS), поэтому я был бы рад найти лучшее решение, желательно такое, которое создает подтом соответствующего размера.

Связанный контент