pct fstrim <CT_ID> ignore /mnt ?

sshanee

Member
Oct 6, 2019
11
6
8
40
any way to get the pct fstrim command to ignore the /mnt directory or mountpoints in the LXC? i get an error on all LXC with ZFS mountpoints:

fstrim: /var/lib/lxc/121/rootfs/mnt/Media: the discard operation is not supported
command 'fstrim -v /var/lib/lxc/121/rootfs/mnt/Media' failed: exit code 1
 
Thank you so much! Is pct fstrim the only way to trim the container? I tried running fstrim from inside the debian 10 lxc and it doesnt seem to do anything
what pct fstrim does is basically pct mount CTID && fstrim -av

so if you wanted to trim all the containers you could do something like this as well: pct list | awk -F " " '{print $1}' | while read ct; do pct mount $ct; done; fstrim -av

don't forget to unmount the containers with pct unmount CTID
 
Guys, the pct fstrim does not work for me. if i execute it directly via pct fstrim 201 I get the following error:

root@proxmox:~# pct fstrim 201
fstrim: /var/lib/lxc/201/rootfs/: the discard operation is not supported
command 'fstrim -v /var/lib/lxc/201/rootfs/' failed: exit code 1

if I do it the manual way, the container will not be shown as mounted volume:

pct mount 201
mount | grep /var/lib/lxc/201/rootfs/ -> <empty>

so fstrim -av does not apply to the container

root@proxmox:~# fstrim -av
/boot/efi: 510.7 MiB (535486464 bytes) trimmed on /dev/nvme0n1p2
/: 3.3 GiB (3587186688 bytes) trimmed on /dev/mapper/pve-root


What do I am missing here?
 
pct mount 201
mount | grep /var/lib/lxc/201/rootfs/ -> <empty>
can you try pct mount 201 and then mount | grep lxc ?

if mounting doesnt work please post the container configuration: pct config CTID
 
yeah, seems my grep was wrong:

root@proxmox:~# mount | grep lxc
lxcfs on /var/lib/lxcfs type fuse.lxcfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other)

root@proxmox:~# pct mount 201
mounted CT 201 in '/var/lib/lxc/201/rootfs'

root@proxmox:~# mount | grep lxc
lxcfs on /var/lib/lxcfs type fuse.lxcfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other)
local-VMs/subvol-201-disk-0 on /var/lib/lxc/201/rootfs type zfs (rw,xattr,posixacl)
data1 on /var/lib/lxc/201/rootfs/mnt/data1 type zfs (rw,noatime,xattr,noacl)
data2 on /var/lib/lxc/201/rootfs/mnt/data2 type zfs (rw,xattr,noacl)

But fstrim -av onlytrims my nvme-ssd:

root@proxmox:~# fstrim -av
/boot/efi: 510.7 MiB (535486464 bytes) trimmed on /dev/nvme0n1p2
/: 8.8 GiB (9432932352 bytes) trimmed on /dev/mapper/pve-root

If I specify it directly:

root@proxmox:~# fstrim -v /var/lib/lxc/201/rootfs
fstrim: /var/lib/lxc/201/rootfs: the discard operation is not supported
 
looks like your container is on ZFS, to enable trim on ZFS: zpool set autotrim=on $YOURPOOLNAME should work
 
Oh okay, so I do not need a manual pct fstrim <id> as ZFS handles it for me automaticly?
 
yes if you set the option it should be automatically trimmed at regular intervals