TrueNAS SCALE Xen Guest additions

Hello, apologies for any english issues.

I use SCALE on top of Xen with passthrough HBA/dedicated iommu group, passthrough NIC(SR-IOV), and jumbo frame internal network for same system networking. I am trying to maintain as much support compatibility as possible, and would like to avoid needing to run Dragonfish with developer mode enabled.

Is there any plan to add Xen guest addition to SCALE? I see note in documentation (SCALE Hardware Guide | TrueNAS Documentation Hub) talking about guest addition on FreeBSD which would apply to CORE, but nothing on SCALE, and on cobia no management interface was detected.

Looking at documentation again, it seem like i’m out of support scope anyways. Should I even worry about this or just flip on developer mode and enable driver manually?

1 Like

+1 here for Xen Guest Tools being included in SCALE, as they were in CORE.
After migrating, this is one thing I’m missing.

I’m curious, which apt package provides those? I did a quick search but am not finding it here.

Thanks for the quick reply @kris!
I believe on Ubuntu/Debian the package is xe-guest-utilities.
Fwiw on FreeBSD it was provided by the 2 packages xen-guest-tools and xe-guest-utilities

Ticket created here [NAS-129411] - iXsystems TrueNAS Jira

1 Like

If it helps, XCP-ng docs on the guest tools

1 Like

Thanks @william - it looks like xe-guest-utilities is actually only in the Ubuntu repos, not Debian.
However, it also seems that XCP-ng have developed a new (Rust-based) replacement for xe-guest-utilities called xen-guest-agent

More info on the XCP-ng forums as well as a repo URL for the Debian package.
Looks to be in final stages of development though, and not yet signed, so not sure when this could be added to SCALE?

1 Like

We probably wouldnt add a new tool like that until its proven and stable.
Releases · xenserver/xe-guest-utilities · GitHub does seem to have deb packages so we will see how much work it is to include it.

Ok great, that would be amazing - thanks @william

Corrected link

For those looking for a simple, clean solution, you can run the Xen Guest Utilities as a Docker Image (using the Custom App config).

This Docker image (GitHub - GeoMSK/ros-xe-guest-utilities: XCP-ng guest tools docker image for RancherOS) works well, and has a simple setup.

Go to Apps → Discover → Custom App :

  1. Repo: ros-xe-guest-utilities
  2. Tag: latest
  3. Pull Policy: Always
  4. Privileged: True
  5. Host Networking: True

Works like a charm in my server:

2 Likes

How is the container based Xen Guest behaving when you shutdown XCP-ng ?
Is it able to cleanly shutdown TrueNAS ?

I don’t know how it works, but I can’t imagine how the guest could give a proper shutdown order to the TrueNAS host.

Actually, it’s not xe-guest-utilities but xen-guest-agent (See Releases · xen-project / Xen Guest Agent · GitLab) that should be used. It’s more recent, supports more functionalities and works better.

Waiting for the Debian package to be included in Debian upstream distribution, a containerized version can be used in the same way:

FROM debian:12-slim

COPY xen-guest-agent_0.4.0_amd64.deb xen-guest-agent_0.4.0_amd64.deb
RUN dpkg -i xen-guest-agent_0.4.0_amd64.deb
ENTRYPOINT ["/usr/sbin/xen-guest-agent"]

Build image and make available then, deploy as Custom App with priviledged and network_mode=host options.

This reports all info to XCP-NG fine, better than xe-guest-utilities for me, but it does not handle VM shutdown when host shutdown.

So is there anything new about this? In official capacity that is.

First, to quote @acp from an old thread. Hmm, guess I’m too new here to include links. :frowning:

  • Standard warning applies. Upgrades will most certainly break your sideloading. This method is not supported.

as it probably applies here as well, and the only TrueNAS I currently use is on my homelab.
Best result for me is allowing the XCP-ng instructions to work as expected…

As root on TrueNAS:

  • remount /usr r/w
    mount -o remount,rw /usr
  • allow exec on dpkg
    chmod +x /usr/bin/dpkg

Install per docs DOT xcp-ng DOT org/vms/#install-from-the-guest-tools-iso

  • mount /dev/cdrom /mnt
  • bash /mnt/Linux/install.sh

Then some cleanup

  • undo exec
    chmod -x /usr/bin/dpkg
  • remount /usr
    mount -o remount,ro /usr
1 Like

Still no news?

1 Like