Provisioning VMs in DaDesktop via Virt Manager
Introduction
When designing training curricula, it is common to virtualize servers inside DaDesktop, and occasionally to spin up one or two client machines as well. This can be done using a single OS or a mixed Windows/Linux environment.
You can run Nested VMs using either Virt Manager or VirtualBox. If you are on Linux, you can optionally integrate Vagrant, while Windows 10 DaDesktop users typically rely on VirtualBox.

After rigorous testing, our preferred method is to use Virt Manager. This is because VirtualBox exhibits several bugs in this specific configuration; consequently, we currently recommend against using VirtualBox for this purpose.
The Virt Manager application leverages the libvirt library to deliver comprehensive virtual machine management services. Its desktop interface simplifies the creation, deletion, and administration of multiple virtual machines. While it is primarily designed for KVM VMs, it also supports other hypervisors, including Xen and LXC.
Virt Manager integrates seamlessly with Vagrant using the following command:
apt install vagrant-libvirt
Note that while the selection of Vagrant boxes for libvirt/KVM is smaller than for VirtualBox, existing boxes can be easily converted to be compatible with libvirt, as demonstrated here:
https://medium.com/@gamunu/use-vagrant-with-libvirt-unsupported-boxes-12e719d71e8e
The user interface offers a consolidated overview of all VMs, including their status, CPU consumption, real-time performance graphs for active instances, and overall resource usage statistics.
If you are new to Virt Manager, it operates similarly to VirtualBox but with several key distinctions detailed below.
A comprehensive guide on using virt-manager with Ubuntu Linux can be found here - https://www.debugpoint.com/virt-manager/
Why choose Virt Manager over VirtualBox?
Advantages
- Superior performance - Virt Manager utilizes VirtIO drivers for storage, networking, and graphics, resulting in significantly enhanced speed. VirtIO drivers are paravirtualized device drivers for KVM, available for both Linux and Windows guest VMs on KVM hosts. The virtio package supports block (storage) devices, network interface controllers, and graphics. Being open source, VirtIO drivers are easy to install on Linux distributions if not pre-installed.
- A broader range of configuration options.
- Strong compatibility with Vagrant.
- VirtualBox is not fully open source in all components.
- Virt Manager does not require module recompilation after kernel upgrades, unlike VirtualBox.
- VirtualBox is known to break during kernel upgrades in some instances.
Disadvantages
- VirtualBox has a slightly gentler learning curve.
- Configuring 'Host networking' (as opposed to NAT) is simpler in VirtualBox, though NAT is sufficient for most use cases on both platforms.
- VirtualBox is available on multiple platforms, whereas Virt Manager is exclusive to Linux.
Overall, for running servers within a DaDesktop environment, Virt Manager is the recommended solution.
Installation
Given the continuous improvements in libvirt, it is best to use the latest non-LTS version of Ubuntu or Debian.
To install KVM and virt-manager, please refer to an up-to-date guide for your specific DaDesktop OS. The following are brief notes, and a recommended guide is available at https://www.debugpoint.com/virt-manager/
sudo apt install virt-manager
sudo adduser student libvirt sudo systemctl restart libvirtd
Reboot the DaDesktop machine, then launch Virt Manager from the Applications menu.
Configuration
- Importing or converting virtual machines While creating VMs tailored to your OS and specifications is straightforward, complex setups often benefit from importing existing VM configurations for specific servers or appliances. These are frequently provided as VMDK images, which can potentially be added directly to Virt Manager, although clarity on this varies by version. VirtualBox server images cannot be directly imported into Virt Manager but can be exported to formats like Open Virtualisation Format (.OVF), which Virt Manager supports. Alternatively, use VMware Converter or Virt-V2V (https://www.redhat.com/en/blog/importing-vms-kvm-virt-v2v). Qemu-convert is another excellent open-source tool for converting between various virtual machine formats.
To migrate from VirtualBox to Virt Manager KVM format, follow these instructions: https://ostechnix.com/how-to-migrate-virtualbox-vms-into-kvm-vms-in-linux/ -
Importing large files into standalone environments. A new feature allows you to easily upload files from your host machine into your DaDesktop instance.
Alternatively, use cloud storage services like Google Drive or Microsoft 365. These can be accessed by logging in within the DaDesktop machine.
- Adjusting graphics and disk types when importing VMs. One of Virt Manager's strengths is its robust support for VirtIO drivers. These open-source, fully virtualized drivers offer significantly better performance than standard disk, network, or graphics drivers and are compatible with nearly all operating systems, including excellent support for Windows 10 guests. If your guest OS supports them, VirtIO drivers are generally the preferred choice for compatibility and performance in KVM environments. See: https://wiki.archlinux.org/title/Libvirt
- Optimal settings for VMs in Virt Manager. VirtIO drivers are included in most modern open-source server OSs and can be easily installed in Windows. While VirtIO is generally the best option, other types may be necessary in specific cases. NAT is sufficient for most networking needs, though bridged host networking may be required for complex setups, albeit with more configuration complexity.
https://wiki.manjaro.org/index.php?title=Virt-manager provides an excellent starter guide.
Running Windows requires additional steps, including slipstreaming VirtIO drivers to ensure the Windows 10 ISO boots correctly.
For hard disk formats, .raw files are best for speed unless snapshots are required; in that case, use qcow2, which is slightly slower. - Although Wayland works well as a display manager in most scenarios, we currently recommend sticking with X11. That said, distros are improving Wayland support continuously, so testing it in your specific setup may be worthwhile.
- There is little practical benefit to using KSM, even though it works in nested and Virt Manager environments.
- Tech Support is available if you need assistance converting disk images for Virt Manager or setting up DaDesktop courses.
-
Where are disk image files stored in the filesystem? Virt Manager defaults to storing image files in the following location, though this is configurable to other preferred paths:
/var/lib/libvirt/images