Disk space optimisation and off-server backup strategy advice?

houser

New Member
Sep 13, 2026
13
1
3
Hello.
New to Proxmox and and have been experimenting with various approaches and creating and deleting VE:s for a while.
I have two questions:
1.
I now have a setup that works so I would really like to make sure I understand and have the disk setup correct in the long run.
I see old backups and stuff I no longer need that I am not sure how I can safely delete permanently to reclaim as much disk space as possible.
I see other posts about this but would truly appreciate specific advice if at all possible.
As I understand it I should basically just run two commands that should be safe to run and not delete any files or partitions?.
They are just examples as I don't know as yet exactly what size I should go for:

Code:
lvextend -L+100G> pve/data
lvresize --poolmetadatasize +1GB pve/data

I also wonder where I set this that I am warned about when doing snapshots of the Debian VE:
Code:
WARNING: You have not turned on protection against thin pools running out of space.
  WARNING: Set activation/thin_pool_autoextend_threshold below 100 to trigger automatic extension of thin pools before they get full.

The setup is pretty standard: Home Assistant, Frigate and Pihole. Working very well
I basically just want to make sure I have access to all the disk space without having to delete anything again
as I do not have full backups off the proxmox server as yet.
2.
That is my second question: What is best procedure to take backups off the server of the VM:s ?
I am comfortable with off -server Home Assistant backups so that is solved and Pihole is easy enough to recreate also.
The Debian VM and the proxmox setup itself is pretty complex and new to me, so backups of that is the weak link right now.
Many thanks if anyone has the time to have look at this when possible.

Below is all the output I understand as relevant as code blocks.
vgs:
Code:
root@pve2:~# vgs
  VG  #PV #LV #SN Attr   VSize    VFree
  pve   1  13   0 wz--n- <475.00g 16.00g
root@pve2:~# lsblk -o+FSTYPE,LABEL,MODEL
NAME                         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS FSTYPE      LABEL MODEL
sda                            8:0    0 476.9G  0 disk                               512GB SSD
├─sda1                         8:1    0  1007K  0 part                        
├─sda2                         8:2    0     1G  0 part /boot/efi   vfat      
└─sda3                         8:3    0   475G  0 part             LVM2_member
  ├─pve-swap                 252:0    0     8G  0 lvm  [SWAP]      swap      
  ├─pve-root                 252:1    0    96G  0 lvm  /           ext4      
  ├─pve-data_tmeta           252:2    0   3.5G  0 lvm                        
  │ └─pve-data-tpool         252:4    0 347.9G  0 lvm                        
  │   ├─pve-data             252:5    0 347.9G  1 lvm                        
  │   ├─pve-vm--100--disk--0 252:6    0   100G  0 lvm              ext4      
  │   ├─pve-vm--101--disk--0 252:7    0    64G  0 lvm                        
  │   ├─pve-vm--101--disk--1 252:8    0     4M  0 lvm                        
  │   └─pve-vm--102--disk--0 252:9    0     2G  0 lvm              ext4      
  └─pve-data_tdata           252:3    0 347.9G  0 lvm                        
    └─pve-data-tpool         252:4    0 347.9G  0 lvm                        
      ├─pve-data             252:5    0 347.9G  1 lvm                        
      ├─pve-vm--100--disk--0 252:6    0   100G  0 lvm              ext4      
      ├─pve-vm--101--disk--0 252:7    0    64G  0 lvm                        
      ├─pve-vm--101--disk--1 252:8    0     4M  0 lvm                        
      └─pve-vm--102--disk--0 252:9    0     2G  0 lvm              ext4      
root@pve2:~#

Code:
root@pve2:~# pvs
  PV         VG  Fmt  Attr PSize    PFree
  /dev/sda3  pve lvm2 a--  <475.00g 16.00g
root@pve2:~#

