Impressed with `incus admin recover`

I have been trying out things with my truenas 25.04 (i am new to truenas in production)

I am used to reinstalling OS many time and having the .ix apps stuff automatically recover when i assign the existing pool (proibably too used).

I was messing with a clone of my bootnev, forgot and instantiated an incus container (pbs backup).

I realized i needed to switch back to my normal boot config I hadn’t messed a lot with. I exported the config. I switched back. Imported my true nas confg.

Oops… no incus containers came back.

A quick chatgpt later I found incus admin recover ran that, said no, yes, yes to it’s prompt and boom there is the container all running just like it was never gone!

I know there are a bunch of folks who are dissapointed the incus support is still so expermiental - but I am impressed with this part so wanted to put in a good word :slight_smile:

2 Likes

We actually use the recover API for enabling / disabling the virt plugin and various ops. In general there should never be a reason to run the recover command in shell manually on TrueNAS. Just select the pool(s) in the UI.

the issue was the pool was already selected (i was reverting to a boot image that had incus setup but no instances)

the issue is the UI doesn’t let me deslect the pool and reselect (like apps does)

ahh i see my confusion, i never looked in the global settings to disable and re-enable, becuase i was expecting this

vs

suggestion - maybe some ui consitency, if choosing a pool is done there in apps, the same should be true in incus… (or vice versa) - different design patterns for the same type of thing always make stupid users like me stupider.

Some UI elements related to this are being updated in 25.04.1.

1 Like

sweet, i know the team works hard to keep things improving, i didn’t think i would use incus much, never used LXCs on proxmox

but on my truenas the equation is dfferent - for example the ability to have a backup LXC for other backups proceses (pbs, urbackup, restic etc) and have them use datasets, then the ability to snpashot those datasets and work on them is quite interesting

I already implemented a pbs (proxmox backup server) LXC that uses a data set.
I have a cron job that:

  • issues a command via incus exec to stop the proxmox backup service inside the container if there are no jobs running (not the container, just the service)
  • snapshots the dataset
  • restarts the pbs service in the container
  • mounts the snapshot
  • uses rclone on the host (extracting creds from a disabled sync task) to backup to azure

only reason i didn’t use the cloud sync natively is there is no way i can see to insert a script between taking a snaphot and starting the sync

anyhoo - the point is that incus can enable sceanrios like this this easily (yes i get one could do it with docker) but this was quicker and more flexible as i didnt have to create a pbs image.