In which case would you choose proxmox over lxd?

i am wôdering what would let you choose today between lxd and proxmox. what would let you choose one or the other?

Personally :

  • I don’t new the fancy GUI provided by Proxmox (and I’m not a huge fan of it, I much prefer Xen Orchestra from XCP-ng project)
  • Excellent and consistent CLI experience with the provided client (local or remote). With PVE, sometimes you have to use the CLI, sometimes the GUI, I don’t know, it feels less consistent than LXD.
  • Cloud like features such as storage volumes, projects, profiles, image store
  • Much more possibilities with Cloud-Init through profiles (Proxmox CI integration is very limited)
  • Container experience is much more polished and can provide latest improvements in kernel area (shiftfs, id mapped mounts, pidfd)

Both of these OSS projects are really good, I think it’s a matter of preferences. I like a lot the “minimalist” aspect of LXD. Previously, I was a Libvirt user (with virsh and so on), so that’s why I prefer the minimalist approch, and with the recent support of virtual machines, I’m much more happy with LXD (and you don’t need to deal with miles of XML structures to configure your machines :grin:).


TLDR; LXD over Proxmox any day.

From my understanding Proxmox uses LXC (the underlying C library not the CLI program used to interact with LXD).

Which would leave me to believe LXD is the “proper” API for integration, working at the C “level” is very “old school” as far as I’m concerned.

People argue Proxmox is just a replacement of LXD which is fair enough but its not for me - would rather use the “official” way, even at the cost of my own time!

Why? Well can Proxmox keep up with LXD? Probably not. It’s a weird offering where they have to limit what features they implement too what works for them.

Ignoring VM vs container “costs” would their own cgroup implementation been that hard? probably not - seems more like marketing gimmick than an intentional decision, I may be wrong - its not been unheard of.

To be fair, Proxmox predates LXD :slight_smile:

Proxmox for a long time was effectively a distribution of OpenVZ along with support for virtual machines through direct QEMU integration. As OpenVZ started fading away, Proxmox’s container component was replaced with LXC.

@Blub is one of the Promox devs and also one of the LXC maintainers, so it’s not exactly a full 3rd party offering, we do have a good relationship with Proxmox in general.

As LXD then also grew VM support, the two offerings are indeed closer than ever, with some extra features on both sides and a pretty different userbase (not seeing a lot of users of both or that many people flip flopping between the two).

@stgraber as always you are the person with the real story - insightful and closing a gap in my knowledge as always :heart_eyes:

@Blub I meant no ill will - please dont take it in the wrong way. Clearly I wasn’t in possession of all the facts! (that should teach me to post utter sh*te - but it wont)

1 Like

I will add my 2c to this. Proxmox is effectively a DISTRO (based on Debian 11 currently) whereas LXD is SNAP or a Deb package. So in other words, at the risk of stating the obvious, Proxmox installs from an .iso, so for example to test or use Proxmox, your talking about creating a “Proxmox VM” or “Proxmox server”, whereas with LXD your talking about a vastly more portable and flexible Deb pkg, and/or better yet installable as a SNAP.

The Orabuntu-LXC project will be releasing Orabuntu-LXC v7.0.0 this year (I feel confident we will release our alpha which introduces fully automated LXD cluster support for both Ubuntu Linux 20.04 and Oracle Linux 7 and Oracle Linux 8 in Q3 2021). The support for these platforms for LXD clusters is already available in the master branch at the GitHub.

CentOS, RedHat, and Fedora to be added for LXD cluster automation in Q4 2021 (possibly also by Q3).

Orabuntu-LXC uses the SNAP LXD deployment mode for the support of automated LXD cluster deployment in the currently supported platforms of Oracle Linux, CentOS, RedHat, and Fedora, as well as Ubuntu (of course).

So my main point is LXD is the clear choice for heterogeneous enterprise server environments unless you are ok being tied to a customized distro based on Debian 11.


1 Like