LXD is a system container and virtual machine manager.
It offers a simple CLI and REST API to manage local or remote instances,
uses an image based workflow and support for a variety of advanced features.
Images are available for all Ubuntu releases and architectures as well
as for a wide number of other Linux distributions. Existing
integrations with many deployment and operation tools, makes it work
just like a public cloud, except everything is under your control.
LXD containers are lightweight, secure by default and a great
alternative to virtual machines when running Linux on Linux.
LXD virtual machines are modern and secure, using UEFI and secure-boot
by default and a great choice when a different kernel or operating
system is needed.
With clustering, up to 50 LXD servers can be easily joined and managed
together with the same tools and APIs and without needing any external
Supported configuration options for the snap (snap set lxd [<key>=<value>...]):
ceph.builtin: Use snap-specific Ceph configuration [default=false]
ceph.external: Use the system's ceph tools (ignores ceph.builtin) [default=false]
criu.enable: Enable experimental live-migration support [default=false]
daemon.debug: Increase logging to debug level [default=false]
daemon.group: Set group of users that have full control over LXD [default=lxd]
daemon.user.group: Set group of users that have restricted LXD access [default=lxd]
daemon.preseed: Pass a YAML configuration to lxd init on initial start
daemon.syslog: Send LXD log events to syslog [default=false]
daemon.verbose: Increase logging to verbose level [default=false]
lvm.external: Use the system's LVM tools [default=false]
lxcfs.pidfd: Start per-container process tracking [default=false]
lxcfs.loadavg: Start tracking per-container load average [default=false]
lxcfs.cfs: Consider CPU shares for CPU usage [default=false]
lxcfs.debug: Increase logging to debug level [default=false]
openvswitch.builtin: Run a snap-specific OVS daemon [default=false]
openvswitch.external: Use the system's OVS tools (ignores openvswitch.builtin) [default=false]
ovn.builtin: Use snap-specific OVN configuration [default=false]
ui.enable: Enable the web interface [default=false]
For system-wide configuration of the CLI, place your configuration in
/var/snap/lxd/common/global-conf/ (config.yml and servercerts)
Swap out openSUSE_Leap_15.5 for openSUSE_Leap_15.4 or openSUSE_Tumbleweed if you’re using a different version of openSUSE.
With the repository added, import its GPG key:
sudo zypper --gpg-auto-import-keys refresh
Finally, upgrade the package cache to include the new snappy repository:
sudo zypper dup --from snappy
Snap can now be installed with the following:
sudo zypper install snapd
You then need to either reboot, logout/login or source /etc/profile to have /snap/bin added to PATH.
Additionally, enable and start both the snapd and the snapd.apparmor services with the following commands: