ZVOL Passthrough to VM

I just updated my server to version 25.04, and it seems we’ve lost the ability to pass a ZVOL as a VM disk if the ZVOL is stored on a pool other than the one selected as the virtualization pool in the Pool dropdown.

The error message I’m seeing is:
zvol is not located in pool configured as a virt storage pool.

This is a deal breaker for me. Running PBS as VM (Root Disk on SSD pool), but I need to pass a zvol (on my HDD pool) to the VM to use as PBS datastore.

Same situation here with PBS, I need to mount a zvol from my HDD dataset.

This is quite a breaking change and should likely be listed in the upgrade notes.

I think i saw a similar problem and have a quick question:
Does the pool for the secondary zvol have a space in the name? Because there’s an upstream incus bug that prevents incus from seeing pools with spaces in the name.

There is not currently UI support for using more than one pool in Instances. The backend support is there in .0 but the UI doesn’t expose those options yet. It will be included in 25.04.1.

1 Like

While waiting for 25.04.1 to add support through the UI, you can use the incus cli and attach a zvol to an instance:

incus config device add <vm> <zvol-name> disk source=/dev/zvol/<pool>/<test-zvol> io.bus=virtio-blk