Xen Orchestra 5.110
Migration, storage, and backup take a big step forward this month.

As summer winds down in Europe, August often feels like a long pause (especially in France), where the country collectively goes into standby mode before September brings everything back to full speed. But at Vates, we somehow missed the memo again: we’ve been busy building a hefty release with big steps forward in VMware migration, backup, and plenty more.
Consider this our own “back-to-school” release—minus the mandatory essay on “What I did this summer.” Enjoy the read!
👨🚀 Project & Community
Plenty happening on the ecosystem front this month: VEEAM’s first pre-release with native XCP-ng support, our presence at Datacore Days, and the upcoming Xen Summit where we’ll be deeply involved. We also welcome a new distributor in France, and share some valuable feedback from users who successfully migrated away from VMware.
VEEAM Closed beta started

If you’re part of the "Veeam 100" Program, you can already test the brand new XCP-ng plugin, bringing native compatibility between the Vates stack and Veeam products.
We’re also running the plugin internally and sharing direct feedback with Veeam, to make sure the first official release is as solid and polished as possible.If you’re currently running VMware + Veeam, this means one less habit to change.
Your backup workflows stay the same, while the infrastructure underneath can move to XCP-ng. Combined with our new VMware migration tool (10–20x faster, with warm migration support), leaving VMware is becoming a LOT easier!
Vates at DataCore days
We’re thrilled to be part of the 2025 edition of DataCore Days, happening October 6–7 at the Palais des Papes in Avignon.

This event is a great opportunity to connect with the DataCore team as we explore new technical collaborations and joint initiatives. We’re already in active discussions and look forward to sharing more news in the coming months.
Xen Summit 2025
Many people from Vates, including myself, will be at the upcoming Xen Summit (just a few weeks away)!
Our commitment to the Xen Project is reflected not only in the number of talks we’ll deliver, but also in the design sessions we’ll be co-leading. And of course, we’re proud to sponsor the event once again, contributing not just code, but also ideas, funding, and organization.
Read on for more details about the program and what to expect:

Consolidating our French market
Maybe some of you know this already, but we are a French company! That said, our main market has always been outside of France, as VMware initially had a firm grip on the French virtualization space. Over the last few years, though, we’ve seen a growing number of French users turning to our solutions.
To strengthen our position at home, we’ve partnered with NeoVAD, a value-added French distributor, to make our stack more accessible to partners and customers across the country.

Exploring alternatives to VMware
It’s been almost two years since VMware was finally acquired by Broadcom, and during that time we’ve had hundreds of conversations with customers looking to migrate away from VMware. Through these discussions, we’ve built a strong understanding of the virtualization landscape and where our stack fits.
To share that knowledge, we recently published our first 2025 Platform Guide, comparing Vates VMS with other platforms in today’s market. If you’re currently exploring your options to move away from VMware, don’t miss this guide.

With the community updates covered, it’s time to unpack what’s new in this release.
💾 Backup
On the backup side of things, we've addressed a couple issues reported by our customers. Thank you to our partners and our community for your feedback! Your assistance is crucial in making Xen Orchestra a more useful and reliable solution.
Extended timeout for S3 backup listings
Not all S3 providers are created equal: some respond much more slowly than others. To handle this, we’ve adjusted our backup listing process with longer timeouts when necessary (yes, Backblaze, we mean you).
Fixed backup sequences
Previously, if a backup job in a sequence was skipped because there were no VMs to back up, the entire sequence would stop, which was frustrating when you had other jobs waiting to run behind it.
Now, sequences will continue even if a job is skipped. So, if one backup job is empty, the rest of your workflow won't be blocked.
Fixed footer1 !== footer2
backup error
Some users encountered a backup error with the message footer1 !== footer2
when listing backups. This issue is now resolved, and backup listings should work smoothly without triggering the error.

🥝 Core UI
Even though things usually slow down during the summer months, we've kept refining the Core UI with little additions that combine to make XO more usable than ever.
Improved progress bar
We’ve updated the core interface so the progress bar and data ruler now work together seamlessly. This way, you always know exactly how far along the process is and how much data is involved.
Stay on the same tab when changing VMs
In previous versions of XO 6 and XO Lite, switching between VMs would default back to the Console tab every time, even if you were viewing other tabs like Network or Storage. This was cumbersome when comparing settings across VMs since you'd have to find and re-click the right tab every time.
Now, XO retains your current tab and keeps it selected when you move to another VM. This makes it faster and more intuitive to compare settings or evaluating multiple VMs.
🛰️ XO 6
Quality-of-life improvements just keep coming! We've just added a Backup jobs view to XO 6, and since we documented the REST API in Swagger, the API is now available directly from the XO 6 interface (see the Misc section).
/v6
to your XOA URL.Backup jobs view
XO 6 now has a dedicated Backup jobs view, which brings all your backup jobs together in one place. There are multiple columns showing each job's status, any scheduling associated with them, and you can jump straight into relevant actions, without needing to search across different screens and sections.

