I upgraded to fangtooth 25.04.0 and converted my VMs over to instances. Now they are bringing back VMs in 25.04.02. Is there a migration process for going back from instances to VMs? My ZVOL for my VM has already been imported and I no longer see it under the standard datasets screen. Just curious before I upgrade to 25.04.02.
Create a new VM and dd
the zvol over on the command line, I guess.
I am not the most advanced user, but I have been unable to locate where the ZVOL through the command line. It doesn’t appear in the root of the pool that I selected.
Try zfs list -t volume
to show all volumes in all pools.
It shows up in the list, but I can’t navigate to it or do anything with it.
<poolname>/.ix-virt/virtual-machines/<zvol name>.block
You don’t need to “navigate” to it - this is not a file.
If there is no /dev/zvol/<poolname>/.ix-virt/virtual-machines/<zvol name>.block
you probably cannot use dd
, but you can always use zfs send | zfs receive
to copy it to some other parent dataset.
I am thinking zfs send | zfs receive
is probably going to be best based on the simple search I am looking at. Having never used zfs commands like this before, just looking to get a second opinion and make sure I have an understanding of what I am doing.
Current location of ZVOL configured with Instance:
Pool1/.ix-virt/virtual-machines/ZVOL.block
Intended Destination of ZVOL as shown in GUI:
Pool1/ZVOL.block
I would stop the VM. Do I need to snapshot the ZVOL before running the send and receive commands? Assuming the command would be:
zfs send Pool1/.ix-virt/virtual-machines/ZVOL.block | zfs recv Pool1/ZVOL.block
I’m interested in doing this too…once I can actually create VMs again.
zfs send
creates a snapshot automatically for volumes. IIRC it is named @--HEAD--
or similar. You can delete the destination snapshot once everything works to satisfaction.
Second I would not recommend to place the new volume directly into the top level dataset of the pool. Create something like e.g. Pool1/vms
and place all VM virtual disk volumes there.
That way you can create a single recursive snapshot task for all your VMs. And of course replication, too.
Regards,
Patrick
Just to note, you don’t have to migrate back from the Incus/Instances VMs to Libvirt/Virtualization in 25.04.2 - we’re planning on providing some assistance in that migration process in 25.10, so there’s no need to rush it now.
You can continue to manage existing VMs through either pane - but you can only create new ones under Virtualization in 25.04.2
Should that be noted at https://www.truenas.com/docs/scale/25.04/scaletutorials/virtualmachines/
?
I’m not able to create new VM in virtual Machines page, after migration from 25.04.1 to 25.04.2. My old vms are still in containers page. Yesterday I upgrade to 25.10 beta but I still have the same issue. There was no assitante to migrate vm to VM page.
Strange, you should have your existing VMs in Containers but new ones should be creatable in the Virtualization page. Sometimes weirdness like this is related to browser cache - try clearing it?
Any news on this? Couldn’t find anything about it in the release notes so far.