I upgrade from 24.10 to 25.04 and my virtual machine is gone

Here’s what I did.

In the TrueNAS UI, I went to Containers and stopped the VM I want to move back to Virtual Machines.

Then, in the TrueNAS shell I listed the volumes I had imported into Incus with zfs list -r -t vol <pool>/.ix-virt

I imported my Zvol to Incus using the move option, and I did not replace my root disk with the Zvol, as in Stux’s guide. Here’s how my volumes looked and the steps I took using this as an example.

sudo zfs list -r -t vol tank/.ix-virt

NAME                                        USED  AVAIL  REFER  MOUNTPOINT
tank/.ix-virt/custom/default_haos          32.5G   119G  1.89G  -
tank/.ix-virt/virtual-machines/HAOS.block    56K  87.9G    56K  -

I can see that tank/.ix-virt/custom/default_haos is the Zvol I want to move, so I took a snapshot of it.

sudo zfs snapshot -r tank/.ix-virt/custom/default_haos@relocate

Then I used zfs send/receive to copy that to the desired location in my pool.

sudo zfs send tank/.ix-virt/custom/default_haos@relocate | sudo zfs receive -v tank/vm/haos

I checked the cache settings and volmode as Stux mentioned, and they were already set correctly. However, I had to set refreservation=auto so the Zvol used thick provisioning. (TrueNAS default when creating a Zvol in the UI)

sudo zfs set refreservation=auto tank/vm/haos

Then I recreated the VM on the Virtual Machines page, using the existing Zvol. Once I confirmed it was functioning correctly, I deleted the VM from the Containers page and deleted the hidden Zvol from the Configuration > Manage Volumes menu. I also deleted the @relocate snapshot from the Zvol I moved.

3 Likes