Create VM on Fangtooth Experience

I run a Proxmox Backup Server VM on my production Electric Eel server. It has two zvols: a 32GB for the VM and a 500GB zvol for the data store. Works great on EE and before that on Dragonfish so my primary interest is to make sure that it will continue to the same on Fangtooth.

I made an initial try upgrading to the the beta and concluded that either VMs were broken or I just didn’t understand the new paradigm so I decided to wait for RC1. RC1 has arrived and based on it, I decided that it was definitly a “me” problem caused by trying to use my earlier experiences with VMs to puzzle my way through creating VMs on Fangtooth. I tried to forget everything I had learned and instead take naive approach. Which actually worked! It turns out that too much knowledge really can be a dangerous thing!

All my testing was done on a test system and not my production server. The test server was running 24.10.2 that was upgraded in place to 25.04-RC.1.

What are the things I had to relearn?

  1. Fangtooth creates the VM system disk in a hidden dataset (.ix-virt) under the storage pool set in Global Settings as opposed to a creating a visible zvol as in prior versions. So the initial disk devices configuration in Fangtooth will normally just be the Root Disk Size and the boot ISO that has been uploaded to Volumes.

  2. The VNC connection uses TNS server address and not the VMs IP address. This should have been obvious from the Tools section but it didn’t work because the VNC address in it referenced the FQDN of the TNS server which redirects to the local address using an nginx proxy so it already includes a port number (443), .e.g. “mytns.mydomain.duckdns.org:5900” just resolves to https://my-internal-address:443 . It’s not at all obvious to me how TNS generated that link because, as far as I can tell, it’s not configured anywhere on TNS EE but, as many wise people have said: “DNS. It’s always DNS.”

Once I manually configured a VNC connection using the TNS IP address and the VNC port number in Screens 5 as a VNC connection, it worked fine.

That might need a bug report.

  1. I use Proxmox and Parallels for most of my VMs today and TNS only exposes the basic settings, e.g. I can’t even find the way to manually set the boot order if I wanted to reboot the VM with a Live ISO to debug a problem or reinstall PBS. I suspect I’d need to muck around with Incus on the command line to do much customization. It definitely seems like enough for “experimental” use but hopefully a lot more options will be exposed by the time it moves out of “experimental” status

I filed a Jira for the VNC url issue but it was closed with “Thanks for the ticket but this is outside the scope of what we support”. I guess they are referring to using a proxy server in front of TNS?

I investigated a little further and TNS is dynamically copying the host name in the url used to connect to the TNS server so it works fine if I connect with my local DNS name (my-tns.home) or the 192.168.0.x address and do the cert override in the browser.

Or I might have just done a poor job of explaining it. NAS-134861

Its good to create a prioritize list of what you need… then perhaps a Feature Request that others can vote on.