Had to reinstall Incus Ubuntu Host OS due to disk failure. Previous Incus storage pool was on a 2nd Drive but I would like to re-use it

I have been using Incus with the BTRFS default storage pool on a 2nd drive (ie NOT the Incus Host drive)

Old storage path:

/mnt/incus-storage-pool

Due to the Incus Host’s disk failing I had to reinstall the Incus Ubuntu Host OS & Incus.

When I executed “incus admin init” I did not specify creating/configuring a new storage pool as I wanted to use the previous Incus install’s pool because it contains all of my working Containers & VMs and I’d rather not have to recreate/configure them all again from scratch!

$ incus admin init
Would you like to use clustering? (yes/no) [default=no]:
Do you want to configure a new storage pool? (yes/no) [default=yes]: no

then after the Incus admin Init was done I executed the following but got an error due to the previous Incus’s storage pool already containing the Containers and VMs from the previous Incus install & use.

$ incus storage create incus-pool btrfs source=/media/bmullan/incus-storage-pool
Error: Requested btrfs subvolume exists but is not empty

The Incus documentation says:

Use the existing Btrfs file system at /some/path for pool2:

incus storage create pool2 btrfs source=/some/path

Isn’t there a way to “re-use” a previous incus install’s storage pool & contents?

My goal is to set the new Incus install to use the previous Incus’s /mnt/incus-storage-pool

and again be able to use all of my previous Incus Containers & VMs?

Have you tried the incus admin recover command?

Also, see this How to recover or reconnect an Incus storage pool – Mi blog lah!
Note that you should first do some trial run to make sure that everything is OK. The post has one such way to perform a trial run.

@jarrodu
yes already tried that… doesn’t work either.

Reinstalled Ubuntu & Incus on Drive A

Created a new BTRFS sub-volume on Drive B

$ sudo btrfs subvolume create /mnt/@incus-storage-pool

then…

incus storage create incus-pool btrfs source=/media/bmullan/@incus-storage-pool

Then used rsync to copy everything from the previous Incus storage pool to this
new @incus-storage-pool btrfs subvolume

After the rsync was done I ran:

$ incus admin recover

Yes, I tried “incus admin recover” however it finds the pool but fails to recover anything because some backup.yaml file is missing.

Then I tried to point to the “old” incus storage pool when doing:

sudo admin init

when defining the new storage pool.

That fails because “incus init” assumes you are pointing to an empty/blank disk/partition etc.
due to the fact that the old Incus storage pool already exists there.

When I executed “incus admin init” I did not specify creating/configuring a new storage pool as I wanted to use the previous Incus install’s pool because it contains all of my working Containers & VMs and I’d rather not have to recreate/configure them all again from scratch!

$ incus admin init
Would you like to use clustering? (yes/no) [default=no]:
Do you want to configure a new storage pool? (yes/no) [default=yes]: no

then after the Incus admin Init was done I executed the following but got an error due to the previous Incus’s storage pool already containing the Containers and VMs from the previous Incus install & use.

$ incus storage create incus-pool btrfs source=/media/bmullan/incus-storage-pool
Error: Requested btrfs subvolume exists but is not empty

The Incus documentation says:

Use the existing Btrfs file system at /some/path for pool2:

incus storage create pool2 btrfs source=/some/path

@jarrodu

repeating:

My goal is to set the new Incus install to use the previous Incus’s /mnt/incus-storage-pool

and again be able to use all of my previous Incus Containers & VMs?

I am sorry about your situation, but I don’t think I can help.