LXD
LXD is a system container and Virtual Machine (VM) manager (infrastructure virtualization) that provides a unified interface for running and managing Linux containers and virtual machines on a single host or across clusters.
- System container and VM lifecycle management (infrastructure virtualization)
- Image management with remote image servers and reusable base images (image lifecycle)
- Network configuration including bridges, VLANs, and integration with existing networks (networking)
- Storage management across multiple backends such as ZFS, LVM, and others (storage management)
- Clustering of multiple LXD servers for distributed container and VM scheduling (cluster management)
More About LXD
LXD is a system container and VM manager (infrastructure virtualization) designed to provide an API-driven and image-based experience for running Linux environments in containers or as full virtual machines on a host system.
The project focuses on system containers (operating-system-level virtualization) that run entire Linux distributions inside isolated environments, alongside support for hardware-virtualized virtual machines (compute virtualization). LXD exposes its functionality through a Representational State Transfer (REST) Application Programming Interface (API) (infrastructure API) and a command-line client, enabling local and remote management of instances on one or more hosts.
LXD uses an image-based workflow (image lifecycle) in which administrators work with distribution images and custom images stored locally or on remote image servers. This supports repeatable deployments of containers and Vulnerability Management System (VMS), including versioned golden images for enterprise use cases such as application stacks, test environments, and Continuous Integration and Continuous Deployment (CI/CD) runners.
On the networking side, LXD provides integrated network management (networking) with support for bridges, VLANs, and other network constructs. Instances can be attached to LXD-managed networks or to existing host networks, which allows alignment with enterprise IP addressing, routing, and firewall policies. For storage, LXD integrates with storage pools (storage management) using backends such as ZFS, LVM, and directory-based storage. These pools manage volumes used by instances and images, enabling features such as copy-on-write cloning and snapshots where supported by the backend.
LXD supports clustering (cluster management) that links multiple LXD servers into a single logical cluster, with a distributed database coordinating configuration and state. This allows scheduling containers and VMS across multiple nodes, centralizing configuration, and enabling higher availability patterns. Remote access (remote management) is built into the client and API, so operators can manage local and remote LXD hosts and clusters in a consistent manner.
In enterprise environments, LXD is used for running system containers as lightweight hosts for applications, test systems, and development environments (dev/test infrastructure), as well as for virtual machines where full hardware virtualization is required. It can be integrated into automation workflows through its REST API or through tooling that interacts with the LXD client, supporting Infrastructure-as-Code (IaC) patterns. The project sits in the infrastructure virtualization and container management categories, overlapping with VM management, container hosting, and cluster-level lifecycle operations.