This update to the XO 6 UI gives a much clearer picture of what's happening in your environment and makes it easier to deal with multiple backup jobs!
🔭XO Lite
Just as XO 6 now links directly to Swagger, we’re making it easier to access useful external resources from XO Lite, starting with Weblate.
Easier access to translations
You’ll now see a link to Weblate right next to the language selector in the Settings menu. This means that if a translation is missing or needs a tweak, you can jump straight to our translation platform and fix it in just a few clicks.

Big thanks to everyone in the community for helping make Xen Orchestra better, and a special shout-out to p-bo for suggesting this improvement!
You can start contributing here:

🪐 XOA
Debian 13 and Ubuntu 22.04 are now available in the XO Hub. This gives you more up-to-date options for setting up your environment, with the benefits of the latest system improvements or long-term support from these distributions.


Debian 13 and Ubuntu 22.04 templates in the XO Hub
📡 REST API
It’s been a while since we started working on the Swagger API documentation. Thanks to the ongoing efforts of our wonderful team, the doc is more complete than ever! This month we not only added additional endpoints, but also made the API easier to use by supplying the full specification in JSON format.
Task and host SMT endpoints added to Swagger
We’ve added the get
and getId
endpoints for tasks to our Swagger documentation. With these endpoints, you can pull the complete list of tasks or a specific task based off of a specific ID, so it’s much easier to understand how they work and test them directly from the Swagger interface.
Also, we've added the host simultaneous multithreading (SMT) endpoint:


These improvements are all part of the effort we started in the XO 5.104 release, to provide full documentation of the REST API and to be compliant with OpenAPI. We want to give developers and integrators all the tools they need to experiment with the API, automate their workflows, and construct integrations without any guesswork.

Swagger spec available in JSON
You can now retrieve the full Swagger/OpenAPI specification in JSON format through the API. This is particularly useful if you want to interface Xen Orchestra with another tool or generate client code automatically, as you can point your tooling to the spec.
This small change is one step towards full API documentation and OpenAPI compliance!
☸️ DevOps Tools
Our DevOps Tools team keeps improving third-party integrations, making it easier than ever to automate with our stack.
New releases for Terraform and Pulumi providers!
This new version introduces a new field, memory_min
, for the VM resource and makes a slight change to the memory_max
field, which now sets both the dynamic and static maximum memory limits and providing better control of VM memory.
Naturally, the Go SDK has been updated so both providers can take advantage of these new features:
🐦 VMware to Vates (V2V)
We’ve got some exciting changes this month for V2V migrations! We've implemented a new backend and resolved a key issue, so migrations are more stable and ready to handle more complex configurations.
Below is a detailed guide for using the new NBDkit and VDDK backend. Follow it closely to take full advantage of the improvements and see how they work in practice!
NBDkit + VDDK: How to enable the new V2V backend
In last month’s release, we introduced a completely new V2V backend, based on NBDkit and VDDK. It replaces the old approach, and delivers :
- Warm migration for all ESXi versions
- Improved performance
- A cleaner design for easier maintenance
Key improvements
Ease of use and compatibility: the new backend reads only allocated blocks, which speeds up transfers. Additionnally having snapshot does not have a notable performance impact. There’s no longer a need for temporary NFS storage or remote VSAN targets. The system is also designed to handle very large disks, with support for sizes beyond 2 TB (planned for a future update).
The interface has been polished as well. There’s now a progress bar visible from the start of the migration, speed metrics are recorded in the VDI, and snapshots are created at each step. This allows the process to pause and resume safely without needing to create multiple VMs. Finally, UEFI VMs are no longer forced into Secure Boot mode, avoiding previous boot issues.
Performance gains can be significant, though results depend on the environment.
In the best case, when using VMs with many snapshots or mostly empty disks, migrations can be up to 100 times faster. In our high-performance lab, we measured around 150 MB/s per disk and up to 500 MB/s total, which means an infrastructure with 10 TB of data could be migrated in a single day, with less than five minutes of downtime per VM.

In less favorable situations, such as a fully allocated disk with no snapshots and a powered-off VM, improvements are smaller, mainly due to compression between XO and ESXi. In general, the limiting factor is the import speed on the XCP-ng side, which scales well until the storage is saturated. Most of the transfer occurs while the VM is running, so production data remains safe.
Preparing the Environment
First, make sure Xen Orchestra is up to date. The import page now includes an automatic check that highlights errors and warnings before migration. Errors must be resolved, and warnings should be addressed when possible:



