zfs

I built a $5,000 Raspberry Pi server (yes, it's ridiculous)

When I heard about Radxa's Taco—a Raspberry Pi Compute Module 4-powered NAS/router-in-a-box—I knew what must be done.

Load it up with as much SSD storage as I can afford, and see what it can do.

Raspberry Pi CM4 Taco NAS with 48 TB of SSD storage

And after installing five Samsung 870 QVO 8TB SSDs and one Sabrent Rocket Q NVMe SSD—loading up every drive slot on the Taco to the tune of 48TB raw storage—I found out it can actually do a lot! Just... not very fast. At least not compared to a modern desktop.

What can it do?

Well, for starters, ZFS on the Pi is now easy. I wrote an entire ZFS-on-Pi guide here; you install the Pi kernel headers, then apt install zfs-dkms zfsutils-linux and you're on your way.

HTGWA: Create a ZFS RAIDZ1 zpool on a Raspberry Pi

This is a simple guide, part of a series I'll call 'How-To Guide Without Ads'. In it, I'm going to document how I set up a ZFS zpool in RAIDZ1 in Linux on a Raspberry Pi.

Prequisites

ZFS does not enjoy USB drives, though it can work on them. I wouldn't really recommend ZFS for the Pi 4 model B or other Pi models that can't use native SATA, NVMe, or SAS drives.

For my own testing, I am using a Raspberry Pi Compute Module 4, and there are a variety of PCI Express storage controller cards and carrier boards with integrated storage controllers that make ZFS much happier.

I have also only tested ZFS on 64-bit Raspberry Pi OS, on Compute Modules with 4 or 8 GB of RAM. No guarantees under other configurations.

Installing ZFS

Since ZFS is not bundled with other Debian 'free' software (because of licensing issues), you need to install the kernel headers, then install two ZFS packages: