Anybody use a rolling release distro like openSUSE, debian or arch as LXD host?

I am thinking about a rolling release to have the newest stable kernel for the LXD host. Does anybody habe experience with openSUSE Tumbleweed, Debian unstable or arch or any other distro that they could share please?

Thanks in advance!

Snap allows you to run it on most distros. (I have run it up on RockyLinux).

My experience with adapting ubuntu 22.04 early as well as lxd latest/stable was enough newness for anything you want to use in production. Adding a new variable to the bleading edge seems like asking for trouble. But thats just me.

1 Like

I should clarify, the thinking is, that having updates all the time (not all the time but more often than every 2 years.) should result in a more stable experience overall (I already have to restart every once in a while for the security releases of the LTS kernel). This way I would have scheduled restarts every 2 months to get the newest stable kernel in there, which would happen at night depending on the geolocation of the server. And also get newer libraries and packages.
I heard openSUSE Tumbleweed should be quite stable for a rolling release. Anybody have experience with it?

You can go for Debian testing - it is rolling release but more stable than Debian unstable.
Many people on Debian forum report it as stable for their desktop and still be up2date i.e.: the linux kernel is now 6.0

1 Like

That aligns well with gLinux from Google, as they use testing and rebuild everything and then test it again and report bugs upstream if the test fails.
Do you have personal experience with any of this?

I am running my LXD hosts on Arch. Works without issues.

1 Like

I personally don’t have any experience with gLinux.

I’m using LXD on Gentoo, and I know it’s very popular on Gentoo derivates such as Funtoo, LigurOS, MocaccinoOS and ChromeOS. Although Gentoo is a rolling release type of a distribution, it does have stable and unstable channels that the user can choose from. This isn’t widely known. You can also choose what kernel channel to follow, e.g. “always latest” (6.0 currently), 5.19, 5.15, 5.10, 5.4 and even 4.19, 4.14 and 4.9 are available.

So if you choose to go full bleeding-edge with 6.0 kernel, latest glibc, latest gcc/clang you may run into issues. Rarely as of my own experience, but not non-existent.
But if you choose the stable channel, with an LTS kernel like 5.15 or 5.10, you’re most likely going to have a good time without any problems.

Currently Gentoo only packages (makes available) the LTS version of LXD, so no feature channel is currently offered. It’s also my understanding that the LXD upstream suggests that distributions to do this; e.g. only package the LXD-LTS while LXD-feature should be available via snaps for consumers. As the maintainer of LXD in Gentoo, I also choose not to package the feature releases since I need LXD to work and I wouldn’t be using the feature releases by myself. If someone’s using it, and willing to maintain it in Gentoo I wouldn’t oppose to that. But it’s not going to be me. Some Gentoo derivates, like Funtoo, LigurOS and MoccaccinoOS do package and offer the LXD-feature releases to users. But they have more people working on LXD, and I guess depend on LXD more even infrastructure-wise.

So TLDR: LXD works fine on rolling release distributions, as long as the distribution has active maintainers for it.

2 Likes

Thank you very much for these deep insights!

I was looking at Gentoo and Funtoo, but was still unsure about it.
I’d like a rolling release that is stable (VoidLinux claims this) so updates happen regularly but are quite stable/tested. So not the newest, but as new as possible and still have stability, and to be able to offer newer features into LXD containers. (A hypothetical I can think of might be: Much better btrfs in the kernel, but starting 5.16 and I am stuck on 5.15 for two more years not being able to utilize that. Something like that actually happened with ZFS in Ubuntu if I remember correctly, which of course only affected the host system until they implement ZFS on ZFS.)
The same regarding glibc and so on.

It is very good to know that you can choose, which kernel to use.
So staying a bit behind with the kernel should be possible?

Regarding LXD I also would want to stay on the LTS, as you said, it needs to work.

