Doesn't Proxmox use a separate kernel package compared to Debian? That's kinda annoying because it ends up making the distro a 'Frankendebian' at best. Even using an up-to-date kernel from the stable backports repositories is a lot better than that.
They use a slightly modified Ubuntu kernel (https://github.com/proxmox/pve-kernel), with things like ZFS added. They also really are good about using proper Debian tooling, and so their kernel doesn’t cause any weird dependency issues.
Right now they install proxmox-kerne-6.8.12-6 by default (using pseudo-packages called proxmox-default-kernel and proxmox-kernel-6.8 pointing at it), and offer proxmox-kernel-6.11.0-2 as an opt-in package (by installing proxmox-kernel-6.11)
I’ve been using the latest opt-in kernels on all of my Proxmox nodes for a few years now, and I’ve never had any issues at all with that myself.
That's a big gotcha - ZFS is non-free so of course it cannot be part of Debian proper. Hopefully we'll get feature parity via Btrfs or Bcachefs at some point in the future.
> ZFS is non-free so of course it cannot be part of Debian proper
ZFS is under the CDDL which is a perfectly good free and open-source software license, just some people view it as incompatible with GPL (IANAL, but this is apparently somewhat controversial; see the wikipedia page) so Debian doesn't distribute ZFS .ko files for Linux in binary form. They do, however, have an official package for it[1], just using DKMS to compile it locally.
CDDL is a good license. GPLv2 is a good license. They happen to be (maybe) incompatible. That doesn't make either of them bad. I mean, would you argue that GPLv2 is bad because it's not compatible with CDDL?
It certainly has an optimized kernel for its use case. I believe it also includes ZFS by default. I wouldn't be surprised if the Proxmox developers would prefer to upstream these defaults, but they likely would introduce regressions for the common use case that Debian optimizes for.
Ultimately, I use Proxmox as a hardware hypervisor only, so I don't mind that it uses its own kernel. Everything I run is in its own VM, with its own kernel that is setup the way I want.