Cachy OS Server ZFS

Created
Updated
Author Nicolas Dorriere Reading 3 min

Cachy OS

CachyOS, an ArchLinux-based distribution I had encountered in Reddit discussions about the Steam Deck. To my pleasant surprise, CachyOS includes ZFS precompiled and natively integrated into the kernel, no dkms compilation required.

With just two packages, I can install ZFS.

# pacman -S linux-cachyos-zfs
# pacman -S zfs-utils
# modprobe zfs

We can see that the supported ZFS version is indeed the latest one from OpenZFS

Ubuntu and CachyOS avoid compiling ZFS with DKMS

ZFS on Linux
Ubuntu apt install zfsutils-linux
Debian  apt install linux-headers-amd64 zfs-dkms zfs-zed zfsutils-linux
Arch Linux yay -S linux-lts-headers zfs-dkms zfs-utils
Cachy OS pacman -S linux-cachyos-zfs zfs-utils

linux-cachyos-zfs

Installing it not only provides a functional ZFS module, but also ensures that kernel updates are held back until ZFS support is available for the new version

Storage

CachyOS offers a wide range of filesystems out of the box, including ZFS. For the root partition, I usually go with EXT4 it's fast and efficient. As for the second partition, I'll format it to host a ZFS pool.

Kernel

CachyOS also provides its own custom kernel fine-tuning, including a server-optimized version — yum-yum!

# pacman -S linux-cachyos-server linux-cachyos-server-headers

At boot time, I can choose the flavor of my kernel

ZFS support isn't always pre-built for every kernel flavor or version

The easiest way is to use the DKMS (Dynamic Kernel Module Support) package, which automatically builds the ZFS module for your kernel.

# pacman -S zfs-dkms
# modprobe zfs
Cachy OS kernel server
300Hz tickrate Lower than typical desktop tickrate (usually 1000Hz), resulting in fewer interruptions, better CPU efficiency, and lower power consumption under high load.
No preemption Prevents the kernel from interrupting certain running tasks. This improves consistency and reduces overhead, making it ideal for long-running or high-performance processes.
Stock EEVDF scheduler A modern task scheduler that balances latency and throughput, managing mixed workloads more efficiently.
Tuned for server workloads Kernel settings are adjusted to favor throughput and stability over responsiveness (e.g., memory management, I/O scheduling, thread prioritization).

Additional kernel fine-tunes by Cachy OS are available.

PkgName                                | Version          | Category
---------------------------------------------------------------------------
cachyos/linux-cachyos-bmq             | 6.1.30.2         | stable
cachyos/linux-cachyos-bore            | 6.1.30.2         | stable
cachyos/linux-cachyos-bore            | 6.1.30.2         | stable
cachyos/linux-cachyos-cacule          | 6.1.30.2         | stable
cachyos/linux-cachyos-ck              | 6.1.30.2         | stable
cachyos/linux-cachyos-edf             | 6.1.30.2         | stable
cachyos/linux-cachyos-hardened        | 6.1.30.2         | hardened-kernel
cachyos/linux-cachyos-lts             | 6.1.12.0         | longterm
cachyos/linux-cachyos-rc              | 6.1.30.2         | release candidate
cachyos/linux-cachyos-server          | 6.1.30.2         | stable
cachyos/linux-neptune-6.5             | 6.5.0.3.1        | stable
cachyos/linux-sched-ext               | 6.1.30.2.arch1-1 | stable
core/linux                            | 6.1.34.arch1-1   | stable
core/linux-hardened                   | 6.1.26.hardened1 | longterm
extra/linux-rt                        | 6.1.25.3.rt14-5  | hardened-kernel
extra/linux                           | 6.3.4.arch1-1    | stable
extra/linux-lts                       | 6.1.30-1         | longterm
extra/linux-zen                       | 6.1.32.1.zen1-1  | zen-kernel

While one might argue that CachyOS isn't traditionally considered a server-oriented distribution, this assumption deserves scrutiny.

After installing CachyOS without a desktop environment, I achieved impressive efficiency metrics: fewer than 30 running threads in htop, less than 300 MB of RAM usage, and approximately 780 installed packages. While this package count is admittedly higher than ideal, it remains acceptable. Vanilla Arch installations that typically range from ~160 packages.