Every few years I rediscover that I have opinions about swap, and every few years they turn out to be wrong. The old rule was "twice your RAM". That made sense when RAM was measured in megabytes and a swap partition was where your machine went to think. On a box with 64GB it is daft. You do not want 128GB of disk standing by so the OOM killer can take an extra hour to arrive.
For the homelab I have finally landed somewhere I can live with. A small fixed swap, 4GB, on every host. Not because the workloads need it, but because a little swap lets the kernel page out genuinely cold pages and keep more of memory available for cache. Set vm.swappiness=10 so it only reaches for swap under real pressure, and the difference between "some swap" and "no swap" mostly disappears for day to day work.
The part that actually changed things was zram. A compressed block device in RAM, used as swap, ahead of the disk-backed swap by priority. On the smaller nodes it gives me the equivalent of a chunk of extra memory for the cost of some CPU, which these boxes have spare. The disk swap stays as the last resort before the OOM killer does its job.
So: zram first, 4GB on-disk swap behind it, swappiness turned down. It is not clever and it is not a benchmark-winning configuration. It just stops me having the argument with myself again, which after this many years is the feature I actually wanted.