Ottimizzare la gestione dei file immagine disco in Proxmox

From RVM Wiki
Revision as of 18:20, 17 January 2018 by Gabriele.vivinetto (talk | contribs)
Jump to navigation Jump to search

È possibile far si che lo spazio libero su un disco immagine di una VM venga rilasciato automaticamente, senza seguire procedure manuali.

Scelta dello storage

Per far questo è necessario utilizzare uno storage che supporti il discard:

ZFS
qcow locale (non su share NFS)

Per vedere lo spazio effettivamente occupato da un'immagine qcow:

qemu-img info file.qcow

Per vedere lo spazio effettivamente occupato da un volume su filesystem ZFS

zfs list DATA/vm-116-disk-1
NAME                 USED  AVAIL  REFER  MOUNTPOINT
DATA/vm-116-disk-1  1.19G  4.51T  1.19G  -

Impostazione della VM

  • La VM deve avere un controller scsi virtio: scegliere dalle
Options 
SCSI COntroller
VirtIO SCSI
  • I dischi della VM devono essere di tipo
SCSI
  • E devono avere impostata l'opzione
Discard
  • Ricordarsi di aggiornare nelle Options il
Boot Order

Impostazione del sistema operativo della VM

Linux

  • Verificare che non ci siano riferimenti in /etc/fstab a dei block device (/dev/vda1 o altro)
  • Impostare l'opzione discard per i filesystem (attenzione aboto che deve essere dichiarato ext4 e non ext2) e lo swap dichiarato in /etc/fstab
sudoedit /etc/fstab
UUID=1131db48-794b-49f9-8e4f-d53589b93989 /boot           ext4    defaults,discard          0       2
/dev/mapper/debian71-root                 /               ext4    errors=remount-ro,discard 0       1
/dev/mapper/debian71-swap1                none            swap    sw,discard                0       0


  • Se si usa LVM, impostare discard anche qui, in modo da liberare spazio per eventuali lv o pv cancellati:
vi /etc/lvm/lvm.conf 
   issue_discards = 1
  • Ricreare l'initrd:
 update-initramfs -u -k all
  • Se non si vuole fare reboot, rimontare tutti i filesystem e riattivare gli swap
mount -o remount /
mount -o remount /boot
swapoff -a; swapon -a
  • Controllare che ci sia l'opzione discard
mount
  • Eventualmente eseguire un trim manuale per >= Jessie:
fstrim -av
  • Per wheezy:
fstrim -v /

Windows

  • Vedi riferimenti

Riferimenti