Error check before the VM import
Next, install the required dependencies: nbdkit, the VDDK plugin, and nbdinfo.
On Debian, these are available through the contrib repository as nbdkit-plugin-vddk
and libnbd-bin
. You can also compile nbdkit and libnbd from source on GitLab, but the correct dependencies must be in place for nbdinfo and VDDK.
Finally, download the VMware Virtual Disk Development Kit (VDDK) from the Broadcom developer portal. Select the Linux tar.gz archive and upload it through the Xen Orchestra interface.
The payoff
Setting up the new backend requires a bit more effort than before, but the results are worth it: faster migrations, warm mode support across all ESXi versions, and a process that scales far better than the previous solution.
Fixed import issue with large disk sets
We’ve fixed a bug that blocked V2V imports when the VM had more than 10 disks. If you ran into this limitation previously, you can now successfully import your VMs.
This fix came out of user feedback, helping us make migration more robust for complex environments.
📖 Documentation & guides
We never stop improving the XO documentation! This month, we filled in some gaps, updated our existing pages, and took in some feedback from the community. Thanks to everyone who shared their input!
Fixed broken anchors
We've fixed an issue in the Xen Orchestra documentation where links with HTML anchors were not working properly: instead of jumping directly to the desired section, they always landed at the top of the page.
Now, anchored links take you to the specific sections as intended, so you don't have to hunt for the wanted content, especially in long pages.
Large backup deltas explained
The documentation has been updated to explain why some incremental backup deltas can end up larger than expected. It also describes common scenarios that lead to large deltas, things to look for, and ways to investigate or reduce the delta size.

This information will help set expectations and prevent confusion when the backup report unusually high sizes. Thank you to the community in providing valuable input on a specific scenario that adds further clarity!
Read the updated documentation here:

Network bonding explained
The Xen Orchestra documentation now gathers all the key information about network bonding in one place. Previously, details were scattered across blog posts and other resources, which was indeed hard to follow.

The docs provide a clear explanation of what network bonding is and how to set it up, making it the main reference for this feature. You can now access everything you need directly in the official documentation.
Check out the updated section here:

Improved load balancing doc
We've reworked and expanded the the documentation for load balancing. The doc now makes it clearer what load balancing is, how the load balancing plugin works, and how to create or edit a load balancing plan. Also, all previously missing parameters are now properly documented.

On top of that, we've made the style more consistent, reworked the structure and added illustrations to help visualize complex processes. As a result, following instructions should be more straightforward and intuitive.
Check out the updated page here:

usage-report
plugin clarified
The usage-report
plugin documentation is better organized now. We've explained the parameters in more detail, particularly the all
toggle and what it does. As a result, you can now set up the plugin without confusion.

On top of that, we've refined the overall section, touched up the style a little and fixed a few errors. The revised documentation should be more useful and easier to read than ever.
Feel free to read it here:

🌐 Translations
5 languages updated
A big thank you to our community for their ongoing efforts in translating Xen Orchestra!
This month, special attention was given to Czech, German, Italian, Dutch, and Brazilian Portuguese.
Want to help translate Xen Orchestra or improve existing translations? You’re more than welcome to join in here.
🆕 Misc
Even though most of our efforts are focused on XO 6, we’re still rolling out general improvements across the software, so the Misc section is never empty!
Ipmitool plugin now supports Dell servers
The Ipmitool plugin was created to provide hardware information on 2CRSI servers when running XCP-ng hosts. We have adapted the plugin to service Dell servers as well, extending the capabilities and generalizing the plugin. The goal stays the same: we will give you the same great hardware information through Xen Orchestra, whether you are using 2CRSI or Dell servers.
This change is part of our ongoing effort to make XO more versatile and useful across different environments, starting with what our partners need most.

Automated end-to-end tests for xo-server
We've made our first steps toward automated QA and end-to-end (e2e) testing for xo-server
. It's part of a larger effort to improve the reliability of Xen Orchestra and make the project easier to maintain over the long term.
We began by looking at what's missing in the REST API, then moved on to defining the testing architecture and tooling. From now on, we are able to automatically run e2e tests on key features, which allows us to catch regressions sooner, increase overall stability, all without slowing down development.
Direct link to Swagger
We’ve made it easier to work with the REST API by adding a direct link to the Swagger documentation.
Instead of finding the Swagger URL by yourself, you can now access the page straight from XO 5 or XO 6. Swagger gives you a complete list of the available endpoints, along with parameters and expected responses. This will be a great resource if you’re integrating XO with other tools or building automations.
The link is available:
- From XO 5, in the navigation bar
- From XO 6, by clicking the Account menu button:
With this small addition, the documentation is only a click away while you're using Xen Orchestra, so developers and integrators can access it without additional steps.
From there, you can view the API, see the request and response formats, and even test the calls if you have the proper credentials.



Link to Swagger, from XO 5 and XO 6