
Wenn ich ein Disk-Image für VM 101 aus einem RAW-Image importiere, wird ein 50 GB großes Disk-Image erstellt:
# 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'
Der Befehl
qm create 101 --scsi0 local-zfs:0,import-from=/root/disk.img,size=13G
erstellt immer noch eine 50-GiB-Festplatte.
Mir ist klar, dass das Image (noch) keine 50 GB einnimmt, es sollte sich wie eine Sparse-Datei verhalten:
# 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 -
Die VM erkennt die Datenträgergröße jedoch mit 50 GB und wenn einige Cloud-Gasttools installiert sind, passt sie die Größe der Partitionen und des Dateisystems an, um den verfügbaren Speicherplatz auszunutzen. Mit der Zeit kann dieser Speicherplatz dadurch aufgebraucht sein.
Ich habe noch nicht versucht, ein Disk-Image zu importieren, das größer als 50 GiB ist, aber das könnte auch Probleme verursachen ...
Wie stelle ich die Größe des Zieldatenträgers beim Importieren eines Images ein?
Antwort1
Ich habe ziemlich schnell einen Workaround gefunden. Sie können die Größe des ZFS-Subvolumes festlegen, indem Sie etwas wie Folgendes ausführen:
zfs set volsize=1GiB rpool/data/vm-101-disk-0
Seien Sie vorsichtig!
- Wenn Sie eine kleinere Größe als das Originalbild einstellen, kommt es zu Datenverlust!
- Wenn Sie den Datenträgernamen falsch eingeben, kommt es ZU Datenverlust!
Es erfolgt keine Warnung und Sie werden auch nicht gefragt, ob Sie sicher sind. Berechnen Sie die Größe also besser sorgfältig und stellen Sie sicher, dass Sie die Größe des richtigen Volumens ändern.
Außerdem gibt Proxmox die Festplattengröße immer noch mit 50 GiB an:
# qm list
VMID NAME STATUS MEM(MB) BOOTDISK(GB) PID
101 VM 101 running 512 50.00 2128896
Ich weiß nicht, ob dies zu unangenehmen Nebenwirkungen führt (die VM scheint die Festplatte als die Größe des ZFS-Subvolumes zu betrachten), daher wäre ich froh über eine bessere Lösung, vorzugsweise eine, die ein Subvolume mit der entsprechenden Größe erstellt.