Choosing the right server storage design for your home lab doesn’t have to be complicated. Let’s talk Proxmox, ZFS, and TrueNAS.
You’ve got the hardware. It’s sitting there, a powerful server humming with potential. You’ve got a stack of hard drives ready to go. But then you hit the wall. Not a technical wall, but a mental one. The paralysis of planning. I’ve been there, staring at a pile of components, trying to map out the absolute perfect server storage design before I even install the operating system. It’s a common trap for anyone building a home lab, but getting it right from the start can save a ton of headaches later.
So let’s talk it through. You have a goal: to run a hypervisor like Proxmox, spin up some virtual machines (VMs) and containers, and start hosting cool applications like a self-hosted photo manager. But the big question looms: how do you handle the storage for all that data?
The Hardware and the Dream
Let’s imagine a common scenario. You have a server, maybe an enterprise-grade Dell or HP, with a handful of large capacity spinning drives (like 10TB SAS drives) for bulk data. You also have a couple of faster, smaller SSDs for things that need more performance, and maybe even a pair of tiny M.2 drives on a special card (like Dell’s BOSS card) intended for the operating system.
The dream is simple: run Proxmox as the base OS, and then use VMs and containers for everything else. This is an efficient, popular way to run a home lab. But the dream hinges on a solid storage foundation.
The Big Debate: A Good Server Storage Design
This is where things get tricky and where most of the overthinking happens. When using Proxmox, you generally have two popular paths for a robust server storage design:
- ZFS Directly in Proxmox: You install Proxmox on your boot drives and then use its built-in capabilities to create a ZFS storage pool directly from your data drives.
- TrueNAS in a VM: You install Proxmox, create a virtual machine, install a dedicated storage OS like TrueNAS SCALE inside it, and pass your HBA controller (the card your data drives are connected to) directly to that VM.
On the surface, the TrueNAS option sounds amazing. You get a beautiful, dedicated web interface for managing your storage, with tons of powerful, easy-to-use features for snapshots and replication. It’s a purpose-built tool for the job.
But here’s the catch: it adds a significant layer of complexity. To get your other VMs and containers to use that storage, you have to share it back to Proxmox over the network using something like NFS or SMB. This can create a performance bottleneck, especially for applications inside Docker containers that need fast access to their data. You’re also creating a single, critical point of failure. If your TrueNAS VM has a problem and won’t boot, your entire storage pool is offline.
Running ZFS directly in Proxmox, on the other hand, is beautifully simple. It’s tightly integrated, fast, and reliable. There’s less overhead and no network layer to worry about for accessing data. As the saying goes, “simpler is usually better.”
My Choice for a Modern Server Storage Design
After weighing the pros and cons, I’m a firm believer in the direct approach for most home lab scenarios. My recommendation is to manage your ZFS pool directly within Proxmox.
Here’s why:
- Simplicity and Stability: You remove an entire layer of abstraction (the TrueNAS VM and the network sharing). This makes your setup easier to manage, troubleshoot, and much more stable in the long run.
- Performance: Your containers and VMs have direct, block-level access to the storage they need. You avoid the potential performance penalty of running everything over a network share, which is a real concern for I/O-intensive apps.
- Proxmox is Powerful Enough: While TrueNAS has a slicker UI for storage, Proxmox’s own ZFS management is incredibly capable. You can still easily manage pools, datasets, and snapshots right from the Proxmox interface or the command line. For more information, the official Proxmox ZFS documentation is an excellent resource. For a deeper dive into this exact comparison, sites like ServeTheHome often have great discussions on the topic.
What about backups? The appeal of TrueNAS’s backup tasks is strong, but you can achieve the same result in Proxmox. You can set up scripts for ZFS snapshotting and replication, and for crucial data, using an offsite backup service like Backblaze B2 is a fantastic and affordable strategy anyway.
Don’t Forget The Boot Drives
What about those small M.2 drives for the OS? A mirrored pair of 480GB drives might seem small, but it’s typically plenty of space. The Proxmox OS itself uses very little. The key is to only store the operating systems for your VMs and the definitions for your containers on this fast storage. All the actual data—your photos, documents, and media—should live on the large ZFS pool you created with your spinning drives.
This setup gives you the best of both worlds: a snappy, responsive OS and fast-booting VMs, combined with a massive, resilient pool for your important data.
In the end, the goal is to build something useful, not to get stuck in a loop of “what-ifs.” Start simple, start stable. A clean Proxmox installation with a directly managed ZFS pool is a rock-solid foundation that will serve you well as you build out your home lab. Now go get that OS installed!