LXD 6.2 Introduces CDI for Flexible GPU Integration

LXD 6.2 system container manager rolls out with GPU passthrough via CDI, enhanced VM migration, TLS fine-grained access, and more.

LXD, a modern system container manager developed by Canonical, the company behind Ubuntu, has just rolled out its latest release—LXD 6.2. This marks the second feature update in the 6.x series, bringing an exciting range of new capabilities and enhancements.

With the shift towards series-specific tracks, LXD 6.x will now be available in both the “latest/stable” and “6/stable” channels. This change aligns with recent updates in the MicroCloud snap, providing more control over updates and ensuring a stable experience throughout the series’ lifespan.

While the “latest/stable” channel will continue, users are encouraged to switch to the series-specific tracks to avoid being on a continuously rolling release.

LXD 6.2’s highlight is, without a doubt, introducing support for the NVIDIA GPU Container Device Interface (CDI), which enables the passthrough of GPUs that don’t use traditional PCI addressing, such as NVIDIA Tegra integrated GPUs.

This enhancement offers a flexible way to manage GPU resources in containers and aligns LXD with the evolving CDI standard, which is gaining popularity across container runtimes.

Moreover, LXD now makes importing VM instances from external disk image formats such as VMDK and QCow2 easier. Using the lxd-migrate tool, users can seamlessly convert these images into the required RAW format. This feature also supports injecting virtio drivers to make VMs compatible with LXD.

The entire conversion process happens server-side, making it possible to initiate uploads directly from the LXD UI without worrying about manual conversions.

Additionally, the lxd-migrate tool has been enhanced with a non-interactive mode, making bulk conversion operations more convenient.

On the security side, building upon the fine-grained authorization controls introduced for OIDC clients in LXD 5.21 LTS, LXD 6.2 now extends this feature to TLS-authenticated clients. This allows administrators to create tailored access permissions for TLS clients, similar to what was available with OIDC.

LXD 6.2 also introduces two new API metrics to improve cluster observability: total completed requests and number of ongoing requests. These metrics can be consumed by observability tools, such as the Canonical Observability Stack, to identify potential issues or overloads. But there is more!

The LXD CLI is now more user-friendly, with improved dynamic completions for various commands. Instead of relying on a single monolithic Bash script, completions are now handled in “lxc/completion.go,” allowing for out-of-the-box support for Bash, with generated completions available for Zsh and Fish.

We continued by saying that LXD 6.2 includes several safety and usability enhancements in response to user feedback. Custom storage block volumes are now protected from concurrent use by default, preventing accidental data corruption.

In addition, a new instance setting called “security.protection.start” has also been introduced, which prevents instances from starting if enabled—a handy safeguard for important workloads.

Moreover, there’s new support for VM automatic core pinning load balancing, but this feature is now disabled by default after feedback regarding its impact on performance. Users can enable it manually by setting “limits.cpu.pin_strategy” to auto if desired.

Lastly, the LXD-UI has also received a significant update, with 350 new commits worth improvements, making it more robust and user-friendly.

Users can now import external formats like VMDK directly through the UI, migrate instances to different storage pools or cluster members, and even create images or duplicate instances with a few simple clicks.

For more information about all LXD 6.2 container manager changes, visit the release announcement or check out the full changelog. It is available for download on Linux, macOS, and Windows platforms.

Bobby Borisov

Bobby Borisov

Bobby, an editor-in-chief at Linuxiac, is a Linux professional with over 20 years of experience. With a strong focus on Linux and open-source software, he has worked as a Senior Linux System Administrator, Software Developer, and DevOps Engineer for small and large multinational companies.