What is the relationship between LXD and Multipass?

What is the relationship between Multipass and LXD? There virtual machine features of each of these tools seem to overlap. Did LXD serve as inspiration for Multipass?

2 Likes

Multipass CLI was inspired by LXD.
Upcoming Multipass will be using LXD VMs as backend on Linux.

On Windows and macOS, Multipass can be used to deploy Ubuntu VMs and will soon have support to then integrate the native LXD client with that VM.

1 Like

@stgraber, I have a question to clarify the relationship between LXD and Multipass (as of this date):
Are the following statements correct? (If not, please explain.):

  1. LXD uses LXC, which only works on Linux.
  2. Multipass works on Linux, Windows and MacOS, using whatever hypervisor works best on the platform.
  3. On Linux, Multipass has a superset of LXD’s features. Therefore, there is no advantage to using LXD instead of Multipass (except, perhaps, somewhat less overhead).

According to https://multipass.run/

Multipass uses Hyper-V on Windows, QEMU and HyperKit on macOS and LXD on Linux for minimal overhead and the fastest possible start time.

But according to What is the default driver for Linux? · Issue #272 · canonical/multipass.run · GitHub

The website isn’t fully correct. Multipass uses QEMU by default on x86_64 Linux, but uses LXD by default on all other supported Linux architectures.

LXD uses Qemu (and KVM) for VMs and liblxc for containers. It only runs on linux. But can run non-linux VMs.

As for features, it depends what you need.

@tomp, thanks for your reply!

As for features, it depends what you need.

I still have a question: Is there any reason to use LXD instead of Multipass on Linux?

It depends what you need to do with your vms.

Yes, there is, and quite the big one.
Allow me to quote the github of multipass:

Please note that the following instructions are for building Multipass for Linux only. These instructions do not support building packages for macOS or Windows systems.

Build Dependencies

...

cd <multipass>
apt install devscripts equivs
mk-build-deps -s sudo -i

As illustrated, linux means something that uses apt, according to them. I say f****ng no.

The advantage is that you are not distro-locking the possible workstations.
Virtualization basically is about running something on non matching arch/OS.
You are throwing away ~half of the possible linux hosts by choosing multipass, while also limiting the VM clients.

I’d keep away from it, if I could, unforunetly my predecessor made some major project using Subiquity, which uses multipass…

Closing this topic as per LXD is no longer part of the Linux Containers project, LXD is no longer part of Linux Containers and its support is now handled by Canonical on the Ubuntu Discourse forum.