lvs:
Code:
root@pve2:~# lvs
  LV                                     VG  Attr       LSize    Pool Origin        Data%  Meta%  Move Log Cpy%Sync Convert
  data                                   pve twi-aotz-- <347.90g                    37.01  1.79                    
  root                                   pve -wi-ao----   96.00g                                                    
  snap_vm-100-disk-0_working_after_fubar pve Vri---tz-k  100.00g data vm-100-disk-0                                
  snap_vm-101-disk-0_a1                  pve Vri---tz-k   32.00g data vm-101-disk-0                                
  snap_vm-101-disk-0_working_after_fubar pve Vri---tz-k   32.00g data vm-101-disk-0                                
  snap_vm-101-disk-1_a1                  pve Vri---tz-k    4.00m data vm-101-disk-1                                
  snap_vm-101-disk-1_working_after_fubar pve Vri---tz-k    4.00m data vm-101-disk-1                                
  swap                                   pve -wi-ao----    8.00g                                                    
  vm-100-disk-0                          pve Vwi-aotz--  100.00g data               55.25                          
  vm-101-disk-0                          pve Vwi-aotz--   64.00g data               83.64                          
  vm-101-disk-1                          pve Vwi-aotz--    4.00m data               14.06                          
  vm-101-state-working_after_fubar       pve Vwi---tz--  <12.21g data                                              
  vm-102-disk-0                          pve Vwi-aotz--    2.00g data               79.32                          
root@pve2:~#

lsblk
Code:
root@pve2:~# lsblk
NAME                         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda                            8:0    0 476.9G  0 disk
├─sda1                         8:1    0  1007K  0 part
├─sda2                         8:2    0     1G  0 part /boot/efi
└─sda3                         8:3    0   475G  0 part
  ├─pve-swap                 252:0    0     8G  0 lvm  [SWAP]
  ├─pve-root                 252:1    0    96G  0 lvm  /
  ├─pve-data_tmeta           252:2    0   3.5G  0 lvm
  │ └─pve-data-tpool         252:4    0 347.9G  0 lvm
  │   ├─pve-data             252:5    0 347.9G  1 lvm
  │   ├─pve-vm--100--disk--0 252:6    0   100G  0 lvm
  │   ├─pve-vm--101--disk--0 252:7    0    64G  0 lvm
  │   ├─pve-vm--101--disk--1 252:8    0     4M  0 lvm
  │   └─pve-vm--102--disk--0 252:9    0     2G  0 lvm
  └─pve-data_tdata           252:3    0 347.9G  0 lvm
    └─pve-data-tpool         252:4    0 347.9G  0 lvm
      ├─pve-data             252:5    0 347.9G  1 lvm
      ├─pve-vm--100--disk--0 252:6    0   100G  0 lvm
      ├─pve-vm--101--disk--0 252:7    0    64G  0 lvm
      ├─pve-vm--101--disk--1 252:8    0     4M  0 lvm
      └─pve-vm--102--disk--0 252:9    0     2G  0 lvm
root@pve2:~#
 
Last edited:
I don't use LVM pools. I am using ZFS only. I also don't store much on my server, as I keep virtualization separate from data management. My boot drives are on a mirrored ZFS pool on a pair of small drives. My VMs reside on a different set of drives also in a ZFS mirror. All of my VMs are very small, say 64gb or less generally. I store all my persistent data off of the Proxmox machine on my TrueNAS server. I let TrueNAS handle all the data protection tasks for persistent data (snapshots, backups, etc.). All my persistent data is served up with NFS shares. As far as my VMs I use Proxmox Backup Server running on my TrueNAS machine, and vzdumps to my Synology. My total disk space usage on Proxmox is right around 950GB, including my LLM AI models. This way, if I need to replace my Proxmox server it is very easy to do. I could stand up a new motherboard, install Proxmox and restore less than 1TB of data, and be up and running in very short order. As the old saying goes, Proxmox gets treated like cattle, not a pet.
 
>>>I store all my persistent data off of the Proxmox machine on my TrueNAS server. I let TrueNAS handle all the data protection tasks for persistent data (snapshots, backups, etc.). >>> As the old saying goes, Proxmox gets treated like cattle, not a pet.
Thanks for an interesting take. Will look into truenas, as I have heard about it many times but not felt the need as yet.
I do want a way to get the systems back up when the inevitable Murphy’s law incident comes calling. Many thanks.
 
Last edited: