LXC 5.1 / LXD 5.1 / Snap on ubuntu 20.04
I had a problem importing a relatively large container because I kept running out of disk space on root like here.
So i tried to fix it by setting a custom backups storage like so:
lxc storage create backup_pool lvm size=100GiB
lxc storage volume create backup_pool backup_volume size=99GB
lxc config set storage.backups_volume backup_pool/backups_volume
Note that I’m using lvm storage pools on loopback files (auto-generated by lxd).
I previously had one called “defaultpool” and one called “thirdpool”. After the above I ended up with a third one called “backup_pool” as expected.
After that I tried the import again, but it still didn’t succeed. This time, after importing it all the way to 100% it ended with another error:
“Post “http://unix.socket/1.0/instances”: net/http: timeout awaiting response headers”
As I had spent a lot of time already I decided to resolve the issue another time.
When I started my system the next day I couldn’t connect to lxd anymore:
lxc list
Error: Get "http://unix.socket/1.0": EOF
I noticed, that lxd keeps initializing the storage pools over and over, adding more and more loopdevices for the respective images:
losetup|grep pool
/dev/loop57 0 0 0 0 /home/boother/var_snap_lxd_common_lxd_disks/thirdpool.img 1 512
/dev/loop47 0 0 0 0 /home/boother/var_snap_lxd_common_lxd_disks/defaultpool.img 1 512
/dev/loop75 0 0 0 0 /home/boother/var_snap_lxd_common_lxd_disks/backup_pool.img 1 512
/dev/loop37 0 0 0 0 /home/boother/var_snap_lxd_common_lxd_disks/backup_pool.img 1 512
/dev/loop65 0 0 0 0 /home/boother/var_snap_lxd_common_lxd_disks/defaultpool.img 1 512
/dev/loop55 0 0 0 0 /home/boother/var_snap_lxd_common_lxd_disks/backup_pool.img 1 512
/dev/loop45 0 0 0 0 /home/boother/var_snap_lxd_common_lxd_disks/thirdpool.img 1 512
/dev/loop73 0 0 0 0 /home/boother/var_snap_lxd_common_lxd_disks/backup_pool.img 1 512
/dev/loop35 0 0 0 0 /home/boother/var_snap_lxd_common_lxd_disks/defaultpool.img 1 512
/dev/loop63 0 0 0 0 /home/boother/var_snap_lxd_common_lxd_disks/thirdpool.img 1 512
/dev/loop53 0 0 0 0 /home/boother/var_snap_lxd_common_lxd_disks/defaultpool.img 1 512
/dev/loop43 0 0 0 0 /home/boother/var_snap_lxd_common_lxd_disks/defaultpool.img 1 512
/dev/loop71 0 0 0 0 /home/boother/var_snap_lxd_common_lxd_disks/defaultpool.img 1 512
/dev/loop61 0 0 0 0 /home/boother/var_snap_lxd_common_lxd_disks/backup_pool.img 1 512
/dev/loop51 0 0 0 0 /home/boother/var_snap_lxd_common_lxd_disks/thirdpool.img 1 512
/dev/loop41 0 0 0 0 /home/boother/var_snap_lxd_common_lxd_disks/thirdpool.img 1 512
/dev/loop68 0 0 0 0 /home/boother/var_snap_lxd_common_lxd_disks/defaultpool.img 1 512
/dev/loop58 0 0 0 0 /home/boother/var_snap_lxd_common_lxd_disks/backup_pool.img 1 512
/dev/loop48 0 0 0 0 /home/boother/var_snap_lxd_common_lxd_disks/thirdpool.img 1 512
/dev/loop38 0 0 0 0 /home/boother/var_snap_lxd_common_lxd_disks/thirdpool.img 1 512
/dev/loop66 0 0 0 0 /home/boother/var_snap_lxd_common_lxd_disks/thirdpool.img 1 512
/dev/loop56 0 0 0 0 /home/boother/var_snap_lxd_common_lxd_disks/defaultpool.img 1 512
/dev/loop46 0 0 0 0 /home/boother/var_snap_lxd_common_lxd_disks/backup_pool.img 1 512
/dev/loop74 0 0 0 0 /home/boother/var_snap_lxd_common_lxd_disks/thirdpool.img 1 512
/dev/loop36 0 0 0 0 /home/boother/var_snap_lxd_common_lxd_disks/thirdpool.img 1 512
/dev/loop64 0 0 0 0 /home/boother/var_snap_lxd_common_lxd_disks/backup_pool.img 1 512
/dev/loop54 0 0 0 0 /home/boother/var_snap_lxd_common_lxd_disks/thirdpool.img 1 512
/dev/loop44 0 0 0 0 /home/boother/var_snap_lxd_common_lxd_disks/defaultpool.img 1 512
/dev/loop72 0 0 0 0 /home/boother/var_snap_lxd_common_lxd_disks/thirdpool.img 1 512
/dev/loop62 0 0 0 0 /home/boother/var_snap_lxd_common_lxd_disks/defaultpool.img 1 512
/dev/loop52 0 0 0 0 /home/boother/var_snap_lxd_common_lxd_disks/backup_pool.img 1 512
/dev/loop42 0 0 0 0 /home/boother/var_snap_lxd_common_lxd_disks/backup_pool.img 1 512
/dev/loop70 0 0 0 0 /home/boother/var_snap_lxd_common_lxd_disks/backup_pool.img 1 512
/dev/loop60 0 0 0 0 /home/boother/var_snap_lxd_common_lxd_disks/thirdpool.img 1 512
/dev/loop50 0 0 0 0 /home/boother/var_snap_lxd_common_lxd_disks/defaultpool.img 1 512
/dev/loop40 0 0 0 0 /home/boother/var_snap_lxd_common_lxd_disks/defaultpool.img 1 512
/dev/loop69 0 0 0 0 /home/boother/var_snap_lxd_common_lxd_disks/thirdpool.img 1 512
/dev/loop59 0 0 0 0 /home/boother/var_snap_lxd_common_lxd_disks/defaultpool.img 1 512
/dev/loop49 0 0 0 0 /home/boother/var_snap_lxd_common_lxd_disks/backup_pool.img 1 512
/dev/loop39 0 0 0 0 /home/boother/var_snap_lxd_common_lxd_disks/backup_pool.img 1 512
/dev/loop67 0 0 0 0 /home/boother/var_snap_lxd_common_lxd_disks/backup_pool.img 1 512
I assume the root cause is this error about failing to activate the LVM logical volume during the initial startup:
May 13 00:21:25 boother-desktop systemd[2180]: Started Tracker metadata database store and lookup manager.
May 13 00:21:27 boother-desktop kernel: [ 184.062419] znvpair: module license 'CDDL' taints kernel.
May 13 00:21:27 boother-desktop kernel: [ 184.062421] Disabling lock debugging due to kernel taint
May 13 00:21:29 boother-desktop kernel: [ 186.050049] ZFS: Loaded module v0.8.3-1ubuntu12.13, ZFS pool version 5000, ZFS filesystem version 5
May 13 00:21:29 boother-desktop systemd[1]: Created slice system-lvm2\x2dpvscan.slice.
May 13 00:21:29 boother-desktop systemd[1]: Starting LVM event activation on device 7:35...
May 13 00:21:29 boother-desktop lvm[4142]: pvscan[4142] PV /dev/loop35 online, VG defaultpool is complete.
May 13 00:21:29 boother-desktop lvm[4142]: pvscan[4142] VG defaultpool run autoactivation.
May 13 00:21:30 boother-desktop systemd[1]: Starting LVM event activation on device 7:36...
May 13 00:21:30 boother-desktop lvm[4185]: pvscan[4185] PV /dev/loop36 online, VG thirdpool is complete.
May 13 00:21:30 boother-desktop lvm[4185]: pvscan[4185] VG thirdpool run autoactivation.
May 13 00:21:30 boother-desktop lvm[4185]: PVID twqVmZ-l139-5akj-rXn3-Za23-v4Vh-cvbK5d read from /dev/loop36 last written to /dev/loop37.
May 13 00:21:30 boother-desktop lvm[4185]: pvscan[4185] VG thirdpool not using quick activation.
May 13 00:21:30 boother-desktop systemd[1]: Started Device-mapper event daemon.
May 13 00:21:30 boother-desktop dmeventd[4230]: dmeventd ready for processing.
May 13 00:21:30 boother-desktop lvm[4230]: Monitoring thin pool thirdpool-LXDThinPool-tpool.
May 13 00:21:30 boother-desktop lvm[4185]: 1 logical volume(s) in volume group "thirdpool" now active
May 13 00:21:30 boother-desktop lvm[4230]: Monitoring thin pool defaultpool-LXDThinPool-tpool.
May 13 00:21:30 boother-desktop systemd[1]: Starting LVM event activation on device 7:37...
May 13 00:21:30 boother-desktop lvm[4142]: 1 logical volume(s) in volume group "defaultpool" now active
May 13 00:21:30 boother-desktop systemd[1]: Finished LVM event activation on device 7:36.
May 13 00:21:30 boother-desktop lvm[4301]: pvscan[4301] PV /dev/loop37 online, VG backup_pool is complete.
May 13 00:21:30 boother-desktop lvm[4301]: pvscan[4301] VG backup_pool run autoactivation.
May 13 00:21:30 boother-desktop systemd[1]: Finished LVM event activation on device 7:35.
May 13 00:21:30 boother-desktop lxd.daemon[4054]: time="2022-05-13T00:21:30+02:00" level=error msg="Failed to start the daemon" err="Failed to mount backups storage: Failed to mount storage volume \"backup_pool/backup_volume\": Failed to activate LVM logical volume \"/dev/backup_pool/custom_default_backup_volume\": Failed to run: lvchange --activate y --ignoreactivationskip /dev/backup_pool/custom_default_backup_volume: Activation of logical volume backup_pool/custom_default_backup_volume is prohibited while logical volume backup_pool/LXDThinPool_tmeta is active."
May 13 00:21:30 boother-desktop lxd.daemon[4054]: Error: Failed to mount backups storage: Failed to mount storage volume "backup_pool/backup_volume": Failed to activate LVM logical volume "/dev/backup_pool/custom_default_backup_volume": Failed to run: lvchange --activate y --ignoreactivationskip /dev/backup_pool/custom_default_backup_volume: Activation of logical volume backup_pool/custom_default_backup_volume is prohibited while logical volume backup_pool/LXDThinPool_tmeta is active.
May 13 00:21:30 boother-desktop systemd[1]: snap.lxd.lxd.1e44d4dc-6e0e-46a5-ad4f-42d1439d2216.scope: Succeeded.
May 13 00:21:31 boother-desktop lxd.daemon[3878]: => LXD failed to start
May 13 00:21:31 boother-desktop systemd[1]: snap.lxd.daemon.service: Main process exited, code=exited, status=1/FAILURE
May 13 00:21:31 boother-desktop systemd[1]: snap.lxd.daemon.service: Failed with result 'exit-code'.
May 13 00:21:31 boother-desktop systemd[1]: snap.lxd.daemon.service: Scheduled restart job, restart counter is at 1.
May 13 00:21:31 boother-desktop systemd[1]: Stopped Service for snap application lxd.daemon.
It keeps retrying to start LXD and initializing the pools, but then LVM complains about the duplicate devices.
I already tried deactivating the lvm volumes manually, then starting lxc again, but it didn’t help.
Any ideas what I could try to fix this?