My dream server distro would look something like this:

  • Stable rolling like Void claims
  • systemd + glibc (performance) (so no void)
  • support for different versions of packages for compilation (php 8.0 still wants openssl 1.1.1 for example)
  • installer/images with btrfs root support (docker volumes inside LXD without another partition) (also snapper seems like a good thing, so openSUSE Tumbleweed?) (I did it manually for ubuntu, so gentoo will most probably work too)
  • offering a minimal qcow2/iso by default
  • bigger community (elitism is supposed to be annyoing with Arch)

(A hypothetical I can think of might be: Much better btrfs in the kernel, but starting 5.16 and I am stuck on 5.15 for two more years not being able to utilize that. Something like that actually happened with ZFS in Ubuntu if I remember correctly, which of course only affected the host system until they implement ZFS on ZFS.)

It is very good to know that you can choose, which kernel to use.
So staying a bit behind with the kernel should be possible?

Yes, you can choose whichever kernel version to install. Everyhing shown in https://kernel.org/ is available, maintained and supported. You can install them all and boot to whichever you like! And nothing stops you from installing whatever kernel you desire, there are tools to help you with that too (like genkernel).

A note about ZFS though: It often only works with LTS kernels, and not with the latest. Unless you use a version compiled straight from their git repository, we call this a “live package” in Gentoo.

Stable rolling like Void claims

Yep. Gentoo does have a stable channel to follow.

systemd + glibc (performance) (so no void)

Yep. In addition to that, you can choose to install a musl-based system if you wish. I have no experience with musl, but it’s gaining popularity lately so it should be pretty well supported nowadays.

support for different versions of packages for compilation (php 8.0 still wants openssl 1.1.1 for example)

This is one of Gentoo’s best features. You can have multiple different slotted packages in parallel, so you can have php-8.2 php-8.1, php-8.0 and php-7.4 all installed at the same time. This also applies to e.g. python.

installer/images with btrfs root support
offering a minimal qcow2/iso by default

Well you answered this already :wink: it’s Gentoo, you can use whatever media to install it and enable whatever features under the sun available when doing so.

bigger community

This is probably the downside, since the distribution isn’t as popular naturally the community is smaller. But from what I’ve seen it’s very helpful and knowledgeable. And nothing stops you from using Arch Wiki either.

But yeah, getting the distro up and learning the ropes will take time. After that, once you learn to use it, it’s smoothsailing in my opinion.

1 Like

@juippis Thank you so much for all the wonderful answers!

Especially the insight with ZFS is really appreciated!
This made me realize that staying with the LTS kernel is the way to go.
But at the same time it means my dreams of rolling around are gone.
And it seems gentoo seems like a good inbetween.
And my final doubt get’s answered here: Binary package guide - Gentoo Wiki

Thanks a lot again @juippis !!

It worries me that the handbook mentions ifconfig which has been deprecated quite some time: Configuring the network - Gentoo Wiki

Here the link to the subject I raised in the gentoo forum: Gentoo Forums :: View topic - Isn't ifconfig deprecated?

I would recommend Arch every time :smile: but do take note of this issue.

1 Like

Yeah, thanks! That’s one more reason to stay with LTS kernel and LTS LXD.

The only distro I found that doesn’t just put another package manager, but brings some real difference to how the system looks like and is being built and also allows/facilitates different versions of packages next to each other is NixOS.
After much back and forth that is the one I will look into once I got the time to learn Nix and Nix and Nix :smiley: :smiley: (Nix is german for nothing)

Gentoo has too much of a legacy feeling to it.
Arch, well, I am afraid of bad things I heard about everybody doing whatever they want and sometimes breaking dependencies with the packages.
And Ubuntu is fine for LTS on LTS for now.

As someone who’s teams cross freebsd and linux I always install ifconfig and whatever other utilities are expected on both platforms so people have less context switching to deal with. Just like all of us geezers who curse systemd please try not to judge and that ifconfig wasn’t broken.

1 Like