LXD 6.2, the second feature release in the 6.x series, has been released! It builds upon the previous release with a range of new features and improvements, aiming to provide an even more powerful and user-friendly experience for managing containers and virtual machines.
This release includes updates to various aspects of LXD, ranging from enhanced security features to improved performance and usability.
Table of Contents
LXD 6.2 Key Highlights
1. New Snap Track for the 6.x Series:
To align with the MicroCloud snap's transition to series-specific tracks, LXD 6.x will now be published to both latest/stable
and 6/stable
channels.
While the latest/stable
channel remains, users are encouraged to install from the series-specific track (6/stable
) for better control over updates and to avoid a perpetually rolling release.
2. NVIDIA GPU Container Device Interface (CDI) Support:
Enabling iGPU passthrough, LXD 6.2 introduces support for the Container Device Interface (CDI) specification for configuring GPU passthrough in containers.
This offers a more versatile method for identifying and configuring GPU devices, extending support to devices beyond those using PCI addressing, such as NVIDIA Tegra iGPUs.
3. Enhanced VM Conversion from External Disk Images:
The lxd-migrate
tool and the LXD API now facilitate the conversion of external disk images (VMDK, QCow2, etc.) into the required RAW format for importing as VM instances.
This server-side conversion enables seamless uploads of external images through the LXD UI, also supporting virtio driver injection for LXD compatibility.
4. Fine-Grained Access Management for TLS Authenticated Clients:
Building on the fine-grained authorisation controls for OIDC clients introduced in LXD 5.21.0 LTS, this release extends the same controls to TLS authenticated clients. This provides granular control over permissions for clients connecting via TLS.
5. API Metrics for Cluster Health Monitoring:
Two new metric sets have been added to the LXD metrics API endpoint: total completed requests (lxd_api_requests_completed_total
) and number of ongoing requests (lxd_api_requests_ongoing
).
These metrics, grouped by entity type and error type, aid in identifying potential problems or areas of overload on LXD servers.
Other Improvements
1. CLI Completion Improvements:
The lxc
command's shell completions have been significantly enhanced for improved extensibility and maintainability.
This update brings dynamic completions, contextual completions for configurations, and completion support for various commands, including lxc init
, lxc launch
, lxc config device
, and more.
2. Instance Start Protection Setting:
The new instance setting security.protection.start
prevents instances from starting if set to true
, offering a safety measure against accidental starts.
3. VM Support for the security.devlxd.images
Setting:
This setting, now available for VMs, controls the availability of the /1.0/images/FINGERPRINT/export
API over devlxd
. This allows VMs running LXD internally to access raw images from the host, eliminating redundant downloads.
4. Per-Project Storage Pool Disk Limits:
This release introduces per-pool project disk limits using the limits.disk.pool.{POOL_NAME}
configuration option, providing more granular control over disk usage within projects.
5. New lxc file create
Sub-Command:
This new command enables the creation of empty files and directories inside instances, simplifying file management tasks.
6. VM Live Migration with Attached Remote Block Storage Volumes:
LXD 6.2 enables the live migration of VMs exclusively using attached block storage volumes from remote storage pools, enhancing flexibility in VM management.
7. VM USB NIC Passthrough:
USB NIC devices can now be passed through to VMs, expanding the networking options for virtual machines.
LXD-UI Enhancements
LXD 6.2 also brings substantial improvements to the LXD-UI, with version 0.14 included in the snap release. Highlights include:
- Extended Instance Creation: Direct import of various instance formats (VMDK, qcow2, etc.) and support for uploading previously exported LXD instance backup files.
- New Instance Actions: Migrate, create an image from, duplicate, and export an instance as a local backup file directly from the instance detail page.
- Improved Configuration Management: Enhanced UI for configuring instance and profile settings, including disk, network, proxy, GPU, and other devices.
- Storage Volume Actions: Migrate and duplicate storage volumes from the storage volume detail page.
- Enhanced Semiotics and Permissions Management: Improved iconography, introduction of chip-styled patterns for entities, and a streamlined workflow for creating permission groups and assigning entitlements.
Upgrade Considerations
Snap upgrades between major LXD release series have been improved. An issue preventing the stopping and restarting of running containers during upgrades has been addressed.
The minimum Go version required to build LXD has been updated to 1.23.
Install LXD 6.2
LXD 6.2 is available through various channels for different operating systems:
Linux:
snap install lxd --channel=6/stable
MacOS:
brew install lxc
Windows:
choco install lxc
LXD 6.2 hs brought a substantial advancement in LXD's capabilities. It offers a powerful and versatile platform for managing containers and virtual machines.
For those currently using the latest/stable
snap channel, switching to the 6/stable
channel is recommended.
Resource: